1 /* A Bison parser, made by GNU Bison 3.0.4.  */
2 
3 /* Bison implementation for Yacc-like parsers in C
4 
5    Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.
6 
7    This program is free software: you can redistribute it and/or modify
8    it under the terms of the GNU General Public License as published by
9    the Free Software Foundation, either version 3 of the License, or
10    (at your option) any later version.
11 
12    This program is distributed in the hope that it will be useful,
13    but WITHOUT ANY WARRANTY; without even the implied warranty of
14    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15    GNU General Public License for more details.
16 
17    You should have received a copy of the GNU General Public License
18    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
19 
20 /* As a special exception, you may create a larger work that contains
21    part or all of the Bison parser skeleton and distribute that work
22    under terms of your choice, so long as that work isn't itself a
23    parser generator using the skeleton or a modified version thereof
24    as a parser skeleton.  Alternatively, if you modify or redistribute
25    the parser skeleton itself, you may (at your option) remove this
26    special exception, which will cause the skeleton and the resulting
27    Bison output files to be licensed under the GNU General Public
28    License without this special exception.
29 
30    This special exception was added by the Free Software Foundation in
31    version 2.2 of Bison.  */
32 
33 /* C LALR(1) parser skeleton written by Richard Stallman, by
34    simplifying the original so-called "semantic" parser.  */
35 
36 /* All symbols defined below should begin with yy or YY, to avoid
37    infringing on user name space.  This should be done even for local
38    variables, as they might otherwise be expanded by user macros.
39    There are some unavoidable exceptions within include files to
40    define necessary library symbols; they are noted "INFRINGES ON
41    USER NAME SPACE" below.  */
42 
43 /* Identify Bison output.  */
44 #define YYBISON 1
45 
46 /* Bison version.  */
47 #define YYBISON_VERSION "3.0.4"
48 
49 /* Skeleton name.  */
50 #define YYSKELETON_NAME "yacc.c"
51 
52 /* Pure parsers.  */
53 #define YYPURE 1
54 
55 /* Push parsers.  */
56 #define YYPUSH 0
57 
58 /* Pull parsers.  */
59 #define YYPULL 1
60 
61 
62 /* Substitute the variable and function names.  */
63 #define yyparse         base_yyparse
64 #define yylex           base_yylex
65 #define yyerror         base_yyerror
66 #define yydebug         base_yydebug
67 #define yynerrs         base_yynerrs
68 
69 
70 /* Copy the first part of user declarations.  */
71 #line 1 "gram.y" /* yacc.c:339  */
72 
73 
74 /*#define YYDEBUG 1*/
75 /*-------------------------------------------------------------------------
76  *
77  * gram.y
78  *	  POSTGRESQL BISON rules/actions
79  *
80  * Portions Copyright (c) 2003-2020, PgPool Global Development Group
81  * Portions Copyright (c) 1996-2020, PostgreSQL Global Development Group
82  * Portions Copyright (c) 1994, Regents of the University of California
83  *
84  *
85  * IDENTIFICATION
86  *	  src/backend/parser/gram.y
87  *
88  * HISTORY
89  *	  AUTHOR			DATE			MAJOR EVENT
90  *	  Andrew Yu			Sept, 1994		POSTQUEL to SQL conversion
91  *	  Andrew Yu			Oct, 1994		lispy code conversion
92  *
93  * NOTES
94  *	  CAPITALS are used to represent terminal symbols.
95  *	  non-capitals are used to represent non-terminals.
96  *
97  *	  In general, nothing in this file should initiate database accesses
98  *	  nor depend on changeable state (such as SET variables).  If you do
99  *	  database accesses, your code will fail when we have aborted the
100  *	  current transaction and are just parsing commands to find the next
101  *	  ROLLBACK or COMMIT.  If you make use of SET variables, then you
102  *	  will do the wrong thing in multi-query strings like this:
103  *			SET constraint_exclusion TO off; SELECT * FROM foo;
104  *	  because the entire string is parsed by gram.y before the SET gets
105  *	  executed.  Anything that depends on the database or changeable state
106  *	  should be handled during parse analysis so that it happens at the
107  *	  right time not the wrong time.
108  *
109  * WARNINGS
110  *	  If you use a list, make sure the datum is a node so that the printing
111  *	  routines work.
112  *
113  *	  Sometimes we assign constants to makeStrings. Make sure we don't free
114  *	  those.
115  *
116  *-------------------------------------------------------------------------
117  */
118 
119 #include "pool_parser.h"
120 #include "utils/elog.h"
121 #include "utils/palloc.h"
122 #include <ctype.h>
123 #include <limits.h>
124 #include <stdio.h>
125 #include <stdlib.h>
126 #include <string.h>
127 
128 #include "nodes.h"
129 #include "keywords.h"
130 #include "gramparse.h"
131 #include "makefuncs.h"
132 #include "pool_string.h"
133 #include "parser.h"
134 #include "pg_class.h"
135 #include "pg_trigger.h"
136 
137 /* This is a configuration parameter since PostgreSQL 9.5.
138  * We set this false in pgpool-II. This is default in PostgreSQL.
139  */
140 static bool operator_precedence_warning = false;
141 
142 /*
143  * Definition taken from
144  * postgreSQL source code file: src/include/commands/trigger.h
145  */
146 #define TRIGGER_FIRES_ON_ORIGIN                         'O'
147 #define TRIGGER_FIRES_ALWAYS                            'A'
148 #define TRIGGER_FIRES_ON_REPLICA                        'R'
149 #define TRIGGER_DISABLED                                'D'
150 
151 /*
152  * Definition taken from
153  * postgreSQL source code file: src/include/catalog/pg_class.h
154  */
155 
156 #define           REPLICA_IDENTITY_DEFAULT      'd'
157 #define           REPLICA_IDENTITY_NOTHING      'n'
158 #define           REPLICA_IDENTITY_FULL         'f'
159 #define           REPLICA_IDENTITY_INDEX        'i'
160 
161 /*
162  * Definition taken from
163  * postgreSQL source code file: src/include/catalog/pg_attribute.h
164  */
165 #define		  ATTRIBUTE_IDENTITY_ALWAYS	'a'
166 #define		  ATTRIBUTE_IDENTITY_BY_DEFAULT 'd'
167 
168 /*
169  * Definition taken from
170  * postgreSQL source code file: src/include/utils/xml.h
171  */
172 typedef enum
173 {
174 	XML_STANDALONE_YES,
175 	XML_STANDALONE_NO,
176 	XML_STANDALONE_NO_VALUE,
177 	XML_STANDALONE_OMITTED
178 } XmlStandaloneType;
179 
180 /*
181  * Location tracking support --- simpler than bison's default, since we only
182  * want to track the start position not the end position of each nonterminal.
183  */
184 #define YYLLOC_DEFAULT(Current, Rhs, N) \
185 	do { \
186 		if ((N) > 0) \
187 			(Current) = (Rhs)[1]; \
188 		else \
189 			(Current) = (-1); \
190 	} while (0)
191 
192 /*
193  * The above macro assigns -1 (unknown) as the parse location of any
194  * nonterminal that was reduced from an empty rule, or whose leftmost
195  * component was reduced from an empty rule.  This is problematic
196  * for nonterminals defined like
197  *		OptFooList: / * EMPTY * / { ... } | OptFooList Foo { ... } ;
198  * because we'll set -1 as the location during the first reduction and then
199  * copy it during each subsequent reduction, leaving us with -1 for the
200  * location even when the list is not empty.  To fix that, do this in the
201  * action for the nonempty rule(s):
202  *		if (@$ < 0) @$ = @2;
203  * (Although we have many nonterminals that follow this pattern, we only
204  * bother with fixing @$ like this when the nonterminal's parse location
205  * is actually referenced in some rule.)
206  *
207  * A cleaner answer would be to make YYLLOC_DEFAULT scan all the Rhs
208  * locations until it's found one that's not -1.  Then we'd get a correct
209  * location for any nonterminal that isn't entirely empty.  But this way
210  * would add overhead to every rule reduction, and so far there's not been
211  * a compelling reason to pay that overhead.
212  */
213 
214 /*
215  * Bison doesn't allocate anything that needs to live across parser calls,
216  * so we can easily have it use palloc instead of malloc.  This prevents
217  * memory leaks if we error out during parsing.  Note this only works with
218  * bison >= 2.0.  However, in bison 1.875 the default is to use alloca()
219  * if possible, so there's not really much problem anyhow, at least if
220  * you're building with gcc.
221  */
222 #define YYMALLOC palloc
223 #define YYFREE   pfree
224 
225 /* Private struct for the result of privilege_target production */
226 typedef struct PrivTarget
227 {
228 	GrantTargetType targtype;
229 	ObjectType	objtype;
230 	List	   *objs;
231 } PrivTarget;
232 
233 /* Private struct for the result of import_qualification production */
234 typedef struct ImportQual
235 {
236 	ImportForeignSchemaType type;
237 	List	   *table_names;
238 } ImportQual;
239 
240 /* Private struct for the result of opt_select_limit production */
241 typedef struct SelectLimit
242 {
243 	Node *limitOffset;
244 	Node *limitCount;
245 	LimitOption limitOption;
246 } SelectLimit;
247 
248 /* ConstraintAttributeSpec yields an integer bitmask of these flags: */
249 #define CAS_NOT_DEFERRABLE			0x01
250 #define CAS_DEFERRABLE				0x02
251 #define CAS_INITIALLY_IMMEDIATE		0x04
252 #define CAS_INITIALLY_DEFERRED		0x08
253 #define CAS_NOT_VALID				0x10
254 #define CAS_NO_INHERIT				0x20
255 
256 
257 #define parser_yyerror(msg)  scanner_yyerror(msg, yyscanner)
258 #define parser_errposition(pos)  scanner_errposition(pos, yyscanner)
259 
260 static void base_yyerror(YYLTYPE *yylloc, core_yyscan_t yyscanner,
261 						 const char *msg);
262 static RawStmt *makeRawStmt(Node *stmt, int stmt_location);
263 static void updateRawStmtEnd(RawStmt *rs, int end_location);
264 static Node *makeColumnRef(char *colname, List *indirection,
265 						   int location, core_yyscan_t yyscanner);
266 static Node *makeStringConst(char *str, int location);
267 static Node *makeFloatConst(char *str, int location);
268 static Node *makeBitStringConst(char *str, int location);
269 static Node *makeNullAConst(int location);
270 static Node *makeAConst(Value *v, int location);
271 static Node *makeBoolAConst(bool state, int location);
272 static RoleSpec *makeRoleSpec(RoleSpecType type, int location);
273 static void check_qualified_name(List *names, core_yyscan_t yyscanner);
274 static List *check_func_name(List *names, core_yyscan_t yyscanner);
275 static List *check_indirection(List *indirection, core_yyscan_t yyscanner);
276 static List *extractArgTypes(List *parameters);
277 static List *extractAggrArgTypes(List *aggrargs);
278 static List *makeOrderedSetArgs(List *directargs, List *orderedargs,
279 								core_yyscan_t yyscanner);
280 static void insertSelectOptions(SelectStmt *stmt,
281 								List *sortClause, List *lockingClause,
282 								SelectLimit *limitClause,
283 								WithClause *withClause,
284 								core_yyscan_t yyscanner);
285 static Node *makeSetOp(SetOperation op, bool all, Node *larg, Node *rarg);
286 static Node *doNegate(Node *n, int location);
287 static void doNegateFloat(Value *v);
288 static Node *makeAndExpr(Node *lexpr, Node *rexpr, int location);
289 static Node *makeOrExpr(Node *lexpr, Node *rexpr, int location);
290 static Node *makeNotExpr(Node *expr, int location);
291 static Node *makeAArrayExpr(List *elements, int location);
292 static Node *makeSQLValueFunction(SQLValueFunctionOp op, int32 typmod,
293 								  int location);
294 static Node *makeXmlExpr(XmlExprOp op, char *name, List *named_args,
295 						 List *args, int location);
296 static List *mergeTableFuncParameters(List *func_args, List *columns);
297 static TypeName *TableFuncTypeName(List *columns);
298 static RangeVar *makeRangeVarFromAnyName(List *names, int position, core_yyscan_t yyscanner);
299 static void SplitColQualList(List *qualList,
300 							 List **constraintList, CollateClause **collClause,
301 							 core_yyscan_t yyscanner);
302 static void processCASbits(int cas_bits, int location, const char *constrType,
303 			   bool *deferrable, bool *initdeferred, bool *not_valid,
304 			   bool *no_inherit, core_yyscan_t yyscanner);
305 static Node *makeRecursiveViewSelect(char *relname, List *aliases, Node *query);
306 
307 
308 #line 309 "gram.c" /* yacc.c:339  */
309 
310 # ifndef YY_NULLPTR
311 #  if defined __cplusplus && 201103L <= __cplusplus
312 #   define YY_NULLPTR nullptr
313 #  else
314 #   define YY_NULLPTR 0
315 #  endif
316 # endif
317 
318 /* Enabling verbose error messages.  */
319 #ifdef YYERROR_VERBOSE
320 # undef YYERROR_VERBOSE
321 # define YYERROR_VERBOSE 1
322 #else
323 # define YYERROR_VERBOSE 0
324 #endif
325 
326 /* In a future release of Bison, this section will be replaced
327    by #include "y.tab.h".  */
328 #ifndef YY_BASE_YY_Y_TAB_H_INCLUDED
329 # define YY_BASE_YY_Y_TAB_H_INCLUDED
330 /* Debug traces.  */
331 #ifndef YYDEBUG
332 # define YYDEBUG 0
333 #endif
334 #if YYDEBUG
335 extern int base_yydebug;
336 #endif
337 
338 /* Token type.  */
339 #ifndef YYTOKENTYPE
340 # define YYTOKENTYPE
341   enum yytokentype
342   {
343     IDENT = 258,
344     UIDENT = 259,
345     FCONST = 260,
346     SCONST = 261,
347     USCONST = 262,
348     BCONST = 263,
349     XCONST = 264,
350     Op = 265,
351     ICONST = 266,
352     PARAM = 267,
353     TYPECAST = 268,
354     DOT_DOT = 269,
355     COLON_EQUALS = 270,
356     EQUALS_GREATER = 271,
357     LESS_EQUALS = 272,
358     GREATER_EQUALS = 273,
359     NOT_EQUALS = 274,
360     ABORT_P = 275,
361     ABSOLUTE_P = 276,
362     ACCESS = 277,
363     ACTION = 278,
364     ADD_P = 279,
365     ADMIN = 280,
366     AFTER = 281,
367     AGGREGATE = 282,
368     ALL = 283,
369     ALSO = 284,
370     ALTER = 285,
371     ALWAYS = 286,
372     ANALYSE = 287,
373     ANALYZE = 288,
374     AND = 289,
375     ANY = 290,
376     ARRAY = 291,
377     AS = 292,
378     ASC = 293,
379     ASSERTION = 294,
380     ASSIGNMENT = 295,
381     ASYMMETRIC = 296,
382     AT = 297,
383     ATTACH = 298,
384     ATTRIBUTE = 299,
385     AUTHORIZATION = 300,
386     BACKWARD = 301,
387     BEFORE = 302,
388     BEGIN_P = 303,
389     BETWEEN = 304,
390     BIGINT = 305,
391     BINARY = 306,
392     BIT = 307,
393     BOOLEAN_P = 308,
394     BOTH = 309,
395     BY = 310,
396     CACHE = 311,
397     CALL = 312,
398     CALLED = 313,
399     CASCADE = 314,
400     CASCADED = 315,
401     CASE = 316,
402     CAST = 317,
403     CATALOG_P = 318,
404     CHAIN = 319,
405     CHAR_P = 320,
406     CHARACTER = 321,
407     CHARACTERISTICS = 322,
408     CHECK = 323,
409     CHECKPOINT = 324,
410     CLASS = 325,
411     CLOSE = 326,
412     CLUSTER = 327,
413     COALESCE = 328,
414     COLLATE = 329,
415     COLLATION = 330,
416     COLUMN = 331,
417     COLUMNS = 332,
418     COMMENT = 333,
419     COMMENTS = 334,
420     COMMIT = 335,
421     COMMITTED = 336,
422     CONCURRENTLY = 337,
423     CONFIGURATION = 338,
424     CONFLICT = 339,
425     CONNECTION = 340,
426     CONSTRAINT = 341,
427     CONSTRAINTS = 342,
428     CONTENT_P = 343,
429     CONTINUE_P = 344,
430     CONVERSION_P = 345,
431     COPY = 346,
432     COST = 347,
433     CREATE = 348,
434     CROSS = 349,
435     CSV = 350,
436     CUBE = 351,
437     CURRENT_P = 352,
438     CURRENT_CATALOG = 353,
439     CURRENT_DATE = 354,
440     CURRENT_ROLE = 355,
441     CURRENT_SCHEMA = 356,
442     CURRENT_TIME = 357,
443     CURRENT_TIMESTAMP = 358,
444     CURRENT_USER = 359,
445     CURSOR = 360,
446     CYCLE = 361,
447     DATA_P = 362,
448     DATABASE = 363,
449     DAY_P = 364,
450     DEALLOCATE = 365,
451     DEC = 366,
452     DECIMAL_P = 367,
453     DECLARE = 368,
454     DEFAULT = 369,
455     DEFAULTS = 370,
456     DEFERRABLE = 371,
457     DEFERRED = 372,
458     DEFINER = 373,
459     DELETE_P = 374,
460     DELIMITER = 375,
461     DELIMITERS = 376,
462     DEPENDS = 377,
463     DESC = 378,
464     DETACH = 379,
465     DICTIONARY = 380,
466     DISABLE_P = 381,
467     DISCARD = 382,
468     DISTINCT = 383,
469     DO = 384,
470     DOCUMENT_P = 385,
471     DOMAIN_P = 386,
472     DOUBLE_P = 387,
473     DROP = 388,
474     EACH = 389,
475     ELSE = 390,
476     ENABLE_P = 391,
477     ENCODING = 392,
478     ENCRYPTED = 393,
479     END_P = 394,
480     ENUM_P = 395,
481     ESCAPE = 396,
482     EVENT = 397,
483     EXCEPT = 398,
484     EXCLUDE = 399,
485     EXCLUDING = 400,
486     EXCLUSIVE = 401,
487     EXECUTE = 402,
488     EXISTS = 403,
489     EXPLAIN = 404,
490     EXPRESSION = 405,
491     EXTENSION = 406,
492     EXTERNAL = 407,
493     EXTRACT = 408,
494     FALSE_P = 409,
495     FAMILY = 410,
496     FETCH = 411,
497     FILTER = 412,
498     FIRST_P = 413,
499     FLOAT_P = 414,
500     FOLLOWING = 415,
501     FOR = 416,
502     FORCE = 417,
503     FOREIGN = 418,
504     FORWARD = 419,
505     FREEZE = 420,
506     FROM = 421,
507     FULL = 422,
508     FUNCTION = 423,
509     FUNCTIONS = 424,
510     GENERATED = 425,
511     GLOBAL = 426,
512     GRANT = 427,
513     GRANTED = 428,
514     GREATEST = 429,
515     GROUP_P = 430,
516     GROUPING = 431,
517     GROUPS = 432,
518     HANDLER = 433,
519     HAVING = 434,
520     HEADER_P = 435,
521     HOLD = 436,
522     HOUR_P = 437,
523     IDENTITY_P = 438,
524     IF_P = 439,
525     ILIKE = 440,
526     IMMEDIATE = 441,
527     IMMUTABLE = 442,
528     IMPLICIT_P = 443,
529     IMPORT_P = 444,
530     IN_P = 445,
531     INCLUDE = 446,
532     INCLUDING = 447,
533     INCREMENT = 448,
534     INDEX = 449,
535     INDEXES = 450,
536     INHERIT = 451,
537     INHERITS = 452,
538     INITIALLY = 453,
539     INLINE_P = 454,
540     INNER_P = 455,
541     INOUT = 456,
542     INPUT_P = 457,
543     INSENSITIVE = 458,
544     INSERT = 459,
545     INSTEAD = 460,
546     INT_P = 461,
547     INTEGER = 462,
548     INTERSECT = 463,
549     INTERVAL = 464,
550     INTO = 465,
551     INVOKER = 466,
552     IS = 467,
553     ISNULL = 468,
554     ISOLATION = 469,
555     JOIN = 470,
556     KEY = 471,
557     LABEL = 472,
558     LANGUAGE = 473,
559     LARGE_P = 474,
560     LAST_P = 475,
561     LATERAL_P = 476,
562     LEADING = 477,
563     LEAKPROOF = 478,
564     LEAST = 479,
565     LEFT = 480,
566     LEVEL = 481,
567     LIKE = 482,
568     LIMIT = 483,
569     LISTEN = 484,
570     LOAD = 485,
571     LOCAL = 486,
572     LOCALTIME = 487,
573     LOCALTIMESTAMP = 488,
574     LOCATION = 489,
575     LOCK_P = 490,
576     LOCKED = 491,
577     LOGGED = 492,
578     MAPPING = 493,
579     MATCH = 494,
580     MATERIALIZED = 495,
581     MAXVALUE = 496,
582     METHOD = 497,
583     MINUTE_P = 498,
584     MINVALUE = 499,
585     MODE = 500,
586     MONTH_P = 501,
587     MOVE = 502,
588     NAME_P = 503,
589     NAMES = 504,
590     NATIONAL = 505,
591     NATURAL = 506,
592     NCHAR = 507,
593     NEW = 508,
594     NEXT = 509,
595     NFC = 510,
596     NFD = 511,
597     NFKC = 512,
598     NFKD = 513,
599     NO = 514,
600     NONE = 515,
601     NORMALIZE = 516,
602     NORMALIZED = 517,
603     NOT = 518,
604     NOTHING = 519,
605     NOTIFY = 520,
606     NOTNULL = 521,
607     NOWAIT = 522,
608     NULL_P = 523,
609     NULLIF = 524,
610     NULLS_P = 525,
611     NUMERIC = 526,
612     OBJECT_P = 527,
613     OF = 528,
614     OFF = 529,
615     OFFSET = 530,
616     OIDS = 531,
617     OLD = 532,
618     ON = 533,
619     ONLY = 534,
620     OPERATOR = 535,
621     OPTION = 536,
622     OPTIONS = 537,
623     OR = 538,
624     ORDER = 539,
625     ORDINALITY = 540,
626     OTHERS = 541,
627     OUT_P = 542,
628     OUTER_P = 543,
629     OVER = 544,
630     OVERLAPS = 545,
631     OVERLAY = 546,
632     OVERRIDING = 547,
633     OWNED = 548,
634     OWNER = 549,
635     PARALLEL = 550,
636     PARSER = 551,
637     PARTIAL = 552,
638     PARTITION = 553,
639     PASSING = 554,
640     PASSWORD = 555,
641     PGPOOL = 556,
642     PLACING = 557,
643     PLANS = 558,
644     POLICY = 559,
645     POSITION = 560,
646     PRECEDING = 561,
647     PRECISION = 562,
648     PRESERVE = 563,
649     PREPARE = 564,
650     PREPARED = 565,
651     PRIMARY = 566,
652     PRIOR = 567,
653     PRIVILEGES = 568,
654     PROCEDURAL = 569,
655     PROCEDURE = 570,
656     PROCEDURES = 571,
657     PROGRAM = 572,
658     PUBLICATION = 573,
659     QUOTE = 574,
660     RANGE = 575,
661     READ = 576,
662     REAL = 577,
663     REASSIGN = 578,
664     RECHECK = 579,
665     RECURSIVE = 580,
666     REF = 581,
667     REFERENCES = 582,
668     REFERENCING = 583,
669     REFRESH = 584,
670     REINDEX = 585,
671     RELATIVE_P = 586,
672     RELEASE = 587,
673     RENAME = 588,
674     REPEATABLE = 589,
675     REPLACE = 590,
676     REPLICA = 591,
677     RESET = 592,
678     RESTART = 593,
679     RESTRICT = 594,
680     RETURNING = 595,
681     RETURNS = 596,
682     REVOKE = 597,
683     RIGHT = 598,
684     ROLE = 599,
685     ROLLBACK = 600,
686     ROLLUP = 601,
687     ROUTINE = 602,
688     ROUTINES = 603,
689     ROW = 604,
690     ROWS = 605,
691     RULE = 606,
692     SAVEPOINT = 607,
693     SCHEMA = 608,
694     SCHEMAS = 609,
695     SCROLL = 610,
696     SEARCH = 611,
697     SECOND_P = 612,
698     SECURITY = 613,
699     SELECT = 614,
700     SEQUENCE = 615,
701     SEQUENCES = 616,
702     SERIALIZABLE = 617,
703     SERVER = 618,
704     SESSION = 619,
705     SESSION_USER = 620,
706     SET = 621,
707     SETS = 622,
708     SETOF = 623,
709     SHARE = 624,
710     SHOW = 625,
711     SIMILAR = 626,
712     SIMPLE = 627,
713     SKIP = 628,
714     SMALLINT = 629,
715     SNAPSHOT = 630,
716     SOME = 631,
717     SQL_P = 632,
718     STABLE = 633,
719     STANDALONE_P = 634,
720     START = 635,
721     STATEMENT = 636,
722     STATISTICS = 637,
723     STDIN = 638,
724     STDOUT = 639,
725     STORAGE = 640,
726     STORED = 641,
727     STRICT_P = 642,
728     STRIP_P = 643,
729     SUBSCRIPTION = 644,
730     SUBSTRING = 645,
731     SUPPORT = 646,
732     SYMMETRIC = 647,
733     SYSID = 648,
734     SYSTEM_P = 649,
735     TABLE = 650,
736     TABLES = 651,
737     TABLESAMPLE = 652,
738     TABLESPACE = 653,
739     TEMP = 654,
740     TEMPLATE = 655,
741     TEMPORARY = 656,
742     TEXT_P = 657,
743     THEN = 658,
744     TIES = 659,
745     TIME = 660,
746     TIMESTAMP = 661,
747     TO = 662,
748     TRAILING = 663,
749     TRANSACTION = 664,
750     TRANSFORM = 665,
751     TREAT = 666,
752     TRIGGER = 667,
753     TRIM = 668,
754     TRUE_P = 669,
755     TRUNCATE = 670,
756     TRUSTED = 671,
757     TYPE_P = 672,
758     TYPES_P = 673,
759     UESCAPE = 674,
760     UNBOUNDED = 675,
761     UNCOMMITTED = 676,
762     UNENCRYPTED = 677,
763     UNION = 678,
764     UNIQUE = 679,
765     UNKNOWN = 680,
766     UNLISTEN = 681,
767     UNLOGGED = 682,
768     UNTIL = 683,
769     UPDATE = 684,
770     USER = 685,
771     USING = 686,
772     VACUUM = 687,
773     VALID = 688,
774     VALIDATE = 689,
775     VALIDATOR = 690,
776     VALUE_P = 691,
777     VALUES = 692,
778     VARCHAR = 693,
779     VARIADIC = 694,
780     VARYING = 695,
781     VERBOSE = 696,
782     VERSION_P = 697,
783     VIEW = 698,
784     VIEWS = 699,
785     VOLATILE = 700,
786     WHEN = 701,
787     WHERE = 702,
788     WHITESPACE_P = 703,
789     WINDOW = 704,
790     WITH = 705,
791     WITHIN = 706,
792     WITHOUT = 707,
793     WORK = 708,
794     WRAPPER = 709,
795     WRITE = 710,
796     XML_P = 711,
797     XMLATTRIBUTES = 712,
798     XMLCONCAT = 713,
799     XMLELEMENT = 714,
800     XMLEXISTS = 715,
801     XMLFOREST = 716,
802     XMLNAMESPACES = 717,
803     XMLPARSE = 718,
804     XMLPI = 719,
805     XMLROOT = 720,
806     XMLSERIALIZE = 721,
807     XMLTABLE = 722,
808     YEAR_P = 723,
809     YES_P = 724,
810     ZONE = 725,
811     NOT_LA = 726,
812     NULLS_LA = 727,
813     WITH_LA = 728,
814     POSTFIXOP = 729,
815     UMINUS = 730
816   };
817 #endif
818 /* Tokens.  */
819 #define IDENT 258
820 #define UIDENT 259
821 #define FCONST 260
822 #define SCONST 261
823 #define USCONST 262
824 #define BCONST 263
825 #define XCONST 264
826 #define Op 265
827 #define ICONST 266
828 #define PARAM 267
829 #define TYPECAST 268
830 #define DOT_DOT 269
831 #define COLON_EQUALS 270
832 #define EQUALS_GREATER 271
833 #define LESS_EQUALS 272
834 #define GREATER_EQUALS 273
835 #define NOT_EQUALS 274
836 #define ABORT_P 275
837 #define ABSOLUTE_P 276
838 #define ACCESS 277
839 #define ACTION 278
840 #define ADD_P 279
841 #define ADMIN 280
842 #define AFTER 281
843 #define AGGREGATE 282
844 #define ALL 283
845 #define ALSO 284
846 #define ALTER 285
847 #define ALWAYS 286
848 #define ANALYSE 287
849 #define ANALYZE 288
850 #define AND 289
851 #define ANY 290
852 #define ARRAY 291
853 #define AS 292
854 #define ASC 293
855 #define ASSERTION 294
856 #define ASSIGNMENT 295
857 #define ASYMMETRIC 296
858 #define AT 297
859 #define ATTACH 298
860 #define ATTRIBUTE 299
861 #define AUTHORIZATION 300
862 #define BACKWARD 301
863 #define BEFORE 302
864 #define BEGIN_P 303
865 #define BETWEEN 304
866 #define BIGINT 305
867 #define BINARY 306
868 #define BIT 307
869 #define BOOLEAN_P 308
870 #define BOTH 309
871 #define BY 310
872 #define CACHE 311
873 #define CALL 312
874 #define CALLED 313
875 #define CASCADE 314
876 #define CASCADED 315
877 #define CASE 316
878 #define CAST 317
879 #define CATALOG_P 318
880 #define CHAIN 319
881 #define CHAR_P 320
882 #define CHARACTER 321
883 #define CHARACTERISTICS 322
884 #define CHECK 323
885 #define CHECKPOINT 324
886 #define CLASS 325
887 #define CLOSE 326
888 #define CLUSTER 327
889 #define COALESCE 328
890 #define COLLATE 329
891 #define COLLATION 330
892 #define COLUMN 331
893 #define COLUMNS 332
894 #define COMMENT 333
895 #define COMMENTS 334
896 #define COMMIT 335
897 #define COMMITTED 336
898 #define CONCURRENTLY 337
899 #define CONFIGURATION 338
900 #define CONFLICT 339
901 #define CONNECTION 340
902 #define CONSTRAINT 341
903 #define CONSTRAINTS 342
904 #define CONTENT_P 343
905 #define CONTINUE_P 344
906 #define CONVERSION_P 345
907 #define COPY 346
908 #define COST 347
909 #define CREATE 348
910 #define CROSS 349
911 #define CSV 350
912 #define CUBE 351
913 #define CURRENT_P 352
914 #define CURRENT_CATALOG 353
915 #define CURRENT_DATE 354
916 #define CURRENT_ROLE 355
917 #define CURRENT_SCHEMA 356
918 #define CURRENT_TIME 357
919 #define CURRENT_TIMESTAMP 358
920 #define CURRENT_USER 359
921 #define CURSOR 360
922 #define CYCLE 361
923 #define DATA_P 362
924 #define DATABASE 363
925 #define DAY_P 364
926 #define DEALLOCATE 365
927 #define DEC 366
928 #define DECIMAL_P 367
929 #define DECLARE 368
930 #define DEFAULT 369
931 #define DEFAULTS 370
932 #define DEFERRABLE 371
933 #define DEFERRED 372
934 #define DEFINER 373
935 #define DELETE_P 374
936 #define DELIMITER 375
937 #define DELIMITERS 376
938 #define DEPENDS 377
939 #define DESC 378
940 #define DETACH 379
941 #define DICTIONARY 380
942 #define DISABLE_P 381
943 #define DISCARD 382
944 #define DISTINCT 383
945 #define DO 384
946 #define DOCUMENT_P 385
947 #define DOMAIN_P 386
948 #define DOUBLE_P 387
949 #define DROP 388
950 #define EACH 389
951 #define ELSE 390
952 #define ENABLE_P 391
953 #define ENCODING 392
954 #define ENCRYPTED 393
955 #define END_P 394
956 #define ENUM_P 395
957 #define ESCAPE 396
958 #define EVENT 397
959 #define EXCEPT 398
960 #define EXCLUDE 399
961 #define EXCLUDING 400
962 #define EXCLUSIVE 401
963 #define EXECUTE 402
964 #define EXISTS 403
965 #define EXPLAIN 404
966 #define EXPRESSION 405
967 #define EXTENSION 406
968 #define EXTERNAL 407
969 #define EXTRACT 408
970 #define FALSE_P 409
971 #define FAMILY 410
972 #define FETCH 411
973 #define FILTER 412
974 #define FIRST_P 413
975 #define FLOAT_P 414
976 #define FOLLOWING 415
977 #define FOR 416
978 #define FORCE 417
979 #define FOREIGN 418
980 #define FORWARD 419
981 #define FREEZE 420
982 #define FROM 421
983 #define FULL 422
984 #define FUNCTION 423
985 #define FUNCTIONS 424
986 #define GENERATED 425
987 #define GLOBAL 426
988 #define GRANT 427
989 #define GRANTED 428
990 #define GREATEST 429
991 #define GROUP_P 430
992 #define GROUPING 431
993 #define GROUPS 432
994 #define HANDLER 433
995 #define HAVING 434
996 #define HEADER_P 435
997 #define HOLD 436
998 #define HOUR_P 437
999 #define IDENTITY_P 438
1000 #define IF_P 439
1001 #define ILIKE 440
1002 #define IMMEDIATE 441
1003 #define IMMUTABLE 442
1004 #define IMPLICIT_P 443
1005 #define IMPORT_P 444
1006 #define IN_P 445
1007 #define INCLUDE 446
1008 #define INCLUDING 447
1009 #define INCREMENT 448
1010 #define INDEX 449
1011 #define INDEXES 450
1012 #define INHERIT 451
1013 #define INHERITS 452
1014 #define INITIALLY 453
1015 #define INLINE_P 454
1016 #define INNER_P 455
1017 #define INOUT 456
1018 #define INPUT_P 457
1019 #define INSENSITIVE 458
1020 #define INSERT 459
1021 #define INSTEAD 460
1022 #define INT_P 461
1023 #define INTEGER 462
1024 #define INTERSECT 463
1025 #define INTERVAL 464
1026 #define INTO 465
1027 #define INVOKER 466
1028 #define IS 467
1029 #define ISNULL 468
1030 #define ISOLATION 469
1031 #define JOIN 470
1032 #define KEY 471
1033 #define LABEL 472
1034 #define LANGUAGE 473
1035 #define LARGE_P 474
1036 #define LAST_P 475
1037 #define LATERAL_P 476
1038 #define LEADING 477
1039 #define LEAKPROOF 478
1040 #define LEAST 479
1041 #define LEFT 480
1042 #define LEVEL 481
1043 #define LIKE 482
1044 #define LIMIT 483
1045 #define LISTEN 484
1046 #define LOAD 485
1047 #define LOCAL 486
1048 #define LOCALTIME 487
1049 #define LOCALTIMESTAMP 488
1050 #define LOCATION 489
1051 #define LOCK_P 490
1052 #define LOCKED 491
1053 #define LOGGED 492
1054 #define MAPPING 493
1055 #define MATCH 494
1056 #define MATERIALIZED 495
1057 #define MAXVALUE 496
1058 #define METHOD 497
1059 #define MINUTE_P 498
1060 #define MINVALUE 499
1061 #define MODE 500
1062 #define MONTH_P 501
1063 #define MOVE 502
1064 #define NAME_P 503
1065 #define NAMES 504
1066 #define NATIONAL 505
1067 #define NATURAL 506
1068 #define NCHAR 507
1069 #define NEW 508
1070 #define NEXT 509
1071 #define NFC 510
1072 #define NFD 511
1073 #define NFKC 512
1074 #define NFKD 513
1075 #define NO 514
1076 #define NONE 515
1077 #define NORMALIZE 516
1078 #define NORMALIZED 517
1079 #define NOT 518
1080 #define NOTHING 519
1081 #define NOTIFY 520
1082 #define NOTNULL 521
1083 #define NOWAIT 522
1084 #define NULL_P 523
1085 #define NULLIF 524
1086 #define NULLS_P 525
1087 #define NUMERIC 526
1088 #define OBJECT_P 527
1089 #define OF 528
1090 #define OFF 529
1091 #define OFFSET 530
1092 #define OIDS 531
1093 #define OLD 532
1094 #define ON 533
1095 #define ONLY 534
1096 #define OPERATOR 535
1097 #define OPTION 536
1098 #define OPTIONS 537
1099 #define OR 538
1100 #define ORDER 539
1101 #define ORDINALITY 540
1102 #define OTHERS 541
1103 #define OUT_P 542
1104 #define OUTER_P 543
1105 #define OVER 544
1106 #define OVERLAPS 545
1107 #define OVERLAY 546
1108 #define OVERRIDING 547
1109 #define OWNED 548
1110 #define OWNER 549
1111 #define PARALLEL 550
1112 #define PARSER 551
1113 #define PARTIAL 552
1114 #define PARTITION 553
1115 #define PASSING 554
1116 #define PASSWORD 555
1117 #define PGPOOL 556
1118 #define PLACING 557
1119 #define PLANS 558
1120 #define POLICY 559
1121 #define POSITION 560
1122 #define PRECEDING 561
1123 #define PRECISION 562
1124 #define PRESERVE 563
1125 #define PREPARE 564
1126 #define PREPARED 565
1127 #define PRIMARY 566
1128 #define PRIOR 567
1129 #define PRIVILEGES 568
1130 #define PROCEDURAL 569
1131 #define PROCEDURE 570
1132 #define PROCEDURES 571
1133 #define PROGRAM 572
1134 #define PUBLICATION 573
1135 #define QUOTE 574
1136 #define RANGE 575
1137 #define READ 576
1138 #define REAL 577
1139 #define REASSIGN 578
1140 #define RECHECK 579
1141 #define RECURSIVE 580
1142 #define REF 581
1143 #define REFERENCES 582
1144 #define REFERENCING 583
1145 #define REFRESH 584
1146 #define REINDEX 585
1147 #define RELATIVE_P 586
1148 #define RELEASE 587
1149 #define RENAME 588
1150 #define REPEATABLE 589
1151 #define REPLACE 590
1152 #define REPLICA 591
1153 #define RESET 592
1154 #define RESTART 593
1155 #define RESTRICT 594
1156 #define RETURNING 595
1157 #define RETURNS 596
1158 #define REVOKE 597
1159 #define RIGHT 598
1160 #define ROLE 599
1161 #define ROLLBACK 600
1162 #define ROLLUP 601
1163 #define ROUTINE 602
1164 #define ROUTINES 603
1165 #define ROW 604
1166 #define ROWS 605
1167 #define RULE 606
1168 #define SAVEPOINT 607
1169 #define SCHEMA 608
1170 #define SCHEMAS 609
1171 #define SCROLL 610
1172 #define SEARCH 611
1173 #define SECOND_P 612
1174 #define SECURITY 613
1175 #define SELECT 614
1176 #define SEQUENCE 615
1177 #define SEQUENCES 616
1178 #define SERIALIZABLE 617
1179 #define SERVER 618
1180 #define SESSION 619
1181 #define SESSION_USER 620
1182 #define SET 621
1183 #define SETS 622
1184 #define SETOF 623
1185 #define SHARE 624
1186 #define SHOW 625
1187 #define SIMILAR 626
1188 #define SIMPLE 627
1189 #define SKIP 628
1190 #define SMALLINT 629
1191 #define SNAPSHOT 630
1192 #define SOME 631
1193 #define SQL_P 632
1194 #define STABLE 633
1195 #define STANDALONE_P 634
1196 #define START 635
1197 #define STATEMENT 636
1198 #define STATISTICS 637
1199 #define STDIN 638
1200 #define STDOUT 639
1201 #define STORAGE 640
1202 #define STORED 641
1203 #define STRICT_P 642
1204 #define STRIP_P 643
1205 #define SUBSCRIPTION 644
1206 #define SUBSTRING 645
1207 #define SUPPORT 646
1208 #define SYMMETRIC 647
1209 #define SYSID 648
1210 #define SYSTEM_P 649
1211 #define TABLE 650
1212 #define TABLES 651
1213 #define TABLESAMPLE 652
1214 #define TABLESPACE 653
1215 #define TEMP 654
1216 #define TEMPLATE 655
1217 #define TEMPORARY 656
1218 #define TEXT_P 657
1219 #define THEN 658
1220 #define TIES 659
1221 #define TIME 660
1222 #define TIMESTAMP 661
1223 #define TO 662
1224 #define TRAILING 663
1225 #define TRANSACTION 664
1226 #define TRANSFORM 665
1227 #define TREAT 666
1228 #define TRIGGER 667
1229 #define TRIM 668
1230 #define TRUE_P 669
1231 #define TRUNCATE 670
1232 #define TRUSTED 671
1233 #define TYPE_P 672
1234 #define TYPES_P 673
1235 #define UESCAPE 674
1236 #define UNBOUNDED 675
1237 #define UNCOMMITTED 676
1238 #define UNENCRYPTED 677
1239 #define UNION 678
1240 #define UNIQUE 679
1241 #define UNKNOWN 680
1242 #define UNLISTEN 681
1243 #define UNLOGGED 682
1244 #define UNTIL 683
1245 #define UPDATE 684
1246 #define USER 685
1247 #define USING 686
1248 #define VACUUM 687
1249 #define VALID 688
1250 #define VALIDATE 689
1251 #define VALIDATOR 690
1252 #define VALUE_P 691
1253 #define VALUES 692
1254 #define VARCHAR 693
1255 #define VARIADIC 694
1256 #define VARYING 695
1257 #define VERBOSE 696
1258 #define VERSION_P 697
1259 #define VIEW 698
1260 #define VIEWS 699
1261 #define VOLATILE 700
1262 #define WHEN 701
1263 #define WHERE 702
1264 #define WHITESPACE_P 703
1265 #define WINDOW 704
1266 #define WITH 705
1267 #define WITHIN 706
1268 #define WITHOUT 707
1269 #define WORK 708
1270 #define WRAPPER 709
1271 #define WRITE 710
1272 #define XML_P 711
1273 #define XMLATTRIBUTES 712
1274 #define XMLCONCAT 713
1275 #define XMLELEMENT 714
1276 #define XMLEXISTS 715
1277 #define XMLFOREST 716
1278 #define XMLNAMESPACES 717
1279 #define XMLPARSE 718
1280 #define XMLPI 719
1281 #define XMLROOT 720
1282 #define XMLSERIALIZE 721
1283 #define XMLTABLE 722
1284 #define YEAR_P 723
1285 #define YES_P 724
1286 #define ZONE 725
1287 #define NOT_LA 726
1288 #define NULLS_LA 727
1289 #define WITH_LA 728
1290 #define POSTFIXOP 729
1291 #define UMINUS 730
1292 
1293 /* Value type.  */
1294 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
1295 
1296 union YYSTYPE
1297 {
1298 #line 247 "gram.y" /* yacc.c:355  */
1299 
1300 	core_YYSTYPE		core_yystype;
1301 	/* these fields must match core_YYSTYPE: */
1302 	int					ival;
1303 	char				*str;
1304 	const char			*keyword;
1305 
1306 	char				chr;
1307 	bool				boolean;
1308 	JoinType			jtype;
1309 	DropBehavior		dbehavior;
1310 	OnCommitAction		oncommit;
1311 	List				*list;
1312 	Node				*node;
1313 	Value				*value;
1314 	ObjectType			objtype;
1315 	TypeName			*typnam;
1316 	FunctionParameter   *fun_param;
1317 	FunctionParameterMode fun_param_mode;
1318 	ObjectWithArgs		*objwithargs;
1319 	DefElem				*defelt;
1320 	SortBy				*sortby;
1321 	WindowDef			*windef;
1322 	JoinExpr			*jexpr;
1323 	IndexElem			*ielem;
1324 	Alias				*alias;
1325 	RangeVar			*range;
1326 	IntoClause			*into;
1327 	WithClause			*with;
1328 	InferClause			*infer;
1329 	OnConflictClause	*onconflict;
1330 	A_Indices			*aind;
1331 	ResTarget			*target;
1332 	struct PrivTarget	*privtarget;
1333 	AccessPriv			*accesspriv;
1334 	struct ImportQual	*importqual;
1335 	InsertStmt			*istmt;
1336 	VariableSetStmt		*vsetstmt;
1337 	PartitionElem		*partelem;
1338 	PartitionSpec		*partspec;
1339 	PartitionBoundSpec	*partboundspec;
1340 	RoleSpec			*rolespec;
1341 	struct SelectLimit	*selectlimit;
1342 
1343 #line 1344 "gram.c" /* yacc.c:355  */
1344 };
1345 
1346 typedef union YYSTYPE YYSTYPE;
1347 # define YYSTYPE_IS_TRIVIAL 1
1348 # define YYSTYPE_IS_DECLARED 1
1349 #endif
1350 
1351 /* Location type.  */
1352 #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
1353 typedef struct YYLTYPE YYLTYPE;
1354 struct YYLTYPE
1355 {
1356   int first_line;
1357   int first_column;
1358   int last_line;
1359   int last_column;
1360 };
1361 # define YYLTYPE_IS_DECLARED 1
1362 # define YYLTYPE_IS_TRIVIAL 1
1363 #endif
1364 
1365 
1366 
1367 int base_yyparse (core_yyscan_t yyscanner);
1368 
1369 #endif /* !YY_BASE_YY_Y_TAB_H_INCLUDED  */
1370 
1371 /* Copy the second part of user declarations.  */
1372 
1373 #line 1374 "gram.c" /* yacc.c:358  */
1374 
1375 #ifdef short
1376 # undef short
1377 #endif
1378 
1379 #ifdef YYTYPE_UINT8
1380 typedef YYTYPE_UINT8 yytype_uint8;
1381 #else
1382 typedef unsigned char yytype_uint8;
1383 #endif
1384 
1385 #ifdef YYTYPE_INT8
1386 typedef YYTYPE_INT8 yytype_int8;
1387 #else
1388 typedef signed char yytype_int8;
1389 #endif
1390 
1391 #ifdef YYTYPE_UINT16
1392 typedef YYTYPE_UINT16 yytype_uint16;
1393 #else
1394 typedef unsigned short int yytype_uint16;
1395 #endif
1396 
1397 #ifdef YYTYPE_INT16
1398 typedef YYTYPE_INT16 yytype_int16;
1399 #else
1400 typedef short int yytype_int16;
1401 #endif
1402 
1403 #ifndef YYSIZE_T
1404 # ifdef __SIZE_TYPE__
1405 #  define YYSIZE_T __SIZE_TYPE__
1406 # elif defined size_t
1407 #  define YYSIZE_T size_t
1408 # elif ! defined YYSIZE_T
1409 #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
1410 #  define YYSIZE_T size_t
1411 # else
1412 #  define YYSIZE_T unsigned int
1413 # endif
1414 #endif
1415 
1416 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
1417 
1418 #ifndef YY_
1419 # if defined YYENABLE_NLS && YYENABLE_NLS
1420 #  if ENABLE_NLS
1421 #   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
1422 #   define YY_(Msgid) dgettext ("bison-runtime", Msgid)
1423 #  endif
1424 # endif
1425 # ifndef YY_
1426 #  define YY_(Msgid) Msgid
1427 # endif
1428 #endif
1429 
1430 #ifndef YY_ATTRIBUTE
1431 # if (defined __GNUC__                                               \
1432       && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__)))  \
1433      || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
1434 #  define YY_ATTRIBUTE(Spec) __attribute__(Spec)
1435 # else
1436 #  define YY_ATTRIBUTE(Spec) /* empty */
1437 # endif
1438 #endif
1439 
1440 #ifndef YY_ATTRIBUTE_PURE
1441 # define YY_ATTRIBUTE_PURE   YY_ATTRIBUTE ((__pure__))
1442 #endif
1443 
1444 #ifndef YY_ATTRIBUTE_UNUSED
1445 # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
1446 #endif
1447 
1448 #if !defined _Noreturn \
1449      && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
1450 # if defined _MSC_VER && 1200 <= _MSC_VER
1451 #  define _Noreturn __declspec (noreturn)
1452 # else
1453 #  define _Noreturn YY_ATTRIBUTE ((__noreturn__))
1454 # endif
1455 #endif
1456 
1457 /* Suppress unused-variable warnings by "using" E.  */
1458 #if ! defined lint || defined __GNUC__
1459 # define YYUSE(E) ((void) (E))
1460 #else
1461 # define YYUSE(E) /* empty */
1462 #endif
1463 
1464 #if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
1465 /* Suppress an incorrect diagnostic about yylval being uninitialized.  */
1466 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
1467     _Pragma ("GCC diagnostic push") \
1468     _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
1469     _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
1470 # define YY_IGNORE_MAYBE_UNINITIALIZED_END \
1471     _Pragma ("GCC diagnostic pop")
1472 #else
1473 # define YY_INITIAL_VALUE(Value) Value
1474 #endif
1475 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
1476 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
1477 # define YY_IGNORE_MAYBE_UNINITIALIZED_END
1478 #endif
1479 #ifndef YY_INITIAL_VALUE
1480 # define YY_INITIAL_VALUE(Value) /* Nothing. */
1481 #endif
1482 
1483 
1484 #if ! defined yyoverflow || YYERROR_VERBOSE
1485 
1486 /* The parser invokes alloca or malloc; define the necessary symbols.  */
1487 
1488 # ifdef YYSTACK_USE_ALLOCA
1489 #  if YYSTACK_USE_ALLOCA
1490 #   ifdef __GNUC__
1491 #    define YYSTACK_ALLOC __builtin_alloca
1492 #   elif defined __BUILTIN_VA_ARG_INCR
1493 #    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
1494 #   elif defined _AIX
1495 #    define YYSTACK_ALLOC __alloca
1496 #   elif defined _MSC_VER
1497 #    include <malloc.h> /* INFRINGES ON USER NAME SPACE */
1498 #    define alloca _alloca
1499 #   else
1500 #    define YYSTACK_ALLOC alloca
1501 #    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
1502 #     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
1503       /* Use EXIT_SUCCESS as a witness for stdlib.h.  */
1504 #     ifndef EXIT_SUCCESS
1505 #      define EXIT_SUCCESS 0
1506 #     endif
1507 #    endif
1508 #   endif
1509 #  endif
1510 # endif
1511 
1512 # ifdef YYSTACK_ALLOC
1513    /* Pacify GCC's 'empty if-body' warning.  */
1514 #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
1515 #  ifndef YYSTACK_ALLOC_MAXIMUM
1516     /* The OS might guarantee only one guard page at the bottom of the stack,
1517        and a page size can be as small as 4096 bytes.  So we cannot safely
1518        invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
1519        to allow for a few compiler-allocated temporary stack slots.  */
1520 #   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
1521 #  endif
1522 # else
1523 #  define YYSTACK_ALLOC YYMALLOC
1524 #  define YYSTACK_FREE YYFREE
1525 #  ifndef YYSTACK_ALLOC_MAXIMUM
1526 #   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
1527 #  endif
1528 #  if (defined __cplusplus && ! defined EXIT_SUCCESS \
1529        && ! ((defined YYMALLOC || defined malloc) \
1530              && (defined YYFREE || defined free)))
1531 #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
1532 #   ifndef EXIT_SUCCESS
1533 #    define EXIT_SUCCESS 0
1534 #   endif
1535 #  endif
1536 #  ifndef YYMALLOC
1537 #   define YYMALLOC malloc
1538 #   if ! defined malloc && ! defined EXIT_SUCCESS
1539 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
1540 #   endif
1541 #  endif
1542 #  ifndef YYFREE
1543 #   define YYFREE free
1544 #   if ! defined free && ! defined EXIT_SUCCESS
1545 void free (void *); /* INFRINGES ON USER NAME SPACE */
1546 #   endif
1547 #  endif
1548 # endif
1549 #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
1550 
1551 
1552 #if (! defined yyoverflow \
1553      && (! defined __cplusplus \
1554          || (defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL \
1555              && defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
1556 
1557 /* A type that is properly aligned for any stack member.  */
1558 union yyalloc
1559 {
1560   yytype_int16 yyss_alloc;
1561   YYSTYPE yyvs_alloc;
1562   YYLTYPE yyls_alloc;
1563 };
1564 
1565 /* The size of the maximum gap between one aligned stack and the next.  */
1566 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
1567 
1568 /* The size of an array large to enough to hold all stacks, each with
1569    N elements.  */
1570 # define YYSTACK_BYTES(N) \
1571      ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE) + sizeof (YYLTYPE)) \
1572       + 2 * YYSTACK_GAP_MAXIMUM)
1573 
1574 # define YYCOPY_NEEDED 1
1575 
1576 /* Relocate STACK from its old location to the new one.  The
1577    local variables YYSIZE and YYSTACKSIZE give the old and new number of
1578    elements in the stack, and YYPTR gives the new location of the
1579    stack.  Advance YYPTR to a properly aligned location for the next
1580    stack.  */
1581 # define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \
1582     do                                                                  \
1583       {                                                                 \
1584         YYSIZE_T yynewbytes;                                            \
1585         YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \
1586         Stack = &yyptr->Stack_alloc;                                    \
1587         yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
1588         yyptr += yynewbytes / sizeof (*yyptr);                          \
1589       }                                                                 \
1590     while (0)
1591 
1592 #endif
1593 
1594 #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
1595 /* Copy COUNT objects from SRC to DST.  The source and destination do
1596    not overlap.  */
1597 # ifndef YYCOPY
1598 #  if defined __GNUC__ && 1 < __GNUC__
1599 #   define YYCOPY(Dst, Src, Count) \
1600       __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src)))
1601 #  else
1602 #   define YYCOPY(Dst, Src, Count)              \
1603       do                                        \
1604         {                                       \
1605           YYSIZE_T yyi;                         \
1606           for (yyi = 0; yyi < (Count); yyi++)   \
1607             (Dst)[yyi] = (Src)[yyi];            \
1608         }                                       \
1609       while (0)
1610 #  endif
1611 # endif
1612 #endif /* !YYCOPY_NEEDED */
1613 
1614 /* YYFINAL -- State number of the termination state.  */
1615 #define YYFINAL  841
1616 /* YYLAST -- Last index in YYTABLE.  */
1617 #define YYLAST   105180
1618 
1619 /* YYNTOKENS -- Number of terminals.  */
1620 #define YYNTOKENS  493
1621 /* YYNNTS -- Number of nonterminals.  */
1622 #define YYNNTS  673
1623 /* YYNRULES -- Number of rules.  */
1624 #define YYNRULES  2764
1625 /* YYNSTATES -- Number of states.  */
1626 #define YYNSTATES  5567
1627 
1628 /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
1629    by yylex, with out-of-bounds checking.  */
1630 #define YYUNDEFTOK  2
1631 #define YYMAXUTOK   730
1632 
1633 #define YYTRANSLATE(YYX)                                                \
1634   ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
1635 
1636 /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
1637    as returned by yylex, without out-of-bounds checking.  */
1638 static const yytype_uint16 yytranslate[] =
1639 {
1640        0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1641        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1642        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1643        2,     2,     2,     2,     2,     2,     2,   482,     2,     2,
1644      487,   488,   480,   478,   491,   479,   489,   481,     2,     2,
1645        2,     2,     2,     2,     2,     2,     2,     2,   492,   490,
1646      474,   476,   475,     2,     2,     2,     2,     2,     2,     2,
1647        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1648        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1649        2,   485,     2,   486,   483,     2,     2,     2,     2,     2,
1650        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1651        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1652        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1653        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1654        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1655        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1656        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1657        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1658        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1659        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1660        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1661        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1662        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1663        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1664        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1665        2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
1666        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
1667       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
1668       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
1669       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
1670       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
1671       55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
1672       65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
1673       75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
1674       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
1675       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
1676      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
1677      115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
1678      125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
1679      135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
1680      145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
1681      155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
1682      165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
1683      175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
1684      185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
1685      195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
1686      205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
1687      215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
1688      225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
1689      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
1690      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
1691      255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
1692      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
1693      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
1694      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
1695      295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
1696      305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
1697      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
1698      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
1699      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
1700      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
1701      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
1702      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
1703      375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
1704      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
1705      395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
1706      405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
1707      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
1708      425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
1709      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
1710      445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
1711      455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
1712      465,   466,   467,   468,   469,   470,   471,   472,   473,   477,
1713      484
1714 };
1715 
1716 #if YYDEBUG
1717   /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
1718 static const yytype_uint16 yyrline[] =
1719 {
1720        0,   841,   841,   857,   869,   879,   880,   881,   882,   883,
1721      884,   885,   886,   887,   888,   889,   890,   891,   892,   893,
1722      894,   895,   896,   897,   898,   899,   900,   901,   902,   903,
1723      904,   905,   906,   907,   908,   909,   910,   911,   912,   913,
1724      914,   915,   916,   917,   918,   919,   920,   921,   922,   923,
1725      924,   925,   926,   927,   928,   929,   930,   931,   932,   933,
1726      934,   935,   936,   937,   938,   939,   940,   941,   942,   943,
1727      944,   945,   946,   947,   948,   949,   950,   951,   952,   953,
1728      954,   955,   956,   957,   958,   959,   960,   961,   962,   963,
1729      964,   965,   966,   967,   968,   969,   970,   971,   972,   973,
1730      974,   975,   976,   977,   978,   979,   980,   981,   982,   983,
1731      984,   985,   986,   987,   988,   989,   990,   991,   992,   993,
1732      994,   995,   996,   997,   998,   999,  1000,  1001,  1002,  1003,
1733     1005,  1014,  1029,  1040,  1041,  1042,  1051,  1052,  1056,  1057,
1734     1061,  1066,  1070,  1080,  1088,  1092,  1096,  1101,  1105,  1153,
1735     1155,  1159,  1163,  1167,  1171,  1185,  1203,  1211,  1222,  1223,
1736     1227,  1235,  1243,  1251,  1272,  1279,  1286,  1293,  1300,  1307,
1737     1324,  1342,  1353,  1354,  1365,  1375,  1385,  1400,  1418,  1419,
1738     1423,  1430,  1438,  1439,  1440,  1441,  1442,  1443,  1457,  1464,
1739     1470,  1476,  1485,  1493,  1501,  1505,  1513,  1521,  1528,  1538,
1740     1539,  1547,  1558,  1566,  1574,  1585,  1593,  1601,  1608,  1617,
1741     1627,  1628,  1632,  1633,  1636,  1638,  1642,  1643,  1644,  1645,
1742     1649,  1650,  1651,  1657,  1669,  1673,  1677,  1692,  1699,  1700,
1743     1701,  1705,  1706,  1707,  1711,  1712,  1716,  1717,  1726,  1727,
1744     1734,  1741,  1751,  1758,  1768,  1769,  1774,  1775,  1781,  1787,
1745     1793,  1799,  1805,  1811,  1817,  1827,  1837,  1838,  1842,  1843,
1746     1851,  1866,  1872,  1878,  1884,  1890,  1909,  1918,  1927,  1936,
1747     1945,  1956,  1967,  1976,  1985,  1994,  2005,  2016,  2025,  2034,
1748     2043,  2052,  2061,  2070,  2081,  2095,  2096,  2101,  2114,  2130,
1749     2146,  2155,  2164,  2173,  2182,  2191,  2199,  2207,  2215,  2224,
1750     2233,  2249,  2258,  2267,  2276,  2293,  2302,  2311,  2320,  2330,
1751     2343,  2358,  2367,  2376,  2391,  2399,  2409,  2419,  2426,  2434,
1752     2442,  2449,  2456,  2464,  2472,  2480,  2487,  2494,  2502,  2509,
1753     2516,  2524,  2532,  2540,  2548,  2556,  2564,  2574,  2581,  2589,
1754     2597,  2605,  2613,  2621,  2628,  2635,  2642,  2648,  2658,  2659,
1755     2663,  2664,  2665,  2669,  2677,  2681,  2682,  2686,  2693,  2700,
1756     2707,  2717,  2720,  2721,  2725,  2726,  2731,  2735,  2739,  2744,
1757     2751,  2753,  2758,  2762,  2766,  2777,  2785,  2838,  2851,  2865,
1758     2877,  2884,  2888,  2902,  2915,  2916,  2921,  2930,  2940,  2950,
1759     2976,  2982,  3015,  3050,  3072,  3073,  3077,  3078,  3087,  3088,
1760     3089,  3092,  3093,  3098,  3099,  3103,  3107,  3111,  3115,  3119,
1761     3123,  3127,  3131,  3135,  3139,  3143,  3147,  3151,  3160,  3164,
1762     3168,  3172,  3176,  3177,  3182,  3186,  3193,  3200,  3201,  3202,
1763     3203,  3204,  3208,  3212,  3220,  3231,  3250,  3269,  3289,  3309,
1764     3329,  3362,  3363,  3364,  3365,  3366,  3373,  3380,  3381,  3385,
1765     3386,  3390,  3391,  3395,  3399,  3406,  3410,  3417,  3418,  3419,
1766     3423,  3424,  3427,  3448,  3466,  3487,  3488,  3492,  3499,  3500,
1767     3501,  3532,  3539,  3546,  3557,  3568,  3580,  3591,  3600,  3623,
1768     3641,  3642,  3661,  3668,  3675,  3682,  3693,  3703,  3704,  3705,
1769     3709,  3710,  3711,  3712,  3713,  3714,  3715,  3716,  3717,  3726,
1770     3733,  3737,  3750,  3766,  3781,  3797,  3812,  3831,  3852,  3853,
1771     3857,  3858,  3862,  3863,  3866,  3872,  3873,  3876,  3880,  3888,
1772     3893,  3899,  3900,  3904,  3909,  3916,  3917,  3927,  3929,  3931,
1773     3933,  3936,  3939,  3942,  3946,  3947,  3948,  3949,  3950,  3953,
1774     3954,  3958,  3959,  3962,  3974,  3975,  3978,  3989,  4000,  4014,
1775     4015,  4020,  4021,  4022,  4025,  4026,  4027,  4028,  4031,  4032,
1776     4035,  4036,  4039,  4057,  4069,  4093,  4101,  4122,  4135,  4151,
1777     4167,  4168,  4169,  4181,  4194,  4210,  4224,  4225,  4237,  4257,
1778     4267,  4280,  4288,  4299,  4300,  4303,  4304,  4307,  4308,  4311,
1779     4315,  4319,  4323,  4327,  4331,  4335,  4339,  4343,  4347,  4351,
1780     4356,  4360,  4364,  4370,  4371,  4375,  4376,  4377,  4382,  4385,
1781     4386,  4398,  4413,  4428,  4429,  4437,  4438,  4442,  4443,  4447,
1782     4448,  4452,  4453,  4457,  4467,  4480,  4481,  4491,  4502,  4503,
1783     4516,  4523,  4540,  4548,  4559,  4562,  4566,  4570,  4574,  4581,
1784     4593,  4603,  4606,  4610,  4623,  4632,  4641,  4650,  4659,  4668,
1785     4677,  4686,  4695,  4704,  4713,  4722,  4731,  4740,  4749,  4758,
1786     4767,  4776,  4785,  4794,  4803,  4812,  4821,  4830,  4839,  4848,
1787     4857,  4866,  4884,  4895,  4896,  4897,  4898,  4902,  4903,  4907,
1788     4908,  4918,  4926,  4938,  4939,  4943,  4947,  4955,  4959,  4963,
1789     4970,  4974,  4979,  4984,  4991,  4998,  5003,  5013,  5025,  5040,
1790     5041,  5046,  5047,  5051,  5052,  5062,  5071,  5079,  5096,  5116,
1791     5136,  5157,  5188,  5197,  5218,  5233,  5234,  5238,  5246,  5261,
1792     5270,  5282,  5283,  5295,  5303,  5320,  5344,  5361,  5375,  5376,
1793     5380,  5381,  5385,  5386,  5390,  5391,  5395,  5409,  5413,  5414,
1794     5418,  5419,  5420,  5421,  5422,  5432,  5443,  5444,  5455,  5476,
1795     5502,  5503,  5504,  5508,  5510,  5532,  5534,  5536,  5538,  5540,
1796     5545,  5546,  5550,  5551,  5555,  5566,  5567,  5571,  5580,  5584,
1797     5588,  5593,  5603,  5604,  5608,  5609,  5613,  5614,  5618,  5619,
1798     5623,  5624,  5625,  5629,  5633,  5634,  5635,  5639,  5640,  5645,
1799     5646,  5673,  5674,  5675,  5676,  5677,  5678,  5691,  5701,  5715,
1800     5717,  5722,  5727,  5729,  5734,  5744,  5745,  5746,  5747,  5758,
1801     5777,  5788,  5800,  5810,  5820,  5831,  5840,  5847,  5854,  5863,
1802     5872,  5881,  5890,  5899,  5909,  5918,  5930,  5933,  5934,  5937,
1803     5941,  5948,  5949,  5950,  5951,  5952,  5953,  5956,  5959,  5960,
1804     5968,  5975,  5976,  5979,  5981,  5992,  6003,  6014,  6025,  6038,
1805     6039,  6055,  6070,  6071,  6075,  6087,  6097,  6105,  6114,  6123,
1806     6124,  6127,  6128,  6131,  6132,  6133,  6136,  6150,  6155,  6165,
1807     6174,  6186,  6187,  6191,  6199,  6211,  6221,  6234,  6244,  6266,
1808     6276,  6294,  6304,  6314,  6324,  6334,  6344,  6354,  6364,  6374,
1809     6384,  6394,  6404,  6418,  6419,  6420,  6421,  6422,  6423,  6424,
1810     6425,  6426,  6427,  6428,  6429,  6430,  6435,  6436,  6437,  6438,
1811     6439,  6440,  6441,  6446,  6447,  6448,  6452,  6453,  6456,  6457,
1812     6460,  6462,  6467,  6468,  6479,  6490,  6491,  6492,  6526,  6534,
1813     6542,  6550,  6558,  6566,  6574,  6582,  6590,  6603,  6611,  6619,
1814     6627,  6635,  6643,  6651,  6659,  6667,  6675,  6687,  6688,  6689,
1815     6690,  6691,  6692,  6693,  6694,  6695,  6696,  6697,  6698,  6699,
1816     6700,  6705,  6706,  6707,  6708,  6709,  6710,  6711,  6712,  6713,
1817     6714,  6715,  6716,  6720,  6721,  6735,  6745,  6755,  6765,  6775,
1818     6785,  6795,  6805,  6815,  6827,  6828,  6833,  6834,  6835,  6836,
1819     6837,  6838,  6843,  6844,  6845,  6846,  6847,  6848,  6849,  6850,
1820     6853,  6854,  6864,  6870,  6878,  6886,  6894,  6902,  6910,  6918,
1821     6926,  6934,  6942,  6950,  6958,  6966,  6974,  6982,  6990,  6998,
1822     7008,  7009,  7012,  7013,  7023,  7039,  7053,  7079,  7081,  7083,
1823     7085,  7092,  7101,  7102,  7105,  7112,  7119,  7126,  7140,  7148,
1824     7156,  7164,  7172,  7180,  7188,  7196,  7204,  7212,  7220,  7228,
1825     7236,  7244,  7252,  7260,  7268,  7276,  7284,  7292,  7304,  7305,
1826     7309,  7310,  7315,  7316,  7326,  7339,  7349,  7361,  7362,  7365,
1827     7366,  7376,  7386,  7387,  7391,  7395,  7399,  7410,  7423,  7437,
1828     7454,  7455,  7456,  7457,  7458,  7459,  7471,  7501,  7534,  7535,
1829     7539,  7540,  7544,  7545,  7549,  7550,  7553,  7554,  7559,  7571,
1830     7590,  7595,  7600,  7607,  7608,  7611,  7612,  7615,  7616,  7619,
1831     7620,  7623,  7624,  7625,  7628,  7629,  7630,  7646,  7658,  7671,
1832     7683,  7698,  7699,  7702,  7703,  7707,  7708,  7712,  7713,  7718,
1833     7730,  7737,  7744,  7759,  7760,  7764,  7765,  7780,  7789,  7798,
1834     7807,  7816,  7828,  7829,  7830,  7831,  7832,  7838,  7842,  7857,
1835     7858,  7864,  7874,  7878,  7883,  7891,  7932,  7936,  7940,  7944,
1836     7952,  7953,  7957,  7967,  7968,  7974,  7975,  7982,  7986,  7990,
1837     7994,  7998,  8002,  8006,  8010,  8014,  8018,  8022,  8026,  8030,
1838     8034,  8038,  8042,  8047,  8054,  8058,  8062,  8066,  8070,  8076,
1839     8077,  8084,  8085,  8089,  8090,  8093,  8105,  8109,  8124,  8132,
1840     8140,  8152,  8153,  8158,  8159,  8176,  8186,  8196,  8206,  8216,
1841     8226,  8239,  8249,  8262,  8272,  8285,  8293,  8295,  8297,  8302,
1842     8304,  8309,  8310,  8315,  8333,  8342,  8343,  8347,  8351,  8363,
1843     8374,  8385,  8398,  8399,  8400,  8404,  8416,  8417,  8427,  8439,
1844     8443,  8447,  8451,  8458,  8478,  8488,  8498,  8508,  8520,  8521,
1845     8524,  8525,  8526,  8529,  8530,  8533,  8543,  8552,  8569,  8578,
1846     8587,  8596,  8605,  8614,  8623,  8632,  8641,  8650,  8659,  8668,
1847     8677,  8687,  8697,  8706,  8715,  8724,  8733,  8742,  8751,  8761,
1848     8771,  8781,  8791,  8801,  8811,  8821,  8831,  8841,  8851,  8861,
1849     8871,  8882,  8893,  8904,  8915,  8926,  8937,  8947,  8957,  8968,
1850     8979,  8989,  8999,  9007,  9016,  9025,  9034,  9043,  9052,  9061,
1851     9070,  9079,  9088,  9102,  9103,  9106,  9107,  9117,  9126,  9135,
1852     9144,  9154,  9163,  9174,  9175,  9185,  9194,  9203,  9212,  9221,
1853     9230,  9239,  9248,  9257,  9266,  9275,  9284,  9293,  9302,  9311,
1854     9320,  9329,  9338,  9347,  9356,  9365,  9374,  9383,  9392,  9401,
1855     9410,  9419,  9437,  9446,  9447,  9450,  9452,  9458,  9459,  9460,
1856     9461,  9462,  9474,  9489,  9497,  9505,  9513,  9521,  9529,  9537,
1857     9545,  9553,  9561,  9569,  9577,  9585,  9593,  9601,  9609,  9617,
1858     9625,  9633,  9641,  9649,  9657,  9665,  9673,  9691,  9710,  9711,
1859     9715,  9719,  9739,  9746,  9754,  9762,  9779,  9792,  9796,  9803,
1860     9812,  9821,  9830,  9839,  9849,  9859,  9877,  9885,  9901,  9918,
1861     9919,  9920,  9925,  9931,  9940,  9941,  9942,  9943,  9944,  9948,
1862     9949,  9952,  9953,  9954,  9955,  9959,  9960,  9961,  9973,  9983,
1863     9984,  9987,  9996, 10002, 10021, 10029, 10036, 10043, 10051, 10059,
1864    10067, 10074, 10081, 10088, 10095, 10102, 10109, 10116, 10125, 10126,
1865    10127, 10131, 10134, 10137, 10140, 10143, 10150, 10152, 10154, 10159,
1866    10161, 10165, 10166, 10167, 10179, 10192, 10205, 10223, 10244, 10245,
1867    10246, 10247, 10257, 10273, 10283, 10284, 10288, 10289, 10293, 10297,
1868    10301, 10319, 10320, 10321, 10322, 10323, 10324, 10325, 10332, 10333,
1869    10344, 10351, 10358, 10369, 10386, 10394, 10402, 10410, 10421, 10425,
1870    10436, 10448, 10465, 10471, 10487, 10500, 10509, 10517, 10525, 10534,
1871    10545, 10556, 10566, 10567, 10578, 10588, 10599, 10610, 10621, 10632,
1872    10641, 10653, 10654, 10668, 10691, 10701, 10712, 10725, 10726, 10738,
1873    10758, 10768, 10779, 10790, 10794, 10801, 10802, 10806, 10813, 10814,
1874    10818, 10819, 10820, 10824, 10825, 10829, 10830, 10833, 10834, 10837,
1875    10838, 10842, 10843, 10847, 10854, 10856, 10861, 10862, 10875, 10882,
1876    10892, 10899, 10909, 10910, 10911, 10912, 10913, 10914, 10915, 10916,
1877    10917, 10921, 10925, 10932, 10939, 10940, 10944, 10945, 10946, 10956,
1878    10966, 10967, 10971, 10972, 10973, 10974, 10984, 10991, 11008, 11027,
1879    11028, 11038, 11044, 11050, 11056, 11072, 11090, 11094, 11102, 11108,
1880    11115, 11121, 11128, 11137, 11138, 11142, 11144, 11149, 11160, 11170,
1881    11180, 11186, 11195, 11204, 11210, 11211, 11222, 11236, 11237, 11248,
1882    11259, 11260, 11263, 11264, 11265, 11266, 11267, 11268, 11269, 11270,
1883    11273, 11274, 11278, 11279, 11280, 11291, 11308, 11309, 11313, 11318,
1884    11342, 11353, 11354, 11364, 11375, 11378, 11379, 11380, 11381, 11382,
1885    11385, 11386, 11387, 11435, 11436, 11440, 11441, 11456, 11457, 11464,
1886    11472, 11480, 11488, 11496, 11504, 11515, 11516, 11543, 11557, 11572,
1887    11573, 11592, 11596, 11600, 11617, 11624, 11631, 11641, 11642, 11645,
1888    11658, 11659, 11660, 11664, 11665, 11669, 11681, 11689, 11694, 11699,
1889    11704, 11709, 11717, 11725, 11730, 11735, 11742, 11743, 11747, 11748,
1890    11749, 11756, 11757, 11761, 11762, 11766, 11767, 11771, 11775, 11776,
1891    11779, 11788, 11801, 11806, 11811, 11815, 11826, 11827, 11831, 11839,
1892    11855, 11863, 11871, 11879, 11890, 11893, 11898, 11899, 11907, 11927,
1893    11928, 11930, 11935, 11936, 11940, 11941, 11944, 11945, 11970, 11971,
1894    11975, 11976, 11980, 11981, 11982, 11983, 11984, 11988, 12001, 12008,
1895    12015, 12022, 12023, 12027, 12028, 12032, 12033, 12037, 12038, 12042,
1896    12053, 12054, 12055, 12056, 12060, 12061, 12071, 12077, 12095, 12096,
1897    12100, 12101, 12107, 12112, 12120, 12127, 12135, 12141, 12148, 12183,
1898    12208, 12212, 12238, 12242, 12254, 12267, 12281, 12292, 12307, 12313,
1899    12318, 12324, 12331, 12332, 12340, 12344, 12348, 12354, 12361, 12366,
1900    12367, 12368, 12369, 12373, 12374, 12386, 12387, 12392, 12399, 12406,
1901    12413, 12424, 12425, 12438, 12442, 12449, 12462, 12475, 12476, 12491,
1902    12501, 12513, 12518, 12519, 12522, 12523, 12526, 12527, 12532, 12533,
1903    12538, 12539, 12547, 12552, 12553, 12557, 12561, 12567, 12591, 12601,
1904    12614, 12615, 12619, 12633, 12690, 12704, 12706, 12711, 12713, 12715,
1905    12717, 12722, 12724, 12729, 12737, 12757, 12762, 12769, 12774, 12780,
1906    12785, 12794, 12796, 12799, 12803, 12804, 12805, 12806, 12807, 12808,
1907    12813, 12833, 12834, 12835, 12836, 12847, 12853, 12861, 12862, 12868,
1908    12873, 12878, 12883, 12888, 12893, 12898, 12903, 12909, 12915, 12921,
1909    12928, 12950, 12959, 12963, 12971, 12975, 12983, 12995, 13016, 13020,
1910    13026, 13030, 13043, 13051, 13061, 13063, 13065, 13067, 13069, 13071,
1911    13076, 13077, 13084, 13093, 13101, 13110, 13121, 13129, 13130, 13131,
1912    13135, 13137, 13139, 13141, 13143, 13145, 13147, 13152, 13157, 13163,
1913    13171, 13176, 13183, 13190, 13194, 13198, 13234, 13235, 13237, 13245,
1914    13260, 13262, 13264, 13266, 13268, 13270, 13272, 13274, 13276, 13278,
1915    13280, 13282, 13284, 13286, 13289, 13291, 13293, 13296, 13298, 13300,
1916    13302, 13305, 13310, 13318, 13323, 13331, 13336, 13344, 13349, 13358,
1917    13366, 13374, 13382, 13400, 13408, 13416, 13424, 13432, 13448, 13456,
1918    13464, 13472, 13480, 13488, 13496, 13500, 13504, 13508, 13512, 13520,
1919    13528, 13536, 13544, 13564, 13586, 13597, 13604, 13620, 13625, 13631,
1920    13635, 13639, 13643, 13647, 13672, 13674, 13676, 13678, 13680, 13682,
1921    13684, 13686, 13688, 13690, 13692, 13694, 13696, 13698, 13700, 13702,
1922    13704, 13706, 13708, 13710, 13714, 13718, 13722, 13726, 13731, 13747,
1923    13748, 13749, 13764, 13798, 13800, 13802, 13813, 13837, 13848, 13859,
1924    13866, 13876, 13886, 13895, 13899, 13905, 13912, 13919, 13929, 13936,
1925    13964, 13999, 14010, 14011, 14018, 14024, 14028, 14032, 14036, 14040,
1926    14044, 14048, 14052, 14056, 14060, 14064, 14068, 14072, 14076, 14080,
1927    14084, 14086, 14090, 14094, 14098, 14107, 14112, 14119, 14134, 14141,
1928    14145, 14149, 14153, 14157, 14164, 14172, 14180, 14184, 14188, 14192,
1929    14196, 14200, 14206, 14210, 14219, 14223, 14227, 14232, 14246, 14248,
1930    14252, 14254, 14256, 14259, 14262, 14265, 14266, 14269, 14277, 14287,
1931    14288, 14291, 14292, 14293, 14298, 14302, 14306, 14310, 14317, 14318,
1932    14326, 14327, 14331, 14332, 14340, 14341, 14345, 14346, 14351, 14359,
1933    14361, 14375, 14378, 14405, 14406, 14409, 14410, 14418, 14425, 14432,
1934    14440, 14449, 14466, 14511, 14519, 14527, 14535, 14543, 14554, 14555,
1935    14556, 14557, 14558, 14572, 14573, 14574, 14577, 14578, 14581, 14584,
1936    14585, 14586, 14589, 14590, 14593, 14594, 14595, 14596, 14597, 14598,
1937    14599, 14600, 14601, 14602, 14603, 14604, 14607, 14609, 14614, 14616,
1938    14621, 14623, 14625, 14627, 14629, 14631, 14643, 14647, 14654, 14658,
1939    14664, 14668, 14677, 14688, 14689, 14692, 14696, 14700, 14706, 14707,
1940    14712, 14716, 14723, 14724, 14725, 14726, 14727, 14728, 14729, 14730,
1941    14734, 14735, 14736, 14737, 14747, 14751, 14758, 14765, 14766, 14782,
1942    14786, 14791, 14795, 14810, 14815, 14819, 14822, 14825, 14826, 14827,
1943    14830, 14837, 14847, 14861, 14862, 14866, 14877, 14878, 14881, 14882,
1944    14885, 14889, 14896, 14900, 14904, 14912, 14923, 14924, 14928, 14929,
1945    14933, 14934, 14937, 14938, 14948, 14949, 14953, 14954, 14957, 14973,
1946    14981, 14989, 15011, 15012, 15023, 15027, 15054, 15056, 15061, 15064,
1947    15067, 15069, 15071, 15073, 15083, 15085, 15096, 15100, 15104, 15108,
1948    15112, 15121, 15128, 15160, 15164, 15170, 15177, 15181, 15185, 15191,
1949    15192, 15194, 15195, 15196, 15200, 15233, 15260, 15264, 15270, 15272,
1950    15289, 15290, 15291, 15296, 15297, 15298, 15303, 15304, 15305, 15306,
1951    15312, 15313, 15314, 15315, 15316, 15336, 15337, 15338, 15339, 15340,
1952    15341, 15342, 15343, 15344, 15345, 15346, 15347, 15348, 15349, 15350,
1953    15351, 15352, 15353, 15354, 15355, 15356, 15357, 15358, 15359, 15360,
1954    15361, 15362, 15363, 15364, 15365, 15366, 15367, 15368, 15369, 15370,
1955    15371, 15372, 15373, 15374, 15375, 15376, 15377, 15378, 15379, 15380,
1956    15381, 15382, 15383, 15384, 15385, 15386, 15387, 15388, 15389, 15390,
1957    15391, 15392, 15393, 15394, 15395, 15396, 15397, 15398, 15399, 15400,
1958    15401, 15402, 15403, 15404, 15405, 15406, 15407, 15408, 15409, 15410,
1959    15411, 15412, 15413, 15414, 15415, 15416, 15417, 15418, 15419, 15420,
1960    15421, 15422, 15423, 15424, 15425, 15426, 15427, 15428, 15429, 15430,
1961    15431, 15432, 15433, 15434, 15435, 15436, 15437, 15438, 15439, 15440,
1962    15441, 15442, 15443, 15444, 15445, 15446, 15447, 15448, 15449, 15450,
1963    15451, 15452, 15453, 15454, 15455, 15456, 15457, 15458, 15459, 15460,
1964    15461, 15462, 15463, 15464, 15465, 15466, 15467, 15468, 15469, 15470,
1965    15471, 15472, 15473, 15474, 15475, 15476, 15477, 15478, 15479, 15480,
1966    15481, 15482, 15483, 15484, 15485, 15486, 15487, 15488, 15489, 15490,
1967    15491, 15492, 15493, 15494, 15495, 15496, 15497, 15498, 15499, 15500,
1968    15501, 15502, 15503, 15504, 15505, 15506, 15507, 15508, 15509, 15510,
1969    15511, 15512, 15513, 15514, 15515, 15516, 15517, 15518, 15519, 15520,
1970    15521, 15522, 15523, 15524, 15525, 15526, 15527, 15528, 15529, 15530,
1971    15531, 15532, 15533, 15534, 15535, 15536, 15537, 15538, 15539, 15540,
1972    15541, 15542, 15543, 15544, 15545, 15546, 15547, 15548, 15549, 15550,
1973    15551, 15552, 15553, 15554, 15555, 15556, 15557, 15558, 15559, 15560,
1974    15561, 15562, 15563, 15564, 15565, 15566, 15567, 15568, 15569, 15570,
1975    15571, 15572, 15573, 15574, 15575, 15576, 15577, 15578, 15579, 15580,
1976    15581, 15582, 15583, 15584, 15585, 15586, 15587, 15588, 15589, 15590,
1977    15591, 15592, 15593, 15594, 15595, 15596, 15597, 15598, 15599, 15600,
1978    15601, 15602, 15603, 15604, 15605, 15606, 15607, 15608, 15609, 15610,
1979    15611, 15612, 15613, 15614, 15615, 15616, 15617, 15618, 15619, 15620,
1980    15621, 15622, 15623, 15624, 15625, 15626, 15627, 15628, 15629, 15630,
1981    15631, 15632, 15633, 15634, 15648, 15649, 15650, 15651, 15652, 15653,
1982    15654, 15655, 15656, 15657, 15658, 15659, 15660, 15661, 15662, 15663,
1983    15664, 15665, 15666, 15667, 15668, 15669, 15670, 15671, 15672, 15673,
1984    15674, 15675, 15676, 15677, 15678, 15679, 15680, 15681, 15682, 15683,
1985    15684, 15685, 15686, 15687, 15688, 15689, 15690, 15691, 15692, 15693,
1986    15694, 15695, 15696, 15697, 15698, 15712, 15713, 15714, 15715, 15716,
1987    15717, 15718, 15719, 15720, 15721, 15722, 15723, 15724, 15725, 15726,
1988    15727, 15728, 15729, 15730, 15731, 15732, 15733, 15734, 15744, 15745,
1989    15746, 15747, 15748, 15749, 15750, 15751, 15752, 15753, 15754, 15755,
1990    15756, 15757, 15758, 15759, 15760, 15761, 15762, 15763, 15764, 15765,
1991    15766, 15767, 15768, 15769, 15770, 15771, 15772, 15773, 15774, 15775,
1992    15776, 15777, 15778, 15779, 15780, 15781, 15782, 15783, 15784, 15785,
1993    15786, 15787, 15788, 15789, 15790, 15791, 15792, 15793, 15794, 15795,
1994    15796, 15797, 15798, 15799, 15800, 15801, 15802, 15803, 15804, 15805,
1995    15806, 15807, 15808, 15809, 15810, 15811, 15812, 15813, 15814, 15815,
1996    15816, 15817, 15818, 15819, 15820
1997 };
1998 #endif
1999 
2000 #if YYDEBUG || YYERROR_VERBOSE || 0
2001 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
2002    First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
2003 static const char *const yytname[] =
2004 {
2005   "$end", "error", "$undefined", "IDENT", "UIDENT", "FCONST", "SCONST",
2006   "USCONST", "BCONST", "XCONST", "Op", "ICONST", "PARAM", "TYPECAST",
2007   "DOT_DOT", "COLON_EQUALS", "EQUALS_GREATER", "LESS_EQUALS",
2008   "GREATER_EQUALS", "NOT_EQUALS", "ABORT_P", "ABSOLUTE_P", "ACCESS",
2009   "ACTION", "ADD_P", "ADMIN", "AFTER", "AGGREGATE", "ALL", "ALSO", "ALTER",
2010   "ALWAYS", "ANALYSE", "ANALYZE", "AND", "ANY", "ARRAY", "AS", "ASC",
2011   "ASSERTION", "ASSIGNMENT", "ASYMMETRIC", "AT", "ATTACH", "ATTRIBUTE",
2012   "AUTHORIZATION", "BACKWARD", "BEFORE", "BEGIN_P", "BETWEEN", "BIGINT",
2013   "BINARY", "BIT", "BOOLEAN_P", "BOTH", "BY", "CACHE", "CALL", "CALLED",
2014   "CASCADE", "CASCADED", "CASE", "CAST", "CATALOG_P", "CHAIN", "CHAR_P",
2015   "CHARACTER", "CHARACTERISTICS", "CHECK", "CHECKPOINT", "CLASS", "CLOSE",
2016   "CLUSTER", "COALESCE", "COLLATE", "COLLATION", "COLUMN", "COLUMNS",
2017   "COMMENT", "COMMENTS", "COMMIT", "COMMITTED", "CONCURRENTLY",
2018   "CONFIGURATION", "CONFLICT", "CONNECTION", "CONSTRAINT", "CONSTRAINTS",
2019   "CONTENT_P", "CONTINUE_P", "CONVERSION_P", "COPY", "COST", "CREATE",
2020   "CROSS", "CSV", "CUBE", "CURRENT_P", "CURRENT_CATALOG", "CURRENT_DATE",
2021   "CURRENT_ROLE", "CURRENT_SCHEMA", "CURRENT_TIME", "CURRENT_TIMESTAMP",
2022   "CURRENT_USER", "CURSOR", "CYCLE", "DATA_P", "DATABASE", "DAY_P",
2023   "DEALLOCATE", "DEC", "DECIMAL_P", "DECLARE", "DEFAULT", "DEFAULTS",
2024   "DEFERRABLE", "DEFERRED", "DEFINER", "DELETE_P", "DELIMITER",
2025   "DELIMITERS", "DEPENDS", "DESC", "DETACH", "DICTIONARY", "DISABLE_P",
2026   "DISCARD", "DISTINCT", "DO", "DOCUMENT_P", "DOMAIN_P", "DOUBLE_P",
2027   "DROP", "EACH", "ELSE", "ENABLE_P", "ENCODING", "ENCRYPTED", "END_P",
2028   "ENUM_P", "ESCAPE", "EVENT", "EXCEPT", "EXCLUDE", "EXCLUDING",
2029   "EXCLUSIVE", "EXECUTE", "EXISTS", "EXPLAIN", "EXPRESSION", "EXTENSION",
2030   "EXTERNAL", "EXTRACT", "FALSE_P", "FAMILY", "FETCH", "FILTER", "FIRST_P",
2031   "FLOAT_P", "FOLLOWING", "FOR", "FORCE", "FOREIGN", "FORWARD", "FREEZE",
2032   "FROM", "FULL", "FUNCTION", "FUNCTIONS", "GENERATED", "GLOBAL", "GRANT",
2033   "GRANTED", "GREATEST", "GROUP_P", "GROUPING", "GROUPS", "HANDLER",
2034   "HAVING", "HEADER_P", "HOLD", "HOUR_P", "IDENTITY_P", "IF_P", "ILIKE",
2035   "IMMEDIATE", "IMMUTABLE", "IMPLICIT_P", "IMPORT_P", "IN_P", "INCLUDE",
2036   "INCLUDING", "INCREMENT", "INDEX", "INDEXES", "INHERIT", "INHERITS",
2037   "INITIALLY", "INLINE_P", "INNER_P", "INOUT", "INPUT_P", "INSENSITIVE",
2038   "INSERT", "INSTEAD", "INT_P", "INTEGER", "INTERSECT", "INTERVAL", "INTO",
2039   "INVOKER", "IS", "ISNULL", "ISOLATION", "JOIN", "KEY", "LABEL",
2040   "LANGUAGE", "LARGE_P", "LAST_P", "LATERAL_P", "LEADING", "LEAKPROOF",
2041   "LEAST", "LEFT", "LEVEL", "LIKE", "LIMIT", "LISTEN", "LOAD", "LOCAL",
2042   "LOCALTIME", "LOCALTIMESTAMP", "LOCATION", "LOCK_P", "LOCKED", "LOGGED",
2043   "MAPPING", "MATCH", "MATERIALIZED", "MAXVALUE", "METHOD", "MINUTE_P",
2044   "MINVALUE", "MODE", "MONTH_P", "MOVE", "NAME_P", "NAMES", "NATIONAL",
2045   "NATURAL", "NCHAR", "NEW", "NEXT", "NFC", "NFD", "NFKC", "NFKD", "NO",
2046   "NONE", "NORMALIZE", "NORMALIZED", "NOT", "NOTHING", "NOTIFY", "NOTNULL",
2047   "NOWAIT", "NULL_P", "NULLIF", "NULLS_P", "NUMERIC", "OBJECT_P", "OF",
2048   "OFF", "OFFSET", "OIDS", "OLD", "ON", "ONLY", "OPERATOR", "OPTION",
2049   "OPTIONS", "OR", "ORDER", "ORDINALITY", "OTHERS", "OUT_P", "OUTER_P",
2050   "OVER", "OVERLAPS", "OVERLAY", "OVERRIDING", "OWNED", "OWNER",
2051   "PARALLEL", "PARSER", "PARTIAL", "PARTITION", "PASSING", "PASSWORD",
2052   "PGPOOL", "PLACING", "PLANS", "POLICY", "POSITION", "PRECEDING",
2053   "PRECISION", "PRESERVE", "PREPARE", "PREPARED", "PRIMARY", "PRIOR",
2054   "PRIVILEGES", "PROCEDURAL", "PROCEDURE", "PROCEDURES", "PROGRAM",
2055   "PUBLICATION", "QUOTE", "RANGE", "READ", "REAL", "REASSIGN", "RECHECK",
2056   "RECURSIVE", "REF", "REFERENCES", "REFERENCING", "REFRESH", "REINDEX",
2057   "RELATIVE_P", "RELEASE", "RENAME", "REPEATABLE", "REPLACE", "REPLICA",
2058   "RESET", "RESTART", "RESTRICT", "RETURNING", "RETURNS", "REVOKE",
2059   "RIGHT", "ROLE", "ROLLBACK", "ROLLUP", "ROUTINE", "ROUTINES", "ROW",
2060   "ROWS", "RULE", "SAVEPOINT", "SCHEMA", "SCHEMAS", "SCROLL", "SEARCH",
2061   "SECOND_P", "SECURITY", "SELECT", "SEQUENCE", "SEQUENCES",
2062   "SERIALIZABLE", "SERVER", "SESSION", "SESSION_USER", "SET", "SETS",
2063   "SETOF", "SHARE", "SHOW", "SIMILAR", "SIMPLE", "SKIP", "SMALLINT",
2064   "SNAPSHOT", "SOME", "SQL_P", "STABLE", "STANDALONE_P", "START",
2065   "STATEMENT", "STATISTICS", "STDIN", "STDOUT", "STORAGE", "STORED",
2066   "STRICT_P", "STRIP_P", "SUBSCRIPTION", "SUBSTRING", "SUPPORT",
2067   "SYMMETRIC", "SYSID", "SYSTEM_P", "TABLE", "TABLES", "TABLESAMPLE",
2068   "TABLESPACE", "TEMP", "TEMPLATE", "TEMPORARY", "TEXT_P", "THEN", "TIES",
2069   "TIME", "TIMESTAMP", "TO", "TRAILING", "TRANSACTION", "TRANSFORM",
2070   "TREAT", "TRIGGER", "TRIM", "TRUE_P", "TRUNCATE", "TRUSTED", "TYPE_P",
2071   "TYPES_P", "UESCAPE", "UNBOUNDED", "UNCOMMITTED", "UNENCRYPTED", "UNION",
2072   "UNIQUE", "UNKNOWN", "UNLISTEN", "UNLOGGED", "UNTIL", "UPDATE", "USER",
2073   "USING", "VACUUM", "VALID", "VALIDATE", "VALIDATOR", "VALUE_P", "VALUES",
2074   "VARCHAR", "VARIADIC", "VARYING", "VERBOSE", "VERSION_P", "VIEW",
2075   "VIEWS", "VOLATILE", "WHEN", "WHERE", "WHITESPACE_P", "WINDOW", "WITH",
2076   "WITHIN", "WITHOUT", "WORK", "WRAPPER", "WRITE", "XML_P",
2077   "XMLATTRIBUTES", "XMLCONCAT", "XMLELEMENT", "XMLEXISTS", "XMLFOREST",
2078   "XMLNAMESPACES", "XMLPARSE", "XMLPI", "XMLROOT", "XMLSERIALIZE",
2079   "XMLTABLE", "YEAR_P", "YES_P", "ZONE", "NOT_LA", "NULLS_LA", "WITH_LA",
2080   "'<'", "'>'", "'='", "POSTFIXOP", "'+'", "'-'", "'*'", "'/'", "'%'",
2081   "'^'", "UMINUS", "'['", "']'", "'('", "')'", "'.'", "';'", "','", "':'",
2082   "$accept", "stmtblock", "stmtmulti", "stmt", "CallStmt",
2083   "CreateRoleStmt", "opt_with", "OptRoleList", "AlterOptRoleList",
2084   "AlterOptRoleElem", "CreateOptRoleElem", "CreateUserStmt",
2085   "AlterRoleStmt", "opt_in_database", "AlterRoleSetStmt", "DropRoleStmt",
2086   "CreateGroupStmt", "AlterGroupStmt", "add_drop", "CreateSchemaStmt",
2087   "OptSchemaName", "OptSchemaEltList", "schema_stmt", "VariableSetStmt",
2088   "set_rest", "generic_set", "set_rest_more", "var_name", "var_list",
2089   "var_value", "iso_level", "opt_boolean_or_string", "zone_value",
2090   "opt_encoding", "NonReservedWord_or_Sconst", "VariableResetStmt",
2091   "reset_rest", "generic_reset", "SetResetClause",
2092   "FunctionSetResetClause", "VariableShowStmt", "ConstraintsSetStmt",
2093   "constraints_set_list", "constraints_set_mode", "CheckPointStmt",
2094   "DiscardStmt", "AlterTableStmt", "alter_table_cmds", "partition_cmd",
2095   "index_partition_cmd", "alter_table_cmd", "alter_column_default",
2096   "opt_drop_behavior", "opt_collate_clause", "alter_using",
2097   "replica_identity", "reloptions", "opt_reloptions", "reloption_list",
2098   "reloption_elem", "alter_identity_column_option_list",
2099   "alter_identity_column_option", "PartitionBoundSpec",
2100   "hash_partbound_elem", "hash_partbound", "AlterCompositeTypeStmt",
2101   "alter_type_cmds", "alter_type_cmd", "ClosePortalStmt", "CopyStmt",
2102   "copy_from", "opt_program", "copy_file_name", "copy_options",
2103   "copy_opt_list", "copy_opt_item", "opt_binary", "copy_delimiter",
2104   "opt_using", "copy_generic_opt_list", "copy_generic_opt_elem",
2105   "copy_generic_opt_arg", "copy_generic_opt_arg_list",
2106   "copy_generic_opt_arg_list_item", "CreateStmt", "OptTemp",
2107   "OptTableElementList", "OptTypedTableElementList", "TableElementList",
2108   "TypedTableElementList", "TableElement", "TypedTableElement",
2109   "columnDef", "columnOptions", "ColQualList", "ColConstraint",
2110   "ColConstraintElem", "generated_when", "ConstraintAttr",
2111   "TableLikeClause", "TableLikeOptionList", "TableLikeOption",
2112   "TableConstraint", "ConstraintElem", "opt_no_inherit", "opt_column_list",
2113   "columnList", "columnElem", "opt_c_include", "key_match",
2114   "ExclusionConstraintList", "ExclusionConstraintElem",
2115   "ExclusionWhereClause", "key_actions", "key_update", "key_delete",
2116   "key_action", "OptInherit", "OptPartitionSpec", "PartitionSpec",
2117   "part_params", "part_elem", "table_access_method_clause", "OptWith",
2118   "OnCommitOption", "OptTableSpace", "OptConsTableSpace", "ExistingIndex",
2119   "CreateStatsStmt", "AlterStatsStmt", "CreateAsStmt", "create_as_target",
2120   "opt_with_data", "CreateMatViewStmt", "create_mv_target", "OptNoLog",
2121   "RefreshMatViewStmt", "CreateSeqStmt", "AlterSeqStmt", "OptSeqOptList",
2122   "OptParenthesizedSeqOptList", "SeqOptList", "SeqOptElem", "opt_by",
2123   "NumericOnly", "NumericOnly_list", "CreatePLangStmt", "opt_trusted",
2124   "handler_name", "opt_inline_handler", "validator_clause",
2125   "opt_validator", "DropPLangStmt", "opt_procedural",
2126   "CreateTableSpaceStmt", "OptTableSpaceOwner", "DropTableSpaceStmt",
2127   "CreateExtensionStmt", "create_extension_opt_list",
2128   "create_extension_opt_item", "AlterExtensionStmt",
2129   "alter_extension_opt_list", "alter_extension_opt_item",
2130   "AlterExtensionContentsStmt", "CreateFdwStmt", "fdw_option",
2131   "fdw_options", "opt_fdw_options", "AlterFdwStmt",
2132   "create_generic_options", "generic_option_list", "alter_generic_options",
2133   "alter_generic_option_list", "alter_generic_option_elem",
2134   "generic_option_elem", "generic_option_name", "generic_option_arg",
2135   "CreateForeignServerStmt", "opt_type", "foreign_server_version",
2136   "opt_foreign_server_version", "AlterForeignServerStmt",
2137   "CreateForeignTableStmt", "AlterForeignTableStmt",
2138   "ImportForeignSchemaStmt", "import_qualification_type",
2139   "import_qualification", "CreateUserMappingStmt", "auth_ident",
2140   "DropUserMappingStmt", "AlterUserMappingStmt", "CreatePolicyStmt",
2141   "AlterPolicyStmt", "RowSecurityOptionalExpr",
2142   "RowSecurityOptionalWithCheck", "RowSecurityDefaultToRole",
2143   "RowSecurityOptionalToRole", "RowSecurityDefaultPermissive",
2144   "RowSecurityDefaultForCmd", "row_security_cmd", "CreateAmStmt",
2145   "am_type", "CreateTrigStmt", "TriggerActionTime", "TriggerEvents",
2146   "TriggerOneEvent", "TriggerReferencing", "TriggerTransitions",
2147   "TriggerTransition", "TransitionOldOrNew", "TransitionRowOrTable",
2148   "TransitionRelName", "TriggerForSpec", "TriggerForOptEach",
2149   "TriggerForType", "TriggerWhen", "FUNCTION_or_PROCEDURE",
2150   "TriggerFuncArgs", "TriggerFuncArg", "OptConstrFromTable",
2151   "ConstraintAttributeSpec", "ConstraintAttributeElem",
2152   "CreateEventTrigStmt", "event_trigger_when_list",
2153   "event_trigger_when_item", "event_trigger_value_list",
2154   "AlterEventTrigStmt", "enable_trigger", "CreateAssertionStmt",
2155   "DefineStmt", "definition", "def_list", "def_elem", "def_arg",
2156   "old_aggr_definition", "old_aggr_list", "old_aggr_elem",
2157   "opt_enum_val_list", "enum_val_list", "AlterEnumStmt",
2158   "opt_if_not_exists", "CreateOpClassStmt", "opclass_item_list",
2159   "opclass_item", "opt_default", "opt_opfamily", "opclass_purpose",
2160   "opt_recheck", "CreateOpFamilyStmt", "AlterOpFamilyStmt",
2161   "opclass_drop_list", "opclass_drop", "DropOpClassStmt",
2162   "DropOpFamilyStmt", "DropOwnedStmt", "ReassignOwnedStmt", "DropStmt",
2163   "drop_type_any_name", "drop_type_name", "drop_type_name_on_any_name",
2164   "any_name_list", "any_name", "attrs", "type_name_list", "TruncateStmt",
2165   "opt_restart_seqs", "CommentStmt", "comment_type_any_name",
2166   "comment_type_name", "comment_text", "SecLabelStmt", "opt_provider",
2167   "security_label_type_any_name", "security_label_type_name",
2168   "security_label", "FetchStmt", "fetch_args", "from_in", "opt_from_in",
2169   "GrantStmt", "RevokeStmt", "privileges", "privilege_list", "privilege",
2170   "privilege_target", "grantee_list", "grantee", "opt_grant_grant_option",
2171   "GrantRoleStmt", "RevokeRoleStmt", "opt_grant_admin_option",
2172   "opt_granted_by", "AlterDefaultPrivilegesStmt", "DefACLOptionList",
2173   "DefACLOption", "DefACLAction", "defacl_privilege_target", "IndexStmt",
2174   "opt_unique", "opt_concurrently", "opt_index_name",
2175   "access_method_clause", "index_params", "index_elem_options",
2176   "index_elem", "opt_include", "index_including_params", "opt_collate",
2177   "opt_class", "opt_asc_desc", "opt_nulls_order", "CreateFunctionStmt",
2178   "opt_or_replace", "func_args", "func_args_list",
2179   "function_with_argtypes_list", "function_with_argtypes",
2180   "func_args_with_defaults", "func_args_with_defaults_list", "func_arg",
2181   "arg_class", "param_name", "func_return", "func_type",
2182   "func_arg_with_default", "aggr_arg", "aggr_args", "aggr_args_list",
2183   "aggregate_with_argtypes", "aggregate_with_argtypes_list",
2184   "createfunc_opt_list", "common_func_opt_item", "createfunc_opt_item",
2185   "func_as", "transform_type_list", "opt_definition", "table_func_column",
2186   "table_func_column_list", "AlterFunctionStmt", "alterfunc_opt_list",
2187   "opt_restrict", "RemoveFuncStmt", "RemoveAggrStmt", "RemoveOperStmt",
2188   "oper_argtypes", "any_operator", "operator_with_argtypes_list",
2189   "operator_with_argtypes", "DoStmt", "dostmt_opt_list", "dostmt_opt_item",
2190   "CreateCastStmt", "cast_context", "DropCastStmt", "opt_if_exists",
2191   "CreateTransformStmt", "transform_element_list", "DropTransformStmt",
2192   "ReindexStmt", "reindex_target_type", "reindex_target_multitable",
2193   "reindex_option_list", "reindex_option_elem", "AlterTblSpcStmt",
2194   "RenameStmt", "opt_column", "opt_set_data", "AlterObjectDependsStmt",
2195   "opt_no", "AlterObjectSchemaStmt", "AlterOperatorStmt",
2196   "operator_def_list", "operator_def_elem", "operator_def_arg",
2197   "AlterTypeStmt", "AlterOwnerStmt", "CreatePublicationStmt",
2198   "opt_publication_for_tables", "publication_for_tables",
2199   "AlterPublicationStmt", "CreateSubscriptionStmt",
2200   "publication_name_list", "publication_name_item",
2201   "AlterSubscriptionStmt", "DropSubscriptionStmt", "RuleStmt",
2202   "RuleActionList", "RuleActionMulti", "RuleActionStmt",
2203   "RuleActionStmtOrEmpty", "event", "opt_instead", "NotifyStmt",
2204   "notify_payload", "ListenStmt", "UnlistenStmt", "TransactionStmt",
2205   "opt_transaction", "transaction_mode_item", "transaction_mode_list",
2206   "transaction_mode_list_or_empty", "opt_transaction_chain", "ViewStmt",
2207   "opt_check_option", "LoadStmt", "CreatedbStmt", "createdb_opt_list",
2208   "createdb_opt_items", "createdb_opt_item", "createdb_opt_name",
2209   "opt_equal", "AlterDatabaseStmt", "AlterDatabaseSetStmt", "DropdbStmt",
2210   "drop_option_list", "drop_option", "AlterCollationStmt",
2211   "AlterSystemStmt", "CreateDomainStmt", "AlterDomainStmt", "opt_as",
2212   "AlterTSDictionaryStmt", "AlterTSConfigurationStmt", "any_with",
2213   "CreateConversionStmt", "ClusterStmt", "cluster_index_specification",
2214   "VacuumStmt", "AnalyzeStmt", "vac_analyze_option_list",
2215   "analyze_keyword", "vac_analyze_option_elem", "vac_analyze_option_name",
2216   "vac_analyze_option_arg", "opt_analyze", "opt_verbose", "opt_full",
2217   "opt_freeze", "opt_name_list", "vacuum_relation", "vacuum_relation_list",
2218   "opt_vacuum_relation_list", "ExplainStmt", "ExplainableStmt",
2219   "explain_option_list", "explain_option_elem", "explain_option_name",
2220   "explain_option_arg", "PrepareStmt", "prep_type_clause",
2221   "PreparableStmt", "ExecuteStmt", "execute_param_clause",
2222   "DeallocateStmt", "InsertStmt", "insert_target", "insert_rest",
2223   "override_kind", "insert_column_list", "insert_column_item",
2224   "opt_on_conflict", "opt_conf_expr", "returning_clause", "DeleteStmt",
2225   "using_clause", "LockStmt", "opt_lock", "lock_type", "opt_nowait",
2226   "opt_nowait_or_skip", "UpdateStmt", "set_clause_list", "set_clause",
2227   "set_target", "set_target_list", "DeclareCursorStmt", "cursor_name",
2228   "cursor_options", "opt_hold", "SelectStmt", "select_with_parens",
2229   "select_no_parens", "select_clause", "simple_select", "with_clause",
2230   "cte_list", "common_table_expr", "opt_materialized", "opt_with_clause",
2231   "into_clause", "OptTempTableName", "opt_table", "all_or_distinct",
2232   "distinct_clause", "opt_all_clause", "opt_sort_clause", "sort_clause",
2233   "sortby_list", "sortby", "select_limit", "opt_select_limit",
2234   "limit_clause", "offset_clause", "select_limit_value",
2235   "select_offset_value", "select_fetch_first_value", "I_or_F_const",
2236   "row_or_rows", "first_or_next", "group_clause", "group_by_list",
2237   "group_by_item", "empty_grouping_set", "rollup_clause", "cube_clause",
2238   "grouping_sets_clause", "having_clause", "for_locking_clause",
2239   "opt_for_locking_clause", "for_locking_items", "for_locking_item",
2240   "for_locking_strength", "locked_rels_list", "values_clause",
2241   "from_clause", "from_list", "table_ref", "joined_table", "alias_clause",
2242   "opt_alias_clause", "func_alias_clause", "join_type", "join_outer",
2243   "join_qual", "relation_expr", "relation_expr_list",
2244   "relation_expr_opt_alias", "tablesample_clause", "opt_repeatable_clause",
2245   "func_table", "rowsfrom_item", "rowsfrom_list", "opt_col_def_list",
2246   "opt_ordinality", "where_clause", "where_or_current_clause",
2247   "OptTableFuncElementList", "TableFuncElementList", "TableFuncElement",
2248   "xmltable", "xmltable_column_list", "xmltable_column_el",
2249   "xmltable_column_option_list", "xmltable_column_option_el",
2250   "xml_namespace_list", "xml_namespace_el", "Typename", "opt_array_bounds",
2251   "SimpleTypename", "ConstTypename", "GenericType", "opt_type_modifiers",
2252   "Numeric", "opt_float", "Bit", "ConstBit", "BitWithLength",
2253   "BitWithoutLength", "Character", "ConstCharacter", "CharacterWithLength",
2254   "CharacterWithoutLength", "character", "opt_varying", "ConstDatetime",
2255   "ConstInterval", "opt_timezone", "opt_interval", "interval_second",
2256   "a_expr", "b_expr", "c_expr", "func_application", "func_expr",
2257   "func_expr_windowless", "func_expr_common_subexpr", "xml_root_version",
2258   "opt_xml_root_standalone", "xml_attributes", "xml_attribute_list",
2259   "xml_attribute_el", "document_or_content", "xml_whitespace_option",
2260   "xmlexists_argument", "xml_passing_mech", "within_group_clause",
2261   "filter_clause", "window_clause", "window_definition_list",
2262   "window_definition", "over_clause", "window_specification",
2263   "opt_existing_window_name", "opt_partition_clause", "opt_frame_clause",
2264   "frame_extent", "frame_bound", "opt_window_exclusion_clause", "row",
2265   "explicit_row", "implicit_row", "sub_type", "all_Op", "MathOp",
2266   "qual_Op", "qual_all_Op", "subquery_Op", "expr_list", "func_arg_list",
2267   "func_arg_expr", "type_list", "array_expr", "array_expr_list",
2268   "extract_list", "extract_arg", "unicode_normal_form", "overlay_list",
2269   "overlay_placing", "position_list", "substr_list", "substr_from",
2270   "substr_for", "trim_list", "in_expr", "case_expr", "when_clause_list",
2271   "when_clause", "case_default", "case_arg", "columnref", "indirection_el",
2272   "opt_slice_bound", "indirection", "opt_indirection", "opt_asymmetric",
2273   "opt_target_list", "target_list", "target_el", "qualified_name_list",
2274   "qualified_name", "name_list", "name", "database_name", "access_method",
2275   "attr_name", "index_name", "file_name", "func_name", "AexprConst",
2276   "Iconst", "Sconst", "SignedIconst", "RoleId", "RoleSpec", "role_list",
2277   "ColId", "type_function_name", "NonReservedWord", "ColLabel",
2278   "unreserved_keyword", "col_name_keyword", "type_func_name_keyword",
2279   "reserved_keyword", YY_NULLPTR
2280 };
2281 #endif
2282 
2283 # ifdef YYPRINT
2284 /* YYTOKNUM[NUM] -- (External) token number corresponding to the
2285    (internal) symbol number NUM (which must be that of a token).  */
2286 static const yytype_uint16 yytoknum[] =
2287 {
2288        0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
2289      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
2290      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
2291      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
2292      295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
2293      305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
2294      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
2295      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
2296      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
2297      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
2298      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
2299      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
2300      375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
2301      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
2302      395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
2303      405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
2304      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
2305      425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
2306      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
2307      445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
2308      455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
2309      465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
2310      475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
2311      485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
2312      495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
2313      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
2314      515,   516,   517,   518,   519,   520,   521,   522,   523,   524,
2315      525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
2316      535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
2317      545,   546,   547,   548,   549,   550,   551,   552,   553,   554,
2318      555,   556,   557,   558,   559,   560,   561,   562,   563,   564,
2319      565,   566,   567,   568,   569,   570,   571,   572,   573,   574,
2320      575,   576,   577,   578,   579,   580,   581,   582,   583,   584,
2321      585,   586,   587,   588,   589,   590,   591,   592,   593,   594,
2322      595,   596,   597,   598,   599,   600,   601,   602,   603,   604,
2323      605,   606,   607,   608,   609,   610,   611,   612,   613,   614,
2324      615,   616,   617,   618,   619,   620,   621,   622,   623,   624,
2325      625,   626,   627,   628,   629,   630,   631,   632,   633,   634,
2326      635,   636,   637,   638,   639,   640,   641,   642,   643,   644,
2327      645,   646,   647,   648,   649,   650,   651,   652,   653,   654,
2328      655,   656,   657,   658,   659,   660,   661,   662,   663,   664,
2329      665,   666,   667,   668,   669,   670,   671,   672,   673,   674,
2330      675,   676,   677,   678,   679,   680,   681,   682,   683,   684,
2331      685,   686,   687,   688,   689,   690,   691,   692,   693,   694,
2332      695,   696,   697,   698,   699,   700,   701,   702,   703,   704,
2333      705,   706,   707,   708,   709,   710,   711,   712,   713,   714,
2334      715,   716,   717,   718,   719,   720,   721,   722,   723,   724,
2335      725,   726,   727,   728,    60,    62,    61,   729,    43,    45,
2336       42,    47,    37,    94,   730,    91,    93,    40,    41,    46,
2337       59,    44,    58
2338 };
2339 # endif
2340 
2341 #define YYPACT_NINF -4929
2342 
2343 #define yypact_value_is_default(Yystate) \
2344   (!!((Yystate) == (-4929)))
2345 
2346 #define YYTABLE_NINF -2671
2347 
2348 #define yytable_value_is_error(Yytable_value) \
2349   (!!((Yytable_value) == (-2671)))
2350 
2351   /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
2352      STATE-NUM.  */
2353 static const int yypact[] =
2354 {
2355     8129,  1224, 17004, -4929, -4929,  1224, 62730, -4929, 70686,   536,
2356      717,  1211,   175, 16290, 71154, 79110,   622,   352,  8615,  1224,
2357    79110,  1407, 53837, 67878,   841, 79110,  1016,   806, 53837, 79110,
2358     1810, 79578,   989,  1193,   745, 80046, 71622, 66474,  1212, 79110,
2359     1410,   395, 80514, 72090,  1063, 72558,   806, 50103,   168,  1161,
2360    80982, 79110,  2141,  1747,  1316, -4929, -4929, -4929, -4929, -4929,
2361    -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929,
2362    -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929,
2363    -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929,
2364    -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929,
2365    -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929,
2366    -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929,
2367    -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929,
2368    -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929,
2369    -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929,
2370    -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929,
2371    -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929,
2372    -4929,    23, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929,
2373    -4929, -4929,  2032, -4929,  1001,  2131,  1362,   829,  1433, -4929,
2374    -4929,  1819, 62730, 79110, 79110, 79110,  1562, 79110,  1531, 79110,
2375      238, 62730, 58518, 73026,  1684,  1559, 46323, 81450, -4929, 62730,
2376    79110, 56646, 62730, 79110, 79110, 81918, 79110, 82386, 79110,  1417,
2377    69282, 79110,  1620, 79110, 79110, 57114, 82854,  1825,  1495,   230,
2378    -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929,
2379    -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929,
2380    -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929,
2381    -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929,
2382    -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929,
2383    -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929,
2384    -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929,
2385    -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929,
2386    -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929,
2387    -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929,
2388    -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929,
2389    -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929,
2390    -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929,
2391    -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929,
2392    -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929,
2393    -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929,
2394    -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929,
2395    -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929,
2396    -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929,
2397    -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929,
2398    -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929,
2399    -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929,
2400    -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929,
2401    -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929,
2402    -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929,
2403    -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929,
2404    -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929,
2405    -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929,
2406    -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929,
2407    -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929,
2408    -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929,
2409    -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929,
2410    -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929,
2411    -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929,
2412    -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929,
2413    -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929,
2414    -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929,
2415    -4929, -4929, -4929, -4929,  1563,  1668, -4929,   251, -4929, -4929,
2416    -4929, -4929, -4929, -4929, -4929, -4929, -4929, 79110, 16888,  1016,
2417     1819, -4929,  2141, 79110,  1832, 79110,  1598, 83322,  1714, 79110,
2418    -4929, 79110,  1734, 83790,   803,  1635, 58518,  1721, 46797,  1831,
2419    79110, 79110, 58518, 84258, 84726, 85194, 79110, 79110, -4929, -4929,
2420     1817, 79110, 79110, -4929,  1939, 58986,  1501,  1950,  2148,  2055,
2421      812, -4929, 73494, -4929, -4929, -4929, -4929, -4929, -4929, -4929,
2422    -4929, 61794,   352, -4929, -4929,  2015, 63198,  2085, -4929, -4929,
2423    85662,102440,  1871, -4929,   823, 63666, 59454,  2238,  1861, 47271,
2424     2274, -4929, 64134, -4929, 59922, 64602, -4929, -4929, -4929, -4929,
2425    -4929, 86130, -4929, 86598,  1984,  2085, -4929,102894, 60390, -4929,
2426     2133, 87066, 87534, 88002,  1819,  1896,  1243,  2012, 42089, -4929,
2427    -4929, -4929,   536, -4929, -4929, -4929, -4929, -4929, -4929, -4929,
2428    -4929,   266,  1759,   258,   224,   261, -4929, -4929,   225,   229,
2429      235,   266,  2387,  2387, -4929, 79110, -4929, -4929,  1759,   724,
2430     1918,  1918,  1918,  2138,    40, -4929,  1918,  2056, -4929, -4929,
2431    -4929, -4929, 72558, -4929,  1952, 73962, 79110, 74430,  1016,  1978,
2432     2371,  2040, -4929, -4929, -4929, -4929, -4929,  2034,  2410,  2410,
2433    79110, -4929, -4929,  2408,  2027,  2296,  2026, -4929, -4929, -4929,
2434     2248,  2298,  2266,   129,  1016,   220, -4929,  2405, -4929,  2310,
2435    28775, 28775,  1016, 74898, 88470,   222, 61794,  1016, 75366,  2122,
2436      226,  2329, -4929, -4929, -4929,   848, -4929,  2572,  2155,  2415,
2437     2026,  1495, 43493, -4929,  2159,  1668, 72558, -4929, -4929, -4929,
2438    60858,  2482, 30695, 79110,  2162, -4929,  2194,  2162,  2182,  2243,
2439     1362, -4929,  8129, 60858, 79110,  1364,  1364,  2671,  1364,  1592,
2440     2050, -4929,  2153, -4929,  2583,  2528, 72558,  2258,  1022, -4929,
2441     1637,  2280,  1767,  2282,  1744,  2319, -4929, -4929,   244, 79110,
2442      418,  2307, 75834,  7313,  2291,  1668,  2312, -4929, -4929, -4929,
2443     2467,  1512, -4929, -4929, -4929, -4929,  2614,  2657,  6933,   276,
2444    76302, -4929, -4929, -4929, -4929, 79110, 79110, -4929, -4929, -4929,
2445    -4929, -4929, -4929, -4929, -4929, -4929,  2351,  1314, -4929, -4929,
2446     2355,  2691,  2568,  8574,   978,  2658,  2523,  1477, 10283,  2586,
2447     1456,  2714, 11061,  1255,  2725,  1804,  1340, 73962, 79110,  2682,
2448     2731,  4596,  1488,   792,  2607,  1112,  2658,  2732,  2562,  1477,
2449     2766,  5615, 79110, -4929,  2694,  2810,   794, -4929,   330, -4929,
2450    23540, 30695, 49635, -4929,  1668,  2499,  2654,   873,  2696, 62730,
2451     2466, -4929, -4929, 79110, -4929, -4929,103348,  2553, -4929,   852,
2452    62730, -4929,  2679,  2526, 47745, 79110, 62730, -4929, -4929, 62730,
2453    79110, -4929, -4929, -4929, -4929, -4929, -4929, -4929,  2621,  2827,
2454    79110,103348, -4929,  2779, 79110, 79110, -4929, -4929,  2517, -4929,
2455    -4929, -4929, -4929,  1918, 79110,  2948,103348,  2754,   155, 79110,
2456       17,  2981, 79110,  2769,    17,  2587, 88938, -4929, -4929,    17,
2457    -4929, -4929, -4929, 79110, 79110,  2550,  1391,  2765,  2891,    17,
2458     2791,  3013,  3023,  2813,  2663,  2819,  2194,  3005,  2800,   874,
2459      908,   203,  1808,    17,  2656, 89406, 89874, 79110,  2659, 79110,
2460     2410, 62730, 62730, 62730, 79110,  2943, -4929,  2793, -4929, -4929,
2461     1448, -4929, -4929, -4929, -4929, -4929,  2957, -4929,   172,  2960,
2462     2623,  2963,  1607, -4929, -4929,  2676, -4929,  2676,  2676,  2630,
2463     2630,  2811,  2633,  2985, -4929, -4929, -4929,  2309,  2676,  2630,
2464    -4929,104256, -4929,   555,  1755, -4929,   243, -4929,  3098, -4929,
2465    -4929, -4929, -4929, -4929, -4929, -4929, -4929,  2651, -4929,  1059,
2466     1740, -4929, -4929,  2686, -4929,  2988,   291, -4929,  2993, -4929,
2467     2653, 90342, -4929, 90810, 91278,  2997,   314, -4929, 58518,  2998,
2468      291,  2999,  2653,  3002,   291,  3004,   855,  3007, -4929,   942,
2469     2992,  3009,   243,  3011,  1874,  2653, 62262,  3012,   319, -4929,
2470     3014,   391, -4929,  3015,  2886, -4929, 30695, -4929,  2770, -4929,
2471     1161, -4929,   -10, -4929, 52899, -4929,  2012,  1759, -4929, 79110,
2472     1759, 79110,  1759, 79110,  1759, 79110,  1759, 79110, 79110, 79110,
2473     1759, -4929, -4929, -4929, 79110,  2680, 79110, 79110, -4929, -4929,
2474    -4929, 68346, 58518, 68814, -4929, 79110, -4929,   416,  1016, -4929,
2475    -4929, -4929,  1384, -4929,  2026, -4929,103348,  3129, 58518,  2410,
2476    -4929,  1623, -4929, -4929, 79110, 79110, -4929, -4929, -4929,  2944,
2477    79110,  3008,  3010, 68346, 58518, -4929, 91746, -4929, 61794,  2895,
2478     2685, -4929, -4929, -4929, -4929, -4929,  1806,  3169,   217,  3171,
2479    30695,  2692,   217,   217,  2693,  3017, -4929, -4929, -4929,   259,
2480     2697,  2700, -4929,   231,   231, -4929,  2701,  2703, -4929,   241,
2481     2705,  2707,  3175,  3177,   254,  2708,  2709,  2710,  2309,   217,
2482     2711, 30695, -4929,  2712,   231,  2715,  2718,  2719,  3195,  2720,
2483    -4929,  3202,  2723,   320,   326,  2726,  2727, -4929,  2701, -4929,
2484      265,  2729,  2733,  2734,  2736,  2739,  2741,  2743,  2744, 30695,
2485    30695, 30695, -4929, 27330,  1668,  1016, -4929, -4929, -4929, -4929,
2486    -4929, -4929, -4929, -4929,   270,  4694, -4929,  2761, -4929, -4929,
2487     2929, -4929, -4929, 30695, -4929, -4929,   123, -4929,   277, -4929,
2488    -4929, -4929,  1668,  3022,  2746, -4929, -4929,   328,  2748, -4929,
2489     1826, -4929, -4929, -4929, -4929, -4929, -4929, 61326,  3197, -4929,
2490      349,  1016,   330,  1510,  3138, 51961, 52430, -4929, -4929,  3016,
2491    -4929, 79110, -4929, -4929,  1668,   149,  1788, -4929, -4929, 52899,
2492    -4929, -4929,   536, 15719,  1845,  2162, 79110, 79110,  3201, -4929,
2493    -4929, -4929,  1876, -4929,  2752, -4929,  2194, -4929, -4929,  1362,
2494     1362, 30695,  1362,   271,  1051, 29255, 31175,  3085,  2973,  1487,
2495     1378,  3088, -4929,  2977,  1592,  2050, 72558, 79110, 92214,  2885,
2496    30695, -4929,  3188,  2847,  2849,  2904, 51039, -4929,  2851,  2818,
2497     2854,  2911, 54774,  2777,  2863,  2864,  2919, -4929,  3046, -4929,
2498    -4929,  2868,  2939,  2874, 92682, -4929, -4929,  1159, -4929, -4929,
2499    -4929,  1159, -4929,  2803,  1491,  1080,   977,  2875,   252,   862,
2500     3205, -4929,  1381, -4929, -4929,  2934, -4929,  6513, 79110,  3140,
2501     7782,  3019,   276,  2937, -4929, -4929, -4929,  3077,  2898, 79110,
2502     2899,  3039,   276,   323, 93150, -4929, -4929, 79110, -4929, -4929,
2503    -4929, -4929,  4994,  3186, 26422, -4929,  1914,  2902,  2881,  2914,
2504    79110, 65538,   398,  3018,  3035,  1533,  2033,   840,  2965, 79110,
2505      304,  3042, 79110,  2831,  2910,  2913,  3139,  2836,  1439,  3238,
2506     2834, -4929, -4929, -4929,  3207, -4929,   471,  1222,  3033, -4929,
2507     3141,  3184,  8318,  2906,  2915,101078, -4929,  2926,    54, 48219,
2508    79110, 79110,  2941,  2947, 93618,  4994,  3225,  2949,  2955,  2951,
2509     2952,    43,  3247,  1503,  2959, -4929, -4929, -4929,  1503,  2961,
2510     2964, 94086,  4994,  3234, 79110,  2971,  2972, 79110,104256,   276,
2511    -4929,  3307,   276,   276,  1877,  3309,  2974,   346,  3119,  2163,
2512       17,  2834,  3222, -4929,  2976,  2978,   335, -4929,  3106, 79110,
2513     2984,  2986,  1599,  1016, -4929, -4929,  2987,  3052,  2989,   924,
2514    -4929, -4929,  2994, 72558,  3097,  3099,   304,   253,  2197,  2834,
2515    -4929,  2991,  3003,  2836,  2836, 79110, 79110, 79110, 79110, 79110,
2516      355,  3355,  3361,  3006,   364,   725,  2918, -4929,  1503, 57582,
2517     3020, -4929,  1503, 79110,   429,  2203,  2834,  1621,  1840, -4929,
2518    -4929, -4929,  1495, -4929, 30695, 30695, 30695,  2923, -4929,  2423,
2519    15719,   101, -4929,   292,  6667,  2920, -4929, -4929, -4929, -4929,
2520    -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929,
2521    -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929,
2522    -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929,
2523    -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929,
2524    -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929,
2525    -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929,
2526    -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929,
2527    -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929,
2528    -4929, -4929, 79110, -4929, 79110, -4929,  3194,103348,  3136,  3204,
2529    -4929,  2966, -4929,  3209,   276, -4929, 79110, 79110,  3210,  3145,
2530     3214,  3219,  3154,  1179,103348,  3156,  3223, -4929,  3224,  3227,
2531     3030,   181,  3024,  2953,  3406,  3296, 79110, 54774, -4929,  3420,
2532     1159, -4929,103348,  3170,  3299, -4929, 79110,  3187,    78, -4929,
2533     3335,  3021, -4929, -4929,   103, 79110,   214,  3001, -4929, -4929,
2534     3310, 58518,   356,  3312,  1016,  3025,  3313,  3179,  1016, 58518,
2535     3221, 79110, 79110, 79110, 79110, -4929, -4929,  3189,   808,   280,
2536    -4929, 57582,  3206, -4929, 79110,  3208,  3222,  3211,  3427,    86,
2537     1918, 94554,  3304, 95022,  2983,  2990,  2990,  3431,103348,  3255,
2538    -4929,  1894, -4929,  3121, -4929, 62730, -4929, -4929, 62730, -4929,
2539    -4929,103348, 79110,  2995, -4929,  2996, -4929, -4929, 30695, -4929,
2540    -4929, -4929,  2387, -4929,103348,  2676,  2676, -4929, -4929,  3442,
2541     3074,  3080,  2387, -4929,  2387, -4929,103348, -4929,  3032,  3036,
2542     2387,  3073,  3079,  3081, -4929,  3000,  3087,  2387, -4929, -4929,
2543     2073, -4929, -4929, 62730, 62730, -4929, 58518, 58518,  3347,   319,
2544     3348,  3069,  3350,  3071, 48219, 48219, -4929,   442, 62730, -4929,
2545    58518, 62730, -4929, 79110, -4929, 79110, -4929, -4929, -4929, -4929,
2546   103348,103348, -4929, 58518, 57582,  3356,  3357,   855, 79110, 79110,
2547    -4929, 79110, 79110, -4929, 79110, 79110,  1899, 95490,  2012, 60858,
2548    -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, 79110, -4929,
2549    79110, -4929, 79110, -4929, 79110, -4929, 79110, -4929, -4929, -4929,
2550    79110, -4929, 79110,  1905, -4929, -4929,  1923,  1522, 79110, 79110,
2551      843, 62730, 79110,  3231, 62730, 62730, 79110, 79110, 79110, 79110,
2552    79110,  3100,  2748,  1385, -4929,   290,   810, 72558,  3242, -4929,
2553    -4929,  1960,  2141,  1025, 79110,  1095,  2034, -4929, -4929, -4929,
2554    -4929, 68814, 67878,  3352,   144, 79110, -4929, -4929,  6739, 30695,
2555     1668, 28290, -4929, -4929, 15719,  3076, 30695, 30695,  3026,  2387,
2556     2387, -4929,   959, 30695, 30695, 30695,  2387,  2387, 30695, 10215,
2557    30695, 48219, 30695, 35975, 24512, 30695, 30695, 27810, -4929, 30695,
2558     3272, 37409, 30695,  1510,  3275, 30695,  1510, 10215,  3515,  3515,
2559     2189,  7151,  3038,  1668, -4929,  2387,  1014, -4929,   299,103348,
2560    30695, 30695, 30695, 30695, 54774,  3135,   281, 79110, 30695,  3054,
2561     2830, -4929, 30695, -4929,  3055, 30695,  3147,   920, 30695, 30695,
2562    30695, 30695, 30695, 30695, 30695, 30695, 30695, -4929, 38813,   337,
2563     3370,  3390,    55,   574, 76770, 28775,  3382, 23540, -4929,   242,
2564     3382, -4929, -4929, -4929, 79110,  3197, -4929, -4929,  3149, -4929,
2565    -4929, -4929, -4929, -4929,   293, -4929, -4929, -4929, -4929, -4929,
2566    -4929, -4929,  3065, -4929, -4929, -4929, -4929,  3065, -4929,  3082,
2567     3381,  3384,   855, 79110, 60858, -4929, -4929, -4929,  2470, -4929,
2568    30695, -4929,  1966,  1891, 79110, 79110, -4929,  3360, -4929,  3084,
2569    -4929, 12460,  3360, -4929, -4929, 36452,  3196,  3362,  3294, -4929,
2570    -4929, -4929,  3086, 15719, 31655, 31655, -4929,  2110, 15719,  2223,
2571    -4929, -4929, -4929, -4929, -4929, -4929,  1302, -4929, 79110,   167,
2572     3085,  1378,  3148,   944,  3539, 79110, -4929, 43961,  1970, -4929,
2573    58518, 79110, 79110,  3293, -4929,  3526, -4929,104256, -4929,  3095,
2574    -4929,103802, 99702, -4929, -4929,    95, -4929,   799, 58518, -4929,
2575    79110, 79110, -4929, 54774, 58518, 79110, 79110, -4929, 58518, 79110,
2576    79110, -4929, -4929, -4929, -4929, -4929, 53368,  1061, 67878,  3239,
2577    66942, -4929, -4929,  3109, 79110,  3153,  3371,  3377,    26, -4929,
2578    -4929, 95958, -4929,  3332, 58518, 79110, 79110, 30695,  3336, 79110,
2579    79110, -4929,   565,  3198,  3199, -4929, 79110,  3200,  3374, 62730,
2580     3116, 79110, 79110,103348,  3213,   853, 62730,  3190, 48693, 62730,
2581    62730, 79110, 79110, 79110, 79110,  3256,  3452,103348, 79110,  3400,
2582     1162, 72558,   445,  2350,  2834,  3363, -4929,  1292, -4929, 58518,
2583    -4929, 79110,  3354, -4929, -4929, -4929, 77238,  3589,  3260, -4929,
2584    -4929, -4929, 96426, -4929, -4929,  3358, -4929,  1989, -4929, 58518,
2585    58518, 79110,  8818, 96894,   598,  3375, -4929, -4929,103348, -4929,
2586    79110, 77706, 79110, 79110,  3411, 79110, 69750, 97362, 97830,   636,
2587     1539,  3414, 79110, 70218,  3415, -4929,  3295, 79110, -4929, -4929,
2588    55242, 58518, 79110,   216, 54774, -4929, -4929, 79110, -4929,   321,
2589    -4929, 79110,  3067,  3364, -4929, -4929,  3236,  3248, 79110,   450,
2590     2381,  2834,  3523, 79110, 79110,  3159,  1993, 58518, 79110, 54774,
2591    -4929,  3369,  1122, 58518, 79110, 77238, -4929,  3379, 72558, 72558,
2592    58518, 79110, 72558, -4929, 79110, 88470, -4929, 58518,   926, -4929,
2593    58518, 79110, 77238, -4929,  3383,  3320, 58518, 79110, 13753, -4929,
2594    -4929, -4929,   276, -4929, -4929, -4929, -4929, -4929, 79110, 79110,
2595      276, 79110, 79110,   276,  1261, -4929, 58518, 79110, -4929, -4929,
2596    -4929,  3289, 58518, 79110, 79110,   266, -4929, 58518,  3001, 79110,
2597    54774, -4929, 79110,  5911, 79110, 79110, 79110, 79110, 79110, 79110,
2598    58518, 79110, -4929, -4929,  1253,  1200,  1602,  1609,  1419, 79110,
2599     3475, 79110, 98298, 58518, 79110, 79110,  1016, 79110, 54774,  1601,
2600    -4929, -4929,  3297, -4929, 58518,   926, -4929,  8939, 79110, 79110,
2601    79110,  3257,  3258,   247,  3341, -4929, -4929, -4929,   644,   644,
2602     3385, -4929, 30695, 30695, 29735,  3183, -4929, -4929, 30695, -4929,
2603    -4929, -4929,   340,  3626, 98766,   340, -4929,   340,  3455,  3241,
2604     3243,   340, 79110,   340,   340, 79110, -4929, -4929, -4929, -4929,
2605     3457, 79110,   340,   340,   340,  3359, -4929, -4929,  3359,   721,
2606    30695,103348, 79110, -4929,  1999, -4929,  3203,   808, -4929, -4929,
2607    54774, 79110,   260,   872,  3529,  3405, 66006,  2578,  3519, 79110,
2608     3240, 79110,  3644,  3286, 72558,  2550, -4929,  2578, 79110, -4929,
2609     2106, 67878, -4929, -4929, -4929, -4929, -4929, -4929, -4929, 79110,
2610    -4929, -4929,  3528, 79110, 30695,  3376, -4929,  1016,  2550,  2550,
2611     2550,  2550, -4929, -4929, -4929, -4929,  3416,  1988, -4929,  3212,
2612     2550, 79110,  3330,  3548,  2578,  3215,  3550, -4929,  3222,  3552,
2613     1251, 79110,  3424, 66006,  3270,  3253,  3441,  3668,  1918,  1016,
2614     3443,  3433, -4929, 51500, -4929,  2550, 26876,  6577,  7426,  3434,
2615     3495, 61794,  3533,  3534,  3556, -4929,   172, -4929,  3681,  1607,
2616     3557, 30695,  2000,  3232,   243, -4929, -4929,  3237,  3036,  3251,
2617     3259,  3235,  3245, -4929,  2387,   211,  3249,  1373,   178,  3368,
2618     2387,  3480,  3250, -4929,   291, -4929,  2653, -4929, 79110, -4929,
2619    79110, 79110, 79110, 79110,   314, -4929, -4929,   291,  2653,   291,
2620      855, -4929,  3509,   243,  2653,  3365,  3570, 61794, -4929,   319,
2621    -4929,   391, -4929,  3462,   855, -4929,  3472,  1918, -4929, -4929,
2622    -4929, -4929, -4929, -4929, -4929, -4929,  2021, -4929, 79110, -4929,
2623     3551,  3553,  3558,  3559,  3560,  3262,  3264,  3288, 79110,  3265,
2624     3262,   276,  3265,  3265,  3262,  2748,  2748,  3262,  3264, 58050,
2625     3721,  3574, -4929,  3351,  3274,  3591,   198, -4929,   210,    88,
2626     3514, -4929, -4929, -4929, -4929,103348, -4929, 58518,  3314,  2410,
2627     2410, -4929,   174,  3484,  3276, 58050,  3708,   855, -4929, 62730,
2628    -4929, -4929,103348,  3366,  3378, 62730,  3494,  3326, 62730, -4929,
2629    -4929, 62730, -4929, -4929, -4929, -4929, -4929,103348, -4929,  3554,
2630    79110, 79110,  2023, -4929, -4929,  1551, -4929,  1789, 30695,   446,
2631    -4929, 13828,  2031, 30695,  3282,  3283, -4929, -4929, -4929, -4929,
2632    -4929, -4929, -4929,  3287,  3608, -4929,  2036,  2043,  2051,  3291,
2633     3292,  4831,  5540,  3298, 13910,  3300,  3290, 35975, 35975, 27330,
2634     1089, -4929, 35975,  3301,  3491,  2061, 12440,  3302,  3303, 14217,
2635    30215, 30695, 30215, 30215, 14139,  3302,  3306,  2067, 54774,  3485,
2636    14589,  2092, -4929, 30695, 54774,  5716, 30695, -4929, 30695,  3308,
2637    -4929, -4929,  6216,  6216,  6216, 10215, -4929,  3315, -4929, 35975,
2638    35975, -4929,  2894, 27330, -4929, -4929,  3617, -4929, -4929, -4929,
2639    -4929, -4929, -4929, -4929,  3028, -4929,  3305, -4929, -4929,  3525,
2640     3575, 48219,  7541, 30695,   302, 30695,  3054, 30695,  3392,  6216,
2641     6216,  6216,   307,   307,   249,   249,   249,  1898,   574, -4929,
2642    -4929, -4929,  3316,  3321,  3322,  3501,  3323, 30695, -4929,  2185,
2643     2232, 79110,  2940,  3061,  3639, -4929, -4929, -4929, 39749,  3373,
2644      101,  3373, -4929,  1495,  2387,  1014, 52899, -4929, -4929, -4929,
2645    -4929, -4929, -4929, -4929, 79110, 15719, -4929, -4929,  3561,  3325,
2646    -4929, -4929, 30695, -4929, -4929,  1102,  3343,    87,   946,  1802,
2647     1802,  2110,  1064, -4929, -4929,  3393, -4929, 30695,  2315, -4929,
2648     2337, -4929, -4929, -4929, -4929,  2748, -4929,  3577, -4929, -4929,
2649    -4929, 39749,  3380,  3386,    67, 43025,  3543, -4929, 79110, -4929,
2650    79110,   379, -4929,  3349, -4929, -4929, -4929, -4929, -4929, -4929,
2651    99702,  1740, -4929,103802, -4929,103802, -4929,  1740,  3742, -4929,
2652    99702,  1828, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929,
2653    -4929, -4929, -4929, -4929, -4929, 58518, 58518,  3546, 79110,  3545,
2654     3555, 30695,  1136, 79110,  3344,  3345,  1107,  3634, 79110, -4929,
2655     3682,   855, -4929, -4929,  3428, -4929, 15719, -4929, -4929, -4929,
2656    -4929, -4929, 58518, 79110, -4929, 61794, -4929, 79110, -4929,103348,
2657    -4929, -4929, -4929, 79110,  3387, 79110, -4929, 79110, 79110, 79110,
2658    -4929, -4929, -4929, -4929, -4929, -4929, -4929,  1190,103348, -4929,
2659    -4929, 79110, 79110,   159,  3429,  3430, 79110, -4929,   800,  3106,
2660     9286, 79110, 79110, 79110,  3636, -4929, -4929, -4929, -4929,  3572,
2661    -4929,  3692, -4929, 99702, -4929,  2653,   668,  3437,  2834,  3582,
2662    -4929,  3700,  3567, -4929,  3486,  1113, -4929, -4929,  3492, -4929,
2663    -4929, -4929, -4929,  3705,   855,  3706,   855, 79110, 79110, 79110,
2664    79110,  3502, -4929, -4929, -4929, -4929,  3503,  3633, -4929, 54774,
2665    54774, 54774,  2116, -4929, -4929,  1016, -4929, -4929, -4929, -4929,
2666    -4929, -4929,  3669, -4929,  2118, -4929,    -4, -4929, -4929, -4929,
2667    -4929, -4929,  3711, 58518, 79110,  9597, 79110, 79110, 79110,  3586,
2668     1818, -4929,  1175,103348, -4929,101532, -4929, -4929,  2120, -4929,
2669     3389, 79110,  3459, 58518,  3438, -4929, -4929, -4929,  3717,  3388,
2670     3388, -4929, -4929,  3388, -4929, -4929, -4929,  3642,  3571, -4929,
2671      903,  3573, 58518,  3444, -4929, -4929, -4929, -4929,  3723,  3468,
2672    -4929, -4929,  3469,  2389,  2834,  3222, -4929, -4929, -4929, -4929,
2673    -4929, -4929, -4929, -4929, -4929,  3496, -4929, -4929, -4929, -4929,
2674    -4929, -4929, -4929,  1395, -4929, -4929,  1083,   433,  2438,  2834,
2675    -4929,   345, -4929,  3470, -4929,  3473, -4929, -4929, -4929,  3646,
2676     3647,  3652,  3487,  3493,  3538,  3497,  3505,  3540, -4929,  3506,
2677     3565,  3512,  3568,  3517,  3760,   855,103348,  3629,  1016,  3532,
2678     3761,   855, -4929,  3518, -4929,  3520, -4929,  2150,  3864, -4929,
2679    79110, -4929,   457,  2472,  2834, -4929,  3521, -4929, 58518, 79110,
2680    -4929, -4929, -4929, 30695,  3446,  3447,  3448, 15719, 15719, 30695,
2681    -4929, -4929, 15719,  3436, -4929, -4929, -4929,103348, 79110,  3718,
2682    -4929, -4929,   340, 79110, 79110, -4929,  3720, -4929, -4929,  3725,
2683    79110,  3726, -4929, -4929, -4929, -4929,   485,   485, -4929, -4929,
2684     3751,  7457,  3451,   296, -4929, 54774, 45368,  2030,  3075,   460,
2685       17, -4929, 61794, 79110, 61794, -4929,   872,  3567, 79110, 79110,
2686    79110,  3454,  3449, -4929, -4929, -4929, -4929, 58518,  1137, 58518,
2687     2387, -4929, -4929,  3527, -4929, 79110,  1918,  3940,  3786, -4929,
2688     3388, -4929,  3903,  3023,   356,  3614,  1680,  2663,  3843,  2194,
2689      396, 54774,  3253, -4929, -4929, -4929, -4929, 79110, 79110,   808,
2690     1016, -4929,  3463,  3461, -4929, 79110,  3792, 79110, 79110, 79110,
2691    79110,  3314,  3471, 79110,  3474,103348, 79110,  2088,  2836,  3919,
2692     3809,  2141,  3270,  3564,  3811, 72558,  3490,  2152, -4929, -4929,
2693    -4929,  2157,   150, -4929,  1016, 61794,100624,  3799, -4929,  7426,
2694    -4929, -4929,  7426,  1015, 79110,  3783, -4929, -4929,  2141, -4929,
2695   103348,  3476, -4929,  2166, -4929,  2188, -4929, -4929, -4929,  2387,
2696    -4929, -4929,  1576,  1576,  3481, -4929,  3489, -4929, -4929, -4929,
2697    -4929, -4929, -4929, -4929,  3488, -4929, -4929, -4929,   319,  3541,
2698      855,  3562,   855, -4929, -4929, -4929, -4929, 79110, -4929, 79110,
2699    57582,   855, -4929, -4929, 79110, -4929,  3829, -4929, -4929,  3627,
2700     3628,  3630,  3631,  3638, 79110,  3262, -4929,  3498, 58518,  1396,
2701    -4929, -4929,  3715, -4929, -4929, 72558,  3635, -4929, -4929, -4929,
2702    -4929,  3846,  3851, -4929, -4929, -4929,   289, -4929, 79110, 79110,
2703    58518, 68346,   490, 58518, -4929,  3787,  3788, -4929, -4929,  3789,
2704      276, -4929,  3790,  3791,  3793, -4929,  3794,  3795, -4929, -4929,
2705    -4929,  3524, 15114, 30695, -4929,  3869,103348, -4929,  8256, -4929,
2706    -4929, -4929, 30695, -4929, -4929, -4929, -4929, -4929, -4929,  2174,
2707    30695, -4929, 30695,  3847, -4929, 24998,  3999,  3999,  3530,103348,
2708    35975, 35975, 35975, 35975,  1538,  2715, 35975, 35975, 35975, 35975,
2709    35975, 35975, 35975, 35975, 35975, 36932,   675, -4929,  3727, 30695,
2710    30695,  3861,  3847, -4929,103348,  3535,  3302,  3536,  3547, 30695,
2711    -4929, -4929,  2200, 37877,  3576, 54774, -4929, 30695, 13206,  2204,
2712     3594, 15244,  1668,  8555,  1016, 30695,  2339,  2649, 30695,  2206,
2713    30695,  3867, -4929, -4929, -4929, -4929,  3578, -4929, -4929,  3775,
2714   103348, -4929, 30695,  3579,  3977, 35975, 35975,  4102, -4929,  4331,
2715    30695, 27330, -4929,  3385,  3592, 44429, -4929, 25484,  3580,   806,
2716      806,   806,   806, -4929, 79110, 79110, 79110, 40217,  3872,  3583,
2717    39281, 78174,  3584,  2010, -4929, 78174, 78642, 78174, -4929,  3569,
2718    -4929,  1668, 30695,  3865,  3581,  3865,   330,  3585, -4929, -4929,
2719    -4929, -4929,  2141, -4929,  3587, -4929,  3343,  1330, -4929, -4929,
2720    -4929,  1082, -4929,  3637, -4929, -4929, -4929,  3584, 32135,  3703,
2721    -4929, -4929, -4929,  3609,  2214, -4929, -4929,  3960,  3703, -4929,
2722    -4929,  2216, 43961,  3380, 30695,  1668,  2222,  1895, -4929, -4929,
2723    99702, -4929,  3632,  2653,  2653,  1520,  3262,  3886,  1520,  8651,
2724    -4929, -4929, 40685, 79110, 79110, -4929, 79110,  2224,  1476, 79110,
2725    -4929, 79110, -4929, -4929, -4929, -4929,  4011, -4929, 79110, -4929,
2726    -4929,  3621,  3645, 79110, 79110, 79110, 79110,  3841, -4929, -4929,
2727     2282, -4929, -4929, 58518, 79110, -4929, -4929, -4929,   474,  2622,
2728     2834, -4929,  3654, -4929, -4929,  3875, 79110, -4929,  4008,  3680,
2729    79110,  3918, 79110,  3593, -4929,  1476,  3697,  3911,  1823,  2836,
2730      346,  5686, -4929,  1354, -4929, -4929,  3665, -4929, 79110, -4929,
2731    79110, -4929, -4929, -4929, -4929, -4929, -4929, -4929,  3732, -4929,
2732    -4929, -4929, -4929, 55242, -4929, -4929, 79110, -4929, 54774, 45368,
2733    54774, 79110, -4929,  1174,   476,  2724,  2834, -4929,  3676, -4929,
2734     3934,  3687,  3688,  3743,   199,   263,  3690,  3691,  3746,  3612,
2735     3613,  3615, -4929, 54774, 45849,  3771, 79110,  2653,  3619,  3657,
2736    79110,   266,  1016, -4929, -4929,  1016,  2653,  1016, 79110, 79110,
2737    79110, 79110,   266, 54774, -4929,  4054,  3712, 79110, 79110, 79110,
2738    79110, -4929,  3674, -4929, 79110, 79110,  3955,   931,  2007, 58518,
2739    79110, 79110, 58518, 79110, 79110, 79110, 79110, 79110, 79110, 79110,
2740     3844, -4929,  4045,  3978,  2139,  4023,  3716, 79110, -4929, 79110,
2741     1016, -4929,  3106, 79110, 79110, 79110, 79110, -4929, -4929, -4929,
2742    -4929, -4929,  3385, -4929,  3648,  3920,   340, -4929,  3925,  3926,
2743      340,   340,  3930,   340, -4929, -4929,    17, -4929,   171, 79110,
2744    -4929,  2171, 79110, -4929, -4929, -4929,  3587,   471,  1222, -4929,
2745    -4929, -4929, -4929, -4929, -4929, 79110,  3656, 79110, 79110, 35975,
2746    -4929,   437,  1260,   286, -4929,  3936, 79110,  3001, -4929, -4929,
2747    -4929,   935, 79110, -4929, -4929, -4929, -4929, -4929,    82,  3471,
2748    -4929,  3959, 66006,  2653, 58518, 58518,  2653, -4929,103348,  3672,
2749     3253, -4929,   256,  3753, 58518,   356,  1360, 99234,  3025,  3709,
2750     3890, 39749,  1395, -4929,  3673,  3842, -4929,  3683,  3686, -4929,
2751    -4929, 79110,  3567, 57582,  2230,  3222,  4135,    89,  1896, -4929,
2752    67410,  3880,  3471,  3959, -4929,  2836,  3897,  3901, -4929,  2141,
2753    79110,  3314,  3253,  1016, 79110,  3153, 45368, -4929,  4177, -4929,
2754    99702, 30695, 30695, -4929,  3693, -4929,  3694,  7426, -4929,  3765,
2755     3695, -4929, -4929, -4929, -4929, -4929,  3776,  3698, 79110, -4929,
2756     3699,  3557, -4929,  3557, -4929,  3702, -4929, -4929, -4929, -4929,
2757    -4929, -4929, 79110, -4929, 79110, -4929,   855, -4929,  3826, -4929,
2758      855, 79110, 79110, 79110, 79110, 79110, 79110,  3262,   276, -4929,
2759     4019, 58050, -4929, -4929,  2255, 79110, -4929, -4929, -4929,  4085,
2760    -4929, -4929,   144,  4027, -4929, -4929,   905,   905,   905,  3983,
2761      905,   905,   905,   905,   905, -4929, 30695, 15719, -4929,  3710,
2762    -4929, 15719,  3713,  9034, 15719,  3861, -4929,  2262, 30695, -4929,
2763     1424,  1424,  1424,  5281,  4030, -4929,   998,  3719,  1424,  1424,
2764     1424,   417,   417,   267,   267,   267,  3999,   675, 15719, 15719,
2765    -4929, -4929,  3714, -4929, -4929, -4929,  3302, -4929, 32615,   658,
2766     4142, 37409, -4929, -4929, -4929,  3752,  3757,  3722, -4929, 30695,
2767    33095,  3724,104256,  3917, -4929,  1773, 30695, 30695,  3549, -4929,
2768    11358, 30695,103348, -4929,  2263,  3549,   468, 30695,  4074,  5137,
2769    30695, 30695,  5201,  9130,  3730, 30695,100156, -4929, -4929, -4929,
2770     2267, 30695, 79110, 79110, 79110, 79110, -4929, -4929, -4929, 78174,
2771    78642, 78174,  3733, 38345, 25953,  2010,  3731, 79110, -4929, -4929,
2772     3734, 39749,  3994,  3923, -4929, 39749,  3923,  1262,  3923,  3997,
2773     3816, 44897, -4929, -4929,  3735, -4929,  3929, -4929,  1914, 15719,
2774     4170,  4048,  1016,  4048,  1016,  3741, 48219, -4929, -4929, -4929,
2775    -4929,  3827, -4929,  3957, 15719, 28775, -4929,  2141,  1435, 79110,
2776     1668,   104, -4929,  3756, 79110, -4929,  3703, 15719, -4929,  3817,
2777     2271, -4929, -4929, -4929, -4929, -4929, -4929, -4929,  3828, 67878,
2778     4067, -4929, 30695,  2272, -4929,  3798,  4162,   156,  2284,  2285,
2779     1476, -4929,  4046, -4929,  1537,  4043,   462, -4929,   855, -4929,
2780   103348, -4929, 79110, 79110, -4929, -4929, -4929, -4929, 79110,  2777,
2781    -4929, -4929, 79110, 79110, 79110, 79110, -4929, -4929, 58518, 79110,
2782    -4929, 79110, -4929, 54774,  3075,   266,   437,  4056,  4057,  3974,
2783    -4929,   276, -4929,   437,  3976,   266, 79110, -4929, -4929,  2664,
2784    -4929,103348,   855,   855, -4929, -4929, -4929, -4929, -4929,  3769,
2785    -4929,  4194,  3852, 79110, 79110, 79110, 79110, 79110, 58518, 79110,
2786    79110,  2387,  2387,103348,  3764, -4929,  2387,  2387,  3767, -4929,
2787    58518, 79110, 79110, -4929, -4929, -4929, -4929, -4929, -4929, -4929,
2788    -4929, -4929, -4929, -4929,  3845, -4929, 30695,  4183, -4929, -4929,
2789    -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929,
2790    58518, 79110,  3849, -4929,  3855, -4929,   781, -4929, -4929, 79110,
2791    79110, 79110, 79110,  4111, -4929, -4929, -4929, -4929, -4929, -4929,
2792    -4929, -4929, -4929, -4929, -4929,  4115, 79110, -4929, -4929,  1016,
2793     1016,103348,   855,   855, -4929, -4929, -4929,  3860, -4929, -4929,
2794     3781,  4058,   340, -4929,   340,   340, -4929, -4929,   340, -4929,
2795     3784, -4929,    17,  4151, -4929,  1476,  1425,  4105, -4929,  4108,
2796    30695, -4929,  1046,  5281, -4929,  4161,  4239, -4929, -4929, -4929,
2797    -4929,  3001,  1918,  3848, -4929, -4929, 62730,  1427, -4929,  4087,
2798      260,  4005, 66006,   345,   324,  3796,  3921, -4929,  2653,  2653,
2799     3854, 79110,  4245, -4929, -4929, -4929, -4929, -4929, -4929, 58518,
2800     3438, -4929,  4025,   811,  4127, 79110, 30695,  3584, -4929,  1777,
2801     4132, -4929,  1016, -4929, -4929,  3931,  3253, -4929,  1460, 79110,
2802     4024, 66006,  3314,  2297, -4929, -4929, -4929,  3850,  4241,  3270,
2803    -4929,   345,  3880, -4929, -4929,  4218,  3904,  3856,  4268, -4929,
2804     3904,  4143,  4033,  3825, -4929,  3490, -4929, -4929, 15719, 15719,
2805     1016,104710,  7426,103348,  4153, 79110,   754,  4116,   855,  2301,
2806    -4929, -4929,   855,   855, -4929, 79110, -4929,  3262,  3262,  3262,
2807     3262,  3262, -4929,  4036, -4929, -4929,  4109, -4929,   855, 58050,
2808    -4929, -4929, -4929, -4929, -4929,   905, -4929, -4929, -4929, -4929,
2809    -4929, 15719, -4929, -4929, -4929, -4929, -4929,  9196, 35975,  4152,
2810    -4929,  3834,103348, -4929,  3835,  2302,  2318, -4929, -4929,   658,
2811    -4929,  4142, -4929, -4929, -4929,  9734,  3889, 15719,  3947,  3839,
2812     3840,  3549,  3549, 11358,  2338, -4929,  3549, 30695, 30695,  3549,
2813     3549, 30695, -4929, -4929, 10036,  4035, -4929, -4929, 10069, -4929,
2814    -4929, -4929, -4929, -4929, -4929, -4929, 55710,  3853,  3485, 78174,
2815     3858, 79110,  2010, 39749, -4929, -4929,  2048, -4929, 39749,  4120,
2816    -4929, 39749, 62730, -4929, 79110,  3859, 79110, -4929, 33575, 30695,
2817     3882, -4929,  3882, -4929, -4929,  3862, -4929, 79110,  2746, -4929,
2818       67, -4929, -4929,  4250, 40685,  4208, 30695, -4929, -4929, -4929,
2819    -4929, 58050,  4060, 58050,  1476, 10116,  4046, 40685, 49167, 79110,
2820    -4929, 79110, -4929,  4012,  4046,  3866,  3001, -4929, -4929, -4929,
2821    -4929, -4929, -4929,  3863, -4929, -4929, -4929, -4929,  3935, -4929,
2822    -4929,   947,  3242, -4929,  2340, -4929, -4929,  4306,  4199,  4201,
2823    -4929, -4929, -4929, -4929, -4929, -4929,  4045, -4929, -4929, 45368,
2824    58518, 79110, -4929,  3945, -4929, -4929, -4929, -4929, -4929, -4929,
2825    42557, 48219, -4929,   199,  3870,  3871,   263, -4929, -4929, -4929,
2826    79110, 10349,  3873,   963,  3242, 79110, 79110,  3874,  3876,  3877,
2827     1797,  1350,  1782,  3262,  4195, 79110, -4929, -4929, -4929,  4045,
2828    -4929, -4929, 79110, -4929,   340, -4929, -4929, -4929, -4929, 54774,
2829    -4929,  2747,  3784,  1016, 62730,  4322,  4322, 79110, -4929, 10455,
2830     4094, -4929, -4929,   135,  3848,  4126,  4172, -4929,  3881, 79110,
2831      935,  3884, 79110,  3879,  4006,   282,   282, 79110, 79110, 79110,
2832     2344,  2141,  2653,  3657,   356,  4224, 66006,  4267,  3567,   400,
2833    -4929, -4929,  1777, -4929,   614,  4242,  3932, -4929, 79110,  4338,
2834    79110,  3314,  3471, 79110,  3891, -4929, -4929, 67410,  4095,  3075,
2835    79110,  2088,  3880,  3270,  1235, 79110, -4929,   332, -4929,  2141,
2836    -4929, 79110, 72558, 40685, -4929,103802, -4929,  2352, -4929, -4929,
2837     3964,  3373,  4007,  4009,  3895, 79110,   886, -4929, -4929, -4929,
2838    -4929, -4929, -4929, 79110, -4929,   490, -4929, -4929,  5358, 35975,
2839   103348,  2362, 30695, -4929, 30695, -4929, -4929, -4929, -4929,   790,
2840    -4929, -4929, -4929,  3549,  3549,  3549, -4929,  4332,  3385, -4929,
2841    -4929,  2367,  4351, 35015,  4312, -4929, 79110,  2378, -4929, 30695,
2842     3905, -4929, -4929, 39749,  2048,  3906,  2386, 79110,  2392,103348,
2843     3907,    49,  3908, 24026,  3899, -4929, -4929, -4929, -4929, -4929,
2844    15719, 15719, 79110, -4929, -4929, -4929, -4929,  3961, 79110,  2398,
2845    -4929,   672, 15719,  1396,  1520,   490,  4162,  3001, -4929,  3909,
2846    -4929, -4929,  2836,   401, 79110,  3001, 79110,  3848, -4929, 79110,
2847     3993, -4929, -4929, 54774,  4215, -4929, -4929,  3968, -4929,  1033,
2848     3242, 79110,103348, -4929,   117,  4240, -4929,103348,103348, -4929,
2849    -4929, -4929, 30695,  4002, -4929, -4929, -4929, 30695, 30695, 65070,
2850    -4929, -4929, 79110, 79110, 79110, 79110, 79110, -4929,   855, -4929,
2851    -4929,  2406, -4929, 41621, -4929, -4929,  2981,  1016,  2981,  1469,
2852    -4929, -4929,  2981,  2981, -4929,  3373, -4929,  4322,   369, -4929,
2853    -4929, -4929,  1974,  4144,  3915, 30695, -4929,  1139,  4129,  4010,
2854     3922, -4929, 62730,  4403,  3471,  3959, 79110, -4929, -4929, -4929,
2855    -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929,  2422,  3567,
2856     4256,  3253,  3856, -4929, 79110,  3958, -4929, 39749, -4929, -4929,
2857    -4929,  2981, -4929,  1482,  3927,  4269,  3567,  2141,  1896, -4929,
2858     3880,  3471,  3959, -4929, -4929,  3928,  3901,  3270,  2088,  4068,
2859    -4929,  4069, -4929,  4349,  4141,  4355,  3314, -4929,  3153,  2427,
2860    -4929,  7426,104710,103348,  4295,  3975,  3979, -4929, -4929,  3992,
2861    79110, -4929, -4929,  3567, -4929,  5358,  2428, -4929,  2440,  2446,
2862     3995, -4929, 30695,   209,  3569, 55710,  3941, -4929, 35975,  2457,
2863    -4929,  5187, 79110,  2458, -4929, 15719, 79110, -4929, -4929, 30695,
2864    -4929,  2459, -4929, 30695,  3943, 30695, -4929, 33575,  3942, -4929,
2865     4395,  2141, -4929,  3373, 40685, -4929,  4071, -4929,  4272, -4929,
2866    -4929,  3848, 48219,   401,  3343,  1918,  3848,  2464, -4929, -4929,
2867    79110, -4929,  3915, 30695, -4929,  4041, -4929, -4929,  2479,  1449,
2868     4110,  4110,  2485,  2490, 10690, 79110,  2498,  2502, -4929,  2507,
2869     2387,  3264,  1782,  3264, -4929,  3262, -4929, -4929, 54774, -4929,
2870    56178, -4929, -4929, -4929,  1016, -4929,  1016,  4173, 79110, 50571,
2871     1016,  1016, -4929, -4929, -4929, -4929,  4308,  4244, -4929,  3222,
2872    -4929, 10992, -4929, -4929, -4929,   389, -4929,  4165,  4166, 79110,
2873    -4929,  3962, -4929,  2513,   345,  4082,  3567, -4929, -4929, 79110,
2874     4409,  4410, -4929,   831, 79110,  3584, 79110, -4929, -4929, -4929,
2875    30695,   935, -4929,  3856,  3314,  3270,   345,  3880,  3075, 41153,
2876     3904,  2088,  3901, -4929, -4929,  4171, -4929,  4180, -4929,  3966,
2877     4260,  7426, -4929, -4929,  1140,  4286,  4294, -4929, -4929, -4929,
2878    -4929, -4929, -4929, -4929,  3302, 34055, 34055, 34055,  3980, -4929,
2879    -4929, 79110,  5281,  3973, 35015, 54774,  2515, -4929,101986, -4929,
2880     2521,  2522, -4929,  2537, 33575,  2538, -4929, 79110,  3982, -4929,
2881    -4929, -4929, 43961, 58050,  4020,  3986,  3343, -4929,  4126, -4929,
2882    -4929,  1476,  3242, -4929, 15719, 79110, 62730,  4415, -4929, -4929,
2883    -4929, -4929, -4929, -4929, -4929,  3242,  4064, -4929, -4929, 65070,
2884    -4929, 79110, -4929, -4929,  2539, -4929, -4929, -4929, 79110,  3673,
2885    -4929,  3673, -4929, -4929,  4133, -4929,  2183,  4089,  1041,  1041,
2886     4357, -4929,  4049, -4929, -4929,  3996, -4929,  4475,  4122, 79110,
2887    -4929, -4929,   199,  2141, 66006,  3567, -4929, -4929, 11340, 62730,
2888    -4929, -4929,  2088,  3880,  3270, 30695,  2543, -4929,  4162,   156,
2889    -4929,  3901,  3904, -4929, -4929, 40685,  4000,  3253, -4929, -4929,
2890     1665, 62730, 62730, 35495,  4134,  1116, 13283,  4342, -4929,  4342,
2891     4342, -4929,  2548, 37409, -4929, -4929, -4929, 79110,  4203,   322,
2892    -4929,  4155, -4929,  2554, -4929, -4929, -4929,    11,   490,  4004,
2893    -4929, -4929, -4929,  4129,  1476, -4929,  3242, -4929, 79110, -4929,
2894     4013, -4929, -4929, -4929, 56178,  3673,  3932, -4929, -4929, -4929,
2895     4469, -4929,   828, -4929, -4929, -4929, -4929, 79110,  3567,  3764,
2896     3856, -4929, -4929,  4014,  3901,  3270,  2088, 11727, -4929, 41153,
2897    79110, 79110,  3904, -4929,  2559, 40685,  3904, -4929,  1935, -4929,
2898    -4929, -4929, -4929, -4929, -4929, -4929,  4015,  4017,  4461, -4929,
2899    -4929, -4929, -4929, -4929,  1093, -4929, -4929, -4929, -4929,  3485,
2900    -4929, -4929, 35975, 35975,  4229, -4929,   322, -4929,  4018, -4929,
2901    -4929, -4929, -4929, 30695,  1476, -4929, -4929, -4929, 30695, -4929,
2902     4362, -4929, -4929, -4929,  3567, -4929, -4929, 54306,  3904,  2088,
2903     3901,  4162, -4929, -4929, -4929, -4929, -4929,  4260, -4929,  2560,
2904     3373,  2170, -4929, -4929,  2210,  2243,  4091,  4336, 34535,  4163,
2905    -4929,  4231, -4929,  4433,  5281,  5281, -4929, -4929, 30695, 11911,
2906     1476,  2574,   935, -4929, -4929,  2579, -4929, -4929, -4929, -4929,
2907    -4929,  3901,  3904, 79110,  3253, -4929, 40685, -4929, -4929,  1935,
2908     4138,  4146, -4929, -4929, -4929, 79110, 12397, -4929, -4929, 62730,
2909    -4929, 54306,  3904, -4929, -4929,  3904, -4929, -4929,  4070,  4076,
2910     2584, -4929,  4031, -4929, -4929,  3373,  4361,  4363, -4929, 54306,
2911    -4929, 62730, 62730,  2590, -4929, -4929, -4929
2912 };
2913 
2914   /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
2915      Performed when YYTABLE does not specify something else to do.  Zero
2916      means the default is an error.  */
2917 static const yytype_uint16 yydefact[] =
2918 {
2919     1684,  1450,   626,  1536,  1535,  1450,     0,   260,     0,  1546,
2920        0,  1450,   419,  1122,     0,     0,     0,     0,   626,  1450,
2921        0,  1684,     0,     0,     0,     0,     0,  1697,     0,     0,
2922        0,     0,     0,     0,     0,     0,     0,     0,  1450,     0,
2923        0,  1704,     0,     0,     0,     0,  1697,     0,  1548,     0,
2924        0,     0,     0,     0,     2,     4,    39,    74,    75,    32,
2925       31,    93,    57,    18,    65,   127,   126,   128,    44,    40,
2926       82,    27,    29,    41,    45,    67,    69,    34,    47,    58,
2927      105,    66,    25,    64,    88,    70,    91,    52,    12,    13,
2928       53,    14,    54,    15,    55,    16,   101,    76,    94,    37,
2929       63,    24,    46,    72,    73,     5,    48,    80,    11,    59,
2930       60,    62,    85,    86,    87,   110,    89,   122,    43,   119,
2931       98,    99,   116,   100,   117,     9,   102,    56,    17,   113,
2932      112,   114,    83,    49,    84,    71,    92,   111,    28,   115,
2933       19,    20,    22,    23,    21,    61,    30,    68,    33,    90,
2934      118,   108,   104,   123,   121,   129,   106,    77,     7,     8,
2935       95,     6,    26,    51,    10,    36,    35,    50,    42,   125,
2936       38,  1546,    97,   109,    96,    78,   103,    81,   107,   124,
2937       79,   120,  1654,  1653,  1706,  1657,  1683,     0,  1669,  1449,
2938     1448,  1463,     0,     0,     0,     0,     0,     0,     0,     0,
2939        0,     0,     0,     0,     0,     0,     0,     0,   625,     0,
2940        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2941        0,     0,     0,     0,     0,     0,     0,     0,  1460,  2300,
2942     2315,  2316,  2317,  2318,  2319,  2320,  2321,  2322,  2323,  2324,
2943     2325,  2326,  2327,  2328,  2329,  2330,  2665,  2331,  2332,  2333,
2944     2614,  2615,  2666,  2616,  2617,  2334,  2335,  2336,  2337,  2338,
2945     2339,  2340,  2341,  2618,  2619,  2342,  2343,  2344,  2345,  2346,
2946     2620,  2667,  2347,  2348,  2349,  2350,  2351,  2668,  2352,  2353,
2947     2354,  2355,  2356,  2357,  2358,  2359,  2360,  2669,  2361,  2362,
2948     2363,  2670,  2364,  2365,  2366,  2367,  2368,  2369,  2621,  2622,
2949     2370,  2371,  2372,  2373,  2374,  2375,  2376,  2377,  2378,  2379,
2950     2380,  2381,  2382,  2383,  2384,  2385,  2386,  2387,  2388,  2389,
2951     2390,  2391,  2392,  2393,  2394,  2395,  2396,  2623,  2397,  2398,
2952     2399,  2400,  2624,  2401,  2402,  2403,  2625,  2404,  2405,  2406,
2953     2671,  2672,  2407,  2408,  2409,  2410,  2411,  2626,  2627,  2412,
2954     2413,  2414,  2415,  2416,  2417,  2418,  2673,  2419,  2420,  2421,
2955     2422,  2423,  2424,  2425,  2426,  2427,  2428,  2429,  2430,  2674,
2956     2628,  2431,  2432,  2433,  2434,  2629,  2630,  2631,  2435,  2675,
2957     2676,  2436,  2677,  2437,  2438,  2439,  2440,  2441,  2442,  2632,
2958     2678,  2443,  2679,  2444,  2445,  2446,  2447,  2448,  2449,  2450,
2959     2451,  2452,  2453,  2454,  2455,  2456,  2457,  2458,  2459,  2460,
2960     2461,  2462,  2633,  2680,  2634,  2463,  2464,  2465,  2466,  2467,
2961     2468,  2469,  2635,  2636,  2470,  2471,  2472,  2681,  2473,  2637,
2962     2474,  2638,  2475,  2476,  2477,  2478,  2479,  2480,  2481,  2482,
2963     2483,  2484,  2639,  2682,  2485,  2683,  2640,  2486,  2487,  2488,
2964     2489,  2490,  2491,  2492,  2493,  2494,  2495,  2496,  2641,  2497,
2965     2642,  2500,  2498,  2499,  2501,  2502,  2503,  2504,  2505,  2506,
2966     2507,  2508,  2509,  2510,  2643,  2511,  2512,  2513,  2514,  2515,
2967     2516,  2517,  2518,  2519,  2520,  2521,  2522,  2523,  2524,  2525,
2968     2526,  2527,  2528,  2684,  2529,  2530,  2531,  2532,  2533,  2644,
2969     2534,  2535,  2536,  2537,  2538,  2539,  2540,  2541,  2542,  2543,
2970     2544,  2545,  2546,  2547,  2548,  2549,  2645,  2550,  2551,  2685,
2971     2552,  2553,  2646,  2554,  2555,  2556,  2557,  2558,  2559,  2560,
2972     2561,  2562,  2563,  2564,  2565,  2566,  2567,  2647,  2568,  2569,
2973     2570,  2571,  2686,  2572,  2573,  2574,  2575,  2576,  2577,  2648,
2974     2649,  2578,  2579,  2650,  2580,  2651,  2581,  2582,  2583,  2584,
2975     2585,  2586,  2587,  2588,  2589,  2590,  2591,  2592,  2593,  2594,
2976     2595,  2596,  2597,  2598,  2652,  2653,  2599,  2687,  2600,  2601,
2977     2602,  2603,  2604,  2605,  2606,  2607,  2608,  2609,  2610,  2654,
2978     2655,  2656,  2657,  2658,  2659,  2660,  2661,  2662,  2663,  2664,
2979     2611,  2612,  2613,   131,     0,     0,  2274,  2301,  2302,  2305,
2980     2300,   391,   390,  1644,  2268,  2301,  1545,  1525,   626,     0,
2981     1463,   418,  1684,     0,     0,     0,     0,     0,     0,     0,
2982      859,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2983        0,     0,     0,   179,     0,     0,     0,     0,   442,   441,
2984        0,     0,     0,  1088,   447,     0,     0,     0,     0,     0,
2985      614,  1593,  2498,  1591,  1645,   261,   264,   265,   262,   263,
2986     2290,     0,  1224,  1225,  1227,     0,     0,  1237,   899,   900,
2987        0,     0,     0,   908,     0,     0,     0,   897,     0,     0,
2988        0,   913,     0,   910,     0,     0,   914,   911,   894,   912,
2989      901,     0,   893,     0,     0,  1237,   915,     0,     0,   895,
2990        0,     0,     0,     0,  1463,  1590,   448,  1684,     0,  1567,
2991     1568,  1569,  1546,  1558,  1570,  1563,  1565,  1564,  1566,  1562,
2992     2289,  2316,  1023,  1023,  1023,  1023,  1020,  1021,  1023,  1023,
2993     1023,  2518,     0,     0,  1002,     0,  1004,  2291,  1023,  1028,
2994      511,   511,   511,     0,  1027,  1032,   511,     0,  1431,  1472,
2995     2273,  1696,     0,  1003,  1430,     0,     0,     0,  2578,  1581,
2996        0,     0,  1252,  1248,  1250,  1251,  1249,     0,  1091,  1091,
2997     2536,  1442,   243,  2547,  2648,  2578,   242,   236,   238,   210,
2998     2320,     0,     0,  1027,     0,  1463,  1440,   985,  1703,  1701,
2999        0,  2255,  2340,  2355,  2446,   233,  2529,  2537,  2547,  2648,
3000     2578,  2610,   189,   199,   194,     0,   254,  2547,  2648,  2578,
3001      250,  1460,     0,  1670,  1807,  2264,     0,  1433,  1432,  1547,
3002        0,  1550,     0,  2513,  1674,  1677,  1552,  1675,  1666,     0,
3003        0,     1,  1684,     0,  1557,  1700,  1700,     0,  1700,     0,
3004     1658,  1666,  1661,  1665,     0,     0,     0,     0,     0,  1434,
3005        0,     0,     0,   918,     0,  1475,  2269,  1073,     0,     0,
3006        0,     0,     0,  1324,     0,  1131,  1130,  2306,  2296,  2297,
3007        0,  2294,  2295,  2307,  2308,  2309,     0,  2418,  1324,     0,
3008        0,  2162,  2173,  2174,  2175,  2344,  2401,  2170,  2171,  2172,
3009     2164,  2165,  2166,  2167,  2168,  2169,     0,     0,  1219,  2163,
3010        0,  2418,     0,  1324,     0,   158,     0,   135,  1324,     0,
3011        0,  2418,     0,     0,  2418,     0,     0,     0,     0,     0,
3012     2418,     0,     0,     0,     0,     0,   158,  2451,     0,   135,
3013     2418,     0,     0,  1454,     0,     0,     0,  1456,  1459,  1435,
3014        0,  2247,     0,  2248,  2275,  1528,     0,  2264,     0,     0,
3015        0,   954,   947,     0,   955,   962,     0,     0,   964,     0,
3016        0,   948,     0,     0,     0,     0,     0,   967,   968,     0,
3017        0,   969,   949,   970,   950,   971,   951,   972,     0,     0,
3018        0,     0,   952,     0,     0,     0,  1446,  1437,     0,  1583,
3019     1585,  1584,  1582,   511,     0,     0,     0,  2418,     0,     0,
3020      135,  1513,     0,  2418,   135,     0,     0,   446,   445,   135,
3021     2294,   444,   443,  2344,  2401,     0,  1121,     0,  1389,   135,
3022     2418,     0,   181,  2418,   700,  2418,  1552,     0,   629,     0,
3023        0,   814,  2451,   135,     0,     0,     0,     0,     0,     0,
3024     1091,     0,     0,     0,     0,     0,   613,   626,  1594,  1592,
3025        0,  1228,   235,   234,  1226,   906,  2418,  1163,   352,     0,
3026        0,  2418,  1494,  2303,  1882,  1911,  1889,  1911,  1911,  1878,
3027     1878,  2384,  1891,  2418,  1879,  1880,  1916,     0,  1911,  1878,
3028     1883,     0,  1881,  1919,  1919,  1906,   352,   922,  1863,  1864,
3029     1865,  1866,  1892,  1893,  1867,  1898,  1899,  1903,  1868,  1933,
3030     1878,  2304,   907,     0,   898,  2418,   352,  1127,  2418,  2298,
3031      168,     0,   896,  2344,  2401,  2418,   352,  1221,     0,  2418,
3032      352,  2418,   164,  2418,   352,  2418,   352,  2418,   630,     0,
3033        0,  2418,   352,  2418,  2451,   166,     0,  2418,   352,   916,
3034     2418,   352,  2266,  2418,     0,  1438,     0,  1586,     0,  1560,
3035     2652,  1575,     0,  1571,  1578,  1574,  1684,  1023,  1022,     0,
3036     1023,     0,  1023,     0,  1023,     0,  1023,     0,     0,     0,
3037     1023,  2292,  2293,  1005,     0,  1029,     0,     0,  1036,  1035,
3038     1034,     0,     0,     0,  1037,     0,  1811,  1621,     0,  1428,
3039      237,   188,     0,   249,   248,  1445,     0,     0,     0,  1091,
3040     1255,     0,  1253,  1090,     0,     0,  1441,   241,   239,     0,
3041        0,     0,     0,     0,     0,  1447,     0,  1439,     0,     0,
3042        0,  2277,  2279,  2280,  2176,  2250,     0,  2615,  2616,  2617,
3043     2239,     0,  2618,  2619,  2620,  2667,  2068,  2055,  2064,  2069,
3044     2056,  2058,  2065,  2621,  2622,  2003,  2623,  2624,  2287,  2625,
3045     2626,  2627,  2629,  2630,  2631,  2632,  2060,  2062,  2633,  2634,
3046     2636,     0,  2288,  2637,  2638,  2480,  2640,  2641,  2643,  2644,
3047     2066,  2646,  2647,  2648,  2649,  2650,  2651,  2286,     0,  2067,
3048     2653,  2655,  2656,  2657,  2658,  2660,  2661,  2662,  2663,     0,
3049        0,     0,  2261,     0,  2035,     0,  1871,  1872,  1894,  1895,
3050     1873,  1900,  1901,  1874,     0,  2260,  1936,  2121,  2034,  2051,
3051        0,  2040,  2041,     0,  2033,  2029,  1686,  2256,     0,  2030,
3052     2276,  2278,  2240,  1686,  2254,   202,   256,     0,   257,  2262,
3053     2547,   190,   232,   204,   231,   205,   203,     0,  2342,   191,
3054        0,     0,   192,     0,     0,     0,     0,   253,   251,     0,
3055     1436,     0,  1809,  1808,  2265,   927,     0,  1539,  1533,  1542,
3056     1538,  1549,  1546,  2186,     0,  1676,     0,     0,     0,  1656,
3057     1655,     3,     0,  1554,  1556,  1531,  1552,  1698,  1699,     0,
3058        0,     0,     0,     0,     0,     0,     0,  1756,  1714,  1715,
3059     1717,  1753,  1757,  1765,     0,  1662,     0,     0,  1813,     0,
3060        0,  1461,     0,     0,     0,     0,     0,  1162,     0,     0,
3061        0,     0,     0,   919,     0,     0,     0,  1481,     0,  1483,
3062     1484,  1485,     0,     0,     0,  1486,  1487,  1475,   245,  1493,
3063     1491,  1474,  1476,  1489,     0,     0,     0,     0,     0,     0,
3064        0,  1505,     0,   172,   173,     0,   642,   626,     0,  2418,
3065        0,     0,     0,     0,  1170,  1177,  1323,     0,     0,     0,
3066        0,     0,     0,     0,     0,  1171,  1169,     0,  1172,   247,
3067     1182,  1201,  1204,     0,     0,  1129,  1132,     0,     0,     0,
3068        0,     0,  1314,     0,     0,     0,  1314,     0,     0,     0,
3069     1323,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3070      272,   274,   285,   347,     0,   605,     0,     0,     0,   608,
3071        0,  2418,  1324,     0,     0,     0,  1223,     0,     0,     0,
3072        0,     0,     0,     0,     0,  1204,     0,     0,     0,     0,
3073        0,     0,     0,     0,     0,   133,   134,   139,     0,     0,
3074        0,     0,  1204,     0,     0,     0,     0,     0,     0,     0,
3075      591,   604,     0,     0,     0,     0,     0,   601,     0,     0,
3076      135,   277,   581,   587,     0,     0,     0,   707,   706,     0,
3077        0,     0,     0,     0,  1405,  1404,     0,     0,     0,     0,
3078     1503,  1502,     0,     0,     0,     0,     0,  1314,     0,   266,
3079      268,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3080        0,     0,     0,     0,     0,     0,   383,   384,     0,     0,
3081        0,   139,     0,     0,  1314,     0,   279,     0,     0,  1455,
3082     1452,  1453,     0,  1458,     0,     0,     0,     0,  2043,     0,
3083     2190,  1706,  2188,  1147,  2246,     0,  2310,  2688,  2689,  2690,
3084     2691,  2692,  2693,  2694,  2695,  2696,  2697,  2698,  2699,  2700,
3085     2701,  2702,  2703,  2704,  2705,  2706,  2707,  2708,  2709,  2710,
3086     2711,  2712,  2713,  2714,  2715,  2716,  2717,  2718,  2719,  2720,
3087     2721,  2722,  2723,  2724,  2725,  2726,  2727,  2728,  2729,  2730,
3088     2731,  2732,  2733,  2734,  2735,  2736,  2737,  2738,  2739,  2740,
3089     2741,  2742,  2743,  2744,  2745,  2746,  2747,  2748,  2749,  2750,
3090     2751,  2752,  2753,  2754,  2755,  2756,  2757,  2758,  2759,  2760,
3091     2761,  2762,  2763,  2764,  2243,  2242,  2271,  2311,  2312,  2313,
3092     2314,  2249,     0,  1524,     0,   961,     0,     0,     0,     0,
3093      963,     0,   956,     0,     0,   953,  2344,  2401,     0,     0,
3094        0,     0,     0,     0,     0,     0,     0,   966,     0,     0,
3095        0,     0,     0,     0,     0,     0,     0,     0,   822,     0,
3096     1475,  1512,     0,     0,     0,   635,     0,  2418,     0,   137,
3097      860,     0,   812,   447,     0,     0,     0,  1194,  1388,   137,
3098        0,     0,   175,     0,     0,   704,     0,     0,     0,     0,
3099        0,     0,     0,     0,     0,   751,   750,     0,     0,     0,
3100      813,     0,     0,   137,     0,  2418,   584,  2418,     0,   511,
3101      511,     0,     0,  1093,     0,     0,     0,     0,     0,     0,
3102     1648,  1650,  1649,     0,  1647,     0,   350,   351,     0,  1211,
3103     1236,     0,     0,     0,  1910,  1897,  1905,  1904,     0,  1887,
3104     1886,  1885,     0,  1884,     0,  1911,  1911,  1909,  1888,  1863,
3105        0,     0,     0,  1915,     0,  1913,     0,   889,  1859,  1855,
3106        0,  1922,  1923,  1924,  1921,  1934,  1920,     0,  1869,  1925,
3107     1878,  1875,   909,     0,     0,  1205,     0,     0,  2418,   352,
3108     2418,     0,  2418,     0,     0,     0,  1213,   352,     0,  1207,
3109        0,     0,  1209,     0,  1406,     0,   905,   903,   902,   904,
3110        0,     0,   887,     0,     0,     0,  2418,   352,     0,     0,
3111      882,     0,     0,   884,     0,     0,     0,     0,  1684,     0,
3112      221,   222,   220,  1576,   223,  1577,  1573,  1559,     0,  1013,
3113        0,  1017,     0,  1008,     0,  1014,     0,  1009,  1006,  1007,
3114        0,  1012,     0,     0,   512,   514,     0,     0,  2367,  2383,
3115        0,  2407,  2439,  2440,  2504,  2532,  2537,  2543,     0,  2572,
3116     2583,     0,  1038,  1068,  1033,   718,     0,     0,  1631,  1429,
3117     2193,     0,  1684,     0,     0,     0,     0,  1244,  1245,   240,
3118      211,     0,     0,     0,  1070,  2536,  1444,   984,   626,     0,
3119     2031,     0,  2038,  2039,  2238,     0,     0,     0,     0,     0,
3120        0,  2037,  2201,     0,     0,     0,     0,     0,     0,  1959,
3121        0,     0,     0,  2218,     0,  2224,     0,     0,  1996,     0,
3122        0,     0,     0,     0,     0,     0,     0,  1960,  1940,  1941,
3123     2035,  2186,     0,  2036,  2283,     0,  1933,  2259,  2176,     0,
3124     2173,  2174,  2175,     0,     0,     0,  2253,     0,  2184,     0,
3125        0,  1974,  2182,  1976,     0,     0,     0,     0,  2170,  2171,
3126     2172,  2164,  2165,  2166,  2167,  2168,  2169,  2180,  1956,     0,
3127        0,  2123,     0,  1955,     0,     0,  1769,     0,  2281,  2241,
3128     1769,   258,   259,   255,     0,     0,   207,   206,     0,   225,
3129      229,   230,   201,   228,     0,   224,   209,  2110,  2109,   208,
3130      200,   197,   195,   212,   214,   215,   198,   196,   252,     0,
3131        0,     0,   352,  1557,     0,  1540,  1541,  1537,  1544,  1766,
3132        0,  1678,     0,  1682,  1557,     0,  1553,  1673,  1672,  1707,
3133     1708,  1113,  1671,  1736,  1737,     0,     0,     0,     0,  1762,
3134     1760,  1727,  1718,  1726,     0,     0,  1724,     0,  1728,  1936,
3135     1755,  1660,  1712,  1713,  1716,  1659,     0,  1758,     0,  1634,
3136     1756,  1717,  1618,     0,  1596,     0,  1814,     0,     0,  1462,
3137        0,     0,     0,  1142,  1144,     0,  1143,     0,  1146,     0,
3138     1155,     0,     0,  1141,  1160,     0,  1149,  1147,     0,  1501,
3139        0,     0,   920,     0,     0,     0,     0,  1482,     0,     0,
3140     2572,   244,  1485,  1490,  1477,  1488,     0,     0,     0,     0,
3141        0,  1072,  1071,     0,     0,  1095,     0,     0,     0,  1508,
3142      500,     0,   349,     0,     0,     0,     0,     0,     0,     0,
3143        0,   808,   805,     0,     0,   804,     0,   640,     0,     0,
3144        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3145        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3146      680,     0,  1314,     0,   712,     0,  1179,     0,  1178,     0,
3147     1183,     0,     0,  1180,  1175,  1176,  2537,  2547,  2578,   246,
3148     1181,  1203,     0,  1202,  1198,     0,  1124,     0,  1125,     0,
3149        0,     0,     0,     0,  2393,  2418,   290,   312,     0,  1313,
3150        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3151        0,     0,     0,     0,     0,   334,     0,     0,   337,   336,
3152        0,     0,     0,     0,     0,   341,   320,     0,   321,     0,
3153      340,     0,     0,     0,   606,   607,     0,     0,     0,  1314,
3154        0,   281,     0,     0,     0,     0,     0,     0,     0,     0,
3155     1220,     0,   735,     0,     0,  2537,  1199,     0,     0,     0,
3156        0,     0,     0,  1392,     0,     0,   161,     0,   156,   160,
3157        0,     0,  2537,  1200,     0,     0,     0,     0,     0,   589,
3158      590,   603,     0,   594,   595,   592,   596,   597,     0,     0,
3159        0,     0,     0,     0,     0,   588,     0,     0,   702,   701,
3160      705,     0,     0,     0,     0,     0,  1401,     0,  1194,     0,
3161        0,  1400,     0,     0,     0,     0,     0,     0,     0,     0,
3162        0,     0,  1257,  1256,     0,     0,     0,     0,  1324,     0,
3163      850,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3164      163,   722,     0,   721,     0,   157,   162,     0,     0,     0,
3165        0,     0,     0,     0,     0,   219,  1451,  1457,  1706,  1706,
3166     1706,  2049,     0,     0,     0,     0,  1705,  2244,  2247,  1527,
3167     2272,  1526,     0,     0,     0,     0,   965,     0,     0,     0,
3168        0,     0,     0,     0,     0,     0,   957,   958,   959,   960,
3169        0,     0,     0,     0,     0,   397,   394,   395,   397,     0,
3170        0,     0,     0,   824,     0,   827,   830,     0,  1473,   466,
3171        0,     0,   632,   680,     0,     0,   450,   170,     0,     0,
3172        0,     0,   737,     0,     0,     0,  1387,   132,   179,   181,
3173      448,     0,   180,   182,   184,   185,   186,   183,   187,     0,
3174      699,   703,     0,     0,     0,     0,   628,     0,     0,     0,
3175        0,     0,   752,   756,   755,   759,   757,     0,   753,     0,
3176        0,  1834,     0,     0,   155,     0,     0,   579,   583,     0,
3177        0,     0,     0,   450,   550,   363,  2418,     0,   511,     0,
3178     2418,     0,  1092,     0,   811,     0,     0,     0,     0,     0,
3179        0,     0,     0,     0,     0,  1646,   352,  1164,     0,  1495,
3180        0,     0,     0,     0,   352,  1908,  1907,  1860,  1856,     0,
3181        0,     0,     0,   923,     0,     0,     0,     0,     0,     0,
3182        0,     0,     0,  1876,   352,  1128,   169,  2299,     0,   891,
3183        0,     0,     0,     0,   352,  1222,   879,   352,   165,   352,
3184      352,   631,     0,   352,   167,     0,     0,     0,   623,   352,
3185      917,   352,  2267,     0,   352,  1589,  2418,   511,  1561,  1572,
3186     1010,  1019,  1018,  1016,  1015,  1011,     0,  1030,     0,   510,
3187        0,     0,     0,     0,     0,  1046,  1047,     0,     0,  1043,
3188     1048,     0,  1044,  1045,  1050,  1040,  1039,  1051,  1052,     0,
3189        0,  1070,   716,     0,     0,     0,     0,  1628,     0,  1626,
3190        0,  1812,  1630,  1619,  1580,     0,  1579,     0,   572,  1091,
3191     1091,  1254,     0,     0,  1027,     0,     0,   352,  1443,     0,
3192      986,   992,     0,     0,     0,     0,     0,     0,     0,   995,
3193      996,     0,   997,   988,   998,   989,   999,     0,   990,     0,
3194        0,     0,     0,  2251,  2197,     0,  2198,     0,     0,  2237,
3195     2233,     0,     0,     0,     0,     0,  2202,  2205,  2206,  2207,
3196     2204,  2208,  2203,     0,     0,  2209,     0,     0,     0,     0,
3197        0,     0,     0,     0,     0,     0,  2644,     0,     0,     0,
3198        0,  2004,     0,     0,  2157,     0,  2186,  2223,     0,     0,
3199        0,     0,     0,     0,  2186,  2229,     0,     0,     0,     0,
3200     2108,     0,  2105,     0,     0,     0,     0,  2250,     0,     0,
3201     2284,  1937,  1951,  1952,  1953,  1957,  2258,     0,  2252,     0,
3202        0,  1938,  1965,     0,  2230,  1992,     0,  1997,  1980,  2210,
3203     2211,  2212,  2213,  1999,     0,  1973,     0,  1978,  1982,     0,
3204     1961,     0,  1958,     0,  2253,  2185,     0,  2183,     0,  1948,
3205     1949,  1950,  1942,  1943,  1944,  1945,  1946,  1947,  1954,  2161,
3206     2159,  2160,     0,     0,     0,  2131,     0,     0,  1977,  2410,
3207     2446,     0,  1697,  1697,  1697,  1685,  1695,  2257,     0,  1829,
3208     1706,  1829,  2263,     0,     0,  1933,     0,  1810,   925,   926,
3209      924,  1530,  1534,  1543,  1557,  2187,  1551,  1680,     0,     0,
3210     1532,  1555,     0,  1111,  1112,     0,  1116,  2644,  2534,     0,
3211        0,     0,     0,  1729,  1763,     0,  1754,     0,  2277,  1730,
3212     2276,  1731,  1734,  1735,  1725,  1764,  1632,     0,  1759,  1664,
3213     1663,     0,  1832,     0,     0,     0,  1610,  1598,     0,  1815,
3214        0,  1769,  1636,     0,  2250,  1767,  1363,  1258,  1325,  1145,
3215        0,  1878,  1156,     0,  1140,     0,  1139,  1878,     0,  1157,
3216        0,  1878,  1364,  1259,  1326,   921,  1365,  1260,  1327,  1366,
3217     1261,  1492,  1480,  1479,  1478,     0,     0,     0,     0,     0,
3218        0,     0,     0,     0,     0,     0,     0,     0,     0,   789,
3219     2418,   352,  1506,  1367,     0,  1262,   348,  1507,  1328,  1511,
3220      807,   806,     0,     0,  1329,     0,   641,     0,   645,     0,
3221      647,   648,   649,     0,     0,     0,   650,     0,  2344,  2401,
3222      652,   655,   656,   657,   664,   669,   659,     0,     0,   671,
3223      665,     0,     0,     0,     0,     0,     0,   677,   682,     0,
3224        0,     0,     0,     0,     0,  1173,  1174,  1368,  1265,     0,
3225     1330,     0,  1123,     0,  1266,   171,     0,     0,   273,  2418,
3226      292,     0,   684,   789,     0,  1316,   289,   318,     0,   333,
3227      328,   329,   327,  2418,   352,  2418,   352,     0,     0,     0,
3228        0,     0,   330,   325,   326,   322,     0,     0,   335,  2319,
3229     2385,  2548,     0,   688,   690,     0,   695,   338,  1286,   359,
3230      358,   357,     0,   342,     0,   364,   367,   339,   319,   317,
3231      314,   286,     0,     0,     0,     0,     0,     0,     0,     0,
3232        0,  2270,     0,     0,  1215,     0,  1371,  1331,     0,  1353,
3233        0,     0,     0,     0,   729,  1374,  1272,  1334,     0,  1393,
3234     1395,  1385,  1273,  1394,   159,  1303,   148,     0,     0,   144,
3235        0,     0,     0,     0,   138,  1375,  1274,  1335,     0,     0,
3236     1376,  1275,     0,     0,   278,   582,   593,   598,  1280,   602,
3237      599,  1343,   600,  1383,  1276,     0,  1379,  1306,  1338,   565,
3238     1386,  1402,  1277,  1194,  1397,  1399,     0,  1314,     0,   267,
3239      269,     0,   288,     0,  1278,     0,  1336,  1378,  1305,     0,
3240        0,     0,     0,     0,     0,     0,     0,     0,  1514,     0,
3241        0,     0,     0,     0,     0,   352,     0,     0,     0,  1316,
3242     2418,   352,  1377,     0,  1311,     0,  1351,     0,     0,   385,
3243        0,  1304,  1314,     0,   280,  1282,     0,  1345,     0,     0,
3244      217,   216,   218,     0,     0,     0,     0,  2191,  2192,     0,
3245     2189,  2044,  2246,     0,   974,   932,   973,     0,  2383,     0,
3246      931,   933,     0,     0,     0,   934,     0,   938,   939,     0,
3247        0,     0,   930,   928,   929,   396,     0,     0,   746,   747,
3248        0,     0,     0,     0,   826,     0,     0,     0,  1504,     0,
3249      135,   639,     0,     0,     0,   634,   679,   684,     0,     0,
3250        0,     0,   449,   453,   457,   458,   459,     0,     0,     0,
3251        0,   149,   136,     0,   868,     0,   511,     0,   739,  1391,
3252     1390,  1193,     0,   181,   174,     0,     0,   700,     0,  1552,
3253        0,     0,   363,   821,   819,   818,   820,     0,     0,     0,
3254      842,   817,     0,  1833,  1835,     0,     0,     0,     0,     0,
3255        0,   572,   452,     0,     0,   514,     0,   553,     0,     0,
3256        0,     0,   550,     0,     0,     0,  2303,     0,   838,   810,
3257     1134,     0,  1152,  1135,     0,     0,     0,     0,  1187,  1119,
3258     1188,  1165,  1120,     0,     0,   611,  1651,  1652,     0,  1212,
3259        0,     0,  1500,     0,  1498,     0,  1877,  1890,   890,     0,
3260     1918,  1917,  1919,  1919,     0,  1861,     0,  1902,  1927,  1928,
3261     1929,  1930,  1931,  1932,     0,  1926,  1870,  1206,   352,     0,
3262      352,     0,   352,  1214,  1208,  1210,  1407,     0,   888,     0,
3263        0,   352,   881,   883,     0,   885,     0,  1031,   513,     0,
3264        0,     0,     0,     0,     0,  1042,   609,  1049,     0,  1063,
3265     1058,  1060,     0,  1064,   715,     0,     0,  1629,  1622,  1624,
3266     1623,     0,     0,  1620,  2194,   880,     0,   578,     0,     0,
3267        0,     0,   352,     0,  1065,     0,     0,   993,   987,     0,
3268        0,   991,     0,     0,     0,   994,     0,     0,  1702,  2195,
3269     2196,     0,     0,     0,  2234,     0,     0,  2083,     0,  2057,
3270     2059,  2071,     0,  2084,  2042,  2085,  2061,  2063,  2072,     0,
3271        0,  2177,     0,     0,  2074,     0,  2006,  2007,     0,     0,
3272        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3273        0,     0,     0,     0,     0,  2022,  2021,  2075,  2156,     0,
3274        0,  2221,  2222,  2076,     0,     0,  2228,     0,     0,     0,
3275     2081,  2086,     0,     0,     0,     0,  2092,     0,  2113,     0,
3276        0,     0,  2032,  2187,     0,     0,     0,     0,     0,     0,
3277        0,     0,  1998,  1981,  2001,  1975,     0,  1979,  1983,     0,
3278        0,  2000,     0,     0,  1969,     0,     0,  1967,  1993,  1963,
3279        0,     0,  1994,     0,     0,     0,  2050,     0,     0,  1697,
3280     1697,  1697,  1697,  1694,     0,     0,     0,     0,  2534,  2664,
3281        0,  1793,  1768,  1770,  1780,  1793,  1798,  1793,  2052,  1827,
3282     2053,  2264,     0,  1739,     0,  1739,   193,     0,   226,   213,
3283     1529,  1681,  1684,  1709,     0,  2178,  1116,     0,  1711,  1733,
3284     1732,     0,  1722,     0,  1761,  1719,  1633,  1617,     0,  1615,
3285     1602,  1604,  1603,     0,     0,  1605,  2250,     0,  1615,  1597,
3286     1641,     0,     0,  1832,     0,  1640,     0,  1878,  1137,  1138,
3287        0,  1161,     0,  1075,  1076,     0,  1074,     0,     0,     0,
3288      499,  1094,     0,     0,     0,   789,     0,     0,   503,     0,
3289     1509,     0,  1384,  1302,   643,   644,     0,   658,     0,   667,
3290      666,     0,     0,     0,     0,     0,     0,     0,   651,   673,
3291      615,   674,   676,     0,     0,   675,   678,   681,  1314,     0,
3292      713,  1288,     0,  1349,  1167,     0,     0,  1126,     0,     0,
3293        0,     0,     0,     0,   466,   313,     0,     0,     0,     0,
3294      372,     0,   294,   305,   370,   311,     0,   344,     0,   316,
3295        0,   309,   331,   323,   332,   324,   343,   345,     0,   692,
3296      693,   691,   687,     0,   694,   696,     0,   361,     0,     0,
3297        0,     0,  1370,     0,  1314,     0,   282,  1284,     0,  1347,
3298        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3299        0,     0,  1352,     0,     0,     0,     0,   734,     0,   731,
3300        0,     0,     0,   141,   140,     0,   147,     0,     0,     0,
3301        0,     0,     0,     0,  1403,     0,     0,     0,     0,     0,
3302        0,   379,     0,   287,     0,     0,     0,     0,     0,     0,
3303        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3304        0,   386,   354,     0,   845,     0,     0,     0,   388,     0,
3305        0,  1362,     0,     0,     0,     0,     0,  1369,  1267,  2047,
3306     2048,  2045,  1706,  2245,     0,     0,     0,   945,     0,     0,
3307        0,     0,     0,     0,   399,   400,   135,   398,   421,     0,
3308      789,     0,     0,   823,   828,   836,  2480,  2164,  2165,   834,
3309      829,   831,   833,   835,   832,     0,     0,     0,     0,     0,
3310      482,     0,     0,     0,   472,     0,     0,  1194,   465,   468,
3311      469,     0,     0,   635,   638,   636,   637,   672,     0,   452,
3312      489,   540,     0,   151,     0,     0,   152,   150,     0,     0,
3313      363,   736,     0,   733,     0,   177,   448,     0,   704,     0,
3314        0,     0,  1194,   627,   758,   761,   754,     0,   841,   843,
3315      815,     0,   684,     0,     0,   584,     0,   511,  1590,   567,
3316        0,   542,   452,   540,   549,     0,     0,   557,   362,     0,
3317        0,   572,   363,     0,     0,  1095,     0,   837,     0,  1133,
3318        0,     0,     0,  1184,  1189,  1185,     0,     0,  1148,     0,
3319     1186,  1166,  1423,  1424,  1421,  1422,     0,     0,     0,  1643,
3320        0,     0,  1496,     0,  1896,     0,  1914,  1912,  1857,  1862,
3321     1935,   892,     0,   875,     0,   877,   352,   723,     0,   624,
3322      352,     0,     0,     0,     0,     0,     0,  1041,     0,  1061,
3323        0,     0,  1024,  1067,     0,     0,  1627,  1625,   570,     0,
3324     1246,  1247,  1070,     0,  1025,  1069,     0,     0,     0,     0,
3325        0,     0,     0,     0,     0,  2199,     0,  2236,  2232,     0,
3326     2054,  2200,     0,     0,  2216,  2215,  2157,     0,     0,  2005,
3327     2017,  2018,  2019,  2217,     0,  2027,     0,     0,  2014,  2015,
3328     2016,  2008,  2009,  2010,  2011,  2012,  2013,  2020,  2226,  2225,
3329     2219,  2220,     0,  2078,  2079,  2080,  2227,  2087,     0,  2334,
3330     2114,     0,  2091,  2107,  2106,     0,     0,     0,  2094,     0,
3331        0,  2103,     0,  2158,  2285,  1939,     0,     0,  1966,  2231,
3332     1984,     0,     0,  2002,     0,  1962,  2177,     0,     0,     0,
3333        0,     0,  1971,     0,     0,     0,  2134,  2129,  2130,  2154,
3334        0,     0,     0,     0,     0,     0,  1688,  1687,  1693,  1793,
3335     1798,  1793,     0,     0,  1666,     0,  1780,     0,  1792,  1778,
3336     1791,     0,     0,  1804,  1802,     0,  1804,     0,  1804,     0,
3337     1772,     0,  1794,  1774,  1791,  1776,     0,  1819,  2265,  1828,
3338        0,  1752,  2044,  1752,     0,     0,     0,  1710,  1114,  1115,
3339     1720,     0,  1723,  2363,  1830,     0,  1616,     0,     0,     0,
3340     1607,  1613,  1595,     0,     0,  1637,  1615,  1638,  1158,     0,
3341        0,  1150,  1081,  1082,  1085,  1083,  1080,  1084,     0,     0,
3342        0,   789,     0,     0,   521,     0,  1108,  1108,     0,     0,
3343      505,   562,   516,   792,     0,     0,     0,   790,   352,  1263,
3344        0,   668,     0,     0,   663,   661,   660,   662,     0,   616,
3345     1382,  1264,     0,     0,     0,     0,  1168,  1317,     0,     0,
3346     1287,     0,   291,     0,   462,     0,     0,   297,   306,     0,
3347      302,     0,  1315,     0,     0,     0,     0,   301,   374,     0,
3348      371,     0,   352,   352,   346,   689,   360,   365,   366,   369,
3349     1322,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3350        0,     0,     0,     0,   869,   852,     0,     0,   870,   871,
3351        0,     0,     0,  1217,  1218,  1216,  1354,  1355,  1360,  1357,
3352     1356,  1359,  1361,  1358,     0,  1270,     0,     0,   727,  1318,
3353      145,   142,   143,   146,  1319,  1300,  1281,  1344,   566,  1398,
3354        0,     0,     0,  1279,     0,  1337,     0,  1296,  1290,     0,
3355        0,     0,     0,     0,  1381,  1310,  1342,  1380,  1308,  1340,
3356     1307,  1339,  1309,  1341,  1301,     0,     0,  1837,   849,     0,
3357        0,     0,   352,   352,   848,   725,  1283,     0,  1346,  1292,
3358        0,     0,     0,   935,     0,     0,   937,   940,     0,   942,
3359      404,   422,   135,     0,   745,   809,     0,     0,   825,   788,
3360        0,   470,     0,   476,   480,     0,     0,   484,   485,   483,
3361      471,  1194,   511,   561,   778,   779,     0,     0,   799,     0,
3362      633,     0,   450,     0,   486,     0,     0,   454,   154,   153,
3363        0,     0,     0,   740,   744,   742,   741,   743,   738,     0,
3364      729,   181,  2418,     0,     0,     0,     0,   563,  1396,     0,
3365      771,   816,     0,  1836,   719,     0,   363,   580,     0,     0,
3366        0,   450,   572,     0,   455,   460,   461,   466,     0,   550,
3367      541,     0,   542,   551,   552,     0,   559,  1471,     0,   573,
3368      559,     0,     0,     0,   840,     0,   839,  1136,  1153,  1154,
3369        0,     0,  1117,     0,     0,     0,     0,   618,   352,     0,
3370     1499,  1858,   352,   352,  1243,     0,   886,  1055,  1056,  1057,
3371     1054,  1053,   610,     0,  1059,   717,     0,   571,   352,     0,
3372     1001,   979,  1000,   978,   980,     0,   982,   983,   977,   975,
3373      976,  2235,  2070,  2073,  2082,  2214,  2156,  2187,     0,     0,
3374     2028,     0,     0,  2077,  2654,     0,     0,  2118,  2119,     0,
3375     2115,  2116,  2111,  2112,  2093,     0,  2469,  2098,     0,     0,
3376        0,  1990,  1988,  1985,     0,  1986,  1970,     0,     0,  1968,
3377     1964,     0,  1995,  2120,     0,  2136,  2133,  2153,  2187,  1692,
3378     1691,  1690,  1689,  1779,  1775,  1777,     0,  2659,     0,  1782,
3379     1789,     0,  1771,     0,  1803,  1799,     0,  1800,     0,     0,
3380     1801,     0,     0,  1773,     0,  1789,     0,  1826,     0,     0,
3381     2125,  2282,  2125,   227,  1679,     0,  1721,     0,  1614,  1599,
3382        0,  1600,  1606,     0,     0,     0,     0,  1642,  1635,  1151,
3383     1159,     0,     0,     0,   501,     0,   516,     0,     0,     0,
3384     1101,  1110,  1100,     0,   516,     0,  1194,   794,   793,   796,
3385      791,   795,  1510,     0,   653,   654,   670,  1289,     0,  1350,
3386     1298,     0,  1631,   293,     0,   685,   300,     0,     0,     0,
3387      295,   373,   375,   296,   299,   303,   354,   315,   308,     0,
3388        0,     0,  1285,     0,  1348,  1294,  1321,  1372,  1268,  1332,
3389        0,     0,   858,     0,     0,     0,     0,  1373,  1269,  1333,
3390        0,     0,     0,     0,  1631,     0,     0,     0,     0,     0,
3391        0,     0,     0,  1519,     0,     0,   353,   847,   846,   354,
3392      387,  1312,     0,  2046,     0,   936,   943,   944,   941,     0,
3393      393,   401,   404,     0,     0,  1234,  1234,     0,   789,     0,
3394        0,   467,   481,     0,   561,   520,     0,   473,     0,     0,
3395        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3396        0,     0,   732,   731,   176,     0,   450,     0,   684,     0,
3397      765,   766,   760,   762,     0,   773,   777,   844,     0,     0,
3398        0,   572,   452,     0,     0,  1587,   451,     0,     0,   463,
3399        0,   553,   542,   550,     0,     0,   569,     0,  1464,     0,
3400      575,     0,     0,     0,  1190,     0,  1196,     0,  1147,  1191,
3401        0,  1829,     0,     0,     0,     0,   622,  1235,  1497,   876,
3402      878,   724,  1062,     0,  1066,   352,   981,  2158,  2023,     0,
3403        0,     0,     0,  2088,     0,  2089,  2117,  2095,  2099,     0,
3404     2096,  2097,  1987,  1991,  1989,  1972,  2122,     0,  1706,  2155,
3405     1822,     0,  1825,     0,     0,  1781,     0,     0,  1783,     0,
3406        0,  1785,  1787,     0,     0,     0,     0,     0,     0,  2268,
3407     2362,  2627,  2531,     0,  1738,  1740,  1743,  1745,  1744,  1746,
3408     1742,  1751,     0,  1668,  1667,  2179,  1831,     0,     0,     0,
3409     1096,     0,  1639,  1063,     0,   352,  1108,  1194,   522,  2480,
3410      523,  1107,  1109,  1113,     0,  1194,     0,   561,   646,     0,
3411        0,   275,   683,     0,     0,   298,   307,   356,   368,     0,
3412     1631,     0,     0,   856,   865,   865,   853,     0,     0,   872,
3413     1271,   728,     0,     0,   270,  1297,  1291,     0,     0,     0,
3414     1521,  1522,     0,     0,     0,     0,     0,  1320,   352,  1293,
3415      946,     0,   424,   431,   405,   409,  1513,     0,  1513,     0,
3416      406,   410,  1513,  1513,   403,  1829,   420,  1234,     0,  1231,
3417     1230,   787,     0,   509,   586,     0,   474,     0,   531,     0,
3418        0,   800,     0,     0,   452,   540,     0,   498,   490,   491,
3419      492,   494,   493,   495,   496,   497,   488,   487,     0,   684,
3420      862,   363,  1471,   726,     0,     0,   697,     0,   763,   768,
3421      767,  1513,   772,     0,     0,     0,   684,     0,  1590,   568,
3422      542,   452,   540,   456,   466,     0,   557,   550,   553,     0,
3423      554,     0,   558,     0,     0,     0,   572,  1523,  1095,     0,
3424     1195,     0,     0,     0,     0,     0,     0,  1238,   617,     0,
3425        0,   621,   612,   684,  1026,  2024,     0,  2025,     0,     0,
3426     2101,  2100,     0,  2140,  1827,     0,     0,  1821,     0,     0,
3427     1851,     0,     0,     0,  1790,  1806,     0,  1786,  1784,     0,
3428     1795,     0,  1797,     0,     0,     0,  1747,     0,  2124,  2126,
3429        0,     0,  1612,  1829,     0,  1609,     0,  1077,     0,  1078,
3430     1102,   561,     0,  1113,  1116,   511,   561,     0,   789,  1299,
3431        0,   686,   586,     0,   310,     0,   283,  1295,     0,     0,
3432      867,   867,     0,     0,     0,     0,     0,     0,   381,     0,
3433        0,  1515,     0,  1516,  1517,  1520,   389,   402,     0,   429,
3434        0,   427,   426,   428,     0,   417,     0,     0,     0,     0,
3435        0,     0,   392,  1229,  1233,  1232,     0,     0,   475,     0,
3436      477,     0,   517,   518,   519,     0,   479,   527,   528,     0,
3437      797,     0,   802,     0,     0,     0,   684,   539,   708,     0,
3438        0,     0,  1465,     0,     0,   564,     0,   774,   775,   770,
3439        0,     0,   720,  1471,   572,   550,     0,   542,   464,     0,
3440      559,   553,   557,   555,   556,     0,  1468,     0,   574,     0,
3441     1104,  1118,  1197,  1192,  1427,     0,     0,   620,   619,   714,
3442     2026,  2104,  2090,  2102,  2135,     0,     0,     0,     0,  1820,
3443     1823,     0,  1854,     0,     0,     0,     0,  1840,     0,  1788,
3444        0,     0,  1796,     0,     0,     0,  1741,     0,     0,  1601,
3445     1611,  1097,     0,     0,   526,     0,  1116,  1098,   520,   789,
3446      515,   502,  1631,   304,   355,     0,     0,     0,   863,   866,
3447      854,   855,   874,   873,   730,  1631,     0,   377,   376,     0,
3448      380,     0,   425,   434,     0,   432,   407,   412,     0,   416,
3449      414,   413,   408,   411,     0,   508,     0,     0,     0,     0,
3450        0,   529,     0,   530,   560,     0,   801,     0,     0,     0,
3451      710,   861,     0,     0,   450,   684,   764,   769,     0,     0,
3452     1466,  1588,   553,   542,   550,     0,     0,   544,  1108,  1108,
3453      437,   557,   559,  1469,  1470,     0,     0,   363,  1426,  1425,
3454     1684,     0,     0,  2614,  2363,  2586,     0,  2152,  2141,  2152,
3455     2152,  2132,     0,     0,  1852,  1853,  1838,     0,     0,  1842,
3456     1805,  1818,  1749,     0,  1748,  2127,  2128,  1829,   352,     0,
3457      789,   524,  1099,   531,   504,   276,  1631,   857,     0,   271,
3458        0,   382,  1518,   430,     0,   415,   777,   585,   478,   536,
3459        0,   535,     0,   533,   532,   798,   803,     0,   684,   851,
3460     1471,   698,   776,     0,   557,   550,   553,     0,   543,     0,
3461     1110,  1110,   559,   435,     0,     0,   559,  1409,  1684,  1408,
3462     1410,  1418,  1415,  1417,  1416,  1414,  1241,  1242,     0,  2145,
3463     2144,  2143,  2147,  2146,     0,  2139,  2137,  2138,  1824,     0,
3464     1841,  1844,     0,     0,     0,  1850,  1843,  1845,     0,  1816,
3465     1750,  1608,  1079,     0,   506,   789,   284,   864,     0,   433,
3466        0,   534,   538,   537,   684,   709,  1467,   782,   559,   553,
3467      557,  1108,   545,  1109,   547,   546,   439,  1104,  1105,     0,
3468     1829,     0,  1419,  1413,  1666,  1653,     0,     0,     0,     0,
3469     2149,     0,  2150,     0,  1847,  1848,  1849,  1846,     0,     0,
3470      507,     0,     0,   711,   784,     0,   780,   783,   785,   786,
3471      438,   557,   559,  1110,   363,  1103,     0,  1086,  1411,  1684,
3472        0,     0,  2142,  2148,  2151,     0,     0,   525,   378,     0,
3473      748,     0,   559,   436,   548,   559,  1106,  1412,     0,     0,
3474        0,  1817,     0,   781,   440,  1829,     0,     0,  1839,   782,
3475     1087,     0,     0,     0,  1239,  1240,   749
3476 };
3477 
3478   /* YYPGOTO[NTERM-NUM].  */
3479 static const yytype_int16 yypgoto[] =
3480 {
3481    -4929, -4929, -4929,  3696, -4929, -4929,  -890, -1319,  2909, -1935,
3482    -4929, -4929, -4929,  1305, -4929, -4929, -4929, -4929,  3651, -4929,
3483     1996, -2440, -4929, -4929,   133,  -372, -1318,   138,  3180,  1639,
3484    -4929, -1156, -4929, -4929,  -574,   107, -4929,  -367,   716, -4929,
3485    -4929, -4929, -4929, -4929, -4929, -4929, -4929,  -509,  2114, -4929,
3486     2198,  1464,  3165, -3299, -4929, -4929, -1467, -3256, -4929,   763,
3487    -4929,   791, -4260,  -744, -4929, -4929, -4929,  2097, -4929, -4929,
3488    -4929,  2039,  1264,  -183, -4929, -4929, -4929, -4929, -4929, -4929,
3489     -586, -4929, -4929,  -831,   148,    42, -2472, -3810, -4929, -4929,
3490      632,  -232, -1441, -4929, -3631, -4929,   158, -2770, -4929, -4929,
3491    -4929,  -200, -1413,  1575, -4929,  -730, -1148,  1890, -2672,  -699,
3492    -4929,   -73, -4929,  -807,  -600,  -598,  -723, -3846, -4348, -4929,
3493    -4929,  -832, -3228, -4567, -4809, -4345, -4256,  1593, -4929, -4929,
3494      151, -3154, -3265,   152,   608, -4929,   154,   161, -4929,   626,
3495     -530,  -915, -1562, -4929,  -483, -4929, -4929, -4929, -2973, -4929,
3496    -4929, -4929, -4929,    73, -4929, -4929, -4929, -4929,   671, -4929,
3497    -4929, -4929, -4929, -4929, -4929, -2717,  2072,  2075, -4929, -3022,
3498    -4929,  -871, -4929,   826, -2995,  1496, -4929, -4929,  1263,  3678,
3499      655, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -1737, -4929,
3500    -4929, -4929, -4929,   165,  -169, -4929, -4929, -4929, -4929, -4929,
3501    -4929, -4929,   163, -4929,  2090,  1265, -4929, -4929,  -173, -4929,
3502    -4929, -4929, -4929, -4929, -4929,  -779, -4558,  -943,  -922, -4929,
3503    -3002, -4929, -4929, -4929,  -141, -4929, -4929, -4929, -4929, -4929,
3504     -923, -4929,  1326, -3638, -4929, -4929,   634, -4929, -4929, -4929,
3505    -4929, -4929,  -698,   -80,  2845, -4929,  -304,  -499, -4929, -4929,
3506    -4929,   -72, -4929, -4929, -4929, -4929, -4929, -4929, -4929, -4929,
3507    -1096,  9144,  -817,  -584, -4929, -4929, -4929, -4929, -4929, -2197,
3508    -4929, -4929, -4929, -4929, -3749, -4929,  4605,  1834,   960,   164,
3509    -4929,   -35,    57,  3445, -1158, -2678,   594,  -267, -4929, -4929,
3510    -4929, -2592, -4929, -4929, -4929, -4929, -3571,   166, -4929,  -687,
3511    -4929, -3860, -4598, -4061, -3603,  -850, -4929, -4928, -4454, -4542,
3512    -3556, -4929, -4929, -4929, -4929,  -552,  -167,  2814, -4929, -1431,
3513     2452,  -935, -4929, -2122,   657,  1678,  2826, -2762,  -136,  2816,
3514    -2538,  -674, -3289, -4929, -4929, -2313,  -400, -4929, -4929,  1372,
3515     -117, -4929, -4929, -4929, -4929,  -633,  2760,  -205, -4929, -4929,
3516     3985, -4929, -4382, -4929,  3950, -4929, -4929, -4929, -4929,  2673,
3517     2674, -4929,  2677, -4929, -4929, -1430,  1431, -4929,  -780, -4929,
3518    -4929,  2217,   859, -4929, -4929, -4929, -4929, -4929, -4929, -4929,
3519    -4929,  1325,   844, -4929, -4929, -4929, -4929, -4929,  -681,  -859,
3520    -4929, -4929,   184, -4929, -4929, -4929, -4929,  2383,  -897,  -733,
3521     3857,  -231,   185, -4688, -4929, -4929, -1121, -4929,  3233, -4929,
3522    -4929, -4929, -4929, -4929,   661,   660, -4929, -4929, -4929, -4929,
3523    -2749, -4929, -4929, -4418, -4929, -4929, -4929, -4929, -4929,  3832,
3524       93,  2552, -4929, -4929, -4929,   -50, -4929, -4929,  -974,  2542,
3525    -4929, -1966, -4929,  -605, -4929,  2750, -4929, -4929, -4929, -4929,
3526    -1898,   190, -3853, -4929,    12, -4929, -4929,    50, -4929,   472,
3527    -4929, -4929, -3467,    14, -4929, -4929, -4929, -4929, -4455, -4929,
3528       16,  -580,  1012, -2839, -4929,   196,   157, -4929, -4929,     9,
3529      353,   -49,   -39,   -26,     6,    99,  3317, -4929, -4929,  3353,
3530    -4929,    18,  1860, -4929, -4929,  -808,  -149, -4929,  1776,  -642,
3531     2514,  3311,  3318, -4929,  1762,  2545, -1962, -1998, -4929,  1056,
3532     -562,  -401, -4929, -4929, -4929, -4929,   505,  -641,  2529, -4929,
3533     3324, -4929, -4929, -4929, -1959, -2854, -3465,  1081, -3504, -3384,
3534      543,   528, -1454,  -168,   -41,  -754,  3331, -4929, -4929,  1091,
3535     -366, -4929, -4929,  -360, -2808,  1045, -4929, -4404, -2338,  1104,
3536     -816,  -644, -4929,  -729, -4929,  -518,  9111,  2871, -1063, -4929,
3537    -4929, -1004, 14156, -4929, -4929, -4929, 14958, 15789, -4929, -4929,
3538    16399, 16791, -4929,  -825, 17389, 14128, -1033, -1897,   -29, 13334,
3539    -1768,  2872,    53, -4929, -3560, -2453, -4929, -4929, -4929,  -102,
3540     1177,   465, -4929, -4463, -3828, -4929, -4929,   124, -4929,  -510,
3541    -4929,  -508, -4929, -4929, -4929, -2500, -4033, -2594,  2666, -4929,
3542    -4929, -4929,  -182, -4929, 18023, -2789, -4929,  1882, -1334, -1548,
3543    -3480, -1906, -4929, -4929, -4929, -2640, -4929, -4929, -4929, -4929,
3544    -1468, -3332,  -356,  1893, -4929, -4929,  1992, -4929, -4929, -4929,
3545     -911,  2276,  -777, -2675,  1901, -4929,  -788,  2667,  -785, 11523,
3546     -543,  9276,  -550, -2273, -1251, -1665, -4929,  2004, -4929,  5383,
3547     6602,    35,  -143,   683,  -516,    -6, 13259,  -660,  -824,  4302,
3548    12528, 10075, -3180
3549 };
3550 
3551   /* YYDEFGOTO[NTERM-NUM].  */
3552 static const yytype_int16 yydefgoto[] =
3553 {
3554       -1,    53,    54,    55,    56,    57,  1547,  2527,  2378,  3321,
3555     3322,    58,    59,  1543,    60,    61,    62,    63,  1457,    64,
3556     1031,  1792,  2542,    65,  2211,   813,   814,   815,  2112,  2113,
3557     2466,  2114,  2102,  1343,  1934,  1479,   787,   788,  1439,  1480,
3558       67,    68,  1337,  2093,    69,    70,    71,  1510,  1600,  1511,
3559     1512,  1451,  1839,  4377,  5124,  3113,  2340,  3369,  3114,  3115,
3560     3753,  3754,  3833,  5138,  5139,    72,  1616,  1617,    73,    74,
3561     2508,  3286,  3886,  4740,  4741,  4974,   623,  4402,  4403,  4961,
3562     4962,  5152,  5294,  5295,  2543,  1784,  3364,  3971,  3312,  4473,
3563     3313,  4474,  3314,  4475,  3298,  3918,  3919,  4416,  3920,  3315,
3564     4434,  5006,  3316,  2230,  5168,  2584,  1956,  1954,  4656,  4988,
3565     4233,  4234,  5380,  5176,  5177,  5178,  5403,  4436,  4479,  4480,
3566     5336,  5337,  3367,  3977,  4486,  4806,  4757,  2999,    76,    77,
3567      719,  1818,  3477,   720,  2587,   657,   721,  2544,    82,  2577,
3568     5170,  2578,  1573,  2392,  3899,  3457,    83,  1057,  3719,  4826,
3569     5061,  5062,    84,   227,    85,  1800,    86,    87,  2522,  3305,
3570       88,  2247,  3016,    89,    90,  3047,  3048,  3049,    91,  3744,
3571     4674,  1513,  3102,  3103,  3104,  3105,  3774,    92,  1795,  2551,
3572     2552,    93,    94,    95,    96,  2704,  2705,    97,  2452,    98,
3573       99,   100,   101,  3809,  4338,  4450,  3144,  3328,  3943,  4448,
3574      102,  3290,  2545,  1808,  2567,  2568,  4460,  4782,  4783,  4784,
3575     5021,  5326,  4786,  5023,  5199,  5025,  4426,  5515,  5516,  4748,
3576     3698,  4247,   104,  4427,  4428,  5183,   105,  2245,   106,   107,
3577     1768,  2514,  2515,  3900,  2594,  3377,  3378,  3957,  3958,   108,
3578     3228,   109,  4314,  4315,   658,  5190,  5130,  5280,   110,   111,
3579     4318,  4319,   112,   113,   114,   115,   116,   711,   712,   713,
3580     1148,  1149,  2971,  1096,   117,  2122,   118,   994,   995,  3265,
3581      119,  1229,  2750,  2751,  4531,   120,   744,  1168,  1169,  2546,
3582      122,   753,  2724,   755,  1971,  3459,  3460,  4042,   123,   124,
3583     2701,  2727,   125,  1444,  2221,  2222,  4228,  2547,   659,  1214,
3584     2591,  2994,  4899,  4650,  4900,  5347,  5489,  4651,  4913,  2916,
3585     3648,   127,   660,  1485,  2297,  1116,  1117,  2597,  3381,  2190,
3586     2191,  2192,  3997,  2193,  3383,  2194,  1417,  2195,  1067,  1068,
3587     3389,  3390,  3391,  3993,  4000,  2536,  4816,  4817,   128,  1482,
3588     2294,   129,   130,   131,  1526,   906,  1126,  1127,   132,   672,
3589      673,   133,  4979,   134,  1070,   135,  4824,   136,   137,   778,
3590      779,  1211,  1212,   138,   139,  2311,  3756,   140,  1483,   141,
3591      142,  3138,  3139,  4330,   143,   144,   145,  1787,  1788,   146,
3592      147,  3193,  3194,   148,   149,   150,  5429,  5491,  5492,  5493,
3593     4006,  5350,  5431,  1199,   152,   153,   154,   191,   947,   948,
3594      949,   859,  2548,  4808,   156,   157,  1440,  1441,  1442,  1443,
3595     2216,   158,   159,   160,  3403,  3404,   161,   162,   163,   164,
3596     1772,   165,   166,  4952,   167,   168,  1733,   169,   170,  1366,
3597     1367,  1368,  1369,  2127,  2904,   617,   831,  1372,  1378,  1383,
3598     1384,  1385,   172,   723,  1162,  1163,  1164,  1936,   173,  1207,
3599      998,   724,  1157,   175,   725,  2173,  2946,  3663,  3664,  3665,
3600     3668,  4635,  4206,   726,  2942,   178,  1978,  2710,  2713,  2938,
3601      727,  2951,  2952,  2953,  3671,   728,   746,  1060,  2604,   729,
3602     1304,   183,   184,   185,   840,   834,   835,  2909,   187,  2086,
3603     2885,   762,  1389,   800,   801,   849,  2476,  2139,  2140,  2164,
3604     2165,  1398,  1399,  2152,  2156,  2157,  2929,  2922,  2145,  4191,
3605     4884,  4885,  4886,  4887,  4888,  4889,  4620,  2160,  2161,  1401,
3606     1402,  1403,  2169,   188,  2889,  3622,  3623,  3624,  4168,  4169,
3607     4183,  4179,  4605,  4871,  3625,  1197,  1409,  4613,  5459,  3626,
3608     4860,  4861,  5077,  4187,  3633,  3659,  3352,  3353,  3354,  3627,
3609     5246,  5247,  5456,  5457,  5079,  5080,  2196,  1869,  1098,  1305,
3610     1099,  1881,  1306,  1853,  1101,  1307,  1308,  1309,  1104,  1310,
3611     1311,  1312,  1107,  1845,  1313,  1314,  1863,  1878,  1879,  1373,
3612     5081,  1316,  1317,  1318,  3629,  1319,  4121,  4569,  4555,  2811,
3613     2812,  2109,  4117,  3564,  4111,  2081,  2875,  4893,  5098,  5099,
3614     3606,  4147,  4585,  4858,  5238,  5357,  5358,  5445,  1320,  1321,
3615     1322,  2872,  2077,   909,  1323,  3902,  2079,  2805,  1641,  1642,
3616     1981,  2003,  2757,  2773,  2774,  2849,  2785,  3523,  2793,  2798,
3617     3551,  3552,  2806,  2835,  1324,  2759,  2760,  3505,  2005,  1325,
3618      953,  1645,   954,  2000,  2830,  1333,  1326,  1327,  1972,   824,
3619     4867,  1152,   865,  3130,  1725,   956,   759,  1328,  1329,  1330,
3620     1331,  1519,   880,  1119,  1120,   614,   606,   882,  3106,   615,
3621      608,   609,  1730
3622 };
3623 
3624   /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
3625      positive, shift that token.  If negative, reduce the rule whose
3626      number is the opposite.  If YYTABLE_NINF, syntax error.  */
3627 static const yytype_int16 yytable[] =
3628 {
3629      605,   907,   792,   839,   823,  1025,   186,  1572,  1933,   181,
3630     2405,  1063,   176,  1334,   177,  1639,   179,   756,  1338,   758,
3631     1188,  1189,  1190,   764,   908,  1889,  1194,   186,  1859,   781,
3632      789,   756,  2229,   796,   873,   850,   789,   789,  1953,   825,
3633     2335,   828,   913,  1731,  1404,   918,  1423,  3482,  1364,  1621,
3634     2306,  1633,  1577,  2298,  3311,   656,   860,   748,  1165,   603,
3635     3392,  1865,  1797,   748,   826,  1993,  2318,  2479,   916,  2964,
3636     2966,  3745,  1365,  3725,  2572,  1849,  1850,  1352,  2307,  1010,
3637      754,  3132,   938,  3635,  2716,  1858,  3953,  3657,  2470,  4235,
3638     4197,   710,  1215,   171,   793,  2756,  3969,  1061,  1486,  3334,
3639     4001,  3225,  1782,  4001,  3769,  3191,  3771,    66,  1514,  3463,
3640     4134,  3670,  1159,  4274,   722,  4472,  3904,  4230,  1810,  4433,
3641     1770,   844,  4182,  1142,  1775,  4493,  3646,  4482,  1726,  1779,
3642     1072,  2891,  4236,  1536,  4803,  4864,  2432,  2433,  1553,  1789,
3643     1130,  4298,  3572,  1134,  3982,  4810,  1063,   852,    75,  2820,
3644      837,    78,    79,  1813,    80,  4165,  2289,  2901,  2592,  2934,
3645      853,    81,  4481,   103,   121,   612,   126,  2428,  2910,  1151,
3646     1370,  2202,   664,  4764,   786,   812,  4652,  2655,  1132,   931,
3647     1364,   820,  1843,  1370,   151,   155,   605,   863,   863,   866,
3648      174,   863,  1145,  2931,  2459,   875,   180,   825,  3676,  1481,
3649      910,  4212,  4992,   875,  3589,  3966,   875,  1397,  1400,   825,
3650     4876,   863,  4878,  2125,   825,  5049,  2289,  4921,   863,  4100,
3651      825,  4802,   730, -1911, -2403, -2441,   621,  5210,   670, -2464,
3652     4649,  1836,  1345,  2289,  5036, -2501, -2303, -1878,  2120,  1481,
3653     1809,  4180,  2533,  4185,  1481, -2303, -2303, -1891, -2275,  1849,
3654     1850,  1865,  1846,  1847,   858,  2790,  3324, -2304, -2331,  4944,
3655    -1916, -2406,  2049,  1857,  3991, -2670, -2304, -2304,  1445,   730,
3656     1858, -1906,   730,  1761, -2670, -2670,   670,   730,  5129,  3675,
3657     3529,  1515,  4560,   670,  4443,  3927,  1170,   730,  3270,  1174,
3658     3271,  2055,  -423,  1880,  3275,  1224,  3277,  3278, -2274,   670,
3659     2468,  2469,  1836,  4954,  4955,  3282,  3283,  3284,  4533,  4534,
3660     4997,  4536,  4537,  4538,  4539,  4540,  2213,  2726,  4984,  3301,
3661     2049,  1766,  2828,  2057,  5192,  5452, -1919, -2162,  3250,  2309,
3662     3109,  3726, -1919,  2084, -2162,   829,  1342,  3721,  2235,  2426,
3663     3480,   670,   943,  2828,  3467,   871,   670,  2506,  4494,  2055,
3664     1836,  -135,  2099,   182,  1515,   670,  3469,  -135,   670,  2581,
3665      730,  4998,  4469,  1823,  4980,  2869, -1734,  4311,  3430,  4999,
3666     3432,  5114,  2870,  1836,   182,  4444,  2525,  1446,  1836,  2968,
3667     4431,  2057,  4633,  3110,  2582,   847,  5235,  4470, -2462,   997,
3668      736,   736,  5043,  3118,  1201,   736,  4048,  5000,  1200,  2439,
3669     5044,   736,  4419,  5342,  2876,   838,  1518,  2358,  2444,  5164,
3670     5420,  5421,  2136,  1571,   737,   737,  5094,  1846,  1847,   737,
3671     2569,  3421,  1599,   798,   736,   737,  3302,   736,  2530,  2143,
3672     3529,  4316,  1626,  2702,  2936,  3630,  5453,  3471,  2372,  2913,
3673      944,  2284,  1453,  3164,  1857,  2091,   943,  1192,   737,  2540,
3674     1836,   737,  5001,  1731,  5037,  1633,   908,  2997,  3632,  3831,
3675     4445,  3661,  3892,  2100,   616,  5002,  2326,  1545,  4414,  4765,
3676     2537,  5212,  3779,  5091,  2309,  5126,  2344,  5003,  1928,  4312,
3677     3111,  1929,   730,  1155,  2310,  3780,  1063,  2121,  3630,   945,
3678     1546,   670,  4415,  1019,  2574,  2389, -2181,  3662,  4986,  1029,
3679     2327,  1836,  3672, -2181,  1063,  2309,  3832,   908,  5308,  2309,
3680      843,  1837,  1043,  2998,  2092,  5330,  4766,  3472,  2703,  3827,
3681     3164,  2309,  1984,   799,  2914,  2144,  2309,  2043,  2541,  5236,
3682     1767,  1193,  5422,  2309,  2285,  1875,  2014, -1734,  1447,   851,
3683     2937,  2359,  2877,  4317,   944,  2888,  2531,   946,  4049,  1836,
3684     2309,  1454,  2309,  5523,  4420,  2089,  1591,  5165,  1086,  5237,
3685     1590,  1937,  3951,  5045,  1227,  2526,  5017,  3468,  1063,  4432,
3686      671,  5266,  1917,  2583,  3525,  1731,  4471,  1448,  4660,  3470,
3687     2101,  3503,  1837,  2969,  4313,  5454,  2970,  2049,  2507,  3726,
3688     5455,  4634,  2474,   945,  3722,  5163,  3010,  3119,  1726,  3904,
3689     2570,  1351,  4401,  2408,  1525,  5478,  1976,  3921,  3264,  2534,
3690     1449,   957,  1897,  3303,  2085,  4446,  2055,   825,  2373,   863,
3691     1193,   863,  4985,   866,  4333,   863,  3992,  1226,   186, -2462,
3692     1837,  1002,   910,   872,   999,  1887,  1000,  1032,  1001,   863,
3693     1977,   951,  1767,  5329,  5341,   952,   863,  3112,  2057,  2518,
3694      665,   946,  4574,  1837,  1997,   830,  4182,  1844,  1837,  2236,
3695     2427,  5118,   622,  1838,  5004,  1193,  2421,  5005,  3251,   839,
3696      605,  5522,  1166,  2829,   866, -2162,  1973,  2400,  1450,   875,
3697     2403,  1935,  5205,   910,  4442,  4447,   875,  1063,  3529,   875,
3698     1767,   993,  1983,  4240,  3595,  1063,  1063,  3415, -2462,  1639,
3699     1639,  1639,  3304,  1405, -1911,   863,  4602,  2410,  1994,  1063,
3700     4606, -2462,  5542,  2871, -2403, -2441,  4489, -2303,  1848, -2464,
3701     3691,  1196,  5476,   186,  5291, -2501,  4490,   951,  1852, -2275,
3702     1837,   952,  2076,  4846,  1866,  2467,   742,   743, -2304,   742,
3703      743, -1916,  2352,  4545,   742,   743, -2670,  5424, -2331,  4638,
3704     3544, -2406, -1906,  2890,  1516,  1517,   825,  2045,  1158,   789,
3705      789,   789,  2170,  2171,  2087,  5414,  1167,  2571,  1172,  1748,
3706     1176,  2445,  1860,  2097,  1216,  4593,  1180,  4595,  1860, -2274,
3707     2894,  1837,  1884,  1767,  1455,  1196,  4836,  2073,  2074,  2075,
3708     2076,  2440,   908,  1861,  1332,  1332,  1545,   825,   789,  1861,
3709     2446,   852,   789,  1743,  2676,  1895,  3904,  1862,  2293,  1750,
3710     1919,  1161,  1751,  1864,   853,  1408,   825,  5385,  5309,  1546,
3711      825,  1632,  2659,  1736,  -135,  -135,  1332,  1516,  1517,  1837,
3712     5389,  1460,  2706,  2475,  2132, -1878,  2458,  5362,   825,  1051,
3713     3828,  3678,  3052,  3679, -2181,  5110,  4799,  1456,   186,  5480,
3714      825,   181,  3051,   772,   176,  5264,   177,  3126,   179,  5334,
3715     5269,  2293,  3070,  2686,  3863,  5340,   825,  2103,  3884,  3885,
3716     3672,  2319,  2115,  2115,  2698,  1605,  2633,  3966,  2293,  4072,
3717     3824,  4262,  1922,  4303,   825,   881,  2126,  2130,  4405,   863,
3718      863,  2130,  2758,  3945,   917,  4661,  2360,  3541,  3542,  3543,
3719     3544,  3011,  1183,   786,  1202,  1204,  3922,  1977,   939,   670,
3720     1015,   670,  5521, -1878,  1836,  3288,  4404,  1606,  4220,  3127,
3721     4822,   789,   789,  3651,  5318,   666,  3260,  2563,   847,  3156,
3722     1113,  5466,  1375,  1887,  1805,   171,  5105,  1341,  3640,   773,
3723     4464,  1349,  5472,  2516,  1332,  1332,  5333,  4717,   854,    66,
3724     2687,  2274,  2975,   605,  5539,  1806,  2707,  1801,  2931,  1741,
3725     3024,  3738,  2766,  5019,   875,   670,  5484,  5485,   910,  2854,
3726      875,  4718,  1438,   875,  2289,   182,  2237,   616,  3042,  2276,
3727     1052,  4041,  5030,   667,  4557,  5415,  5503,  3087,   863,  2283,
3728       75,  4210,  3673,    78,    79,   618,    80,  5423,  3638,  1802,
3729     3878,  3879,  1537,    81,   757,   103,   121,  1860,   126,  5020,
3730      825,  3157,  2564,  2351,  1354,  4331,  2405,   863,   863,  3526,
3731     3527,   668,   670,   669,  3546,  1906,   151,   155,  1861,  2993,
3732     2615,  2616,   174,   855,  3739,  4507,  4862,  1185,   180,   825,
3733      825,   825,  1862,   863,  4235,   605,   605,   605,  3088,  5070,
3734     3042,  4928,  2071,  2072,  2073,  2074,  2075,  2076,  2943,  3043,
3735     2983,  3576,  3577,  2231,  3158,   786,  1202,  1907,  2767,  5544,
3736      182,   838,  4841,  1630,  4236,  3877,  2390,  5486,  2447,  2393,
3737     2394,  5490,  -679, -1878,  2581, -1095,  1411,  4236,  1607,  2753,
3738     2585,  2232,  4360,  3974,  4558,  4865,  5473,  4457,   774,  1234,
3739     5399,  5106,  3529,  4424,  4469,  2855,  3530,  3531,  3532,  2582,
3740     2856,  1538,   891,  1807,  3906,   863,  3289,   863,   863,   892,
3741      893,   894,  3159,  1871,  1859,  2238,  4549,  1053,  4550,  4470,
3742     1829,  3043,  1731,  5520,  4002,  3253,  1610,  3747,  4868,   775,
3743      776,  2768,  1611,  4872,   845,  5059,  4874,  2857,  2223,  5185,
3744     1332, -2272,  1639,  3539,  3540,  3541,  3542,  3543,  3544,  2708,
3745     3909,  4823,  1427,  1054,  3630,  3382,  2224,  3630,  1871,  5348,
3746     1803,  3813,   186,  4530,  3901,  5204,  2320,  5543,  1731,  2709,
3747     1955,  1955,  2695,  2696,  5184,   825,  5207,   756,  5219,  2321,
3748     5499,  2322,  1608,   851,  1837,   182,  1872,  5554,  1016,  3794,
3749     5555,   761,  2769,   772,  2223,  2770,  2688,  4795,   825,   846,
3750     4789,  1186,  2448,  4001,  1990,  2239,  3911,   825,  1114,  4003,
3751     1996,  5206,  1055,  2565,  2225, -1735,  3160,  2345,  1056,  4644,
3752     2826,  4719,   777,   730,  1332,  3046,  2944,  2566,  1908,  3630,
3753     2233,  1872,  2420,  2226,  1428,  1612,  3748,  1742,  3025,  1631,
3754     4425,  4801,  2323,  4236,   839,  1355,  2963,  1873,   856,  5071,
3755     1874,  2488,  2496,  2043,  3998,  1332,  4361,  2146,  5500,  1165,
3756     2614,  4551,  1539,  3713,  1804, -1878,  5440,  3209,  4675,  3533,
3757     2225,  1412,   770,  3210, -1878,   847,  1848, -1878,  1422,   773,
3758    -1878,  2858,  2609,  1332,  1332,  1332,  1429,  1332,  4776,  2226,
3759     5400,  3534,  1873,    41,  2497,  1874,  5172,  3046,  3795,  4750,
3760     2147,  1540,  3934,  4920,  3914,  3714,  2771,  1332,  5324,  1020,
3761     5438,  5060,  2128,  2668,  1356,  1020,  1939,  2653,  1941,  4943,
3762     1943,  2634,  1945,  5108,  1947,  1948,  1949,  1220,  1020,    45,
3763     3042,  1951,  1909,  3652,  1541,  5349,  2647,   908,  3161,  2649,
3764     2137,  2138,  5501,  2142,  5039,   825,  3162,  3915,   951,  3163,
3765     5066,  4200,   952,   853,   853,  1408,   853,  2395,  5040,  3535,
3766     2636,  1875,  2148,  3916,  4004,  4637,  3825,  4417,  2661,  1726,
3767     5401,    49,  3644,  2935,  2648,  1332,  3211,  4927,  2783,  1332,
3768     1332,  2227,  1387,  1430,    50,  1503, -1735,  2654,  3360,  5125,
3769      825,   825,  2176,  5208,  1332,  2985,  1613,  5402,  5087,  2689,
3770     3055,  1767,  2692,  2693,   635,  2685,  1875,    51,  2366,  2690,
3771     2149,  3043,  5441,  2694,   848,  1583,  2697,  2772,   789,  4173,
3772     4958,  2945,  2717,   771,  1234,  2383,  5173,  3529,  1887,     3,
3773        4, -2671, -2671, -2671,  4005,  1614,  4418,  2227,   774,  3826,
3774     3749,  3750,  5128,  2212,  1887,  3142,  3044,  5132,  5133,  4502,
3775     4528,  4759,  4174,  2280,  1370,  5532,  1584,  4301,   789,  3796,
3776     3917,   863,   821,  3175,   637,  2498,  1585,  4608,  1615,  3751,
3777     2150,  3935,  1876,  -577,   825,  2308,  3715,  4176,  4198,   775,
3778      776,  2986,  1388,   825,  3215,  3045,   863,  5502,  3630,  1830,
3779      716,  5261,  2396,  3056,  2228,  2397,  4677,  2241,  3797,  3904,
3780     3116,  5174,  3218,  4682,  3653,  4862,  1887,  2242,  2146,   182,
3781       15,   619,   794,   910,  1887,   825,  5029,  1876,   789,  3143,
3782     2269,   635,  4201,  3216,  1393,  3140,  1453,  1503,  2997,  1639,
3783     4302,  3798,  3428,  5041,  4236,   789,  1877,  3212,   825,  1574,
3784     4199,   825,  2423,  1831,    20,  3418,  1063,  1435,  5267,  1436,
3785     2228,  2147,   635,  3536,  3537,  3538,  3217,  3539,  3540,  3541,
3786     3542,  3543,  3544,   863,  4760,  5038,   897,   898,   899,  2499,
3787      900,   901,   902,   903,   904,   905,  3213,   825,  1575,  2002,
3788     3716,   637,  4243,  4744,  3694,  4065,  3195,  3046,  2107,   863,
3789      863,   863,   863,   825,  4423,  4178,  1395,  4790,  1527,  2011,
3790       41,   943,  3331,  2405,  3149,  3150,  3419,   825,  3153,  3214,
3791      189,   189,   637,  4463,  3140,  3238,  4745,   797,  1332,  1332,
3792     1332,  1611,  3737,   189,  1586,  3343,  3344,  3345,  3346,  4458,
3793     2108,  2028,   648,  1393,   649,  1454,    45,  3351,   832,  5338,
3794     1438,  1832,  2217,  1396,  4657,  1438,  2040,  3901,  3224,  2980,
3795     3254,  3255,  3256,  2218,   190,   190,  4084,  1542,  4085,  1587,
3796      654,  2149,  3379,  1588,  4244,  2243,  2336,   190,  1466,  4393,
3797     1528,  2219,  4329,  4396,  4397,  4953,  4399,  1767,    49,  4222,
3798     2645,  2680,  3750,  1171,  1173,  1175,  3299,  1576,  1177,  1178,
3799     1179,    50,  2607,  4028,  3535,  3260,  1589,  1833,  1184,   944,
3800     5382,  3872,   908,   908,  2244,  1395,  -448,  2635,  3630,  3401,
3801     4289,    41,  3630,  4658,    51,  1438,  2480,  4630,   825,  1438,
3802     1875,  2150,  5157,  5277,  1612,  4245,    33,  5158,    52,  4246,
3803      863,   863,   851,   851,  4195,   851,  4982,   841,  1393,  4512,
3804     1555,  4513,  3223,  1394,   927,  5191,  5016,    45,   945,   648,
3805      863,   649,  4080,  4081,  4082,  4083,    41,  3829,  4088,  4089,
3806     4090,  4091,  4092,  4093,  4094,  4095,  4096,  4097,  -158,   825,
3807     3330,  5218,  1601,   928,  3065,  4236,  2049,  1783,  5159,  1556,
3808      648,  1355,   649,  3068,    41,   863,   863,   863,   863,    49,
3809     4950,  4086,    45,  1834,  1432,  5278,   842,  3649,   825,  5211,
3810    -2294,  4087,  3864,   730,  -158,   825,   946,  2480,  1783,    41,
3811     1395,  1602,  5488,  4951,  3154,  1603,  1044,  4138,  4139,   605,
3812       45,  5197,   605,  2220,  -448,  2700,   866,  2337,  2681,   908,
3813       36,  1922,  1332,  -158,    49,  2535,  4040,  2057,   717,    52,
3814     3697,  4835,  5058,   858,  1604,    45,   745,    50,  3372,  5338,
3815     1356,  1045,   745,  5198,  3901,  4236,  2338,  1396,  4223,  2375,
3816     2682,  1347,    49,  1220,  4224,   867,  1887,   875,   875,  3174,
3817       51,  4225,  2314,  2683,  2315,    50,  3823,  4041,   910,   910,
3818     3089,  2339,   875,  2095,   718,   875,  1046,    49, -2671, -2671,
3819    -2671,  3978,  3539,  3540,  3541,  3542,  3543,  3544,    51,  3176,
3820       50,  2049,   863,   863,  3199,  2461,  4226,  3179,  2684,   863,
3821     3182,   825,    52,  5546,   857,   736,  2334,  1545,  5121,  5427,
3822       29,  1413,  4001,    51,   186,  3219,  2711,  2232,  4227,  5331,
3823     2055,  1063,  3221,   869,  1047,  2316,  1955,    52,  3244,   737,
3824     1546,  3090,  2414,   863,  2462,   875,   889,  2723,   875,   875,
3825     4763,   825,   825,  4903,   863,  4905,  4236,  2633,  3220,  1811,
3826     1414,   825,  2057,  4277,  4907,  3222,   933,  5332,   825,  4664,
3827     4665,  2415,  4915,  2395,  3562,   756,   756,  5188,   186,  2728,
3828     3569,  1002,  1812,  1332,   999,  1332,  1000,  1063,  1001,  4794,
3829     1332,  1332,   890,  1415,  5202,  1044,  4278,  1332,  1332,  1332,
3830      604,  4774,  1332,  5054,  1332,   910,  1332,  1332,  1332,  1332,
3831     1332,  1332,  1161,  1332,    41,  1332,  1332,  3395,  1860,  1332,
3832     4780,  4241,  3478,  3479,  1017,  1914,  1018,  3499,  1424,  2326,
3833     1045,  5229,  2130,   942,  1332,  1332,  1332,  1332,  2722,  1861,
3834      950,   863,  1332,  3030,  4781,  4075,  1332,  1545,  1915,  1332,
3835       45,  1418,  1332,  1332,  1332,  1332,  1332,  1332,  1332,  1332,
3836     1332,  2749,  1332,  2327,  1004,  3947,   908,  1425,   825,  1332,
3837     1546,  1332,  3634,  3441,  4101,  1006,  4279,  5228,   825,  3026,
3838     4243,  5426,  3031,  3032,  -135,  2670,  1419,  2671,  1580,  2672,
3839     1420,  2673,    49,  2674,  4172,   716,  5416,  2675,  4754,  2309,
3840     1426,  1985,  3791,  3018,  1986,    50,  5271,   825,  2396,  2317,
3841     1021,  2397,  1022,  1047,  1332,    15,  1009,  1938,   825,   825,
3842     1940,  2907,  1942,  1421,  1944,  5166,  1946,  1581,    51,  1332,
3843     1950,  4413,  4172,  3630,  3677,  3455,  1012,   765,  1332,  1332,
3844     3630,  3792,  5428,   951,  2908,  3630,  3064,   952,  3630,    20,
3845     3636,  2463,   825,  5195,  5320,  4379,  1026,  5162,  4362,  2949,
3846     1582,  2954,  4244,  1039,  2464, -1666,   766,  4173,  3727,  -576,
3847      767,  3630,  2947,  2987,  3793,  2990,  4380,  5479, -1666,  4288,
3848     1048,  4363,   628, -1666,  3630,  4735,   861,  4736,  4737,  3954,
3849       29,  4738,  2465,   866,  3755,   874, -1705,  1860,  3456,  3964,
3850     4174, -1705,   756,   874,   756,  4173,   874,  5154,  3593,  5156,
3851     1558,  2903,  1548,  5160,  5161,  4175,  4465,  1848,  1861,  1422,
3852     3050,  1332,  4950,  4245,  3155,  4176,  1063,  4246,  1049,  1559,
3853    -1666,  1618,  1864,   605,  1622,   863,   863,  4950,  4174,  1050,
3854      875,  2984,   910,   875,   875,  4951,   863,  1065,   863,  2376,
3855    -1666,  4177,   863,  4175,  2379,   825,  3348,  5384,  5545,  1069,
3856     4951,  3349,  5196,  4176, -1665,  3500,  2123,   635, -1705,  2124,
3857     3501,   182,  4280,  1112,  4287,  1535,   789, -1665,  1922,  1560,
3858     1552,  2001, -1665,    52,    41,  5260,   845,  2308,  4263,  4177,
3859    -1089,  4272,  2453,  5411,  1122,  3075,   825, -1666,  3905, -1706,
3860     3682,  3241,  3086,  3349, -1706,  1848, -1666,  2203,  1639,  4492,
3861     1121,   825,  1427,  4053,  1639, -1705,  4869,  1196,  1196,  1128,
3862       45,  1196, -1666,  2129,  2450,   182,  2130,   637,  2456, -1665,
3863     1139,    33,   825,  4917,  2602, -1666,  2603,  3131,  3131,  1234,
3864    -1666,  1146,  3529,  4178,  4304,  1063,  3530,  3531,  3532, -1665,
3865     3630,   846,   825,   825,  2134,  3950,   825,  2124,   866,   789,
3866     3893,    41,    49,  4126,  1855,  1856,  1561,  4219,  5464,  4016,
3867     4017, -1706,  1848,  1156,  2203,    50,  5475,  2665,   228,  3335,
3868     2130,  4178,   863,  2677,   620,   863,  2678, -1666,   730,   951,
3869     2336, -2275,   714,   952,  1428,  1187, -1665,    45,    51,  1195,
3870     3923,  2679,  2834,  2115,  2678, -1665,  1191, -1666,   825,   825,
3871     3630,   795,    52, -1420,  1562, -1420,  1208,  1563, -1706,  2839,
3872     2840,  2841,  2842,  3226,  2336,  3229,  3231,   847,  2472,  2473,
3873     2336,  3704,  2404,  1198,  3555,  3686,  3557,  3558,  2714,    49,
3874     3189,  2715,  5513,  1217,  2906, -1666,  1429,  1922,  2955,  2932,
3875     2933,  2130,    50,  5510, -1666,  1206,  1332,  1332,  1332,  3683,
3876     3684,  2516,  1332, -1666,  2539,  1210,  1565,  3062,   863,  4870,
3877     3063,  3134,  2556,  1209,  3135,    51,   863,  3294,  3406,   863,
3878     3295,  2130,  1213,  1196,  2453,   863,  5010,  1218,  2813,    52,
3879       41,  2816,     3,     4,  1332,   648,   863,   649,  4483,  3447,
3880     1219,  3498,  2678,  5221,  2130,  1220,  2402,  3195,   651,  3507,
3881     2308,  1567,  2130,  3131,  3513,   825,   182,  2130,   825,  1221,
3882      653,  3514,  3333,  1783,  2130,   756,    45,  4960,  3975,  3515,
3883     3976,  3730,  2130,  1568,  1223,  4238,  4239,   863,  1332,  3548,
3884     2429,  3534,  2130,  1430, -1665,  3561,  2460,  4476,  2130,  3382,
3885     1848,  2337,  2203,  1570,  3630,  3226,  1228,  3901,  3489,  5461,
3886     2637,  3492, -1729, -1729,  3493,   863,   848,  3365,    49,  1222,
3887     3566,  3156,  3336,  3567,  3609,  5378,  3610,  2336,  1230,  3361,
3888     2338,    50,  1350,  3485,  5111,  2337,  3940,  2453,  3420,  3422,
3889     3423,  2337,  5116,  3317,  3772,  1332,  3777,  3773,  3802,  3778,
3890     1353,  3803, -1666,  1431,    51,  2339,  3786,  1357,  2336,  3535,
3891     1432,  4406,  3630,  4407,  2338,  1358,  2336,  3807,    52,  1359,
3892     2338,  3611,   863,  3612,   863,  3131,   863,  3131,  3861,  1363,
3893     3987,  3803,  1063,  3988,  1063,  3989,  3816,  1371,  3990,  2339,
3894     2334,  3630,  1433,  1376,  4012,  2339,    36,  4013,  5528,  1234,
3895     5529,  2753,  3529,  3157, -1733, -1733,  3530,  3531,  3532,   908,
3896     1379,  5397,  1955,  2633,   951,  2336,  4014,  1379,   952,  2130,
3897      861,  1377,  5527,  4127,  2334,  1434, -1732, -1732,  4107,   874,
3898     2334,  4108,  4118,  5050,  4129,  4119,   874,  2130,  1379,   874,
3899    -1654,  1558,  4208,  3053,  4213,  4209,  1390,  4214,  1392,  2336,
3900     4218,  4044,  4242,  2970,  1374,  2678,  3158,  1435,  4466,  1436,
3901     1559,  2678,  4607,   605,  4610,  1063,  1391,  4288,  3924,   875,
3902     3926,  1380,   875,  3645,  3128,   875,  5359,  5360,  1407,  1633,
3903      839,  4113,  3821,  4525,   863,  1410,  1977,  5560,  2337,  1406,
3904     4546,  4575,  1332,  2130,  2715,  4587,  3630,  1332,  2130,  4640,
3905     4646,  1458,  2970,  4647,  2753,  5446,  5447,  1416,  3318,  1437,
3906     1560,  1422,  4653,  4654,  3159,  2678,  2678,  2338,  1484,  2337,
3907     4838,  1332,  1332,  1332,   839,  4796,  1332,  2337,  4797,  4828,
3908     4843,  3830,  4013,  4844,  1332,  1332,  1332,  1332,  4964, -2305,
3909     1487,  3933,  2339,  3936,  1489,  1490,  4845,  1332,  2338,  2130,
3910     1332,  3995,  1332,  3536,  3537,  3538,  2338,  3539,  3540,  3541,
3911     3542,  3543,  3544,  1332,  1332,  3865,  4852,  1332,  4922,  2715,
3912     4673,  4923,  5011,  2339,  4283,  2678,  2337,  2334,  1525,  1530,
3913     5051,  2339,  4965,  5052,  1529,   910,  1531,  1332,  1542,  1332,
3914     5067,  1332,  4794,  2715,  4188,  5074,  1544,  1561,  5075,  2336,
3915     4281,  3534,  1557,  2956,  1554,  2338,  5084,  4966,  2334,  1922,
3916     2337,  1332,  1592,  1579,  5090,   825,  2334,  3961,  3160,  1593,
3917     5092,  2972,  3631,  3961,  4967,  1609,  5103,  2976,  4968,  5104,
3918     2339,  2979,  3630,  1619,  5147,  1620,   839,  5148,   825,  2338,
3919     3614,  3615,  3616,  4259,  2048,  1562,  1332,  2049,  1563,  4969,
3920     5187,  4037,  4970,  2094,  1623,  5220,  5230,  3003,  5104,  2715,
3921     1628,  1332,  3319,  2404,  2339,  2334,  1629,  4971,  5231,  3535,
3922     1732,  3567,  1734,   182,  5232,  3631,  2055,  2130,  1735,  3666,
3923    -2573,  3628,  3669, -2671,  2954,  5243,  5249,  5252,  5244,  1922,
3924     3961,  1744,  5270,  1737,  3116,  2678,  4299,  1565,  2836,  2334,
3925     2837,  2336,  3057,   861,  4052,  1740,  3630,  5276,  2057,  1745,
3926     2715,  3320,  3630,  5282,   874,  4264,  2715,  1753,  5283,  3140,
3927      874,  2715,  1020,   874,  2838,  1332,  5286,  3131,  1754,  2130,
3928     5287,  4385,  1955,  2130,  3628,  5288,  4400,  1757,  5289,  3195,
3929     3161,  5316,  1567,  5366,  5317,  1760,  5367,  4059,  3162,  5370,
3930     5371,  3163,  1922,  2130,  3107,  4972,  1763,  1765,  1771,   863,
3931     2337,   863,   863,   863,  1568,  5372,  5374,  5393,  2130,  2130,
3932     5394,  5418,  1774, -2573,  5419,  3578,  5448,  1767,  1926,  3961,
3933     3136,  1776,  5460,  1785,  1570,  5097,  3145,  5487,  5525,  2338,
3934     5104,  5526,  1786,  3151,  1790,  1824,  1825,  1826,  1791,  4570,
3935     1020, -2575,  5538,  3165,  4390,  2130,  4973,  5540,  -178,  3170,
3936     5541,  5065,  5558,  3630,  2339,  5367,  1793,  4305,  5566, -2671,
3937     1794,  5541,  1796, -2573, -2671,  2839,  2840,  2841,  2842,  3183,
3938     1798,  1491,  2843,  2844,  1799,  3186, -2573,  1492,  2845,  1814,
3939     3190, -2573,  1821,  2846,  1828,  1835, -2573,   208,  1840,  2334,
3940     1841,  1842, -2573,  3207,  3645, -2573,  1844,  1848,  1851, -2573,
3941     1852, -2671,  2337,  3536,  3537,  3538,  3232,  3539,  3540,  3541,
3942     3542,  3543,  3544,  1854,  1868,   825,  1883,  1020,  1870,  1494,
3943     1882,  1886,  2040,  3906,  1887,  1894,  1898,  1900, -2573,  3907,
3944     1901,  2338,  1903,  1910, -2575,  1905,  3581,  1911,  3582,  1913,
3945     1918,  3908,  1921,  1924,  1925,  1927,  1982,  1952, -2573,  1991,
3946     1989,  1992,  1999,  1998,  2064, -1882,  2339, -1889,  2008,  2006,
3947     2007, -1879,  3583, -1880,  2009,  2042,  2040,  2010,    52,  3909,
3948     2012,  3910,  2013,  1495,  2014,  2015,  2016,  2017,  2018,  2020,
3949     1496, -1883,  2021,  1497, -2575,  2022,  2023,  2024, -1881,  2834,
3950     2025,  2334,  2080,  2026,  2027, -2573,  2029, -2575, -2573,  2082,
3951     2030,  2031, -2575,  2032, -2573,  3602,  2033, -2575,  2034,  1498,
3952     2035,  2036,  2084, -2575,  2098,  2110, -2575,  2085,  2133,  2094,
3953    -2575,  3621,  2118,  2135,  2847,  3911,  1394,  1332,  1396,  2166,
3954     2168,  2177,  2179,  1332,  2180,  2848,  2181,  2182,  2198,  1558,
3955     2199,  2200,   863,  1499,  2201, -2671,  2203,  3131,  3131, -2575,
3956     2204,  2205,  2206,  3912,  2207,  2208,   765,  1731,  1559,  2215,
3957    -2573,  2209,  2234,  2839,  2840,  2841,  2842,  2246,  2271, -2575,
3958     3584,  2240,  2178,  4770,  3621,  2277,  3585,  2275,   838,  2753,
3959     2278,  3586,   825,   825,   825,  2279,  2281,  2282,  2295,  2299,
3960     5242,  2300,  2301,  2313,  2324,  2328,  2312,  2331,  2330,   825,
3961     2332,  4328,  2333,  2334,  2341,  2342,  1596,  2346,  1560,  2343,
3962     1501,  2347,  2348,  2357,  3985,   761, -2575,  2353,  3913, -2575,
3963     1502,  1955,   825,  3914,  2368, -2575,  2354,  2367,  2363,  1503,
3964     2369,  1955,   825,   825,  2364,  2374,  2384,   825,  2370,  2371,
3965     3131,  1504,  2391, -2573,  2398, -2671,  2377,  2401,  2380,   825,
3966     2418,  2381,  2071,  2072,  2073,  2074,  2075,  2076,  2386,  2387,
3967     3981,  2399,  3461,  2406,  4476,  2407,  3915, -2573,  1503, -2573,
3968    -2573,  2412,  2422,  2413,  2417,  2424,  2419,  2425,  2430,  2441,
3969     3475, -2575,  3916,  1506,  1507,  2442,  2482,  4009,  3461,  2449,
3970     2431,  2471,  2478,  2443,  2484,  1561,  2485,  4628,  4438,  4439,
3971     2486,  2487,  2491,  2492,  1196, -2573,  2493,  2454, -2573, -2573,
3972    -2573,  2494,  2495,  1508,  2501,  2502,  2503,  2505,   863,  2504,
3973     2510,  2509,  3587,  2511,  2512,  5113,  2517,  2521,  2520,   630,
3974     2524,  2535,  2529,  3588,  4144,  2557,   761,  2554,  2538,   825,
3975     2549,  2553,  2562,  1562,  2580,  2589,  1563,  1576,  2599,  2573,
3976     2593,  2576,   825,  2601,  2579,   825,  2605,  2596,  2617,  2619,
3977     2627,  2404,  2610,  2611, -2575,  2620,  2628,  2630,  2629,  4517,
3978     4518,  4519,  4520,  4521,  2631,  2638,  2640,  1332,  2642,  3917,
3979     2641,  1509,  2643,  2691,  2656,  2657,  1332,  2699, -2575,  2712,
3980    -2575, -2575,  4742,  2763,  1332,  1565,  1332,  2624,  2725,  1332,
3981     2808,  2625,  2758,  2814,  1332,  1332,  1332,  1332,  2049,  2818,
3982     1332,  1332,  1332,  1332,  1332,  1332,  1332,  1332,  1332,  1332,
3983     2827,  2833,  2851,  1332,  1332,  2873, -2575,  2874,  2888, -2575,
3984    -2575, -2575,   839,  1332,  2853,  4522,  2896,  1332,  2893,  2048,
3985     1567,  1332,  2049,  4625,  2898,  2924,  4815,  2899,   846,  1332,
3986     2897,   839,  1332,  2926,  1332,  2912,  2948,  2927,  2925,  2941,
3987     2959,  2960,  1568,  2962,  2993,  2048,  1332,  2995,  2049,  1332,
3988     1332,  2055,  2988,  2996,  1332,  1332,  2991,  3645, -2671,  4148,
3989     3002,  1332,  1570,  3019,  3007,  3012,  3013,  3015,   825,   825,
3990      825,   605,  3037,  3038,  3631,  4170,  3017,  2055,  3041,  4170,
3991     4184,  4170,  3645,  2057, -2671,  3023,  1332,  4152,  4153,  4154,
3992     4155,  3054,  3059,  3027,  1347,  1351,  3061,  3078,  3071, -2591,
3993     3091,  3096,  3122,  3123,  3097,  3129,  3124,  3141,   186,  2057,
3994     3133,  1002,  1332,  3169,   999,  3185,  1000,  3148,  1001,  3227,
3995     3240,  3168,  3252,  3267,  3248,  3249,  2954,  3272,  1332,   847,
3996     3628,  3261,  3273,  3628,  3274,  3280,  3285,  3308,  3309,  3296,
3997     3323,  3327,  3329,  3325,  5504,  5505,  4237,  1955,  1955,  3347,
3998     2480,  3338,  4755,  3355,  3341,  3702,  3356,  3363,  3358,  3350,
3999     3359,  3366,  3357,  3368,  3370,  3371,  3374,   863,   863,   863,
4000      863,  3375,  3393,  3394,  3396,  3397,  3592,  3398,  3400,  3402,
4001     3407,  3410,  3409,  3412,   182,  1875,  3425,  3437,  3439,  3411,
4002     2612,  3440, -2591,  3413, -2671,  3446,  2308,  3417,  3426, -2671,
4003     3444,  3449,  3454,  3450,  2405,  3628,  3462,  2726,  3451,  3452,
4004     3453,   182,  4671,  1922,  4293,  1919,  1884,  3466,  3464,  3473,
4005    -2671,  3465,  3481,  3483,  3476, -2671,  3490,  1193,  5117,  3491,
4006     3509,  3510,  3495,  3488,  3512,  3511, -2671,  3525,  3487,  3516,
4007     3517, -2154, -2591,  3580,  3563,  3575,  3521,  3591,  3524,  3547,
4008     3605,  3553,  3590,  2130,  3560, -2591,  3574,  3680,  4681,  3600,
4009    -2591,  3641, -2671,  3601,  3645, -2591,  3782,  5151,  3603,  3604,
4010     3607, -2591,  3642,  3656, -2591,  3647,  4720,  4721, -2591,  4723,
4011     3632,  3667,  3654,  3660,  3685,  3674,  3687,  3658,  3696,  2064,
4012     3699,  3692,  3693,  3688,  4713,  3701,  3723,  3724,  3734,   861,
4013     3735,  3708,   861,  3736,  3740,  3741,  4340, -2591,  3742,  3743,
4014     3757,  4382,  3746,  3758,  3760,  2064,  5141,  4348,  5143,  3768,
4015     3766,  3767,  3781,  3776,  3790,  3804,  3806, -2591,  3810,  3808,
4016     3811,  3812,  3817,  3815,  3818,  3819,  3820,  3834,  3822,  1977,
4017     3835,  2752,  3850,  2755,  3836,  3837,   863,   874,   874,  2762,
4018     3838,  3841,  3853,  3844,  3839,  2776,  2777,  2778,  3855,   825,
4019     3840,   863,   874,  1332,  3842,   874,  2795,  2797,  2439,  3857,
4020      825,  2807,  3843,  3845, -2591,  4963,  4429, -2591,  3846,  3847,
4021    -2671,  3848,  3873, -2591,  3849,  3859,  2308,  3860,  3866,  3889,
4022     3876,  3867,  3880,  4772,  3869,  3870,  3871,  3881,  3883,  3891,
4023     3932,   825,  3931,  3941,  3938,  3631, -2671,  3942,  3944,  3946,
4024     3949,  3960,  3961,  3963,  2040,  3226,  3979,  3980,  3970,  3984,
4025     3999,  4008,  3973,  4011,  4477,   874,  3986,  4018,   874,   874,
4026     4159,  3983,  4022,  4164,   825,  4019,  4020,  4031,  2480, -2591,
4027     4032,  4033,  5008,  4034,  4035,  1332,  1332,  2048,  4487,  4038,
4028     2049,  4036,  4046,  4024,  5293,   182,  4043,  4047,  4045,  4056,
4029     4057,  4058,  4060,  4061,  3628,  4062,  4063,  4064,  4068,  2001,
4030     5299,  5301,  3529,  3550,   908,  4910,  3131, -2153,  3131,  2055,
4031    -2671,  4078,  3549,  4103,  4104,   825, -2671,  2071,  2072,  2073,
4032     2074,  2075,  2076,  4131,   761,  4105,  4120,  4133,  4162,  4145,
4033     4190,  4202,  4186,  4205,  4211,  4207, -2671,  4229,  4250,  4221,
4034     5073,  2057,  4252,  2071,  2072,  2073,  2074,  2075,  2076,  4258,
4035     1332,  4265, -2591,  4268,  4112,  4132,  4271,  4136,  4934,  4192,
4036     4163,  4151,  1332,  4194,  4196,  4171,  4253,  4266,  4269,  4275,
4037     4273,  4276,  4291,  4306,  1234,  4307, -2591,  3529, -2591, -2591,
4038     4294,  3530,  3531,  3532,  4308,  4309,  4310,  4320,  4321,  4322,
4039     4323,  4324,  1332,  4325,  4334,  1332,  4336,  4337,  4577,  4350,
4040     4351,  4356,  2048,  1332,  1332,  2049,  4359,  4815,  4137,  4376,
4041     1332,  1332,  4375,  2453, -2591,  1332,  4378, -2591, -2591, -2591,
4042     4282,  1332,  4392,  4381,  1332,  1332,  4391,  4394,  4395,  1332,
4043     4586,  4039,  4398,  4410,  2055,  1332,   825,   825,   825,   825,
4044     5395, -2671,  4421,  4170,  4184,  4170,  4435,  1332,  4170,  4441,
4045     4449,  4600, -2671,  4455,  2678,  3631,  4055, -2671,  4456,  3631,
4046     4459,  4461,  4468,  4484,  4929,  4615,  2057,  4462,  4478,  4485,
4047     4495,  4501,  4503,  4505,  4500,  4506,  4504,  4508,  4511,  4515,
4048      910,  4523,  4527,  4529,  4642,  4535,  4548,  4559,  4542,  1332,
4049     4562,  4543,  4553,  3666, -2671,  4563,  4552, -2155,  2954,  4603,
4050     4564,  4604,  4611,  4612,  4617,  4568,  4629,  4631,  4583,  4599,
4051     4596,  4601,  4616,   756,  3628,  4618,  1332,  4619,  3628,  4624,
4052     4627,  4626,  4636,  4643,  4639,  4641,  4649,  4655,  5293,  4659,
4053     4678,  4679,  4680,  4140,  4683,  4689,  3131,  3131,  4648,  4690,
4054     4691,  4712,  4710,   861,  5306,  4703,  4715,  2064,  4706,  4724,
4055      874,  1867,  4716,   874,   874,  2308,  4725,  4732,  2159,  4733,
4056     4734,  4739,  4743,  4746,  4747,  4752,  4753,  4761,  4762,  4756,
4057     4685,  1885,  4771,  4767,  4768,  4769,  3534, -2671,  4775,  5140,
4058     4777,  1896, -2671,  4785,  4788,  1899,  4800,  4793,  4804,  1902,
4059     4798,  1904,  4805,  1063,  3621,  4809,  4807,  1912,   607,  4811,
4060     4676,  4812,  4813,  1920,  4820,  4825,  1923,  4832,  4839,  4833,
4061     4684,  4840,  4842,  5083,  4963,  4848,  4849,  4850,  4851, -2671,
4062     1332,  4892,   182,  4857,  5083,  4873,  4898,  4901,  4904,  4914,
4063     4863,  2048,  4919,  4924,  2049,  4866,  4877,  4925, -2671,  4926,
4064     4895,  4918,  4931,  4916,  3535,   863,  4956,  4937,  4938,  4978,
4065     4942,  4947,  4420,  4948,  4949,  4987,  4989,  4995,  4990,  4996,
4066      863,  4993,  5014,  2055,  5015,  5027,  5022,  5034,  5024,  5032,
4067    -2671,  5053,  2064,  5057,  5055,  5268,  5056,  5072,  5076,  5082,
4068     5097,  5120,  5086,  5089,  5093,  5095,  5112,  5101,  5122,  5123,
4069     5135,  5129,  5169,  5167,  1332,  2057,  4260,  5175,  5179,  5182,
4070     5180,  5189,  5194,  5145,  5200,  5209,  5201,  5215,  5213,  5214,
4071      605,  5365,  5216,  5217,  5224,  5225,  2308,  5227,  5241,  5226,
4072     5254,  5233,  5258,  5257,  5279,  1955,  3340,  5262,  5263,  5275,
4073     5305,  5298,  5304,  5310,  5312,  5319,  5322,  5323, -2671,  5315,
4074     1332,  5346,  5343,  5345,  5351,  2071,  2072,  2073,  2074,  2075,
4075     2076,  5344,  5352,   863,  5363,  3365,   908,  5379,  5361,  4146,
4076     5388,  5390,  4141, -2671,  5381,  5398,  5308,  4791,  5309,  5265,
4077     5153,  5406,  5396,  5439,  5405,  5407,  5444,  5425,  5451,  5458,
4078     1063,  5463,  5471,  3405,   607,  5498,  4935,  5506,  5530,   825,
4079     5468,  5477,  5531,   607,   883,  5508,  5496,  3645,  5497,  5512,
4080     5535,   607,  5533,   883,   607,  5548, -2671,  5534,  5559,   908,
4081     5556, -2671,  4364,  5549,  3621,  4367,  5557,   883,  3621,  5561,
4082     2455,  5562,  1488,  4933,  3332,  3639,  2117,  3200,  1381,  3752,
4083     3121,  4297,  1332,  5250,  4290,  5391,  3239,  3287,  3536,  3537,
4084     3538,  3888,  3539,  3540,  3541,  3542,  3543,  3544, -2671,  4975,
4085      182,   182,  5292,  5469,  4437,  5033,  5007,  3690,  3448,  5383,
4086     4751,  1332,  1332, -2671,  4908,  1332,  5465,  4977,  5313,  5311,
4087     2071,  2072,  2073,  2074,  2075,  2076,  5404,  5482,  4488,  3695,
4088      605,  4467,  5273,  4170,  4430,  3306,  3770,  3631,  3307,  4295,
4089     3948,  1578,  3631,  4454,  5013,  3631,   605,  3297,  3226,  5018,
4090     4879,  2064,  1332,  1332,  3956,  4773,  5563,  5470,  4991,  5553,
4091     1491,  3894,  4496,  4936,  5409,  2528,  1492,  4451,  4237,  5140,
4092     1332,  5131,  5281,   763,  4939,  4524,  5107,  5524,  1974,  1594,
4093     2598,  4237,   910,   863,  2965,   863,  2453,  4497,  3681,  3628,
4094     2595,  2606,  5222,  5519,  2644,  1140,  3628,  1064,  2719,  2720,
4095     3856,  3628,  4326,  2721,  3628,  3237,  3952,  4349,  1494,  5430,
4096     5547,  3528,  4509,  4510,  2214,  1382,  2902,  2911,  1360,  2669,
4097     4897,  4632,  5377,  3556,  4215,  2940,  2090,  3628,  3643,  3655,
4098     2921,  4193,  5373,  2131,   875,   910,  5256,  2047,  4622,  2939,
4099     3628,  4166, -2671,  4594,  2048,  4609,  5088,  2049,  4160,  5240,
4100     2163,  2050,  2051,  2052,  5239,  3579,  2162,  5519,  4216,  5550,
4101     1595,  4161,  1495,  5450,  3461,  2167,  5364,  5507,  2053,  1496,
4102     2618,  2054,  1497,   861,  1063,  5519,  2055,  2172,   875,   874,
4103     5068,   825,   874,  2056,  4114,   874,  4894,  5375,  2878,  3598,
4104     5376,  3504,  2887,  4429,  3263,  3596,   825,     0,  1498,  3608,
4105        0,   825,     0,  3131,     0,     0,     0,     0,  2057,     0,
4106     2308,  5048,     0,     0,     0,     0,     0,     0,     0,     0,
4107     5012,     0,     0,     0,  4896,     0,     0,   825,     0,     0,
4108        0,  4477,  1499,     0,  5035,     0,     0,     0,     0,     0,
4109        0,     0, -2671,     0,     0,   863,   825,  4237,     0,  2071,
4110     2072,  2073,  2074,  2075,  2076,     0,     0,     0,  5046,     0,
4111        0,   182,     0,     0,     0,     0,     0,     0,     0,     0,
4112        0,     0,     0,  1332,   839,     0,  1332,     0,  1332,     0,
4113        0,  2048,     0,     0,  2049,     0,     0,     0,  2050,  2051,
4114     2052,     0,     0,     0,     0,  1596,     0,  1332,     0,  1501,
4115        0,     0,     0,  1332,     0,  2053,  3628,  3631,     0,  1502,
4116        0,  4879,     0,  2055,     0,     0,     0,  1332,  1503,  2058,
4117     2056,     0,     0,     0,  2059,     0,  5100,     0,     0,     0,
4118     1504,     0,   604,     0,     0,  2791,     0,     0,     0,     0,
4119        0,     0,     0,  2809,     0,  2057,  2060,  2061,   825,     0,
4120     1955,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4121        0,  2062,     0,     0,     0,     0,  3628,     0,     0,  1597,
4122      908,     0,  1506,  1507,     0,     0,  1332,     0,   883,     0,
4123        0,  1332,  1332,     0,   883,   604,   863,   863,   863,   863,
4124        0,     0,     0,     0,     0,     0,  3621,   883,     0,     0,
4125     2063,  3621,  1598,     0,  3621,     0,     0,     0,     0,     0,
4126        0,     0,     0,   883,  2064,     0,     0,  2065,   607,  1332,
4127        0,     0,     0,  1111,     0,     0,   605,   607,   883,     0,
4128        0,  4697,     0,     0,   607,     0,   883,   607,     0,     0,
4129        0,     0,     0,  4707,     0,     0,     0,     0,   825,  1111,
4130      883,  3631,     0,     0,     0,     0,  2058,  2923,     0,     0,
4131      883,  2059,     0,     0,     0,     0,     0,     0,     0,     0,
4132     1509,     0,     0,     0,     0,     0,  5203,     0,     0,     0,
4133        0,     0,     0,  2060,  2061,     0,     0,     0,     0,     0,
4134        0,     0,  1461,     0,  2639,     0,     0,     0,  2062,     0,
4135        0,     0,  2646,     0,     0,  2066,  1332,     0,     0,   605,
4136     3628,     0,  1332,     0,     0,     0,  5248,     0,     0,     0,
4137        0,     0,  2658,  1332,     0,     0,  1462,  1332,     0,  1332,
4138        0,  1332,     0,     0,     0,     0,     0,  2063,  4237,     0,
4139        0,     0,   607,   607,     0,     0,   910,     0,   883,  5387,
4140     5259,  2064,     0,     0,  2065,     0,     0,  1332,     0,     0,
4141        0,     0,     0,     0,   182,     0,     0,     0,  3628,     0,
4142        0,     0,   883,     0,   607,     0,     0,     0,     0,     0,
4143        0,     0,     0,     0,     0,   883,  1463,  1234,     0,     0,
4144     3529,     0,  1955,  1955,  3530,  3531,  3532,  3628,     0,     0,
4145        0,     0,   182,     0,     0,  2067,     0,     0,  2068,  2069,
4146     2070,  4578,  2071,  2072,  2073,  2074,  2075,  2076,     0,     0,
4147        0,  1464,     0,   863,  5436,  5437,     0,     0,     0,     0,
4148     5327,     0,     0,     0,  1332,     0,     0,  1234,     0,     0,
4149     3529,     0,  2066,  5339,  3530,  3531,  3532,     0,     0,     0,
4150        0,  2048,  3461,     0,  2049,     0,     0,  1465,     0,     0,
4151        0,     0,     0,     0,  5245,     0,  3621,     0,     0,  1332,
4152     1332,  1332,     0,     0,     0,  3226,  2040,     0,  1332,     0,
4153        0,     0,     0,  2055,     0,     0,     0,     0,  1332,     0,
4154    -2671,  5100,   607,   607,  1727,     0,  2954,  1467,     0,     0,
4155        0,   607,  3628,     0,     0,     0,     0,     0,  1111,     0,
4156      875,     0,   607,     0,     0,  2057,     0,     0,   607,     0,
4157        0,   607,     0,     0,     0,   863,     0,  2900,     0,  1469,
4158        0,  1234,  1955,  1111,  3529,  1432,     0,     0,  3530,  3531,
4159     3532,     0,  2067,     0,     0,  2068,  2069,  2070,  1111,  2071,
4160     2072,  2073,  2074,  2075,  2076,     0,     0,     0,  2308,  3518,
4161        0,     0,  3519,   605,  3461,     0,  3461,     0,     0,  1332,
4162        0,    36,  5410,  2291,     0,  1471,     0,     0,     0,  4237,
4163        0,     0,  4581,     0,  1472,   875,   875,  1332,     0,  3534,
4164        0,     0,  1473,   607,   607,   607,   186,  1332,     0,  5435,
4165     2292,  5248,  5432,     0,  5433,     0,  5434,     0,  1234,     0,
4166     3621,  3529,  1475,     0,     0,  3530,  3531,  3532,     0,  5495,
4167      182,  1476,   863,     0,     0,  1477, -2671,     0,     0,     0,
4168        0, -2671,     0,  1111,  5564,  5565,     0,     0,  3628,  3534,
4169        0,     0,     0,     0,     0,   747,     0,  4077,     0,     0,
4170        0,   747,     0,  5339,   863,   863,     0,  3535,     0,  4237,
4171        0,     0,     0,     0,     0,     0,     0,     0, -2671,     0,
4172      883,     0,     0,     0,   186,     0,     0,  5435,     0,  1478,
4173     5432,  4106,  5433,     0,  5434,     0,  1332,  1332,   883,     0,
4174        0,     0,     0,     0,   182,     0,     0,  1332,   607,     0,
4175        0,     0,  1332,     0,     0,     0,   883,  3535,     0,     0,
4176        0,     0,  3628,     0,     0,     0,     0,     0,  3628,     0,
4177        0,  2064,     0,     0,     0,     0,     0,     0,     0,  4150,
4178        0,     0,  1332,  3534,   883,     0,     0,     0,     0,     0,
4179        0,     0,  1332,     0,     0,     0,     0,     0,  1111,     0,
4180      883,     0,     0,     0,     0,     0,     0,   863,     0,     0,
4181     4237,     0,     0,     0,     0,     0,   883,     0,     0,  5248,
4182      883,     0,     0,   605,     0,   186,     0,     0,  5435,     0,
4183        0,  5432,   607,  5433,     0,  5434,     0,     0,     0,     0,
4184     2048,     0,     0,  2049,     0,   875,   875,  2050,  2051,  2052,
4185        0,  3535,     0,     0,     0,     0,     0,     0,     0,     0,
4186    -2671,     0, -2671,   607,  2053,     0,     0,     0,     0,  3628,
4187        0,     0,  2055,     0,     0,     0,     0,     0,     0,  2056,
4188        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4189        0,   607,   607,   607,     0,   607,     0,     0,     0,     0,
4190        0,  3536,  3537,  3538,  2057,  3539,  3540,  3541,  3542,  3543,
4191     3544,   604,     0,     0,   604,   607,     0,     0,     0,     0,
4192        0,     0,     0,     0,     0,     0,     0,     0,  3535,  1491,
4193        0,     0,     0,     0,     0,  1492,     0,     0,     0,   883,
4194        0,     0,     0,     0,     0,     0,     0,   883,   883,  2791,
4195     2791,  3536,  3537,  3538,  2791,  3539,  3540,  3541,  3542,  3543,
4196     3544,   883, -2671,     0,     0,     0,   182,     0,     0,  2071,
4197     2072,  2073,  2074,  2075,  2076,     0,     0,  1494,     0,     0,
4198        0,     0,     0,   607,     0,     0,   604,   607,   607,     0,
4199        0,  2791,  2791,   182,     0,     0,     0,     0,     0,     0,
4200        0,     0,   607,     0,     0,     0,     0,     0,  1111,     0,
4201        0,     0,     0,  1558,  1727,  2058,  2048,     0,     0,  2049,
4202     2059,     0,     0,  2050,  2051,  2052,     0,     0,     0,     0,
4203        0,  1495,  1559,     0,     0,     0,     0,     0,  1496,     0,
4204     2053,  1497,  2060,  2061,     0,  3536,  3537,  3538,  2055,  3539,
4205     3540,  3541,  3542,  3543,  3544,  2056,     0,  2062,     0,     0,
4206        0,  3399,     0,     0,     0,     0,     0,  1498,     0,  3408,
4207        0,  5494,     0,     0,     0,     0,  1111,     0,     0,     0,
4208     2057,     0,  1560,  4282,     0,     0,     0,     0,     0,  3427,
4209     2237,     0,     0,     0,     0,     0,  2063,     0,     0,  3433,
4210        0,  1499,  3434,     0,  3435,  3436,     0,     0,  3438,     0,
4211     2064,     0,     0,  2065,  3442,     0,  3443,  1111,     0,  3445,
4212        0,     0,  3536,  3537,  3538,     0,  3539,  3540,  3541,  3542,
4213     3543,  3544,     0,     0,     0,     0,     0,     0,     0,     0,
4214        0,     0,     0,     0,     0,     0,  4283,     0,     0,     0,
4215     1111,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4216        0,     0,     0,     0,  1596,     0,     0,     0,  1501,  1561,
4217        0,     0,   182,     0,     0,     0,     0,     0,  1502,     0,
4218        0,     0,  3484,     0,     0,     0,     0,  1503,     0,     0,
4219        0,  2058,     0,     0,     0,     0,  2059,     0,     0,  1504,
4220        0,  2066,     0,     0,     0,     0,     0,     0,     0,     0,
4221        0,   883,     0,     0,     0,     0,     0,  1562,  2060,  2061,
4222     1563,     0,     0,     0,     0,  1491,   607,   607,   607,     0,
4223        0,  1492,     0,  2062,     0,  2404,  3461,     0,  1624,  4284,
4224        0,  1506,  1507,     0,  1594,   604,     0,     0,     0,     0,
4225        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4226        0,     0,     0,     0,     0,     0,     0,     0,     0,  1565,
4227        0,  1625,  2063,  1494,     0,     0,     0,     0,     0,     0,
4228     4556,     0,     0,     0,     0,     0,  2064,     0,     0,  2065,
4229        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4230        0,  2067,     0,     0,  2068,  2069,  2070,     0,  2071,  2072,
4231     2073,  2074,  2075,  2076,  1567,     0,     0,     0,     0,     0,
4232        0,  3520,     0,     0,     0,  1595,     0,  1495,     0,  1111,
4233        0,     0,     0,     0,  1496,     0,  1568,  1497,     0,  1509,
4234        0,     0,     0,     0,     0,     0,  1111,     0,     0,     0,
4235        0,     0,     0,     0,     0,     0,  1570,     0,  4285,  1727,
4236        0,  4286,     0,  1498,  1111,     0,     0,     0,     0,     0,
4237        0,     0,     0,     0,     0,     0,     0,  2066,     0,     0,
4238        0,     0,     0,   883,     0,     0,     0,     0,     0,     0,
4239        0,   883,     0,     0,     0,     0,     0,  1499,     0,     0,
4240        0,     0,     0,   883,   747,     0,   747,     0,   747,     0,
4241        0,     0,     0,     0,   747,  1181,  1182,     0,     0,     0,
4242     1111,     0,     0,     0,     0,     0,     0,   607,     0,     0,
4243      607,     0,     0,  1111,     0,     0,     0,     0,     0,     0,
4244      607,     0,     0,     0,     0,     0,  1111,     0,     0,     0,
4245        0,     0,     0,     0,     0,     0,  3700,     0,  1111,     0,
4246     1596,     0,     0,  2334,  1501,   604,     0,     0,     0,   604,
4247        0,     0,     0,     0,  1502,   607,   607,  2067,   883,   883,
4248     2068,  2069,  2070,  1503,  2071,  2072,  2073,  2074,  2075,  2076,
4249      607,     0,   883,   607,     0,  1504,     0,  3570,     0,     0,
4250        0,     0,  1111,  1111,     0,   883,   883,     0,     0,     0,
4251        0,     0,     0,     0,     0,     0,  2048,     0,     0,  2049,
4252        0,   883,     0, -2671, -2671, -2671,     0,     0,     0,     0,
4253        0,     0,     0,     0,  3197,     0,     0,  1506,  1507,  3759,
4254        0,  3761,     0,     0,     0,     0,     0,     0,  2055,     0,
4255        0,     0,     0,   607,     0,  2056,   607,   607,     0,     0,
4256        0,     0,   747,     0,     0,     0,     0,  3198,     0,     0,
4257        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4258     2057,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4259        0,   607,     0,   607,     0,     0,     0,     0,   607,   607,
4260        0,     0,     0,     0,     0,   607,   607,   607,     0,     0,
4261      607,     0,   607,     0,   607,   607,   607,   607,   607,   607,
4262        0,   607,     0,   607,   607,     0,     0,   607,  4779,     0,
4263        0,     0,     0,     0,     0,  1509,     0,     0,     0,     0,
4264        0,  1111,   607,   607,   607,   607,  1727,     0,     0,     0,
4265      607,     0,     0,     0,   607,     0,     0,   607,     0,     0,
4266      607,   607,   607,   607,   607,   607,   607,   607,   607,     0,
4267      607,     0,     0,     0,     0,     0,     0,   607,     0,   607,
4268     3851,     0,     0,     0,     0,     0,  3858,     0,     0,     0,
4269        0,  2058,  2791,  2791,  2791,  2791,  2059,     0,  2791,  2791,
4270     2791,  2791,  2791,  2791,  2791,  2791,  2791,  2791,     0,     0,
4271        0,     0,     0,     0,     0,     0,   883,     0,     0,     0,
4272     4758,     0,   607,     0,     0,  4110,     0,     0,     0,     0,
4273        0,     0,     0,  2062,     0,     0,     0,   607,     0,     0,
4274        0,     0,     0,     0,     0,     0,   607,   607,     0,     0,
4275        0,     0,     0,     0,     0,     0,     0,  2791,  2791,     0,
4276        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4277        0,     0,   883,     0,     0,     0,     0,     0,     0,  1111,
4278        0,     0,     0,  1111,  1111,     0,  2064,     0,     0,     0,
4279      883,     0,     0,     0,     0,  1727,   883,     0,     0,     0,
4280      883,     0,     0,     0,     0,     0,     0,     0,   883,     0,
4281        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4282        0,     0,     0,     0,     0,  2248,   883,     0,     0,   607,
4283     2249,     0,     0,     0,     0,     0,     0,   747,     0,     0,
4284        0,   607,     0,     0,     0,  1111,     0,     0,   607,     0,
4285        0,   607,   607,     0,     0,     0,     0,     0,     0,  1111,
4286        0,     0,     0,     0,     0,  2250,     0,     0,     0,     0,
4287        0,   883,     0,     0,     0,     0,     0,  2066,  2251,     0,
4288        0,     0,     0,  4021,     0,  4023,     0,  4025,     0,     0,
4289      604,   883,   883,  2252,     0,     0,  4029,   604,     0,     0,
4290     1111,     0,   604,     0,  3384,   604,  4875,     0,     0,   674,
4291        0,     0,     0,     0,     0,     0,     0,     0,   760,     0,
4292        0,     0,  1727,   883,     0,  1461,  1727,     0,   604,     0,
4293        0,     0,     0,     0,  2253,     0,     0,  4054,     0,     0,
4294        0,   604,     0,     0,     0,  2254,     0,     0,     0,   883,
4295        0,  1727,     0,     0,     0,   883,     0,     0,     0,  1462,
4296        0,     0,   883,     0,     0,     0,  2255,  2048,     0,   883,
4297     2049,  2256,   883,     0,  2050,  2051,  2052,  2067,   883,     0,
4298    -2671, -2671, -2671,     0,  2071,  2072,  2073,  2074,  2075,  2076,
4299        0,  2053,     0,     0,   874,     0,     0,     0,   883,  2055,
4300        0,     0,     0,     0,   883,     0,  2056,     0,     0,   883,
4301        0,     0,  1727,     0,     0,     0,  5069,     0,     0,  1463,
4302        0,     0,   883,   747,     0,     0,     0,     0,   747,   747,
4303        0,  2057,     0,     0,     0,   883,     0,     0,   874,     0,
4304     1727,     0,   747,  2257,     0,     0,   883,     0,     0,     0,
4305        0,     0,     0,     0,  1464,  2042,  2729,     0,     0,     0,
4306        0,     0,     0,     0,   607,   607,   607,     0,     0,     0,
4307      607,  2791,     0,     0,     0,     0,     0,     0,     0,     0,
4308        0,     0,     0,  2258,     0,  3385,     0,     0,     0,     0,
4309     1465,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4310        0,     0,   607,  1111,     0,  2730,     0,   604,     0,     0,
4311        0,     0,  1727,     0,     0,     0,     0,   208,  2259,  5136,
4312     5137,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4313     1467,     0,     0,     0,     0,   747,     0,  2731,     0,     0,
4314        0,     0,  2058,     0,     0,   747,   607,  2059,     0,     0,
4315     2260,     0,     0,     0,     0,     0,  2261,     0,     0,     0,
4316     2732,     0,  1469,  2262,     0,     0,  2263,   604,  1432,  2060,
4317     2061,  2733,     0,     0,     0,     0,     0,     0,     0,     0,
4318        0,     0,     0,     0,  2062,  1111,     0,     0,  1111,  1181,
4319     1182,     0,  2734,   883,     0,     0,     0,  2735,  2264,     0,
4320        0,     0,     0,   607,    36,  2265,     0,     0,  3386,     0,
4321        0,     0,     0,  2266,     0,     0,     0,  1472,     0,     0,
4322     2267,     0,     0,  2063,     0,  1473,     0,     0,     0,     0,
4323        0,     0,   747,  2292,     0,   747,   747,  2064,     0,     0,
4324     2065,     0,     0,     0,  5234,  1475,  2268,  1491,  2736,   883,
4325        0,     0,     0,  1492,  1476,     0,     0,     0,  1477,     0,
4326        0,  5251,     0,     0,     0,  5253,  1493,  5255,     0,  2737,
4327        0,     0,     0,  4561,     0,     0,     0,  3387,     0,     0,
4328        0,     0,     0,     0,     0,     0,  5181,     0,     0,     0,
4329        0,   883,     0,     0,     0,  1494,     0,     0,     0,     0,
4330        0,     0,     0,     0,     0,     0,     0,  1111,     0,   883,
4331        0,   604,  1478,     0,     0,     0,  3388,   883,     0,     0,
4332        0,   607,     0,     0,  1111,  4598,     0,   607,  2066,     0,
4333      607,     0,     0,   607,     0,     0,     0,     0,     0,  1111,
4334        0,     0,     0,   208,  2738,     0,     0,  2739,     0,  1495,
4335      607,     0,     0,     0,     0,   607,  1496,     0,     0,  1497,
4336        0,     0,     0,     0,     0,     0,     0,     0,     0,   604,
4337        0,     0,     0,  2740,     0,     0,  2741,     0,     0,   607,
4338      607,   607,  2742,     0,   607,  1498,     0,     0,     0,  2743,
4339        0,     0,   607,   607,   607,   607,     0,     0,   604,     0,
4340     1727,     0,     0,     0,     0,   607,  1727,     0,   607,     0,
4341      607,     0,     0,     0,     0,     0,     0,   747,  2744,  1499,
4342        0,   607,   607,     0,  2745,   607,     0,  2746,  2067,     0,
4343        0,  2068,  2069,  2070,     0,  2071,  2072,  2073,  2074,  2075,
4344     2076,     0,     0,  2477,     0,   607,  2747,   607,     0,   607,
4345        0,  2048,     0,     0,  2049,     0,     0,     0,  2050,  2051,
4346     2052,     0,     0,     0,     0,     0,     0,     0,     0,   607,
4347        0,     0,  2748,     0,     0,  2053,     0,     0,     0,     0,
4348      607,  4514,  1500,  2055,     0,  4516,  1501,     0,   883,     0,
4349     2056,     0,     0,     0,     0,     0,  1502,     0,     0,     0,
4350        0,     0,     0,   604,   607,  1503,     0,     0,     0,     0,
4351        0,   996,     0,     0,     0,  2057,     0,  1504,     0,   607,
4352        0,     0,     0,     0,     0,  2613,     0,     0,     0,     0,
4353        0,     0,     0,   607,     0,  2621,     0,  2622,     0,     0,
4354        0,     0,     0,  2626,     0,     0,     0,     0,     0,     0,
4355     2632,     0,  1111,     0,     0,  1111,  1505,  1111,     0,  1506,
4356     1507,     0,  1111,  1062,   674,     0,     0,     0,     0,     0,
4357      874,     0,     0,     0,     0,     0,     0,   883,   883,     0,
4358        0,     0,     0,   607,     0,     0,     0,     0,     0,  1508,
4359        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4360        0,     0,     0,     0,   883,     0,     0,   883,     0,     0,
4361        0,  1111,     0,     0,     0,     0,     0,     0,     0,     0,
4362        0,     0,     0,  5413,     0,     0,  2058,     0,     0,     0,
4363     1111,  2059,     0,     0,     0,     0,     0,     0,     0,   604,
4364     5511,     0,     0,     0,     0,   874,   874,     0,     0,     0,
4365        0,     0,     0,  2060,  2061,  1111,     0,  1509,     0,     0,
4366     1205,  1461,     0,     0,     0,     0,     0,     0,  2062,     0,
4367        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4368        0,     0,  2764,  2765,     0,     0,  1225,     0,     0,  2779,
4369     2780,  1727,  1727,  1727,  1335,  1462,     0,  1344,  1062,  1346,
4370        0,     0,     0,  4662,     0,     0,     0,  2063,     0,     0,
4371     2791,     0,     0,   604,     0,   883,     0,     0,  2819,   604,
4372        0,  2064,     0,     0,  2065,  1111,     0,  1111,     0,     0,
4373        0,     0,     0,     0,     0,   883,     0,     0,     0,     0,
4374        0,     0,     0,     0,     0,     0,     0,  4687,  4688,     0,
4375        0,     0,     0,  3384,   883,  1463,     0,  2048,     0,     0,
4376     2049,     0,     0,     0,  2050,  2051,  2052,     0,     0,     0,
4377        0,     0,     0,     0,  1461,     0,     0,     0,     0,     0,
4378        0,  2053,     0,     0,     0,     0,     0,     0,     0,  2055,
4379     1464,     0,     0,     0,     0,     0,  2056,     0,     0,     0,
4380        0,     0,     0,     0,     0,     0,     0,     0,  1462,     0,
4381        0,     0,  2066,     0,     0,     0,     0,     0,  1111,     0,
4382      604,  2057,     0,     0,     0,     0,  1465,  2930,  2930,     0,
4383        0,     0,     0,  5552,     0,     0,     0,  4730,  4731,     0,
4384      883,  2048,     0,     0,  2049,   607,     0,     0,  2050,  2051,
4385     2052,   607,     0,     0,     0,   874,   874,     0,     0,  1111,
4386        0,     0,  1466,     0,     0,  2053,  1467,     0,  1463,     0,
4387        0,     0,     0,  2055,     0,     0,     0,     0,     0,     0,
4388     2056,     0,     0,     0,     0,     0,     0,  1727,  1111,   747,
4389        0,     0,     0,     0,   883,     0,   883,  1468,  1469,     0,
4390        0,     0,     0,  1464,  1432,  2057,     0,     0,     0,   883,
4391        0,   883,  2067,     0,     0,  2068,  2069,  2070,     0,  2071,
4392     2072,  2073,  2074,  2075,  2076,     0,     0,     0,     0,  2817,
4393        0,     0,  2058,  1727,  3385,     0,  1470,  2059,     0,  1465,
4394       36,     0,     0,     0,  1471,     0,     0,     0,     0,     0,
4395        0,     0,     0,  1472,     0,     0,     0,  1111,     0,  2060,
4396     2061,  1473,     0,  4827,     0,     0,     0,  4829,  4830,  1474,
4397        0,     0,     0,     0,  2062,     0,     0,   883,  1111,  1467,
4398        0,  1475,     0,  4834,  3074,     0,     0,     0,     0,     0,
4399     1476,     0,  1111,     0,  1477,     0,     0,     0,     0,     0,
4400        0,  2791,     0,     0,     0,     0,     0,     0,     0,     0,
4401        0,  1469,     0,  2063,     0,     0,  2058,  1432,     0,     0,
4402        0,  2059,     0,     0,     0,  2791,     0,  2064,     0,     0,
4403     2065,     0,   883,     0,     0,     0,     0,     0,  1062,     0,
4404        0,     0,     0,  2060,  2061,     0,     0,     0,  1478,     0,
4405      883,     0,     0,    36,     0,     0,  1062,  1471,  2062,     0,
4406        0,     0,     0,     0,     0,   747,  1472,     0,     0,     0,
4407        0,     0,   883,   747,  1473,   883,   747,     0,     0,     0,
4408        0,     0,  2292,     0,     0,     0,     0,     0,   747,     0,
4409     1979,     0,     0,     0,  1475,   607,  1491,  2063,  1111,     0,
4410        0,     0,  1492,  1476,   607,     0,     0,  1477,     0,     0,
4411        0,  2064,   607,     0,   607,     0,     0,   607,  2066,     0,
4412     1062,  1111,   607,   607,   607,   607,  3387,     0,   607,   607,
4413      607,   607,   607,   607,   607,   607,   607,   607,     0,     0,
4414        0,   607,   607,     0,  1494,     0,  1111,     0,     0,     0,
4415        0,   607,     0,     0,     0,   607,     0,  1727,     0,   607,
4416        0,  1478,     0,     0,     0,  3388,     0,   607,     0,     0,
4417      607,     0,   607,     0,     0,     0,     0,     0,     0,     0,
4418        0,     0,  1111,     0,   607,     0,     0,   607,   607,     0,
4419        0,     0,   607,   607,     0,     0,     0,  2044,  1495,   607,
4420        0,     0,  2066,     0,     0,  1496,  2046,     0,  1497,   607,
4421        0,     0,   607,     0,     0,     0,     0,     0,  2067,     0,
4422     2088,  2068,  2069,  2070,   607,  2071,  2072,  2073,  2074,  2075,
4423     2076,     0,     0,     0,  1498,  3890,     0,     0,     0,  1062,
4424     2791,     0,  2105,  2106,     0,     0,     0,  1062,  1062,     0,
4425      607,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4426        0,  1062,     0,     0,     0,     0,   607,     0,  1499,     0,
4427        0,     0,  1111,     0,     0,     0,     0,     0,     0,     0,
4428        0,     0,     0,     0,   607,     0,     0,     0,     0,     0,
4429     5064,     0,     0,     0,     0,     0,     0,  3414,  3416,     0,
4430        0,     0,  2067,  3424,     0,  2068,  2069,  2070,     0,  2071,
4431     2072,  2073,  2074,  2075,  2076,   883,     0,     0,     0,     0,
4432        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4433        0,  1596,     0,     0,     0,  1501,     0,     0,     0,     0,
4434        0,     0,     0,     0,     0,  1502,     0,     0,     0,     0,
4435        0,     0,     0,     0,  1503,     0,     0,     0,     0,     0,
4436     5109,     0,     0,     0,   747,  1727,  1504,     0,     0,     0,
4437     1727,  1111,  1727,     0,     0,     0,     0,     0,     0,     0,
4438        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4439        0,     0,     0,     0,     0,  1727,  1111,     0,     0,     0,
4440        0,     0,     0,     0,     0,  2272,  2791,     0,  1506,  1507,
4441        0,     0,     0,  5146,     0,  1727,     0,     0,     0,  -130,
4442        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4443        0,   883,     0,     0,   883,     0,     0,     0,  2273,     1,
4444        0,     0,     0,     0,     0,     0,     0,     0,     0,     2,
4445        0,     3,     4,     0,     0,     0,     0,     0,     0,     0,
4446        0,     0,     0,     0,     0,     0,     0,     5,  2409,     0,
4447        0,     0,     0,     0,     0,  2416,     6,     0,     0,     0,
4448        0,     0,     0,     0,     0,     0,     0,     0,     7,     0,
4449        8,     9,     0,     0,     0,     0,     0,    10,     0,    11,
4450        0,   607,     0,     0,     0,     0,  1509,     0,     0,     0,
4451       12,     0,    13,     0,     0,     0,     0,     0,     0,     0,
4452        0,     0,     0,     0,     0,  5449,   883,   883,     0,    14,
4453     1111,     0,    15,     0,     0,     0,   883,     0,     0,     0,
4454        0,     0,     0,   607,     0,     0,    16,     0,    17,     0,
4455        0,     0,    18,     0,     0,   883,  2048,     0,    19,  2049,
4456        0,     0,     0,  2050,  2051,  2052,    20,  3637,    21,   747,
4457        0,     0,     0,     0,     0,    22,     0,     0,  1111,     0,
4458     2053,     0,  1111,   607,   607,     0,     0,     0,  2055,     0,
4459        0,    23,  3650,  3650,     0,  2056,     0,     0,     0,     0,
4460        0,     0,     0,     0,     0,     0,     0,     0,    24,     0,
4461        0,     0,     0,     0,  2791,  2791,     0,     0,     0,     0,
4462     2057,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4463        0,     0,  1491,   883,     0,     0,     0,     0,  1492,     0,
4464        0,     0,     0,     0,     0,     0,     0,     0,    25,    26,
4465        0,     0,     0,     0,    27,     0,     0,     0,   607,     0,
4466        0,     0,     0,     0,     0,     0,    28,     0,     0,     0,
4467      607,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4468     1494,     0,     0,     0,    29,     0,  2550,     0,     0,     0,
4469     2555,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4470      607,     0,     0,   607,     0,     0,     0,     0,     0,     0,
4471        0,   607,   607,     0,  1111,     0,     0,     0,   607,   607,
4472       30,     0,     0,   607,  1111,     0,     0,     0,    31,   607,
4473        0,  2058,   607,   607,  1495,     0,  2059,   607,     0,     0,
4474        0,  1496,    32,   607,  1497,     0,     0,     0,    33,    34,
4475        0,    35,     0,     0,     0,   607,    36,     0,  2060,  2061,
4476        0,    37,     0,   607,    38,     0,     0,   607,     0,     0,
4477     1498,    39,     0,  2062,     0,     0,     0,    40,    41,     0,
4478        0,     0,     0,     0,     0,    42,     0,     0,     0,    43,
4479        0,     0,     0,     0,     0,     0,     0,   607,     0,    44,
4480        0,     0,     0,     0,  1499,     0,     0,     0,     0,     0,
4481        0,     0,  2063,     0,    45,     0,     0,     0,     0,     0,
4482        0,     0,     0,     0,   607,     0,  2064,     0,     0,  2065,
4483        0,     0,     0,  5462,    46,     0,     0,     0,     0,     0,
4484        0,     0,  1111,     0,     0,    47,     0,     0,     0,     0,
4485        0,    48,     0,     0,     0,  2048,    49,     0,  2049,     0,
4486      883,     0,  2050,  2051,  2052,  1727,     0,  1500,     0,    50,
4487        0,  1501,     0,     0,     0,     0,     0,     0,     0,  2053,
4488        0,  1502,     0,  1111,     0,     0,     0,  2055,     0,     0,
4489     1503,     0,    51,     0,  2056,     0,     0,     0,     0,     0,
4490      883,     0,  1504,     0,  2775,  1111,    52,     0,     0,  -130,
4491        0,     0,   883,     0,     0,     0,     0,  2066,     0,  2057,
4492        0,     0,  1461,     0,     0,     0,     0,   675,   607,     0,
4493        0,     0,   676,     0,     0,     0,     0,     0,     0,     0,
4494        0,  2349,   883,     0,  1506,  1507,     0,     0,     0,     0,
4495        0,  2048,     0,     0,  2049,     0,  1462,     0,  2050,  2051,
4496     2052,     0,     0,     0,     0,     0,     0,   677,     0,   747,
4497        0,     0,     0,  1111,  2350,  2053,     0,     0,     0,     0,
4498      678,     0,     0,  2055,     0,     0,     0,     0,     0,     0,
4499     2056,     0,     0,  3937,     0,   679,  2895,     0,     0,     0,
4500        0,     0,   607,     0,     0,     0,     0,     0,     0,     0,
4501        0,     0,     0,   680,     0,  2057,  1463,  2067,   607,     0,
4502     2068,  2069,  2070,     0,  2071,  2072,  2073,  2074,  2075,  2076,
4503     2058,     0,     0,     0,  4070,  2059,   681,     0,     0,     0,
4504        0,   883,  1509,     0,     0,     0,     0,   682,   607,     0,
4505        0,  1464,     0,     0,     0,     0,   683,  2060,  2061,     0,
4506        0,     0,     0,     0,     0,     0,     0,     0,   684,     0,
4507        0,     0,  2062,   685,     0,     0,     0,     0,     0,     0,
4508      686,     0,  4015,     0,     0,     0,     0,  1465,     0,     0,
4509        0,     0,     0,  1111,     0,  1111,     0,     0,     0,   687,
4510        0,     0,     0,     0,     0,     0,     0,     0,  1062,     0,
4511        0,  2063,     0,     0,     0,     0,     0,     0,     0,     0,
4512        0,   883,     0,  1466,     0,  2064,  2058,  1467,  2065,     0,
4513        0,  2059,  1491,     0,     0,     0,     0,     0,  1492,     0,
4514      607,     0,     0,     0,  1111,   688,     0,     0,     0,     0,
4515        0,     0,     0,  2060,  2061,     0,     0,     0,  1532,  1469,
4516        0,     0,     0,   747,     0,  1432,     0,     0,  2062,   607,
4517      607,     0,     0,   607,     0,     0,     0,     0,  1346,     0,
4518     1494,     0,     0,     0,     0,   689,     0,     0,   607,     0,
4519        0,     0,     0,     0,     0,   607,     0,  1533,   690,     0,
4520      607,    36,     0,   607,   607,  1471,     0,  2063,     0,   691,
4521      607,   607,     0,     0,  1472,     0,  2066,     0,     0,   208,
4522      692,  2064,  1473,   693,  2065,     0,   607,     0,   607,     0,
4523     1534,     0,     0,   883,  1495,   883,     0,     0,     0,   607,
4524        0,  1496,  1475,     0,  1497,     0,     0,     0,     0,   694,
4525        0,  1476,   695,  1491,     0,  1477,   696,  1346,   697,  1492,
4526        0,     0,     0,     0,     0,   698,     0,     0,   699,     0,
4527     1498,     0,     0,     0,  1346,     0,     0,     0,     0,     0,
4528        0,  1111,   883,     0,     0,     0,     0,   700,     0,     0,
4529        0,     0,   607,     0,   701,     0,     0,     0,     0,     0,
4530      702,  1494,     0,   703,  1499,     0,     0,   704,     0,  1478,
4531        0,     0,  2066,     0,     0,   705,  2067,   706,     0,  2068,
4532     2069,  2070,   707,  2071,  2072,  2073,  2074,  2075,  2076,     0,
4533        0,  1727,     0,  4123,  2048,   708,   607,  2049,  3235,     0,
4534        0,  2050,  2051,  2052,     0,     0,     0,     0,   709,     0,
4535        0,     0,     0,     0,     0,  1495,     0,     0,  2053,     0,
4536        0,     0,  1496,     0,     0,  1497,  2055,  1596,     0,     0,
4537        0,  1501,     0,  2056,  3266,     0,     0,  3266,     0,  3266,
4538        0,  1502,     0,  3266,     0,  3266,  3266,     0,     0,     0,
4539     1503,  1498,     0,     0,  3266,  3266,  3266,     0,  2057,     0,
4540        0,     0,  1504,     0,     0,   607,     0,  1111,     0,     0,
4541        0,     0,  2067,     0,     0,  2068,  2069,  2070,     0,  2071,
4542     2072,  2073,  2074,  2075,  2076,  1499,     0,     0,     0,  4231,
4543     2048,   607,  1111,  2049,   607,     0,   607,  2050,  2051,  2052,
4544        0,  3067,     0,     0,  1506,  1507,     0,     0,     0,  3342,
4545        0,     0,   747,     0,  2053,   607,     0,     0,     0,     0,
4546        0,   607,  2055,     0,     0,   607,     0,     0,     0,  2056,
4547        0,  1111,     0,     0,  1508,   607,     0,   747,     0,     0,
4548        0,  3373,     0,     0,   747,     0,     0,     0,  1596,     0,
4549        0,     0,  1501,  1062,  2057,   747,  2048,     0,     0,  2049,
4550        0,     0,  1502,  2050,  2051,  2052,     0,     0,     0,  2058,
4551        0,  1503,     0,     0,  2059,  1727,     0,     0,     0,     0,
4552     2053,     0,     0,  1504,  1111,     0,     0,     0,  2055,  1111,
4553     1111,     0,     0,     0,   607,  2056,  2060,  2061,     0,   607,
4554      607,   883,  1509,     0,     0,     0,     0,     0,     0,  1062,
4555        0,  2062,     0,     0,     0,   883,     0,     0,     0,     0,
4556     2057,     0,  3242,     0,     0,  1506,  1507,     0,     0,     0,
4557     1181,  1182,     0,     0,   613,     0,     0,   607,     0,     0,
4558      663,   613,     0,     0,   607,     0,   715,     0,   613,     0,
4559     2063,     0,     0,     0,   613,  3243,     0,   769,     0,     0,
4560     1491,     0,     0,     0,  2064,  2058,  1492,  2065,     0,   607,
4561     2059,     0,     0,     0,     0,     0,   836,   836,     0,     0,
4562        0,     0,     0,     0,     0,     0,     0,   862,   864,     0,
4563        0,   868,  2060,  2061,     0,     0,     0,     0,     0,     0,
4564        0,     0,     0,     0,  1111,  1111,     0,  2062,  1494,     0,
4565        0,   925,     0,     0,     0,     0,     0,     0,   935,   747,
4566        0,     0,     0,  1509,   607,     0,     0,   607,     0,     0,
4567      607,  2058,     0,     0,     0,     0,  2059,     0,     0,     0,
4568        0,   607,     0,     0,     0,   607,  2063,   607,     0,   607,
4569        0,     0,     0,     0,     0,  2066,   607,     0,  2060,  2061,
4570     2064,     0,  1495,  2065,     0,     0,     0,     0,     0,  1496,
4571        0,   747,  1497,  2062,     0,   607,     0,     0,     0,     0,
4572        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4573        0,     0,     0,     0,     0,     0,     0,     0,  1498,     0,
4574     1727,     0,   883,     0,     0,     0,     0,     0,     0,     0,
4575        0,     0,  2063,     0,     0,     0,     0,     0,     0,     0,
4576        0,     0,     0,     0,     0,   870,  2064,     0,     0,  2065,
4577        0,     0,  1499,   912,     0,     0,   914,     0,     0,   919,
4578      920,     0,   923,     0,   926,     0,     0,   932,  1062,   934,
4579        0,  2066,   607,     0,     0,  2067,     0,     0,  2068,  2069,
4580     2070,   607,  2071,  2072,  2073,  2074,  2075,  2076,     0,     0,
4581        0,     0,  4544,     0,     0,     0,     0,     0,     0,     0,
4582        0,     0,     0,     0,     0,     0,     0,   607,   607,   607,
4583        0,     0,     0,     0,     0,  1596,   607,  1727,     0,  1501,
4584     1111,     0,     0,     0,     0,     0,   607,     0,     0,  1502,
4585        0,     0,     0,     0,     0,   883,     0,  2066,  1503,     0,
4586        0,     0,     0,     0,     0,     0,     0,     0,   607,     0,
4587     1504,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4588        0,   883,     0,     0,     0,     0,     0,     0,     0,     0,
4589        0,  2067,     0,     0,  2068,  2069,  2070,     0,  2071,  2072,
4590     2073,  2074,  2075,  2076,     0,     0,     0,  1062,  4582,  3728,
4591        0,  1491,  1506,  1507,     0,     0,     0,  1492,     0,     0,
4592        0,   607,     0,     0,     0,     0,     0,   607,     0,     0,
4593        0,     0,     0,     0,     0,     0,     0,   607,     0,     0,
4594        0,     0,  3729,   607,   607,   607,     0,     0,   747,     0,
4595        0,     0,     0,     0,   747,   607,     0,  2067,   747,  1494,
4596     2068,  2069,  2070,     0,  2071,  2072,  2073,  2074,  2075,  2076,
4597        0,     0,     0,     0,  4837,     0,     0,     0,     0,     0,
4598        0,     0,     0,     0,  4700,  4701,   883,     0,     0,  4704,
4599     4705,     0,     0,     0,     0,     0,     0,  3775,     0,     0,
4600        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4601     1509,   607,     0,  1495,     0,     0,     0,   607,     0,     0,
4602     1496,     0,     0,  1497,     0,     0,     0,     0,     0,     0,
4603        0,     0,     0,     0,  2048,     0,     0,  2049,     0,     0,
4604        0,  2050,  2051,  2052,   607,   607,     0,     0,     0,  1498,
4605        0,     0,  3814,     0,     0,   607,     0,     0,  2053,  1005,
4606      607,  1008,     0,     0,     0,  1011,  2055,     0,     0,  1727,
4607        0,     0,     0,  2056,     0,     0,     0,     0,     0,  1036,
4608        0,     0,  1097,  1499,     0,     0,  1041,     0,     0,     0,
4609      607,     0,     0,     0,     0,     0,     0,     0,  2057,     0,
4610      607,     0,     0,     0,     0,     0,     0,     0,  1097,     0,
4611        0,     0,     0,     0,     0,     0,     0,     0,   607,     0,
4612     3854,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4613        0,   607,     0,  1727,     0,     0,     0,     0,     0,     0,
4614        0,     0,     0,     0,     0,     0,  1596,     0,     0,     0,
4615     1501,  1727,     0,   607,   607,     0,     0,     0,     0,     0,
4616     1502,     0,     0,     0,  3266,     0,     0,     0,     0,  1503,
4617        0,     0,     0,     0,     0,     0,     0,     0,  3887,  3887,
4618        0,  1504,     0,     0,     0,     0,     0,     0,  3903,     0,
4619        0,     0,     0,     0,  1062,     0,  1062,     0,     0,  1014,
4620        0,     0,     0,     0,     0,     0,  1027,  1028,     0,  2058,
4621     1034,     0,  1037,  1038,  2059,     0,     0,  1040,     0,     0,
4622     3784,     0,     0,  1506,  1507,     0,     0,     0,  1059,     0,
4623        0,     0,     0,     0,     0,     0,  2060,  2061,     0,     0,
4624        0,     0,  3959,     0,     0,     0,     0,     0,     0,     0,
4625        0,  2062,     0,  3785,     0,     0,     0,     0,     0,     0,
4626        0,     0,     0,     0,     0,     0,     0,  1136,     0,  1138,
4627        0,     0,     0,     0,     0,     0,  3994,  1062,     0,  1154,
4628        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4629     2063,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4630        0,     0,     0,     0,  2064,     0,     0,  2065,     0,     0,
4631        0,   613,     0,     0,     0,     0,     0,     0,     0,     0,
4632        0,  1509,     0,     0,     0,     0,     0,     0,     0,  1523,
4633     1524,     0,     0,     0,     0,     0,  2048,     0,     0,  2049,
4634        0,     0,     0,  2050,  2051,  2052,     0,     0,     0,     0,
4635        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4636     2053,     0,   747,     0,     0,     0,     0,  1739,  2055,  2048,
4637        0,     0,  2049,     0,     0,  2056,  2050,  2051,  2052,     0,
4638        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4639        0,     0,  1756,  2053,     0,  2066,     0,     0,     0,   836,
4640     2057,  2055,     0,     0,     0,     0,     0,  1764,  2056,     0,
4641        0,     0,     0,     0,     0,     0,  2048,     0,     0,  2049,
4642        0,     0,     0,  2050,  2051,  2052,     0,     0,  1758,     0,
4643        0,     0,     0,  2057,     0,  1452,     0,     0,     0,     0,
4644     2053,     0,     0,     0,     0,     0,     0,     0,  2055,     0,
4645        0,     0,     0,     0,     0,  2056,     0,  1780,  1781,     0,
4646        0,     0,     0,     0,     0,     0,  4124,     0,     0,     0,
4647        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4648     2057,     0,     0,  1822,     0,     0,     0,     0,     0,     0,
4649        0,     0,     0,     0,     0,  2067,     0,     0,  2068,  2069,
4650     2070,     0,  2071,  2072,  2073,  2074,  2075,  2076,  1627,     0,
4651        0,  2058,  4847,     0,     0,  2048,  2059,     0,  2049,     0,
4652        0,     0,  2050,  2051,  2052,     0,     0,     0,     0,  1738,
4653        0,     0,     0,     0,     0,     0,     0,     0,  2060,  2061,
4654        0,  1749,     0,     0,  2058,     0,  1752,  2055,     0,  2059,
4655        0,     0,     0,  2062,  2056,     0,  1755,  1891,  1893,     0,
4656        0,  1759,     0,     0,     0,     0,   876,   885,     0,     0,
4657     1762,  2060,  2061,     0,   876,  1769,   885,   876,  1773,  2057,
4658        0,     0,     0,     0,     0,     0,  2062,     0,     0,     0,
4659      885,  2058,  2063,     0,     0,     0,  2059,     0,     0,     0,
4660        0,     0,     0,     0,     0,     0,  2064,  1980,     0,  2065,
4661        0,     0,     0,     0,     0,     0,     0,     0,  2060,  2061,
4662     1827,     0,     0,     0,     0,  2063,     0,     0,     0,     0,
4663        0,  1461,     0,  2062,     0,     0,   747,     0,     0,  2064,
4664        0,     0,  2065,     0,     0,     0,     0,     0,     0,  2048,
4665        0,     0,  2049,     0,     0,     0,  2050,  2051,  2052,     0,
4666        0,     0,     0,     0,     0,  1462,     0,     0,     0,     0,
4667        0,  3903,  2063,  2053,     0,     0,     0,     0,     0,     0,
4668        0,  2055,     0,     0,     0,     0,  2064,     0,  2056,  2065,
4669     2058,     0,     0,     0,     0,  2059,  4332,  2066,     0,     0,
4670        0,     0,     0,     0,  4341,     0,     0,  4342,     0,  4343,
4671        0,     0,     0,  2057,     0,     0,     0,  2060,  2061,     0,
4672        0,     0,     0,     0,     0,  1463,     0,     0,     0,     0,
4673     2066,     0,  2062,     0,     0,   613,     0,   613,     0,   613,
4674        0,   613,     0,   613,   613,   613,     0,     0,     0,     0,
4675      613,     0,  4384,     0,     0,  2048,     0,     0,  2049,     0,
4676     1464,  1975,  2050,  2051,  2052,     0,     0,     0,  3266,     0,
4677        0,  2063,  3266,  3266,     0,  3266,     0,  2066,     0,  2053,
4678        0,  1988,     0,     0,     0,  2064,     0,  2055,     0,     0,
4679        0,     0,     0,     0,  2056,     0,  1465,  2067,     0,     0,
4680     2068,  2069,  2070,     0,  2071,  2072,  2073,  2074,  2075,  2076,
4681        0,     0,     0,  5290,  4856,     0,     0,     0,     0,  2057,
4682        0,     0,     0,     0,  2058,     0,     0,     0,     0,  2059,
4683     2067,     0,  1466,  2068,  2069,  2070,  1467,  2071,  2072,  2073,
4684     2074,  2075,  2076,     0,     0,     0,     0,  4859,     0,     0,
4685        0,  2060,  2061,     0,     0,     0,     0,     0,     0,     0,
4686        0,     0,     0,     0,     0,     0,  2062,  1549,  1469,     0,
4687        0,     0,     0,     0,  1432,  4491,  2066,  2067,  3903,     0,
4688     2068,  2069,  2070,     0,  2071,  2072,  2073,  2074,  2075,  2076,
4689        0,     0,     0,     0,  4906,     0,     0,     0,     0,     0,
4690        0,     0,     0,     0,     0,  2063,  1550,     0,     0,     0,
4691       36,  2290,     0,     0,  1471,     0,     0,     0,     0,  2064,
4692        0,     0,  2065,  1472,     0,     0,  2356,     0,     0,     0,
4693     2058,  1473,     0,     0,     0,  2059,  2329,     0,     0,  1551,
4694        0,     0,   836,     0,     0,     0,     0,     0,  4532,  4532,
4695     4532,  1475,  4532,  4532,  4532,  4532,  4532,  2060,  2061,     0,
4696     1476,     0,     0,     0,  1477,     0,     0,     0,     0,     0,
4697        0,     0,  2062,     0,     0,     0,  2067,     0,     0,  2068,
4698     2069,  2070,     0,  2071,  2072,  2073,  2074,  2075,  2076,     0,
4699     2048,     0,     0,  2049,     0,     0,     0,  2050,  2051,  2052,
4700        0,   885,     0,     0,     0,     0,     0,   885,     0,     0,
4701     2066,  2063,     0,  2411,  2053,     0,     0,     0,  1478,     0,
4702      885,     0,  2055,     0,  2270,  2064,     0,     0,  2065,  2056,
4703        0,     0,     0,     0,     0,     0,   885,     0,     0,  2434,
4704     2435,  2436,  2437,     0,     0,     0,     0,     0,     0,     0,
4705      876,   885,     0,     0,  2057,     0,     0,   876,     0,   885,
4706      876,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4707        0,     0,     0,   885,     0,     0,     0,     0,     0,     0,
4708        0,     0,     0,   885,  4621,     0,  4623,     0,     0,     0,
4709        0,     0,     0,     0,     0,     0,  2361,     0,     0,     0,
4710        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4711     2067,     0,     0,  2068,  2069,  2070,  2066,  2071,  2072,  2073,
4712     2074,  2075,  2076,     0,     0,     0,     0,  4941,     0,     0,
4713        0,     0,     0,     0,     0,     0,     0,     0,  2483,     0,
4714        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4715     5517,     0,     0,     0,     0,  2500,     0,     0,     0,     0,
4716        0,     0,     0,     0,     0,  2058,     0,     0,     0,     0,
4717     2059,   885,     0,  2519,     0,     0,     0,     0,     0,     0,
4718     2489,  2490,     0,     0,     0,     0,     0,     0,     0,     0,
4719        0,     0,  2060,  2061,     0,   885,     0,     0,     0,     0,
4720     2513,     0,     0,     0,     0,     0,     0,  2062,   885,     0,
4721        0,     0,     0,     0,  5517,     0,  2067,     0,     0,  2068,
4722     2069,  2070,     0,  2071,  2072,  2073,  2074,  2075,  2076,  2600,
4723        0,     0,  5517,  4983,     0,  2558,  2559,  2560,  2561,     0,
4724        0,     0,  2608,     0,     0,     0,  2063,     0,     0,     0,
4725        0,     0,     0,     0,     0,  1097,     0,     0,     0,     0,
4726     2064,     0,     0,  2065,     0,     0,     0,  2623,     0,     0,
4727        0,  4727,  4728,     0,     0,     0,     0,     0,     0,     0,
4728        0,     0,     0,     0,  3266,     0,  3266,  3266,     0,     0,
4729     3266,     0,  2048,     0,     0,  2049,     0,     0,     0,  2050,
4730     2051,  2052,     0,     0,     0,     0,     0,     0,     0,     0,
4731        0,  2652,  1097,     0,     0,     0,  2053,  1729,     0,     0,
4732        0,     0,     0,     0,  2055,     0,     0,     0,     0,     0,
4733        0,  2056,     0,     0,     0,   876,     0,     0,     0,     0,
4734        0,   876,  2523,     0,   876,     0,     0,     0,     0,     0,
4735        0,  2066,     0,  2660,  4787,     0,  2057,     0,     0,  2664,
4736        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4737        0,     0,     0,     0,     0,  1491,     0,     0,     0,     0,
4738        0,  1492,     0,     0,     0,     0,     0,     0,  1558,     0,
4739        0,     0,  4814,     0,     0,     0,     0,     0,     0,     0,
4740        0,     0,     0,     0,     0,     0,     0,  1559,     0,     0,
4741        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4742        0,     0,     0,  1494,     0,     0,     0,  4532,     0,     0,
4743        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4744        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4745     2821,  2067,     0,     0,  2068,  2069,  2070,  1560,  2071,  2072,
4746     2073,  2074,  2075,  2076,     0,     0,     0,  2058,  5284,  2650,
4747        0,  2651,  2059,     0,     0,     0,     0,  1495,     0,     0,
4748        0,     0,     0,     0,  1496,     0,     0,  1497,  2662,     0,
4749     2663,  2831,     0,   885,  2060,  2061,     0,     0,     0,     0,
4750        0,     0,     0,     0,   613,     0,   613,     0,   613,  2062,
4751      613,   885,   613,  1498,     0,     0,   613,     0,     0,     0,
4752        0,     0,     0,     0,     0,     0,     0,     0,     0,   885,
4753        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4754        0,     0,     0,     0,  1561,     0,     0,  1499,  2063,     0,
4755        0,     0,     0,     0,     0,     0,     0,   885,     0,     0,
4756        0,     0,  2064,     0,     0,  2065,     0,     0,     0,     0,
4757        0,     0,     0,   885,     0,     0,     0,     0,     0,     0,
4758        0,  3903,     0,     0,     0,     0,     0,     0,     0,   885,
4759        0,     0,  1562,   885,     0,  1563,     0,     0,     0,     0,
4760        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4761     1564,     0,     0,     0,  1501,     0,     0,     0,     0,     0,
4762        0,     0,     0,     0,  1502,     0,  3266,     0,     0,     0,
4763        0,     0,     0,  1503,     0,  4976,     0,     0,     0,     0,
4764     2048,     0,     0,  2049,  1565,  1504,     0,  2050,  2051,  2052,
4765        0,     0,     0,  2066,  3022,     0,     0,     0,  2048,     0,
4766        0,  2049,     0,     0,  2053,  2050,  2051,  2052,  3039,     0,
4767        0,     0,  2055,     0,     0,     0,     0,     0,     0,  2056,
4768        0,     0,     0,     0,  1566,  3020,  3021,  1506,  1507,  1567,
4769     2055,     0,     0,     0,     0,     0,  3034,  2056,  3036,     0,
4770        0,     0,  3040,     0,  2057,     0,     0,     0,     0,  3072,
4771        0,  1568,   885,     0,     0,     0,     0,  1569,     0,     0,
4772      885,   885,  2057,     0,     0,     0,     0,     0,     0,     0,
4773        0,  1570,     0,     0,   885,     0,     0,     0,     0,     0,
4774        0,     0,     0,     0,     0,     0,     0,  2957,  2958,     0,
4775        0,     0,     0,  2067,     0,     0,  2068,  2069,  2070,     0,
4776     2071,  2072,  2073,  2074,  2075,  2076,  2973,  2974,     0,     0,
4777     5307,  2977,  2978,     0,     0,     0,  2981,     0,     0,     0,
4778        0,     0,     0,     0,     0,  1509,     0,  1729,     0,     0,
4779     2992,     0,     0,     0,     0,     0,     0,  3001,     0,     0,
4780        0,  3004,  3005,     0,     0,  3008,  3009,     0,     0,     0,
4781        0,     0,  3014,     0,     0,  2058,     0,     0,     0,     0,
4782     2059,     0,     0,     0,     0,     0,     0,  3033,     0,  3035,
4783        0,     0,  3177,  2058,     0,  3180,     0,     0,  2059,     0,
4784        0,     0,  2060,  2061,     0,     0,     0,  3058,     0,     0,
4785        0,     0,  3060,     0,     0,  1062,     0,  2062,     0,  5155,
4786    -2671, -2671,     0,     0,     0,     0,     0,  3066,     0,     0,
4787        0,     0,     0,     0,     0,  2062,  3073,     0,     0,  3077,
4788        0,  3079,  3082,  3084,     0,     0,     0,     0,  3092,  3095,
4789        0,     0,     0,     0,     0,     0,  2063,     0,  3108,     0,
4790        0,     0,     0,  3117,     0,     0,     0,  3120,     0,     0,
4791     2064,     0,  3292,  2065, -2671,     0,     0,     0,  3269,     0,
4792        0,     0,     0,     0,  3137,     0,  3276,     0,  2064,  3279,
4793     3146,  3147,     0,     0,     0,  3281,     0,  3152,     0,     0,
4794        0,     0,     0,     0,     0,     0,  3293,  3166,  3167,     0,
4795        0,     0,     0,  3171,     0,     0,     0,     0,     0,     0,
4796        0,     0,     0,     0,     0,  3178,     0,     0,  3181,     0,
4797        0,     0,     0,  3184,     0,     0,     0,     0,     0,  3187,
4798     3188,     0,     0,     0,   885,  3192,     0,  3339,  3196,     0,
4799        0,     0,  3203,  3204,  3205,  3206,     0,  3208,     0,     0,
4800        0,  2066,     0,     0,     0,     0,     0,     0,     0,     0,
4801     3233,  3234,     0,  3236,     0,  3362,   888,     0,     0,  2066,
4802        0,     0,     0,     0,  3245,  3246,  3247,  2048,   922,     0,
4803     2049,     0,     0,     0,  2050,  2051,  2052,     0,     0,   941,
4804        0,     0,  1062,     0,     0,     0,  5296,     0,  5297,     0,
4805        0,  2053,  5302,  5303,     0,     0,     0,     0,     0,  2055,
4806        0,     0,     0,     0,     0,     0,  2056,     0,     0,     0,
4807        0,     0,     0,     0,  3429,     0,  3431,     0,     0,     0,
4808        0,     0,     0,     0,     0,     0,     0,  3300,     0,     0,
4809        0,  2057,     0,     0,     0,     0,     0,     0,     0,     0,
4810        0,  2067,     0,     0,  2068,  2069,  2070,     0,  2071,  2072,
4811     2073,  2074,  2075,  2076,     0,  3337,  3474,     0,  5412,  2067,
4812        0,     0,  2068,  2069,  2070,     0,  2071,  2072,  2073,  2074,
4813     2075,  2076,  1729,  3486,     0,     0,     0,     0,     0,     0,
4814        0,     0,     0,     0,     0,     0,     0,     0,  3494,     0,
4815        0,     0,     0,     0,     0,     0,   885,     0,     0,     0,
4816        0,     0,     0,     0,   885,     0,     0,     0,     0,     0,
4817        0,     0,     0,     0,     0,     0,   885,     0,     0,     0,
4818        0,     0,     0,     0,  3496,     0,     0,     0,     0,     0,
4819        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4820        0,     0,  2058,     0,     0,     0,     0,  2059,     0,     0,
4821        0,  2048,     0,     0,  2049,     0,     0,     0,  2050,  2051,
4822     2052,     0,     0,     0,     0,     0,     0,     0,     0,  2060,
4823     2061,     0,     0,     0,     0,  2053,     0,     0,     0,     0,
4824        0,     0,     0,  2055,  2062,     0,     0,     0,   876,   876,
4825     2056,   885,   885,     0,     0,     0,     0,     0,     0,     0,
4826        0,     0,     0,   876,     0,   885,   876,     0,     0,     0,
4827        0,     0,     0,     0,     0,  2057,     0,     0,   885,   885,
4828        0,     0,     0,  2063,     0,     0,  1062,     0,     0,     0,
4829        0,     0,     0,     0,   885,     0,     0,  2064,     0,     0,
4830     2065,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4831        0,     0,     0,     0,     0,     0,     0,  3497,     0,     0,
4832        0,     0,     0,     0,     0,     0,   876,     0,     0,   876,
4833      876,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4834        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4835        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4836        0,     0,     0,     0,     0,     0,     0,     0,     0,  5518,
4837        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4838        0,     0,     0,     0,     0,     0,  2058,     0,  2066,     0,
4839        0,  2059,     0,     0,     0,     0,     0,     0,     0,     0,
4840        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4841        0,     0,     0,  2060,  2061,     0,     0,     0,     0,  1729,
4842     3706,     0,     0,     0,     0,     0,     0,     0,  2062,     0,
4843      955,     0,     0,  5518,     0,     0,  1003,     0,     0,  3717,
4844        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4845        0,  5518,     0,     0,     0,     0,     0,     0,     0,  3709,
4846        0,  3710,  3711,  3712,     0,     0,     0,  2063,     0,     0,
4847        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4848        0,  2064,     0,     0,  2065,     0,     0,     0,  2067,   885,
4849        0,  2068,  2069,  2070,     0,  2071,  2072,  2073,  2074,  2075,
4850     2076,     0,     0,     0,     0,  5481,     0,     0,     0,     0,
4851        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4852        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4853        0,     0,     0,     0,  3799,     0,  3801,     0,     0,     0,
4854        0,     0,     0,     0,     0,   885,     0,     0,     0,     0,
4855        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4856        0,     0,     0,   885,     0,     0,     0,     0,  1729,   885,
4857        0,     0,  2066,   885,     0,     0,     0,     0,     0,  3703,
4858        0,   885,     0,  3705,     0,     0,     0,     0,     0,  3707,
4859        0,     0,     0,     0,     0,     0,     0,     0,     0,   885,
4860        0,     0,     0,     0,     0,     0,     0,  3718,  3720,     0,
4861        0,     0,  3720,     0,     0,     0,  1339,  3731,  3732,  3733,
4862        0,   876,     0,     0,   876,   876,     0,  3852,     0,     0,
4863        0,     0,     0,     0,     0,  1362,     0,     0,     0,     0,
4864        0,     0,     0,     0,   885,     0,     0,     0,     0,     0,
4865        0,     0,     0,  3762,  3763,  3764,  3765,  1386,     0,     0,
4866        0,     0,     0,     0,   885,   885,     0,     0,  3874,     0,
4867        0,     0,  2067,     0,     0,  2068,  2069,  2070,     0,  2071,
4868     2072,  2073,  2074,  2075,  2076,     0,     0,     0,     0,  5537,
4869     3783,     0,  3787,  3788,  3789,  1729,   885,  2048,     0,  1729,
4870     2049,     0,  3875,  1522,  2050,  2051,  2052,     0,     0,     0,
4871        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4872        0,  2053,   885,     0,  1729,     0,     0,     0,   885,  2055,
4873        0,     0,     0,     0,     0,   885,  2056,     0,     0,     0,
4874     2048,     0,   885,  2049,     0,   885,     0,  2050,  2051,  2052,
4875        0,   885,     0,     0,     0,     0,     0,     0,     0,     0,
4876     2048,  2057,     0,  2049,  2053,     0,  3072,  2050,  2051,  2052,
4877        0,   885,  2055,     0,     0,     0,     0,   885,     0,  2056,
4878        0,     0,   885,     0,  2053,  1729,     0,     0,  2913,     0,
4879        0,     0,  2055,     0,     0,   885,     0,     0,     0,  2056,
4880        0,  4010,     0,     0,  2057,     0,  3862,     0,   885,     0,
4881        0,     0,     0,  1729,     0,  3868,     0,     0,     0,   885,
4882        0,     0,     0,     0,  2057,     0,     0,     0,     0,  1778,
4883        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4884        0,     0,     0,     0,     0,     0,  3882,     0,     0,     0,
4885        0,     0,     0,     0,     0,     0,     0,     0,  1816,  1819,
4886     1820,     0,     0,     0,     0,     0,     0,     0,     0,  3925,
4887        0,     0,  2058,  2914,     0,     0,     0,  2059,  4030,     0,
4888        0,     0,     0,     0,     0,  1729,     0,     0,     0,     0,
4889        0,  3549,     0,     0,     0,     0,  3550,     0,     0,  2060,
4890     2061,     0,     0,     0,     0,     0,     0,  4069,     0,     0,
4891        0,     0,     0,     0,  2062,  2058,     0,     0,     0,     0,
4892     2059,  3962,     0,     0,     0,     0,  3968,     0,     0,     0,
4893     4079,     0,     0,     0,     0,  2058,     0,     0,     0,     0,
4894     2059,     0,  2060,  2061,     0,     0,     0,     0,     0,     0,
4895        0,     0,     0,  2063,     0,  4102,     0,  2062,     0,     0,
4896     4007,     0,  2060,  2061,     0,     0,   885,  2064,     0,     0,
4897     2065,     0,     0,     0,     0,     0,     0,  2062,     0,     0,
4898        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4899        0,  1980,     0,     0,     0,     0,  2063,     0,     0,     0,
4900        0,     0,     0,  4026,  1339,  4027,     0,     0,     0,     0,
4901     2064,     0,     0,  2065,     0,     0,  2063,     0,     0,     0,
4902      884,     0,   885,     0,     0,     0,     0,  1987,     0,   884,
4903     2064,     0,     0,  2065,     0,     0,  1339,     0,     0,     0,
4904        0,     0,     0,   884,     0,  4051,     0,     0,     0,     0,
4905        0,     0,     0,     0,     0,     0,     0,     0,  2066,     0,
4906        0,     0,     0,     0,   885,     0,     0,     0,     0,     0,
4907        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4908        0,     0,   885,     0,     0,     0,     0,     0,     0,     0,
4909      885,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4910      876,  2066,     0,   876,     0,     0,   876,     0,     0,     0,
4911        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4912        0,  2066,     0,     0,     0,     0,     0,     0,     0,     0,
4913        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4914        0,     0,     0,     0,     0,     0,     0,  4254,  4255,  4256,
4915     4257,     0,     0,     0,     0,     0,     0,     0,  2067,     0,
4916        0,  2068,  2069,  2070,     0,  2071,  2072,  2073,  2074,  2075,
4917     2076,     0,     0,  1729,  2119,  5551,     0,     0,     0,  1729,
4918        0,  2915,     0,     0,     0,     0,     0,     0,     0,     0,
4919        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4920        0,  2067,     0,     0,  2068,  2069,  2070,     0,  2071,  2072,
4921     2073,  2074,  2075,  2076,     0,     0,     0,     0,     0,     0,
4922     2174,  2067,     0,     0,  2068,  2069,  2070,     0,  2071,  2072,
4923     2073,  2074,  2075,  2076,     0,     0,     0,     0,     0,     0,
4924        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4925        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4926        0,   885,     0,     0,     0,  4248,     0,  4249,     0,     0,
4927        0,     0,     0,     0,  4251,     0,     0,     0,     0,     0,
4928        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4929     4261,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4930        0,     0,  4267,  2302,     0,     0,  4270,     0,     0,     0,
4931        0,     0,  2325,     0,     0,     0,     0,     0,     0,     0,
4932        0,     0,     0,     0,  4292,     0,  4408,     0,     0,     0,
4933        0,     0,     0,     0,     0,     0,     0,     0,     0,  4440,
4934        0,  4411,  4296,     0,  2362,     0,     0,  4300,     0,     0,
4935      885,   885,     0,     0,     0,     0,     0,     0,     0,     0,
4936        0,     0,     0,     0,     0,     0,     0,  2385,     0,     0,
4937     2388,     0,  4335,     0,     0,     0,  4339,   885,     0,     0,
4938      885,     0,     0,     0,  4344,  4345,  4346,  4347,     0,     0,
4939        0,     0,     0,  4352,  4353,  4354,  4355,     0,     0,     0,
4940     4357,  4358,     0,     0,     0,     0,  4365,  4366,     0,  4368,
4941     4369,  4370,  4371,  4372,  4373,  4374,     0,     0,     0,     0,
4942        0,     0,  2438,     0,     0,  4383,     0,     0,     0,  4386,
4943     4387,  4388,  4389,     0,     0,     0,  2457,     0,     0,     0,
4944        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4945        0,     0,     0,     0,   884,  3720,     0,     0,     0,     0,
4946      884,     0,     0,     0,  1729,  1729,  1729,     0,     0,     0,
4947        0,     0,     0,   884,  4412,     0,     0,     0,     0,     0,
4948        0,     0,     0,     0,     0,     0,     0,     0,   885,   884,
4949        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4950        0,     0,     0,     0,   884,     0,  2048,     0,   885,  2049,
4951        0,     0,   884,  2050,  2051,  2052,     0,     0,     0,     0,
4952        0,     0,     0,     0,     0,     0,   884,   885,     0,     0,
4953     2053,     0,     0,  1980,     0,     0,   884,     0,  2055,     0,
4954        0,     0,     0,     0,     0,  2056,     0,  2481,     0,     0,
4955        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4956        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4957     2057,     0,     0,     0,  3720,     0,     0,     0,     0,     0,
4958        0,     0,     0,  2048,     0,     0,  2049,     0,     0,     0,
4959     2050,  2051,  2052,     0,     0,     0,     0,     0,  2532,     0,
4960        0,     0,     0,     0,     0,     0,     0,  2053,     0,     0,
4961        0,  4526,     0,   885,     0,  2055,     0,     0,     0,     0,
4962        0,     0,  2056,     0,   884,     0,     0,  2575,     0,     0,
4963        0,     0,     0,     0,  2588,     0,     0,     0,     0,     0,
4964        0,     0,     0,     0,     0,     0,     0,  2057,   884,     0,
4965        0,  4663,     0,     0,     0,     0,     0,     0,     0,     0,
4966     1729,   884,     0,     0,     0,     0,     0,   885,     0,   885,
4967        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4968        0,  2058,   885,     0,   885,     0,  2059,     0,     0,     0,
4969        0,     0,  4686,     0,     0,     0,     0,     0,     0,     0,
4970        0,     0,     0,     0,     0,     0,  1729,     0,  2060,  2061,
4971        0,     0,     0,     0,  4702,     0,     0,     0,     0,     0,
4972        0,     0,     0,  2062,     0,     0,     0,     0,     0,     0,
4973        0,     0,     0,  5442,     0,     0,     0,     0,     0,     0,
4974     2667,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4975      885,     0,     0,     0,     0,     0,     0,     0,  2058,     0,
4976        0,     0,  2063,  2059,     0,     0,     0,     0,     0,     0,
4977     1728,     0,     0,     0,     0,     0,  2064,     0,     0,  2065,
4978     1339,  1339,  4729,     0,     0,  2060,  2061,     0,     0,     0,
4979        0,     0,     0,     0,     0,  4722,     0,  2718,     0,     0,
4980     2062,     0,     0,     0,  4115,   885,     0,     0,     0,     0,
4981     4726,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4982        0,     0,     0,   885,  4666,     0,     0,     0,  4667,  4668,
4983     4669,  4670,     0,     0,     0,  4672,     0,     0,     0,  2063,
4984        0,     0,     0,     0,     0,   885,     0,     0,   885,     0,
4985        0,     0,     0,  2064,     0,     0,  2065,     0,     0,     0,
4986        0,     0,     0,     0,     0,     0,     0,  2066,     0,  4692,
4987     4693,  4694,  4695,  4696,     0,  4698,  4699,     0,     0,  5443,
4988        0,     0,     0,     0,  4116,     0,     0,  4708,  4709,     0,
4989        0,     0,     0,     0,     0,     0,     0,  2886,     0,     0,
4990        0,     0,     0,  4792,  4819,     0,     0,  2892,     0,     0,
4991        0,     0,     0,     0,     0,     0,     0,  4714,     0,     0,
4992        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4993     1729,     0,     0,     0,     0,     0,  1386,     0,     0,     0,
4994        0,     0,     0,     0,  2066,     0,   884,  1386,  1386,     0,
4995        0,     0,     0,  1980,     0,     0,     0,     0,     0,     0,
4996        0,     0,     0,     0,   884,     0,     0,  2067,     0,     0,
4997     2068,  2069,  2070,     0,  2071,  2072,  2073,  2074,  2075,  2076,
4998        0,  1339,   884,     0,     0,     0,     0,     0,     0,     0,
4999        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5000        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5001      884,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5002        0,  4778,     0,     0,     0,     0,   884,     0,     0,     0,
5003        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5004        0,     0,   884,     0,  2067,     0,   884,  2068,  2069,  2070,
5005        0,  2071,  2072,  2073,  2074,  2075,  2076,     0,     0,     0,
5006        0,     0,     0,     0,     0,     0,     0,  1491,     0,     0,
5007        0,     0,     0,  1492,     0,     0,     0,     0,     0,     0,
5008     1558,  4831,     0,  4911,     0,  4912,     0,     0,   885,     0,
5009        0,     0,     0,     0,     0,     0,     0,     0,     0,  1559,
5010        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5011        0,     0,     0,     0,     0,  1494,     0,     0,     0,     0,
5012        0,     0,     0,     0,     0,  3076,     0,     0,  2048,     0,
5013        0,  2049,     0,     0,     0,  2050,  2051,  2052,  1729,     0,
5014     3098,     0,     0,  1729,     0,  1729,     0,     0,     0,  1560,
5015        0,     0,  2053,     0,     0,  3506,     0,     0,     0,     0,
5016     2055,  3125,     0,     0,     0,   884,     0,  2056,  1729,  1495,
5017        0,     0,     0,   884,   884,     0,  1496,     0,     0,  1497,
5018        0,     0,     0,     0,     0,     0,     0,   884,  1729,     0,
5019        0,     0,  2057,   613,     0,     0,     0,     0,     0,     0,
5020        0,     0,     0,     0,   885,  1498,     0,   885,     0,     0,
5021     2048,     0,     0,  2049,     0,     0,     0,  2050,  2051,  2052,
5022        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5023     1110,     0,     0,     0,  2053,     0,  1561,  3201,  3202,  1499,
5024     1728,  1980,  2055,     0,     0,  5047,     0,     0,     0,  2056,
5025        0,     0,     0,     0,     0,     0,  1110,  4930,     0,     0,
5026        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5027        0,     0,     0,     0,  2057,     0,  4940,     0,     0,     0,
5028     3852,  4945,  4946,     0,  1562,     0,     0,  1563,     0,     0,
5029        0,  4957,     0,     0,     0,     0,     0,     0,  4959,   885,
5030      885,     0,  1564,  2058,     0,     0,  1501,     0,  2059,   885,
5031        0,     0,     0,     0,     0,     0,  1502,     0,     0,     0,
5032        0,     0,     0,     0,     0,  1503,     0,     0,   885,     0,
5033     2060,  2061,     0,  1980,  5009,     0,  1565,  1504,  1980,  1980,
5034        0,     0,     0,     0,  3326,  2062,     0,     0,     0,     0,
5035        0,     0,     0,     0,  5026,     0,  5028,     0,     0,     0,
5036        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5037        0,  5042,     0,     0,     0,     0,  3172,     0,     0,  1506,
5038     1507,  1567,     0,     0,  2063,  2058,     0,  5142,     0,  5144,
5039     2059,  3720,     0,     0,     0,     0,     0,     0,  2064,  5063,
5040        0,  2065,     0,  1568,     0,     0,   885,     0,     0,  3173,
5041        0,     0,  2060,  2061,     0,     0,     0,     0,     0,     0,
5042        0,     0,     0,  1570,  1315,  1315,     0,  2062,     0,     0,
5043        0,     0,     0,     0,     0,     0,     0,   884,     0,  2048,
5044        0,     0,  2049,     0,     0,     0,  2050,  2051,  2052,     0,
5045        0,     0,     0,     0,  5223,     0,     0,     0,     0,     0,
5046        0,     0,     0,  2053,  5102,     0,  2063,     0,     0,     0,
5047        0,  2055,     0,     0,     0,     0,     0,  1509,  2056,     0,
5048     2064,     0,     0,  2065,     0,  5119,     0,     0,     0,  2066,
5049        0,     0,     0,     0,     0,     0,     0,  5127,     0,  1643,
5050        0,     0,  3522,  2057,     0,     0,     0,     0,     0,     0,
5051        0,     0,     0,     0,     0,  1110,     0,  2048,     0,     0,
5052     2049,     0,     0,     0,  2050,  2051,  2052,     0,     0,     0,
5053        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5054     1110,  2053,     0,     0,  3554,     0,     0,     0,     0,  2055,
5055        0,     0,     0,     0,     0,  1110,  2056,     0,     0,     0,
5056        0,     0,  5186,     0,     0,     0,     0,     0,     0,     0,
5057        0,  2066,     0,     0,  1640,  1644,     0,     0,     0,     0,
5058        0,  2057,     0,     0,     0,  1728,     0,     0,     0,  2067,
5059        0,     0,  2068,  2069,  2070,  3559,  2071,  2072,  2073,  2074,
5060     2075,  2076,     0,     0,     0,     0,     0,     0,     0,   884,
5061        0,     0,     0,     0,  2058,     0,     0,   884,     0,  2059,
5062        0,     0,     0,  5321,     0,     0,  3720,     0,     0,   884,
5063        0,     0,     0,   885,     0,     0,     0,     0,  1729,     0,
5064     1110,  2060,  2061,     0,     0,     0,     0,     0,     0,  5369,
5065        0,     0,     0,     0,     0,     0,  2062,     0,     0,     0,
5066        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5067        0,  2067,     0,   885,  2068,  2069,  2070,     0,  2071,  2072,
5068     2073,  2074,  2075,  2076,     0,   885,  5272,     0,     0,     0,
5069        0,     0,  2058,     0,  3613,  2063,     0,  2059,     0,     0,
5070        0,  5285,     0,     0,   884,   884,     0,     0,     0,  2064,
5071        0,     0,  2065,     0,     0,   885,     0,  1386,   884,  2060,
5072     2061,     0,     0,     0,     0,  5392,     0,     0,     0,     0,
5073        0,   884,   884,     0,  2062,     0,     0,     0,     0,     0,
5074        0,     0,     0,     0,     0,  5314,     0,   884,     0,     0,
5075        0,     0,     0,     0,     0,  1110,     0,     0,     0,     0,
5076     5325,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5077        0,     0,     0,  2063,     0,     0,     0,     0,     0,     0,
5078        0,     0,     0,     0,     0,     0,     0,  2064,     0,     0,
5079     2065,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5080     2066,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5081        0,     0,     0,     0,   885,     0,     0,     0,     0,     0,
5082        0,     0,  5467,     0,     0,     0,     0,     0,     0,     0,
5083        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5084        0,  5386,     0,     0,     0,     0,     0,     0,     0,     0,
5085        0,     0,     0,     0,  5483,  5483,     0,     0,     0,     0,
5086        0,     0,     0,     0,  2004,     0,     0,     0,     0,     0,
5087        0,     0,  1728,     0,     0,     0,     0,     0,  2066,     0,
5088        0,     0,     0,     0,     0,  5408,     0,     0,     0,  2048,
5089        0,     0,  2049,     0,   885,  2019,  2050,  2051,  2052,     0,
5090     2067,     0,     0,  2068,  2069,  2070,     0,  2071,  2072,  2073,
5091     2074,  2075,  2076,  2053,     0,     0,  3565,     0,     0,     0,
5092        0,  2055,     0,  2037,  2038,  2039,     0,  2041,  2056,     0,
5093        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5094        0,     0,   884,     0,     0,     0,     0,  2083,     0,     0,
5095        0,     0,     0,  2057,  3805,     0,     0,  5483,     0,     0,
5096        0,     0,     0,     0,     0,  2197,     0,     0,     0,     0,
5097        0,     0,     0,  5474,     0,     0,     0,     0,  2067,     0,
5098        0,  2068,  2069,  2070,     0,  2071,  2072,  2073,  2074,  2075,
5099     2076,     0,     0,     0,     0,     0,     0,     0,   884,     0,
5100        0,     0,     0,     0,     0,     0,   885,     0,   885,     0,
5101        0,     0,     0,     0,     0,  2141,   884,     0,     0,  2153,
5102     2158,  1728,   884,     0,     0,     0,   884,     0,     0,     0,
5103        0,     0,     0,  2197,   884,     0,     0,     0,     0,     0,
5104        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5105        0,     0,   884,     0,     0,   885,     0,     0,     0,     0,
5106        0,     0,     0,     0,  2058,   876,     0,     0,     0,  2059,
5107        0,     0,     0,     0,  1110,     0,     0,     0,     0,     0,
5108        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5109        0,  2060,  2061,     0,     0,     0,     0,   884,     0,  1109,
5110        0,     0,     0,     0,  1729,     0,  2062,  1110,     0,   876,
5111        0,     0,     0,     0,     0,     0,     0,   884,   884,     0,
5112        0,  3928,  3929,  3930,     0,  1109,     0,  1100,     0,     0,
5113        0,     0,     0,     0,     0,     0,     0,     0,  3939,     0,
5114        0,     0,     0,     0,     0,  2063,     0,     0,  1728,   884,
5115        0,     0,  1728,  1100,     0,     0,     0,     0,     0,  2064,
5116        0,  3955,  2065,     0,     0,     0,     0,     0,     0,     0,
5117        0,  3965,  3967,     0,     0,   884,  3972,  1728,     0,     0,
5118        0,   884,     0,  1643,  1643,  1643,     0,     0,   884,     0,
5119        0,     0,     0,     0,     0,   884,     0,     0,   884,     0,
5120        0,     0,     0,     0,   884,     0,     0,     0,     0,     0,
5121        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5122        0,     0,     0,     0,   884,     0,     0,     0,     0,     0,
5123      884,     0,     0,     0,     0,   884,     0,     0,  1728,     0,
5124        0,     0,     0,     0,     0,     0,     0,     0,   884,     0,
5125     2066,     0,     0,     0,     0,     0,     0,     0,  1640,  1640,
5126     1640,   884,     0,     0,     0,     0,  1728,     0,     0,     0,
5127        0,     0,   884,     0,     0,     0,     0,     0,     0,     0,
5128        0,     0,     0,     0,     0,     0,  1110,     0,  1729,     0,
5129        0,  4050,     0,     0,  1339,     0,     0,     0,     0,     0,
5130        0,     0,     0,  1110,     0,     0,     0,     0,     0,     0,
5131        0,     0,     0,     0,   885,     0,     0,     0,     0,     0,
5132        0,  1110,     0,     0,     0,     0,     0,     0,   885,     0,
5133        0,     0,     0,     0,     0,     0,     0,     0,  1728,     0,
5134        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5135     2067,     0,     0,  2068,  2069,  2070,     0,  2071,  2072,  2073,
5136     2074,  2075,  2076,     0,     0,     0,     0,     0,     0,     0,
5137        0,     0,     0,     0,     0,     0,     0,  1110,     0,     0,
5138        0,     0,     0,     0,  1109,     0,     0,     0,     0,     0,
5139     1110,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5140        0,     0,     0,  1110,     0,     0,     0,     0,     0,  1109,
5141        0,     0,  1100,     0,  2048,  1110,     0,  2049,     0,   884,
5142        0,  2050,  2051,  2052,  1109,     0,     0,  4156,  4157,  4158,
5143        0,     0,     0,     0,     0,     0,     0,  1100,  2053,     0,
5144        0,     0,     0,     0,     0,     0,  2055,     0,     0,     0,
5145        0,     0,  1100,  2056,     0,     0,     0,     0,     0,  1110,
5146     1110,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5147        0,     0,     0,     0,     0,   884,     0,     0,  2057,     0,
5148        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5149        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5150        0,     0,     0,     0,     0,     0,     0,     0,     0,  1109,
5151        0,     0,     0,  1729,     0,   885,     0,   884,     0,     0,
5152        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5153        0,     0,     0,     0,     0,   884,     0,  1100,     0,     0,
5154        0,     0,     0,   884,  2048,     0,     0,  2049,     0,     0,
5155        0,  2050,  2051,  2052,     0,     0,     0,     0,     0,     0,
5156        0,     0,     0,     0,     0,     0,     0,     0,  2053,     0,
5157        0,  4122,     0,     0,     0,     0,  2055,     0,     0,     0,
5158        0,     0,     0,  2056,     0,     0,     0,     0,     0,  2058,
5159        0,     0,     0,     0,  2059,     0,     0,     0,  1110,     0,
5160        0,     0,     0,     0,     0,     0,     0,     0,  2057,     0,
5161     1729,     0,     0,     0,     0,     0,  2060,  2061,     0,     0,
5162        0,     0,     0,     0,  1109,     0,  1728,     0,   885,     0,
5163     2761,  2062,  1728,     0,     0,     0,  1643,     0,     0,     0,
5164        0,   876,  2781,     0,  2782,     0,  2784,     0,     0,  2796,
5165     2799,  2804,  1100,     0,   885,     0,  2810,     0,     0,  2815,
5166        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5167     2063,     0,     0,     0,  2822,  2823,  2824,  2825,     0,     0,
5168        0,     0,  2832,     0,  2064,     0,  2850,  2065,     0,  2852,
5169        0,     0,  2859,  2860,  2861,  2862,  2863,  2864,  2865,  2866,
5170     2867,     0,  2868,     0,     0,     0,     0,     0,     0,  1315,
5171        0,  1640,     0,     0,   884,     0,   876,   876,  4409,  2058,
5172        0,     0,     0,     0,  2059,     0,     0,     0,     0,  4422,
5173        0,     0,     0,     0,     0,     0,  2961,     0,     0,     0,
5174     2197,  2967,     0,     0,     0,     0,  2060,  2061,     0,     0,
5175        0,     0,     0,     0,  2905,     0,     0,     0,     0,   885,
5176     4453,  2062,     0,     0,     0,     0,     0,     0,  2104,     0,
5177        0,     0,     0,     0,     0,  2066,     0,     0,  2038,  2039,
5178        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5179        0,     0,     0,  2588,     0,     0,     0,     0,     0,     0,
5180     2063,     0,  1110,   884,   884,     0,     0,  4066,     0,     0,
5181        0,     0,     0,     0,  2064,     0,  1110,  2065,     0,     0,
5182        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5183      884,     0,     0,   884,  1109,     0,     0,     0,     0,     0,
5184        0,     0,  1729,     0,  2667,     0,     0,     0,     0,     0,
5185        0,     0,     0,     0,     0,     0,     0,  1110,     0,     0,
5186        0,  3006,  1100,     0,     0,     0,     0,     0,     0,     0,
5187        0,     0,     0,     0,     0,  2067,     0,     0,  2068,  2069,
5188     2070,     0,  2071,  2072,  2073,  2074,  2075,  2076,     0,     0,
5189        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5190        0,     0,  1109,     0,     0,  2066,  1729,     0,     0,     0,
5191        0,     0,     0,     0,     0,     0,     0,  1728,  1728,  1728,
5192        0,     0,     0,     0,  1729,     0,   876,   876,     0,  1102,
5193     1100,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5194        0,   884,     0,  1109,     0,     0,     0,     0,     0,     0,
5195        0,     0,     0,     0,     0,  1102,     0,     0,     0,     0,
5196        0,   884,     0,     0,     0,  4589,  4590,  4591,  4592,     0,
5197        0,  1100,     0,     0,     0,     0,  1109,     0,     0,     0,
5198      884,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5199        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5200        0,     0,     0,     0,  1100,  2067,     0,     0,  2068,  2069,
5201     2070,     0,  2071,  2072,  2073,  2074,  2075,  2076,     0,  2048,
5202        0,     0,  2049,  1643,     0,     0,  2050,  2051,  2052,     0,
5203        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5204        0,     0,     0,  2053,     0,     0,     0,     0,     0,     0,
5205        0,  2055,     0,     0,     0,     0,     0,     0,  2056,     0,
5206     1110,     0,     0,     0,     0,     0,   884,     0,     0,     0,
5207        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5208        0,     0,     0,  2057,     0,     0,     0,     0,     0,     0,
5209        0,     0,     0,     0,     0,     0,  3257,  3258,  1640,     0,
5210        0,     0,  3262,     0,     0,     0,     0,     0,     0,     0,
5211        0,     0,     0,  1728,     0,     0,     0,     0,     0,     0,
5212      884,     0,   884,     0,     0,     0,     0,     0,     0,     0,
5213        0,     0,     0,     0,  3291,   884,     0,   884,     0,     0,
5214        0,     0,  2197,     0,     0,  2197,     0,     0,     0,     0,
5215        0,     0,     0,     0,     0,  1109,     0,     0,     0,  1728,
5216        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5217        0,     0,  1109,     0,     0,     0,     0,     0,     0,     0,
5218        0,     0,     0,  1100,     0,     0,     0,     0,     0,     0,
5219     1109,     0,     0,     0,  2058,     0,     0,     0,     0,  2059,
5220     1100,     0,     0,   884,     0,     0,     0,     0,     0,     0,
5221        0,     0,     0,     0,  1102,     0,     0,     0,  1100,     0,
5222        0,  2060,  2061,     0,     0,     0,     0,     0,     0,     0,
5223        0,     0,     0,     0,     0,     0,  2062,     0,     0,  1102,
5224        0,     0,     0,     0,     0,     0,  1109,     0,     0,     0,
5225        0,     0,     0,     0,  1102,     0,     0,     0,   884,  1109,
5226        0,     0,     0,     0,  1110,     0,     0,     0,     0,     0,
5227        0,     0,  1109,     0,  1100,  2063,   884,     0,     0,     0,
5228        0,  1110,     0,     0,  1109,     0,     0,  1100,     0,  2064,
5229        0,     0,  2065,     0,     0,     0,  1110,     0,   884,     0,
5230     1100,   884,     0,     0,     0,     0,     0,     0,     0,     0,
5231        0,     0,  1100,     0,     0,     0,     0,     0,  4821,     0,
5232        0,     0,     0,     0,     0,     0,     0,     0,  1109,  1109,
5233        0,     0,     0,     0,     0,     0,     0,     0,     0,  1102,
5234        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5235        0,     0,     0,     0,     0,     0,  1100,  1100,     0,     0,
5236        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5237        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5238     2066,     0,  3502,  1728,     0,     0,     0,  3508,     0,     0,
5239        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5240        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5241        0,     0,     0,  2041,     0,     0,     0,     0,     0,     0,
5242        0,     0,     0,     0,  2804,     0,  2804,  2804,     0,     0,
5243        0,     0,     0,     0,     0,     0,     0,  3568,     0,     0,
5244     3571,     0,  3573,     0,     0,     0,     0,     0,     0,     0,
5245        0,     0,     0,     0,  1102,     0,     0,     0,     0,     0,
5246        0,     0,     0,     0,     0,     0,     0,  1109,     0,     0,
5247        0,     0,     0,     0,     0,     0,     0,  3594,     0,  3597,
5248     2067,  3599,     0,  2068,  2069,  2070,     0,  2071,  2072,  2073,
5249     2074,  2075,  2076,     0,     0,  1100,     0,     0,     0,     0,
5250        0,     0,     0,     0,     0,     0,     0,     0,     0,  2197,
5251        0,     0,  2967,     0,  2967,     0,     0,     0,     0,  2197,
5252        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5253        0,     0,     0,     0,     0,     0,  2141,     0,     0,     0,
5254        0,   884,     0,     0,     0,     0,     0,     0,     0,     0,
5255        0,  2158,     0,     0,     0,     0,     0,     0,     0,     0,
5256     4981,     0,     0,     0,     0,     0,     0,     0,  1110,     0,
5257        0,     0,     0,     0,     0,  4994,     0,     0,     0,     0,
5258     1339,     0,     0,     0,     0,     0,     0,  1110,     0,     0,
5259        0,  1728,     0,     0,     0,     0,  1728,     0,  1728,     0,
5260        0,     0,   624,     0,     0,  1109,  5031,     0,     0,  1109,
5261     1109,     0,  2197,     0,     0,  3689,     0,     0,     0,   625,
5262        0,  1728,     0,     0,     0,     0,     0,     0,     0,     0,
5263        0,     0,     0,  1100,     0,     0,     0,  1100,  1100,     0,
5264        0,  1728,   626,     0,     0,     0,     0,     0,     0,     0,
5265        0,     0,     0,     0,     0,   627,     0,   884,     0,     0,
5266      884,     0,     0,     0,  1102,     0,   628,     0,     0,     0,
5267     -860,  1109,     0,     0,     0,     0,     0,     0,     0,     0,
5268        0,     0,  1110,     0,  1110,  1109,     0,     0,   629,     0,
5269        0,     0,     0,     0,   630,     0,     0,     0,     0,  1100,
5270        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5271        0,   631,     0,  1100,     0,     0,     0,     0,     0,     0,
5272        0,     0,   632,     0,     0,     0,  1109,  5115,     0,     0,
5273        0,   633,  1102,     0,     0,     0,     0,     0,     0,     0,
5274        0,     0,     0,   634,     0,     0,     0,     0,     0,     0,
5275        0,   635,   884,   884,  1100,   636,     0,     0,     0,     0,
5276     1103,     0,   884,     0,     0,     0,     0,     0,     0,     0,
5277        0,     0,     0,  1102, -1089,  1110,     0,     0,     0,     0,
5278        0,   884,     0,     0,     0,     0,  1103,     0,     0,     0,
5279        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5280        0,     0,  1643,     0,     0,     0,  1102,     0,  1643,     0,
5281        0,   637,     0,     0,     0,     0,  1110,     0,     0,     0,
5282     -577,     0,     0,     0,     0,     0,     0,  5193,     0,     0,
5283        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5284        0,     0,     0,     0,     0,  2967,     0,     0,     0,     0,
5285        0,     0,     0,     0,     0,     0,     0,     0,     0,   884,
5286      638,     0,     0,   639,     0,     0,     0,     0,     0,     0,
5287        0,     0,     0,     0,     0,     0,     0,  1640,     0,     0,
5288        0,     0,     0,  1640,   640,     0,     0,     0,     0,     0,
5289        0,     0,     0,     0,     0,     0,     0,     0,   641,     0,
5290        0,     0,     0,     0,     0,  -448,     0,     0,     0,     0,
5291        0,     0,     0,     0,  1110,     0,     0,     0,     0,     0,
5292        0,     0,     0,     0,   642,     0,     0,     0,     0,  1109,
5293        0,     0,     0,   643,     0,  2967,     0,     0,     0,     0,
5294     -448,     0,     0,   644,     0,     0,     0,     0,     0,  1110,
5295        0,     0,     0,     0,     0,     0,     0,  1100,     0,     0,
5296        0,     0,   645,     0,     0,     0,     0,     0,     0,   646,
5297        0,     0,     0,     0,     0,  -448,     0,     0,   647,   648,
5298        0,   649,   650,     0,     0,  1102,     0,     0,     0,     0,
5299        0,     0,   651,     0,     0,     0,     0,   652,     0,     0,
5300        0,     0,  1102,     0,   653,     0,     0,   654,     0,     0,
5301      655,  1109,     0,     0,  1109,     0,     0,     0,     0,     0,
5302     1102,     0,     0,  -448,     0,     0,     0,     0,     0,     0,
5303        0,     0,     0,     0,     0,     0,     0,     0,     0,  1100,
5304        0,     0,  1100,     0,     0,  1103,     0,     0,     0,     0,
5305        0,     0,     0,     0,     0,  1110,     0,     0,     0,     0,
5306        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5307     1103,     0,     0,     0,     0,     0,  1102,     0,  1110,     0,
5308        0,     0,     0,     0,     0,  1103,   884,     0,     0,  1102,
5309        0,  1728,     0,     0,     0,     0,     0,     0,     0,     0,
5310        0,     0,  1102,  1110,     0,     0,     0,     0,     0,     0,
5311        0,     0,     0,     0,  1102,     0,     0,     0,     0,     0,
5312        0,     0,     0,     0,     0,     0,   884,  4067,     0,     0,
5313        0,     0,     0,  1109,     0,     0,  4071,     0,   884,  1110,
5314        0,     0,     0,     0,  4073,     0,  4074,     0,     0,     0,
5315     1109,     0,     0,     0,     0,     0,     0,     0,  1102,  1102,
5316        0,  1100,     0,     0,     0,  1109,     0,     0,   884,     0,
5317     1103,     0,     0,  4098,  4099,     0,     0,     0,  1100,     0,
5318        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5319        0,  2810,     0,  1100,     0,     0,     0,     0,     0,  4125,
5320      958,     0,  4128,     0,  4130,   959,     0,     0,     0,     0,
5321        0,     0,     0,     0,     0,     0,  4135,     0,     0,     0,
5322        0,     0,     0,     0,  4142,  4143,     0,     0,     0,  2197,
5323        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5324      960,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5325        0,     0,     0,   961,   962,     0,  4189,     0,     0,     0,
5326        0,     0,     0,     0,   963,     0,     0,   884,   964,     0,
5327        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5328        0,     0,  4204,     0,     0,  1103,   965,     0,     0,     0,
5329        0,     0,     0,     0,     0,     0,     0,  1102,  4217,     0,
5330        0,     0,     0,     0,     0,     0,     0,     0,     0,   966,
5331        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5332      967,   192,     0,     0,     0,     0,     0,     0,  2967,   968,
5333        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5334        0,   969,     0,     0,     0,     0,   970,   884,     0,     0,
5335        0,     0,     0,  2967,     0,     0,     0,     0,     0,     0,
5336        0,     0,     0,     0,     0,     0,     0,     0,     0,   193,
5337     1105,     0,   971,     0,     0,     0,     0,     0,  1109,     0,
5338        0,  1109,     0,  1109,   194,     0,     0,     0,  1109,     0,
5339        0,     0,     0,     0,     0,     0,  1105,   972,     0,     0,
5340        0,     0,   195,     0,     0,     0,  1100,     0,   196,  1100,
5341        0,  1100,     0,     0,     0,     0,  1100,     0,   973,     0,
5342        0,     0,     0,     0,     0,   197,     0,     0,     0,     0,
5343        0,     0,     0,     0,     0,  1102,   198,  1109,     0,  1102,
5344     1102,     0,     0,     0,     0,   199,     0,     0,     0,     0,
5345        0,     0,     0,     0,     0,     0,  1109,   200,   974,   884,
5346        0,   884,   201,     0,     0,  1100,     0,     0,     0,   202,
5347        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5348        0,  1109,   975,     0,  1100,     0,     0,  1110,   203,     0,
5349        0,     0,   208,   976,     0,  1103,   977,     0,     0,     0,
5350        0,  1102,     0,     0,     0,     0,     0,     0,   884,  1100,
5351        0,     0,     0,   204,     0,  1102,     0,     0,     0,     0,
5352        0,     0,   978,     0,     0,   979,     0,     0,     0,   980,
5353        0,   981,     0,     0,   205,  2967,     0,     0,   982,  2197,
5354        0,   983,     0,     0,     0,     0,     0,     0,     0,     0,
5355        0,  1109,     0,  1109,     0,     0,  1102,  1728,     0,     0,
5356      984,     0,     0,  1103,     0,     0,     0,   985,     0,     0,
5357        0,     0,     0,   986,   206,     0,   987,     0,     0,  1100,
5358      988,  1100,     0,     0,     0,     0,     0,     0,   989,     0,
5359      990,     0,     0,     0,     0,   991,     0,     0,   207,     0,
5360        0,     0,     0,     0,  1103,     0,     0,     0,   208,   209,
5361        0,     0,   210,     0,     0,  4498,  4499,     0,     0,     0,
5362        0,   992,     0,     0,     0,     0,     0,     0,     0,     0,
5363        0,     0,     0,     0,     0,     0,     0,  1103,   211,     0,
5364        0,   212,     0,     0,  1109,   213,     0,   214,     0,     0,
5365        0,     0,     0,     0,   215,  1105,     0,   216,     0,     0,
5366        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5367        0,  1110,  1100,     0,     0,     0,   217,     0,     0,     0,
5368     1105,  1110,     0,   218,     0,  1109,     0,     0,   219,   220,
5369     4541,     0,   221,     0,     0,  1105,   222,     0,     0,     0,
5370        0,     0,  4547,     0,     0,     0,   223,     0,     0,     0,
5371        0,   224,     0,  1100,  1109,     0,     0,     0,     0,     0,
5372        0,     0,     0,     0,   225,     0,     0,     0,     0,     0,
5373        0,     0,     0,     0,     0,     0,     0,   226,     0,     0,
5374        0,  1728,  1100,  4565,  4567,     0,     0,     0,     0,     0,
5375     4571,  4572,     0,     0,     0,  4573,     0,     0,     0,  1102,
5376        0,  4576,  1106,     0,  4579,  4580,     0,   884,     0,  4584,
5377        0,     0,     0,     0,     0,  4588,     0,     0,     0,     0,
5378     1105,   884,     0,  1109,     0,     0,     0,     0,  1106,     0,
5379        0,     0,     0,     0,     0,     0,     0,     0,     0,  1110,
5380        0,     0,     0,     0,  1109,     0,     0,     0,     0,     0,
5381        0,  1100,     0,     0,     0,     0,  1103,     0,  1109,     0,
5382        0,     0,     0,     0,     0,     0,     0,     0,     0,  1315,
5383        0,     0,  1100,  1103,     0,     0,     0,     0,     0,     0,
5384     1110,  1102,     0,     0,  1102,     0,  1100,     0,     0,     0,
5385        0,  1103,     0,     0,     0,     0,  4645,     0,     0,     0,
5386        0,     0,  1110,     0,     0,     0,     0,     0,     0,     0,
5387        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5388        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5389        0,     0,     0,     0,     0,  1105,     0,     0,     0,     0,
5390        0,     0,     0,     0,     0,     0,     0,  1103,     0,     0,
5391        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5392     1103,     0,     0,     0,  1109,     0,     0,     0,     0,     0,
5393     1110,     0,     0,  1103,     0,     0,     0,     0,     0,     0,
5394        0,     0,     0,     0,     0,  1103,     0,  1109,     0,     0,
5395        0,     0,  1100,     0,     0,     0,     0,     0,     0,     0,
5396     4711,     0,     0,  1102,     0,     0,  1728,     0,   884,     0,
5397        0,     0,  1109,     0,     0,  1100,     0,     0,     0,     0,
5398     1102,     0,     0,     0,     0,     0,     0,     0,     0,  1103,
5399     1103,     0,     0,     0,     0,  1102,     0,     0,     0,     0,
5400     1100,     0,     0,     0,     0,     0,     0,     0,  1109,     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,  4749,     0,  1100,     0,     0,     0,
5404        0,     0,     0,     0,     0,     0,     0,  1106,     0,     0,
5405     4818,     0,  1110,     0,     0,     0,     0,     0,     0,     0,
5406        0,     0,     0,  1728,     0,     0,     0,     0,     0,     0,
5407        0,     0,  1106,     0,     0,     0,     0,     0,     0,     0,
5408        0,   884,     0,     0,     0,     0,     0,  1106,     0,     0,
5409        0,     0,     0,     0,     0,     0,     0,     0,  1109,     0,
5410        0,  1110,     0,     0,     0,  1105,     0,   884,     0,     0,
5411        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5412        0,     0,     0,     0,     0,     0,  1100,     0,  1103,     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,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5417        0,     0,  1106,  1105,     0,     0,     0,     0,     0,     0,
5418        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5419        0,     0,     0,     0,     0,     0,     0,  1109,     0,     0,
5420        0,  4853,  4854,     0,     0,  4855,     0,     0,  1102,     0,
5421        0,  1102,   884,  1102,  1105,     0,     0,     0,  1102,     0,
5422        0,     0,  1109,     0,     0,  1100,     0,     0,     0,     0,
5423        0,     0,     0,     0,     0,     0,     0,     0,  2967,     0,
5424        0,     0,  4890,  4891,     0,     0,     0,  1105,     0,     0,
5425     1100,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5426     4902,     0,     0,     0,     0,     0,  1103,  1102,     0,     0,
5427     1103,  1103,     0,     0,     0,     0,     0,     0,     0,     0,
5428        0,     0,     0,     0,     0,     0,  1102,  1106,     0,     0,
5429        0,     0,     0,     0,     0,  1728,     0,     0,     0,     0,
5430        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5431        0,  1102,     0,     0,     0,     0,     0,     0,     0,     0,
5432        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5433        0,     0,  1103,     0,     0,     0,     0,     0,     0,     0,
5434        0,     0,     0,     0,     0,     0,  1103,     0,     0,     0,
5435        0,     0,     0,     0,     0,     0,  1109,     0,     0,  1728,
5436     1108,     0,     0,     0,  2967,     0,     0,     0,     0,     0,
5437        0,     0,     0,     0,     0,     0,     0,  1728,     0,     0,
5438        0,  1102,     0,  1102,  1100,     0,  1108,  1103,     0,  1110,
5439        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5440        0,     0,     0,     0,  1109,     0,     0,     0,  1109,     0,
5441        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5442        0,     0,     0,     0,     0,     0,  1105,     0,  1110,     0,
5443        0,     0,  1100,     0,     0,     0,  1100,     0,     0,     0,
5444        0,     0,     0,  1105,     0,     0,     0,     0,     0,     0,
5445        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5446        0,  1105,     0,     0,     0,     0,  2810,     0,     0,     0,
5447        0,     0,     0,     0,  1102,     0,     0,     0,     0,     0,
5448        0,  1110,     0,     0,     0,     0,  1110,  1110,     0,     0,
5449        0,     0,     0,  5085,     0,     0,     0,  1106,     0,     0,
5450        0,     0,     0,     0,     0,     0,     0,  2041,     0,     0,
5451        0,     0,     0,     0,     0,  1102,     0,  1105,     0,     0,
5452        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5453     1105,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5454     1109,     0,     0,  1105,  1102,     0,     0,     0,     0,     0,
5455     1109,     0,     0,     0,     0,  1105,     0,     0,     0,     0,
5456        0,     0,     0,     0,     0,  1106,  5134,     0,  1100,     0,
5457        0,     0,     0,     0,     0,     0,     0,     0,  1100,     0,
5458        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5459     1103,     0,     0,     0,     0,     0,     0,     0,     0,  1105,
5460     1105,  4818,  1110,     0,     0,     0,  1106,     0,     0,  5171,
5461        0,     0,     0,  1102,     0,     0,     0,     0,     0,     0,
5462        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5463        0,     0,     0,     0,  1102,     0,     0,     0,     0,  1106,
5464        0,     0,     0,     0,     0,  1108,     0,     0,  1102,     0,
5465        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5466        0,     0,     0,     0,     0,     0,     0,     0,  1109,     0,
5467     1108,     0,  1103,     0,     0,  1103,     0,     0,     0,     0,
5468        0,     0,     0,     0,     0,  1108,     0,     0,     0,     0,
5469        0,     0,     0,     0,     0,     0,  1100,     0,     0,     0,
5470        0,     0,     0,     0,     0,     0,     0,     0,     0,  1109,
5471        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5472        0,  4890,     0,     0,     0,     0,     0,     0,     0,     0,
5473        0,  1109,     0,     0,     0,     0,     0,  1100,  1105,     0,
5474        0,     0,     0,     0,     0,     0,     0,  5274,     0,     0,
5475        0,     0,     0,     0,  1102,     0,     0,     0,     0,  1100,
5476        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5477     1108,     0,     0,     0,     0,     0,     0,  1102,     0,     0,
5478        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5479        0,     0,     0,     0,  1103,     0,     0,  1110,     0,  1109,
5480        0,     0,  1102,     0,     0,     0,     0,     0,     0,     0,
5481        0,  1103,     0,     0,     0,     0,     0,     0,  1106,     0,
5482        0,     0,     0,     0,  5328,     0,  1103,  1100,     0,     0,
5483        0,     0,     0,     0,     0,  1106,     0,     0,  1102,     0,
5484        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5485        0,     0,     0,  1106,     0,     0,     0,     0,     0,  5356,
5486     5356,  5356,     0,     0,     0,     0,     0,     0,     0,     0,
5487        0,     0,     0,     0,     0,     0,  1105,     0,  4890,     0,
5488     1105,  1105,     0,     0,     0,  1108,     0,     0,     0,     0,
5489        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5490        0,     0,     0,     0,     0,     0,     0,     0,     0,  1106,
5491        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5492        0,  1109,  1106,     0,     0,     0,     0,     0,  1102,     0,
5493        0,     0,     0,     0,     0,  1106,     0,     0,     0,     0,
5494        0,     0,  1105,     0,     0,     0,     0,  1106,     0,  1100,
5495        0,     0,     0,     0,     0,     0,  1105,     0,     0,  5417,
5496        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5497     1109,     0,     0,     0,     0,     0,     0,  5356,     0,     0,
5498        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5499        0,  1106,  1106,     0,     0,     0,     0,  1105,  1100,     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,  1102,     0,     0,
5503        0,     0,     0,     0,     0,     0,     0,     0,     0,  1103,
5504        0,     0,  1103,     0,  1103,     0,     0,     0,     0,  1103,
5505        0,     0,  1102,     0,     0,     0,     0,     0,     0,     0,
5506        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5507        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5508        0,     0,     0,     0,     0,     0,     0,  5509,     0,     0,
5509        0,     0,     0,     0,     0,  1108,     0,     0,  1103,     0,
5510        0,     0,     0,     0,     0,     0,     0,  1109,     0,     0,
5511        0,     0,     0,     0,     0,     0,     0,  1103,     0,     0,
5512        0,     0,  5356,     0,     0,     0,     0,     0,     0,     0,
5513     1106,     0,  5536,     0,     0,  1100,     0,     0,     0,     0,
5514        0,     0,  1103,     0,     0,     0,     0,     0,     0,     0,
5515        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5516        0,     0,     0,  1108,     0,     0,     0,     0,     0,     0,
5517        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5518        0,     0,     0,     0,     0,     0,  1102,     0,     0,     0,
5519        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5520     1105,     0,     0,     0,  1108,     0,     0,     0,     0,     0,
5521        0,     0,  1103,     0,  1103,     0,     0,     0,     0,     0,
5522        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5523        0,     0,     0,  1109,  1102,     0,     0,  1108,  1102,     0,
5524        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5525        0,     0,     0,     0,     0,     0,     0,     0,  1109,     0,
5526        0,  1100,     0,     0,     0,     0,     0,     0,  1106,     0,
5527        0,     0,  1106,  1106,     0,     0,     0,     0,     0,     0,
5528        0,     0,  1105,     0,     0,  1105,  1100,     0,     0,     0,
5529        0,     0,     0,     0,     0,     0,     0,  1109,     0,     0,
5530        0,     0,     0,     0,     0,  1103,     0,     0,     0,     0,
5531        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5532        0,     0,     0,     0,     0,  1100,     0,     0,     0,     0,
5533        0,     0,     0,     0,  1106,     0,     0,     0,     0,     0,
5534        0,     0,     0,     0,     0,     0,  1103,     0,  1106,     0,
5535     1109,     0,     0,     0,     0,  1109,  1109,     0,     0,     0,
5536        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5537     1102,     0,     0,     0,     0,  1103,     0,     0,  1100,     0,
5538     1102,     0,     0,  1100,  1100,     0,     0,     0,     0,  1106,
5539        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5540        0,     0,     0,     0,  1105,     0,     0,     0,     0,     0,
5541        0,     0,     0,     0,     0,     0,  1108,     0,     0,     0,
5542        0,  1105,     0,     0,     0,     0,     0,     0,     0,     0,
5543        0,     0,     0,  1108,     0,     0,  1105,     0,     0,     0,
5544        0,     0,     0,     0,  1103,     0,     0,     0,     0,     0,
5545        0,  1108,     0,     0,     0,     0,     0,     0,     0,     0,
5546        0,     0,     0,     0,     0,  1103,     0,     0,     0,     0,
5547        0,  1109,     0,     0,     0,     0,     0,     0,     0,  1103,
5548        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5549        0,     0,     0,     0,     0,     0,     0,     0,  1102,  1100,
5550        0,     0,     0,     0,     0,     0,     0,  1108,     0,     0,
5551        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5552     1108,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5553        0,     0,     0,  1108,     0,     0,     0,     0,     0,  1102,
5554        0,     0,     0,     0,     0,  1108,     0,     0,     0,     0,
5555        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5556        0,  1102,     0,     0,     0,     0,     0,     0,     0,     0,
5557        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5558        0,     0,     0,     0,     0,  1103,     0,     0,     0,  1108,
5559     1108,     0,  1106,     0,     0,     0,     0,     0,     0,     0,
5560        0,     0,     0,     0,     0,     0,     0,     0,  1103,     0,
5561        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5562        0,     0,     0,     0,     0,     0,     0,     0,  2078,  1102,
5563        0,     0,     0,  1103,     0,     0,     0,     0,     0,     0,
5564        0,     0,     0,     0,     0,     0,     0,     0,     0,  1105,
5565        0,     0,  1105,     0,  1105,     0,     0,     0,     0,  1105,
5566        0,     0,     0,     0,     0,     0,  1109,     0,     0,  1103,
5567        0,     0,     0,     0,  1106,     0,     0,  1106,     0,     0,
5568        0,     0,     0,     0,     0,     0,  2078,     0,     0,     0,
5569        0,     0,     0,     0,  1100,     0,     0,     0,     0,     0,
5570        0,     0,     0,     0,     0,     0,     0,     0,  1105,     0,
5571        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5572        0,     0,     0,     0,     0,     0,     0,  1105,  1108,     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,  1102,  1105,     0,     0,     0,     0,     0,     0,  1103,
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,  1106,     0,     0,     0,
5580     1102,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5581        0,     0,     0,  1106,     0,     0,     0,     0,     0,     0,
5582        0,     0,  1105,     0,  1105,     0,     0,     0,  1106,     0,
5583        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5584        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5585        0,     0,     0,     0,     0,     0,     0,     0,  1103,     0,
5586        0,     0,     0,     0,     0,     0,  1108,     0,     0,     0,
5587     1108,  1108,     0,     0,     0,     0,     0,     0,     0,     0,
5588        0,     0,     0,  1103,     0,     0,     0,     0,     0,     0,
5589        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5590        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5591        0,     0,     0,     0,     0,  1105,     0,     0,     0,     0,
5592        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5593        0,     0,  1108,     0,     0,     0,     0,  1102,     0,     0,
5594        0,     0,     0,     0,     0,     0,  1108,     0,     0,     0,
5595        0,     0,     0,  2078,     0,     0,  1105,  2078,     0,     0,
5596        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5597        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5598        0,     0,     0,     0,     0,  1105,     0,  1108,     0,     0,
5599        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5600        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5601        0,     0,     0,     0,     0,     0,     0,  1103,     0,     0,
5602        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5603        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5604        0,  1106,     0,     0,  1106,     0,  1106,     0,     0,     0,
5605        0,  1106,     0,     0,  1105,     0,     0,     0,     0,     0,
5606        0,     0,     0,  1102,     0,  1103,     0,     0,     0,  1103,
5607        0,     0,     0,     0,     0,  1105,     0,     0,     0,     0,
5608        0,     0,     0,     0,     0,     0,     0,     0,  1102,  1105,
5609        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5610     1106,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5611        0,     0,     0,     0,     0,     0,     0,     0,     0,  1106,
5612        0,     0,     0,     0,     0,     0,     0,  1102,     0,     0,
5613        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5614        0,     0,     0,     0,  1106,     0,     0,     0,     0,     0,
5615        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5616        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5617        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5618     1102,     0,     0,     0,     0,  1102,  1102,     0,     0,     0,
5619     1108,     0,     0,     0,     0,  1105,     0,     0,     0,     0,
5620        0,  1103,     0,     0,     0,     0,     0,     0,     0,     0,
5621        0,  1103,     0,     0,  1106,     0,  1106,     0,  1105,     0,
5622        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5623        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5624        0,     0,     0,  1105,     0,     0,     0,     0,     0,     0,
5625        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5626        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5627        0,     0,  1108,     0,     0,  1108,     0,     0,     0,  1105,
5628        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5629        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5630        0,  1102,     0,     0,     0,     0,     0,  1106,     0,     0,
5631        0,     0,     0,     0,     0,     0,     0,  2078,     0,     0,
5632        0,     0,     0,     0,     0,     0,     0,     0,     0,  1103,
5633        0,     0,  2078,     0,     0,     0,  2792,     0,     0,     0,
5634        0,     0,     0,     0,     0,     0,     0,     0,  1106,     0,
5635     2078,  2078,  2078,     0,  2078,     0,     0,     0,     0,     0,
5636        0,     0,     0,     0,     0,     0,     0,     0,     0,  1105,
5637     1103,     0,     0,     0,     0,     0,     0,  1106,     0,     0,
5638        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5639        0,     0,  1103,     0,  1108,     0,  2078,     0,     0,     0,
5640        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5641        0,  1108,     0,     0,     0,     0,     0,     0,     0,     0,
5642        0,     0,     0,     0,     0,     0,  1108,     0,     0,     0,
5643        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5644        0,     0,     0,     0,     0,     0,  1106,     0,     0,     0,
5645        0,     0,     0,     0,  2078,     0,     0,     0,     0,     0,
5646     1103,     0,     0,     0,     0,     0,  2078,  1106,  1105,     0,
5647        0,  2078,     0,     0,     0,     0,     0,     0,     0,     0,
5648        0,  1106,     0,     0,     0,     0,     0,     0,     0,     0,
5649        0,     0,     0,  1105,     0,     0,  1102,     0,     0,     0,
5650        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5651        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5652        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5653        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5654        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5655        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5656        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5657        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5658        0,     0,  1103,     0,     0,     0,     0,  1106,     0,     0,
5659        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5660        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5661     1106,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5662        0,     0,     0,     0,     0,     0,     0,  1105,     0,     0,
5663        0,  1103,     0,     0,     0,  1106,     0,     0,     0,  1108,
5664        0,     0,  1108,     0,  1108,     0,     0,     0,     0,  1108,
5665        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5666        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5667        0,  1106,     0,     0,     0,  1105,     0,     0,     0,  1105,
5668        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5669        0,     0,     0,     0,     0,     0,     0,     0,  1108,     0,
5670        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5671        0,     0,     0,     0,     0,     0,     0,  1108,     0,     0,
5672        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5673        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5674        0,     0,  1108,     0,     0,     0,     0,     0,     0,     0,
5675        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5676        0,  1106,     0,     0,     0,     0,     0,     0,  1103,     0,
5677        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5678        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5679        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5680        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5681        0,  1105,  1108,     0,  1108,     0,     0,     0,     0,     0,
5682        0,  1105,     0,     0,     0,     0,     0,     0,     0,     0,
5683        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5684        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5685        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5686     1106,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5687        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5688        0,     0,     0,     0,     0,  1106,     0,     0,     0,     0,
5689        0,     0,     0,     0,  1103,     0,     0,     0,     0,     0,
5690        0,     0,     0,     0,     0,  1108,     0,     0,     0,     0,
5691        0,     0,     0,     0,     0,     0,     0,     0,     0,  1103,
5692        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5693        0,     0,     0,     0,     0,     0,     0,     0,     0,  1105,
5694        0,     0,     0,     0,     0,     0,  1108,     0,     0,     0,
5695        0,     0,     0,     0,     0,     0,     0,     0,  1103,     0,
5696        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5697        0,     0,     0,     0,     0,  1108,     0,     0,     0,     0,
5698     1105,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5699        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5700        0,     0,  1105,     0,     0,     0,     0,     0,     0,     0,
5701        0,  1103,     0,     0,     0,     0,  1103,  1103,     0,  1106,
5702        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5703        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5704        0,     0,     0,     0,  1108,     0,     0,     0,     0,     0,
5705        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5706        0,     0,     0,     0,     0,  1108,     0,  1106,     0,     0,
5707     1105,  1106,     0,     0,  2078,     0,     0,     0,     0,  1108,
5708        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5709        0,     0,     0,     0,  2078,  2078,     0,  2078,     0,     0,
5710     2792,  2792,     0,  3545,     0,  2792,     0,     0,     0,  2078,
5711        0,     0,  2078,     0,     0,     0,     0,  2078,     0,     0,
5712        0,     0,     0,  2078,     0,     0,     0,     0,  2078,     0,
5713        0,     0,  1103,     0,     0,  2078,  2078,  2078,  2078,     0,
5714        0,     0,  2792,  2792,     0,  2078,     0,     0,     0,     0,
5715        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5716        0,     0,     0,  2078,     0,  2078,     0,     0,     0,     0,
5717        0,     0,  2078,  2078,  2078,  2078,  2078,  2078,  2078,  2078,
5718     2078,  2078,     0,     0,     0,  1108,     0,     0,     0,     0,
5719        0,     0,  1105,     0,     0,     0,     0,     0,     0,     0,
5720        0,     0,     0,  1106,     0,     0,     0,     0,  1108,     0,
5721        0,     0,     0,  1106,     0,     0,     0,     0,  2078,     0,
5722        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5723        0,     0,     0,  1108,     0,     0,     0,     0,     0,     0,
5724        0,  1105,     0,     0,     0,     0,     0,     0,     0,     0,
5725        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5726        0,     0,     0,     0,     0,     0,     0,     0,     0,  1108,
5727        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5728        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5729        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5730        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5731        0,     0,     0,     0,     0,     0,     0,     0,     0,  2078,
5732        0,     0,     0,     0,     0,     0,     0,  1103,     0,     0,
5733        0,  1106,     0,     0,     0,     0,     0,     0,     0,     0,
5734        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5735        0,     0,     0,     0,     0,     0,     0,     0,     0,  1108,
5736        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5737        0,     0,  1106,     0,     0,     0,     0,     0,  1105,     0,
5738        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5739        0,     0,     0,     0,  1106,     0,     0,     0,     0,     0,
5740        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5741        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5742        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5743        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5744        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5745        0,     0,     0,     0,     0,     0,     0,     0,  1108,     0,
5746        0,     0,  1106,     0,     0,     0,     0,     0,     0,     0,
5747        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5748        0,     0,     0,  1108,     0,     0,     0,     0,     0,     0,
5749        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5750        0,     0,     0,     0,  1105,     0,     0,     0,     0,     0,
5751        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5752        0,     0,     0,     0,     0,     0,     0,     0,     0,  1105,
5753        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5754        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5755        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5756        0,     0,     0,     0,     0,     0,     0,     0,  1105,     0,
5757     2078,  2078,     0,     0,     0,  2078,     0,     0,     0,     0,
5758        0,     0,     0,     0,  1106,     0,     0,     0,     0,     0,
5759        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5760        0,     0,     0,     0,  2078,     0,     0,     0,     0,     0,
5761        0,     0,     0,     0,     0,     0,     0,  1108,     0,     0,
5762        0,  1105,     0,     0,     0,     0,  1105,  1105,     0,     0,
5763        0,     0,     0,  1106,     0,     0,     0,     0,     0,     0,
5764        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5765        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5766        0,     0,     0,     0,     0,  1108,     0,     0,     0,  1108,
5767        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5768        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5769        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5770        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5771        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5772        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5773        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5774        0,     0,  1105,     0,     0,     0,     0,     0,     0,     0,
5775        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5776        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5777     1106,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5778        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5779        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5780        0,  1108,     0,     0,     0,     0,     0,     0,     0,     0,
5781        0,  1108,     0,     0,     0,  2078,     0,     0,     0,     0,
5782        0,  2078,     0,     0,     0,     0,     0,     0,     0,     0,
5783        0,     0,     0,     0,     0,     0,     0,     0,     0,  3545,
5784     3545,     0,     0,  2792,  2792,  2792,  2792,     0,     0,  2792,
5785     2792,  2792,  2792,  2792,  2792,  2792,  2792,  2792,  2792,  3545,
5786        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5787        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5788        0,  2078,     0,     0,  2078,     0,  2078,     0,     0,  3545,
5789     3545,     0,     0,     0,     0,     0,  1106,     0,     0,     0,
5790        0,     0,     0,     0,     0,     0,     0,  2078,  2792,  2792,
5791     2078,     0,  2078,     0,     0,     0,     0,     0,     0,     0,
5792        0,  1106,     0,     0,     0,     0,     0,     0,     0,  1108,
5793        0,     0,     0,     0,     0,     0,     0,  1105,     0,     0,
5794        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5795        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5796     1106,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5797     1108,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5798        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5799        0,     0,  1108,     0,     0,     0,     0,     0,     0,     0,
5800        0,     0,  2078,     0,     0,     0,     0,     0,     0,     0,
5801        0,     0,     0,  1106,     0,     0,     0,     0,  1106,  1106,
5802        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5803        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5804        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5805        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5806     1108,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5807        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5808        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5809        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5810        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5811        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5812        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5813        0,     0,     0,     0,  1106,     0,     0,     0,     0,     0,
5814        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5815        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5816        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5817        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5818        0,     0,  1108,     0,     0,     0,     0,     0,     0,     0,
5819        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5820        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5821        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5822        0,     0,  2792,     0,     0,     0,     0,     0,     0,     0,
5823        0,  1108,     0,     0,     0,     0,     0,     0,     0,     0,
5824        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5825        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5826        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5827        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5828        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5829        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5830        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5831        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5832        0,     0,     0,     0,     0,     0,     0,     0,     0,  1106,
5833        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5834        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5835        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5836        0,     0,     0,     0,     0,     0,     0,     0,  1108,     0,
5837        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5838     2078,     0,     0,     0,  2078,     0,  2078,  2078,     0,     0,
5839        0,     0,     0,  3545,  3545,  3545,  3545,     0,     0,     0,
5840        0,  3545,  3545,  3545,  3545,  3545,  3545,  3545,  3545,  3545,
5841     3545,  2078,  2078,     0,     0,     0,     0,     0,     0,     0,
5842        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5843        0,     0,     0,     0,     0,     0,     0,     0,  2078,     0,
5844        0,  2078,     0,  2078,     0,     0,     0,     0,  2078,     0,
5845        0,  3545,  3545,     0,     0,  2078,  2078,     0,     0,     0,
5846        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5847        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5848        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5849        0,     0,     0,     0,  1108,     0,     0,     0,     0,     0,
5850        0,     0,  2078,     0,     0,     0,     0,     0,     0,     0,
5851        0,     0,     0,     0,     0,     0,     0,  2078,     0,  1108,
5852        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5853     2078,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5854        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5855        0,     0,     0,     0,     0,     0,     0,     0,  1108,     0,
5856        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5857        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5858        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5859        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5860        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5861        0,  1108,     0,     0,     0,     0,  1108,  1108,     0,     0,
5862        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5863        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5864        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5865        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5866        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5867        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5868        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5869        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5870        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5871        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5872        0,     0,     0,     0,     0,     0,  3545,     0,     0,     0,
5873        0,     0,  1108,     0,     0,     0,     0,     0,     0,     0,
5874        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5875        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5876        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5877        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5878        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5879        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5880        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5881        0,  2078,  2078,     0,     0,     0,     0,     0,     0,     0,
5882        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5883        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5884        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5885        0,     0,     0,     0,  2078,     0,     0,     0,     0,     0,
5886     2078,  2792,     0,     0,     0,     0,     0,     0,     0,     0,
5887        0,     0,     0,     0,     0,     0,     0,     0,  2078,     0,
5888     2078,     0,     0,     0,  2078,  2078,  2078,     0,     0,  2078,
5889        0,     0,  2078,  2078,     0,     0,     0,  2078,     0,     0,
5890        0,  2078,     0,     0,     0,     0,     0,     0,     0,     0,
5891        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5892        0,     0,     0,     0,     0,     0,     0,  1108,     0,     0,
5893        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5894        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5895        0,     0,     0,     0,     0,     0,     0,     0,  2078,     0,
5896        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5897        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5898        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5899        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5900        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5901        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5902        0,     0,     0,     0,  2078,     0,     0,     0,     0,     0,
5903        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5904        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5905        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5906        0,     0,  2078,     0,     0,     0,     0,     0,     0,     0,
5907        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5908        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5909        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5910        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5911        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5912        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5913        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5914        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5915        0,  3545,  2792,     0,     0,     0,     0,     0,     0,     0,
5916        0,     0,     0,     0,     0,     0,  2078,  2078,  2078,     0,
5917        0,     0,     0,     0,     0,     0,  2792,     0,     0,     0,
5918        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5919        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5920        0,     0,     0,  2078,  2078,     0,     0,     0,     0,     0,
5921        0,     0,     0,     0,     0,  2078,     0,     0,     0,     0,
5922        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5923        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5924        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5925        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5926        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5927        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5928        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5929        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5930        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5931        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5932        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5933        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5934        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5935        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5936        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5937        0,     0,     0,     0,     0,     0,     0,     0,  3545,     0,
5938        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5939        0,  2792,     0,     0,  3545,     0,     0,     0,  2078,     0,
5940        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5941        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5942        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5943        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5944        0,     0,     0,     0,     0,     0,     0,  2078,     0,     0,
5945        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5946        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5947        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5948        0,     0,     0,     0,  2078,     0,     0,     0,     0,     0,
5949        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5950        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5951        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5952        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5953        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5954        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5955        0,     0,     0,     0,     0,  3545,     0,  2792,     0,     0,
5956        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5957        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5958        0,     0,     0,     0,     0,     0,     0,  2078,     0,     0,
5959        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5960        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5961        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5962        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5963        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5964        0,  2078,     0,     0,     0,     0,     0,     0,     0,     0,
5965        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5966        0,     0,     0,     0,     0,     0,     0,     0,     0,  2078,
5967        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5968        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5969        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5970        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5971        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5972        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5973     2078,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5974        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5975        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5976        0,     0,     0,     0,     0,  2792,  2792,     0,     0,     0,
5977        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5978        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5979        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5980        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5981        0,     0,     0,     0,     0,     0,     0,  3545,  3545,     0,
5982        0,     0,  2078,     0,     0,     0,     0,     0,     0,     0,
5983        0,     0,     0,   229,     0,  1231,   670,     0,  1232,  1233,
5984     1234,   730,  1235,     0,     0,     0,     0,     0,     0,  2078,
5985      230,   231,   232,   233,   234,   235,   236,   237,  1634,   238,
5986      239,   240,     0,     0,     0,     0,  1236,     0,     0,   241,
5987      242,     0,   243,   244,   245,   246,   247,   248,   249,   250,
5988     1237,   252,  1238,  1239,     0,   255,   256,   257,   258,   259,
5989      260,  1240,  1241,   261,   262,  1242,  1243,   265,     0,   266,
5990      267,   268,   269,  1244,     0,  1245,     0,   272,   273,   274,
5991      275,   276,   277,   278,   279,   280,     0,   281,   282,   283,
5992      284,   285,   286,     0,   287,   288,   289,   290,  1246,  1247,
5993     1248,  1249,  1250,  1251,  1252,   292,   293,   294,   295,   296,
5994      297,  1253,  1254,   300,  1255,   301,     0,   302,   303,   304,
5995      305,   306,   307,     0,   308,   309,   310,   311,  1635,     0,
5996      312,   313,  1081,   315,   316,     0,   317,   318,   319,     0,
5997      320,   321,   322,     0,   323,   324,   325,   326,  1256,   328,
5998      329,   330,   331,  1257,  1258,   333,     0,   334,   335,  1259,
5999      337,     0,   338,     0,   339,   340,     0,   341,   342,   343,
6000      344,   345,     0,   346,  1260,     0,  1261,   349,   350,     0,
6001      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
6002        0,   361,   362,   363,   364,   365,   366,   367,     0,   368,
6003      369,   370,   371,   372,   373,   374,  1262,  1263,     0,  1264,
6004        0,   378,   379,   380,   381,   382,   383,   384,   385,   386,
6005      387,     0,     0,   388,  1265,   390,   391,   392,     0,   393,
6006      394,   395,  1266,  1267,   396,   397,   398,   399,   400,   401,
6007      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
6008     1268,   413,  1269,   415,   416,   417,   418,   419,   420,   421,
6009      422,  1270,   424,  1271,   425,   426,   427,   428,  1272,  1273,
6010      430,  1274,   432,   433,   434,     0,   435,   436,     0,     0,
6011     1275,   438,   439,     0,     0,   440,   441,   442,   443,   444,
6012      445,  1276,   447,   448,   449,   450,   451,   452,   453,   454,
6013      455,     0,     0,   456,   457,  1277,   459,   460,   461,   462,
6014      463,     0,   464,   465,   466,   467,   468,   469,   470,   471,
6015      472,   473,  1278,   475,   476,   477,   478,     0,   479,   480,
6016      481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
6017        0,   491,   492,   493,   494,   495,   496,   497,   498,  1279,
6018      500,   501,   502,   503,   504,   505,   506,   507,   508,     0,
6019      509,   510,   511,   512,   513,  1280,   514,   515,   516,   517,
6020      518,   519,   520,   521,  1281,   523,     0,   524,   525,   526,
6021      527,   528,   529,   530,   531,   532,   533,   534,   535,   536,
6022     1282,   538,     0,   539,   540,     0,   541,   542,   543,   544,
6023      545,   546,   547,     0,   548,  1283,  1284,     0,     0,   551,
6024      552,  1285,   554,  1286,  1287,   556,   557,   558,   559,   560,
6025      561,   562,   563,     0,  1288,   564,   565,   566,   567,   568,
6026     1289,     0,   569,   570,   571,   572,   573,   574,  1290,  1636,
6027      576,   577,   578,   579,   580,   581,     0,     0,   582,     0,
6028        0,   583,   584,   585,   586,   587,   588,   589,  1291,  1292,
6029     1293,  1294,   594,  1295,  1296,  1297,  1298,   599,   600,   601,
6030      602,  1299,     0,     0,     0,     0,     0,     0,  1300,  1301,
6031     1637,     0,     0,     0,     0,     0,     0,  1303,  1638,   229,
6032        0,  1231,   670,     0,  1232,  1233,  1234,   730,  1235,     0,
6033        0,     0,     0,     0,     0,     0,   230,   231,   232,   233,
6034      234,   235,   236,   237,     0,   238,   239,   240,     0,     0,
6035        0,     0,  1236,     0,     0,   241,   242,     0,   243,   244,
6036      245,   246,   247,   248,   249,   250,  1237,   252,  1238,  1239,
6037        0,   255,   256,   257,   258,   259,   260,  1240,  1241,   261,
6038      262,  1242,  1243,   265,     0,   266,   267,   268,   269,  1244,
6039        0,  1245,     0,   272,   273,   274,   275,   276,   277,   278,
6040      279,   280,     0,   281,   282,   283,   284,   285,   286,     0,
6041      287,   288,   289,   290,  1246,  1247,  1248,  1249,  1250,  1251,
6042     1252,   292,   293,   294,   295,   296,   297,  1253,  1254,   300,
6043     1255,   301,     0,   302,   303,   304,   305,   306,   307,     0,
6044      308,   309,   310,   311,     0,     0,   312,   313,  1081,   315,
6045      316,     0,   317,   318,   319,     0,   320,   321,   322,     0,
6046      323,   324,   325,   326,  1256,   328,   329,   330,   331,  1257,
6047     1258,   333,     0,   334,   335,  1259,   337,     0,   338,     0,
6048      339,   340,     0,   341,   342,   343,   344,   345,     0,   346,
6049     1260,     0,  1261,   349,   350,     0,   351,   352,   353,   354,
6050      355,   356,   357,   358,   359,   360,     0,   361,   362,   363,
6051      364,   365,   366,   367,     0,   368,   369,   370,   371,   372,
6052      373,   374,  1262,  1263,     0,  1264,     0,   378,   379,   380,
6053      381,   382,   383,   384,   385,   386,   387,     0,     0,   388,
6054     1265,   390,   391,   392,     0,   393,   394,   395,  1266,  1267,
6055      396,   397,   398,   399,   400,   401,   402,   403,   404,   405,
6056      406,   407,   408,   409,   410,   411,  1268,   413,  1269,   415,
6057      416,   417,   418,   419,   420,   421,   422,  1270,   424,  1271,
6058      425,   426,   427,   428,  1272,  1273,   430,  1274,   432,   433,
6059      434,     0,   435,   436,     0,     0,  1275,   438,   439,     0,
6060        0,   440,   441,   442,   443,   444,   445,  1276,   447,   448,
6061      449,   450,   451,   452,   453,   454,   455,     0,     0,   456,
6062      457,  1277,   459,   460,   461,   462,   463,     0,   464,   465,
6063      466,   467,   468,   469,   470,   471,   472,   473,  1278,   475,
6064      476,   477,   478,     0,   479,   480,   481,   482,   483,   484,
6065      485,   486,   487,   488,   489,   490,     0,   491,   492,   493,
6066      494,   495,   496,   497,   498,  1279,   500,   501,   502,   503,
6067      504,   505,   506,   507,   508,    41,   509,   510,   511,   512,
6068      513,  1280,   514,   515,   516,   517,   518,   519,   520,   521,
6069     1281,   523,     0,   524,   525,   526,   527,   528,   529,   530,
6070      531,   532,   533,   534,   535,   536,  1282,   538,     0,   539,
6071      540,    45,   541,   542,   543,   544,   545,   546,   547,     0,
6072      548,  1283,  1284,     0,     0,   551,   552,  1285,   554,  1286,
6073     1287,   556,   557,   558,   559,   560,   561,   562,   563,     0,
6074     1288,   564,   565,   566,   567,   568,  1289,     0,   569,   570,
6075      571,   572,   573,  1160,  1290,     0,   576,   577,   578,   579,
6076      580,   581,     0,     0,   582,     0,    50,   583,   584,   585,
6077      586,   587,   588,   589,  1291,  1292,  1293,  1294,   594,  1295,
6078     1296,  1297,  1298,   599,   600,   601,   602,  1299,     0,    51,
6079        0,     0,     0,     0,  1300,  1301,     0,     0,     0,     0,
6080        0,     0,     0,  1303,  5096,   229,     0,  1231,   670,     0,
6081     1232,  1233,  1234,   730,  1235,     0,     0,     0,     0,     0,
6082        0,     0,   230,   231,   232,   233,   234,   235,   236,   237,
6083        0,   238,   239,   240,     0,     0,     0,     0,  1236,     0,
6084        0,   241,   242,     0,   243,   244,   245,   246,   247,   248,
6085      249,   250,  1237,   252,  1238,  1239,     0,   255,   256,   257,
6086      258,   259,   260,  1240,  1241,   261,   262,  1242,  1243,   265,
6087        0,   266,   267,   268,   269,  1244,     0,  1245,     0,   272,
6088      273,   274,   275,   276,   277,   278,   279,   280,     0,   281,
6089      282,   283,   284,   285,   286,     0,   287,   288,   289,   290,
6090     1246,  1247,  1248,  1249,  1250,  1251,  1252,   292,   293,   294,
6091      295,   296,   297,  1253,  1254,   300,  1255,   301,     0,   302,
6092      303,   304,   305,   306,   307,     0,   308,   309,   310,   311,
6093        0,     0,   312,   313,  1081,   315,   316,     0,   317,   318,
6094      319,     0,   320,   321,   322,     0,   323,   324,   325,   326,
6095     1256,   328,   329,   330,   331,  1257,  1258,   333,     0,   334,
6096      335,  1259,   337,     0,   338,     0,   339,   340,     0,   341,
6097      342,   343,   344,   345,     0,   346,  1260,     0,  1261,   349,
6098      350,     0,   351,   352,   353,   354,   355,   356,   357,   358,
6099      359,   360,     0,   361,   362,   363,   364,   365,   366,   367,
6100        0,   368,   369,   370,   371,   372,   373,   374,  1262,  1263,
6101        0,  1264,     0,   378,   379,   380,   381,   382,   383,   384,
6102      385,   386,   387,     0,     0,   388,  1265,   390,   391,   392,
6103        0,   393,   394,   395,  1266,  1267,   396,   397,   398,   399,
6104      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
6105      410,   411,  1268,   413,  1269,   415,   416,   417,   418,   419,
6106      420,   421,   422,  1270,   424,  1271,   425,   426,   427,   428,
6107     1272,  1273,   430,  1274,   432,   433,   434,     0,   435,   436,
6108        0,     0,  1275,   438,   439,     0,     0,   440,   441,   442,
6109      443,   444,   445,  1276,   447,   448,   449,   450,   451,   452,
6110      453,   454,   455,     0,     0,   456,   457,  1277,   459,   460,
6111      461,   462,   463,     0,   464,   465,   466,   467,   468,   469,
6112      470,   471,   472,   473,  1278,   475,   476,   477,   478,     0,
6113      479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
6114      489,   490,     0,   491,   492,   493,   494,   495,   496,   497,
6115      498,  1279,   500,   501,   502,   503,   504,   505,   506,   507,
6116      508,     0,   509,   510,   511,   512,   513,  1280,   514,   515,
6117      516,   517,   518,   519,   520,   521,  1281,   523,     0,   524,
6118      525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
6119      535,   536,  1282,   538,     0,   539,   540,     0,   541,   542,
6120      543,   544,   545,   546,   547,     0,   548,  1283,  1284,     0,
6121        0,   551,   552,  1285,   554,  1286,  1287,   556,   557,   558,
6122      559,   560,   561,   562,   563,     0,  1288,   564,   565,   566,
6123      567,   568,  1289,     0,   569,   570,   571,   572,   573,   574,
6124     1290,     0,   576,   577,   578,   579,   580,   581,     0,     0,
6125      582,     0,     0,   583,   584,   585,   586,   587,   588,   589,
6126     1291,  1292,  1293,  1294,   594,  1295,  1296,  1297,  1298,   599,
6127      600,   601,   602,  1299,     0,     0,     0,     0,     0,     0,
6128     1300,  1301,     0,     0,     0,     0,     0,     0,     0,  1303,
6129     2794,   229,     0,  1231,   670,     0,  1232,  1233,  1234,   730,
6130     1235,     0,     0,     0,     0,     0,     0,     0,   230,   231,
6131      232,   233,   234,   235,   236,   237,     0,   238,   239,   240,
6132        0,     0,     0,     0,  1236,     0,     0,   241,   242,     0,
6133      243,   244,   245,   246,   247,   248,   249,   250,  1237,   252,
6134     1238,  1239,     0,   255,   256,   257,   258,   259,   260,  1240,
6135     1241,   261,   262,  1242,  1243,   265,     0,   266,   267,   268,
6136      269,  1244,     0,  1245,     0,   272,   273,   274,   275,   276,
6137      277,   278,   279,   280,     0,   281,   282,   283,   284,   285,
6138      286,     0,   287,   288,   289,   290,  1246,  1247,  1248,  1249,
6139     1250,  1251,  1252,   292,   293,   294,   295,   296,   297,  1253,
6140     1254,   300,  1255,   301,     0,   302,   303,   304,   305,   306,
6141      307,     0,   308,   309,   310,   311,     0,     0,   312,   313,
6142     1081,   315,   316,     0,   317,   318,   319,     0,   320,   321,
6143      322,     0,   323,   324,   325,   326,  1256,   328,   329,   330,
6144      331,  1257,  1258,   333,     0,   334,   335,  1259,   337,     0,
6145      338,     0,   339,   340,     0,   341,   342,   343,   344,   345,
6146        0,   346,  1260,     0,  1261,   349,   350,     0,   351,   352,
6147      353,   354,   355,   356,   357,   358,   359,   360,     0,   361,
6148      362,   363,   364,   365,   366,   367,     0,   368,   369,   370,
6149      371,   372,   373,   374,  1262,  1263,     0,  1264,     0,   378,
6150      379,   380,   381,   382,   383,   384,   385,   386,   387,     0,
6151        0,   388,  1265,   390,   391,   392,     0,   393,   394,   395,
6152     1266,  1267,   396,   397,   398,   399,   400,   401,   402,   403,
6153      404,   405,   406,   407,   408,   409,   410,   411,  1268,   413,
6154     1269,   415,   416,   417,   418,   419,   420,   421,   422,  1270,
6155      424,  1271,   425,   426,   427,   428,  1272,  1273,   430,  1274,
6156      432,   433,   434,     0,   435,   436,     0,     0,  1275,   438,
6157      439,     0,     0,   440,   441,   442,   443,   444,   445,  1276,
6158      447,   448,   449,   450,   451,   452,   453,   454,   455,     0,
6159        0,   456,   457,  1277,   459,   460,   461,   462,   463,     0,
6160      464,   465,   466,   467,   468,   469,   470,   471,   472,   473,
6161     1278,   475,   476,   477,   478,     0,   479,   480,   481,   482,
6162      483,   484,   485,   486,   487,   488,   489,   490,     0,   491,
6163      492,   493,   494,   495,   496,   497,   498,  1279,   500,   501,
6164      502,   503,   504,   505,   506,   507,   508,     0,   509,   510,
6165      511,   512,   513,  1280,   514,   515,   516,   517,   518,   519,
6166      520,   521,  1281,   523,     0,   524,   525,   526,   527,   528,
6167      529,   530,   531,   532,   533,   534,   535,   536,  1282,   538,
6168        0,   539,   540,     0,   541,   542,   543,   544,   545,   546,
6169      547,     0,   548,  1283,  1284,     0,     0,   551,   552,  1285,
6170      554,  1286,  1287,   556,   557,   558,   559,   560,   561,   562,
6171      563,     0,  1288,   564,   565,   566,   567,   568,  1289,     0,
6172      569,   570,   571,   572,   573,   574,  1290,     0,   576,   577,
6173      578,   579,   580,   581,     0,     0,   582,     0,     0,   583,
6174      584,   585,   586,   587,   588,   589,  1291,  1292,  1293,  1294,
6175      594,  1295,  1296,  1297,  1298,   599,   600,   601,   602,  1299,
6176        0,     0,     0,     0,     0,     0,  1300,  1301,     0,     0,
6177        0,     0,     0,     0,     0,  1303,  4076,   229,     0,  1231,
6178      670,     0,  1232,  1233,  1234,   730,  1235,     0,     0,     0,
6179        0,     0,     0,     0,   230,   231,   232,   233,   234,   235,
6180      236,   237,     0,   238,   239,   240,     0,     0,     0,     0,
6181     1236,     0,     0,   241,   242,     0,   243,   244,   245,   246,
6182      247,   248,   249,   250,  1237,   252,  1238,  1239,     0,   255,
6183      256,   257,   258,   259,   260,  1240,  1241,   261,   262,  1242,
6184     1243,   265,     0,   266,   267,   268,   269,  1244,     0,  1245,
6185        0,   272,   273,   274,   275,   276,   277,   278,   279,   280,
6186        0,   281,   282,   283,   284,   285,   286,     0,   287,   288,
6187      289,   290,  1246,  1247,  1248,  1249,  1250,  1251,  1252,   292,
6188      293,   294,   295,   296,   297,  1253,  1254,   300,  1255,   301,
6189        0,   302,   303,   304,   305,   306,   307,     0,   308,   309,
6190      310,   311,     0,     0,   312,   313,  1081,   315,   316,     0,
6191      317,   318,   319,     0,   320,   321,   322,     0,   323,   324,
6192      325,   326,  1256,   328,   329,   330,   331,  1257,  1258,   333,
6193        0,   334,   335,  1259,   337,     0,   338,     0,   339,   340,
6194        0,   341,   342,   343,   344,   345,     0,   346,  1260,     0,
6195     1261,   349,   350,     0,   351,   352,   353,   354,   355,   356,
6196      357,   358,   359,   360,     0,   361,   362,   363,   364,   365,
6197      366,   367,     0,   368,   369,   370,   371,   372,   373,   374,
6198     1262,  1263,     0,  1264,     0,   378,   379,   380,   381,   382,
6199      383,   384,   385,   386,   387,     0,     0,   388,  1265,   390,
6200      391,   392,     0,   393,   394,   395,  1266,  1267,   396,   397,
6201      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
6202      408,   409,   410,   411,  1268,   413,  1269,   415,   416,   417,
6203      418,   419,   420,   421,   422,  1270,   424,  1271,   425,   426,
6204      427,   428,  1272,  1273,   430,  1274,   432,   433,   434,     0,
6205      435,   436,     0,     0,  1275,   438,   439,     0,     0,   440,
6206      441,   442,   443,   444,   445,  1276,   447,   448,   449,   450,
6207      451,   452,   453,   454,   455,     0,     0,   456,   457,  1277,
6208      459,   460,   461,   462,   463,     0,   464,   465,   466,   467,
6209      468,   469,   470,   471,   472,   473,  1278,   475,   476,   477,
6210      478,     0,   479,   480,   481,   482,   483,   484,   485,   486,
6211      487,   488,   489,   490,     0,   491,   492,   493,   494,   495,
6212      496,   497,   498,  1279,   500,   501,   502,   503,   504,   505,
6213      506,   507,   508,     0,   509,   510,   511,   512,   513,  1280,
6214      514,   515,   516,   517,   518,   519,   520,   521,  1281,   523,
6215        0,   524,   525,   526,   527,   528,   529,   530,   531,   532,
6216      533,   534,   535,   536,  1282,   538,     0,   539,   540,     0,
6217      541,   542,   543,   544,   545,   546,   547,     0,   548,  1283,
6218     1284,     0,     0,   551,   552,  1285,   554,  1286,  1287,   556,
6219      557,   558,   559,   560,   561,   562,   563,     0,  1288,   564,
6220      565,   566,   567,   568,  1289,     0,   569,   570,   571,   572,
6221      573,   574,  1290,     0,   576,   577,   578,   579,   580,   581,
6222        0,     0,   582,     0,     0,   583,   584,   585,   586,   587,
6223      588,   589,  1291,  1292,  1293,  1294,   594,  1295,  1296,  1297,
6224     1298,   599,   600,   601,   602,  1299,   610,     0,     0,     0,
6225        0,     0,  1300,  1301,     0,     0,     0,     0,     0,     0,
6226        0,  1303,  4149,   230,   231,   232,   233,   234,   235,   236,
6227      237,     0,   238,   239,   240,     0,     0,     0,     0,     0,
6228     4167,     0,   241,   242,     0,   243,   244,   245,     0,   247,
6229      248,   249,   250,   251,     0,   253,   254,     0,   255,   256,
6230      257,   258,   259,   260,     0,     0,   261,   262,   263,   264,
6231      265,     0,   266,   267,   268,   269,   270,     0,     0,     0,
6232      272,   273,   274,   275,   276,     0,   278,   279,   280,     0,
6233      281,   282,   283,   284,   285,   286,     0, -1793,   288,   289,
6234      290,     0,     0,     0,     0,     0,     0,     0,   292,   293,
6235      294,   295,   296,   297,   298,   299,   300,     0,   301,     0,
6236      302,   303,   304,   305,   306,   307,     0,   308,   309,   310,
6237      311,     0,     0,   312,   313,   314,   315,   316,     0,   317,
6238      318,   319,     0,   320,   321,   322,     0,   323,   324,   325,
6239      326,   327,   328,   329,   330,   331,   332,     0,   333,     0,
6240      334,   335,   336,   337,     0,   338,     0,   339,     0,     0,
6241    -1793,   342,   343,   344,   345,     0,   346,   347,     0,   348,
6242      349,   350,     0,   351,   352,   353,   354,   355,     0,   357,
6243      358,   359,   360,     0,   361,   362,   363,   364,   365,   366,
6244      367,     0,   368, -1793,   370,   371,   372,   373,   374,   375,
6245      376,     0,   377,     0,   378,     0,     0,   381, -1793,   383,
6246      384,   385,   386,   387,     0,     0,   388,   389, -1793,   391,
6247        0,     0,   393,   394,   395,     0,     0,   396,   397,   398,
6248      399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
6249      409,   410,   411,   412, -1793,   414,   415,   416,   417,   418,
6250      419,   420,   421,   422,   423,   424,     0,   425,   426,     0,
6251      428,     0,   429,   430,   431,   432,   433,   434,     0,   435,
6252      436,     0,     0,   437,   438,   439,     0,     0,   440,   441,
6253      442,     0,   444,     0,   446,   447,   448,   449,   450,   451,
6254      452,   453,   454,   455,     0,     0,   456,   457,   458,   459,
6255      460,   461,   462,   463,     0,   464,   465,   466,   467,   468,
6256      469,   470,   471,   472,   473,   474,   475,   476,   477,   478,
6257        0,   479,   480,   481,   482,   483,   484,   485,   486,   487,
6258      488,   489,   490,     0,   491,   492, -1793,   494,   495,   496,
6259      497,   498,   499,   500,   501,   502,   503,   504,   505,   506,
6260      507,   508,     0,   509,   510,   511,   512,   513,     0,   514,
6261      515,   516,   517,   518,     0,   520,   521,   522,   523,     0,
6262      524,   525,   526,   527,   528,   529,   530,   531,   532,   533,
6263      534,   535,   536,   537,   538,     0,   539,   540,     0,   541,
6264        0,   543,   544,   545,   546,   547,     0,   548,   549,   550,
6265        0,     0,   551,   552,   553,   554,   555,     0,   556,   557,
6266      558,   559,   560,   561,   562,   563,     0,     0,   564,   565,
6267      566,   567,   568,     0,     0,   569,   570,   571,   572,   573,
6268      574,   575,     0,   576,     0,   578,   579,   580,   581,     0,
6269        0,   582,     0,     0,   583,   584,   585,   586,   587,   588,
6270      589,   590,   591,   592,   593,   594,   595,   596,   597,   598,
6271      599,   600,   601,   602,     0,  1073,     0,     0,     0,     0,
6272        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6273        0,  1379,   230,   231,   232,   233,   234,   235,   236,   237,
6274        0,   238,   239,   240,     0,     0,     0,     0,     0,     0,
6275        0,   241,   242,     0,   243,   244,   245,   246,   247,   248,
6276      249,     0,  1074,   252,  1075,  1076,     0,   255,   256,   257,
6277      258,   259,   260,     0,     0,   261,   262,  1077,  1078,   265,
6278        0,   266,   267,   268,   269,     0,     0,   271,     0,   272,
6279      273,   274,   275,   276,   277,   278,   279,   280,     0,   281,
6280      282,   283,   284,   285,   286,     0,   287,   288,   289,   290,
6281        0,     0,     0,   291,     0,     0,     0,   292,   293,   294,
6282      295,   296,   297,  1079,  1080,   300,     0,   301,     0,   302,
6283      303,   304,   305,   306,   307,     0,   308,   309,   310,   311,
6284        0,     0,   312,   313,  1081,   315,   316,     0,   317,   318,
6285      319,     0,   320,   321,   322,     0,   323,   324,   325,   326,
6286        0,   328,   329,   330,   331,     0,     0,   333,     0,   334,
6287      335,  1082,   337,     0,   338,     0,   339,   340,     0,   341,
6288      342,   343,   344,   345,     0,   346,     0,     0,     0,   349,
6289      350,     0,   351,   352,   353,   354,   355,   356,   357,   358,
6290      359,   360,  2183,   361,   362,   363,   364,   365,   366,   367,
6291        0,   368,   369,  2184,   371,   372,   373,   374,  1084,  1085,
6292        0,  1086,     0,   378,   379,   380,   381,   382,   383,   384,
6293      385,   386,   387,     0,     0,   388,     0,   390,   391,   392,
6294        0,   393,   394,   395,     0,     0,   396,   397,   398,   399,
6295      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
6296      410,   411,  1087,   413,  1088,   415,   416,   417,   418,   419,
6297      420,   421,     0,     0,   424,     0,   425,   426,   427,   428,
6298        0,     0,   430,  1089,   432,   433,   434,     0,   435,   436,
6299        0,     0,   437,   438,   439,     0,     0,   440,   441,  2186,
6300      443,   444,   445,     0,   447,   448,   449,   450,   451,   452,
6301      453,   454,   455,     0,     0,   456,   457,     0,   459,     0,
6302      461,   462,   463,     0,   464,   465,   466,   467,   468,   469,
6303      470,   471,   472,   473,  1090,   475,   476,   477,   478,     0,
6304      479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
6305      489,   490,     0,   491,   492,   493,   494,   495,   496,   497,
6306      498,     0,   500,   501,   502,   503,   504,   505,   506,   507,
6307      508,     0,   509,   510,   511,   512,   513,     0,   514,   515,
6308     2187,   517,   518,   519,   520,   521,  1092,   523,     0,   524,
6309      525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
6310      535,   536,     0,   538,     0,   539,   540,     0,   541,   542,
6311      543,   544,   545,   546,   547,     0,   548,  1093,  1094,     0,
6312        0,   551,   552,     0,   554,     0,     0,   556,   557,   558,
6313      559,   560,   561,   562,   563,     0,     0,   564,   565,   566,
6314      567,   568,     0,     0,   569,   570,   571,   572,   573,     0,
6315     1095,  2188,   576,   577,   578,   579,   580,   581,     0,     0,
6316      582,     0,     0,   583,   584,   585,   586,   587,   588,  1073,
6317        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6318      600,   601,   602,     0,     0,     0,   230,   231,   232,   233,
6319      234,   235,   236,   237,     0,   238,   239,   240,     0,     0,
6320     2296,     0,     0,     0,     0,   241,   242,     0,   243,   244,
6321      245,   246,   247,   248,   249,     0,  1074,   252,  1075,  1076,
6322        0,   255,   256,   257,   258,   259,   260,     0,     0,   261,
6323      262,  1077,  1078,   265,     0,   266,   267,   268,   269,     0,
6324        0,   271,     0,   272,   273,   274,   275,   276,   277,   278,
6325      279,   280,     0,   281,   282,   283,   284,   285,   286,     0,
6326      287,   288,   289,   290,     0,     0,     0,   291,     0,     0,
6327        0,   292,   293,   294,   295,   296,   297,  1079,  1080,   300,
6328        0,   301,     0,   302,   303,   304,   305,   306,   307,     0,
6329      308,   309,   310,   311,     0,     0,   312,   313,  1081,   315,
6330      316,     0,   317,   318,   319,     0,   320,   321,   322,     0,
6331      323,   324,   325,   326,     0,   328,   329,   330,   331,     0,
6332        0,   333,     0,   334,   335,  1082,   337,     0,   338,     0,
6333      339,   340,     0,   341,   342,   343,   344,   345,     0,   346,
6334        0,     0,     0,   349,   350,     0,   351,   352,   353,   354,
6335      355,   356,   357,   358,   359,   360,  2183,   361,   362,   363,
6336      364,   365,   366,   367,     0,   368,   369,  2184,   371,   372,
6337      373,   374,  1084,  1085,     0,  1086,     0,   378,   379,   380,
6338      381,   382,   383,   384,   385,   386,   387,     0,     0,   388,
6339        0,   390,   391,   392,     0,   393,   394,   395,     0,     0,
6340      396,   397,   398,   399,   400,   401,   402,   403,   404,   405,
6341      406,   407,   408,   409,   410,   411,  1087,   413,  1088,   415,
6342      416,   417,   418,   419,   420,   421,     0,     0,   424,     0,
6343      425,   426,   427,   428,     0,     0,   430,  1089,   432,   433,
6344      434,     0,   435,   436,     0,     0,   437,   438,   439,     0,
6345        0,   440,   441,  2186,   443,   444,   445,     0,   447,   448,
6346      449,   450,   451,   452,   453,   454,   455,     0,     0,   456,
6347      457,     0,   459,     0,   461,   462,   463,     0,   464,   465,
6348      466,   467,   468,   469,   470,   471,   472,   473,  1090,   475,
6349      476,   477,   478,     0,   479,   480,   481,   482,   483,   484,
6350      485,   486,   487,   488,   489,   490,     0,   491,   492,   493,
6351      494,   495,   496,   497,   498,     0,   500,   501,   502,   503,
6352      504,   505,   506,   507,   508,     0,   509,   510,   511,   512,
6353      513,     0,   514,   515,  2187,   517,   518,   519,   520,   521,
6354     1092,   523,     0,   524,   525,   526,   527,   528,   529,   530,
6355      531,   532,   533,   534,   535,   536,     0,   538,     0,   539,
6356      540,     0,   541,   542,   543,   544,   545,   546,   547,     0,
6357      548,  1093,  1094,     0,     0,   551,   552,     0,   554,     0,
6358        0,   556,   557,   558,   559,   560,   561,   562,   563,     0,
6359        0,   564,   565,   566,   567,   568,     0,     0,   569,   570,
6360      571,   572,   573,     0,  1095,  2188,   576,   577,   578,   579,
6361      580,   581,     0,     0,   582,     0,     0,   583,   584,   585,
6362      586,   587,   588,   229,     0,  1231,   670,     0,  1232,  1233,
6363     1234,   730,  1235,     0,   600,   601,   602,     0,     0,     0,
6364      230,   231,   232,   233,   234,   235,   236,   237,     0,   238,
6365      239,   240,     0,     0,  3380,     0,  1236,     0,     0,   241,
6366      242,     0,   243,   244,   245,   246,   247,   248,   249,   250,
6367     1237,   252,  1238,  1239,     0,   255,   256,   257,   258,   259,
6368      260,  1240,  1241,   261,   262,  1242,  1243,   265,     0,   266,
6369      267,   268,   269,  1244,     0,  1245,     0,   272,   273,   274,
6370      275,   276,   277,   278,   279,   280,     0,   281,   282,   283,
6371      284,   285,   286,     0,   287,   288,   289,   290,  1246,  1247,
6372     1248,  1249,  1250,  1251,  1252,   292,   293,   294,   295,   296,
6373      297,  1253,  1254,   300,  1255,   301,     0,   302,   303,   304,
6374      305,   306,   307,     0,   308,   309,   310,   311,     0,     0,
6375      312,   313,  1081,   315,   316,     0,   317,   318,   319,     0,
6376      320,   321,   322,     0,   323,   324,   325,   326,  1256,   328,
6377      329,   330,   331,  1257,  1258,   333,     0,   334,   335,  1259,
6378      337,     0,   338,     0,   339,   340,     0,   341,   342,   343,
6379      344,   345,     0,   346,  1260,     0,  1261,   349,   350,     0,
6380      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
6381        0,   361,   362,   363,   364,   365,   366,   367,     0,   368,
6382      369,   370,   371,   372,   373,   374,  1262,  1263,     0,  1264,
6383        0,   378,   379,   380,   381,   382,   383,   384,   385,   386,
6384      387,     0,     0,   388,  1265,   390,   391,   392,     0,   393,
6385      394,   395,  1266,  1267,   396,   397,   398,   399,   400,   401,
6386      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
6387     1268,   413,  1269,   415,   416,   417,   418,   419,   420,   421,
6388      422,  1270,   424,  1271,   425,   426,   427,   428,  1272,  1273,
6389      430,  1274,   432,   433,   434,     0,   435,   436,     0,     0,
6390     1275,   438,   439,     0,     0,   440,   441,   442,   443,   444,
6391      445,  1276,   447,   448,   449,   450,   451,   452,   453,   454,
6392      455,     0,     0,   456,   457,  1277,   459,   460,   461,   462,
6393      463,     0,   464,   465,   466,   467,   468,   469,   470,   471,
6394      472,   473,  1278,   475,   476,   477,   478,     0,   479,   480,
6395      481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
6396        0,   491,   492,   493,   494,   495,   496,   497,   498,  1279,
6397      500,   501,   502,   503,   504,   505,   506,   507,   508,    41,
6398      509,   510,   511,   512,   513,  1280,   514,   515,   516,   517,
6399      518,   519,   520,   521,  1281,   523,     0,   524,   525,   526,
6400      527,   528,   529,   530,   531,   532,   533,   534,   535,   536,
6401     1282,   538,     0,   539,   540,    45,   541,   542,   543,   544,
6402      545,   546,   547,     0,   548,  1283,  1284,     0,     0,   551,
6403      552,  1285,   554,  1286,  1287,   556,   557,   558,   559,   560,
6404      561,   562,   563,     0,  1288,   564,   565,   566,   567,   568,
6405     1289,     0,   569,   570,   571,   572,   573,  1160,  1290,     0,
6406      576,   577,   578,   579,   580,   581,     0,     0,   582,     0,
6407       50,   583,   584,   585,   586,   587,   588,   589,  1291,  1292,
6408     1293,  1294,   594,  1295,  1296,  1297,  1298,   599,   600,   601,
6409      602,  1299,     0,    51,     0,     0,     0,     0,  1300,  1301,
6410        0,     0,     0,   229,     0,  1231,   670,  1303,  1232,  1233,
6411     1234,   730,  1235,     0,     0,     0,     0,     0,     0,     0,
6412      230,   231,   232,   233,   234,   235,   236,   237,     0,   238,
6413      239,   240,     0,     0,     0,     0,  1236,     0,     0,   241,
6414      242,     0,   243,   244,   245,   246,   247,   248,   249,   250,
6415     1237,   252,  1238,  1239,  2800,   255,   256,   257,   258,   259,
6416      260,  1240,  1241,   261,   262,  1242,  1243,   265,     0,   266,
6417      267,   268,   269,  1244,     0,  1245,     0,   272,   273,   274,
6418      275,   276,   277,   278,   279,   280,     0,   281,   282,   283,
6419      284,   285,   286,     0,   287,   288,   289,   290,  1246,  1247,
6420     1248,  1249,  1250,  1251,  1252,   292,   293,   294,   295,   296,
6421      297,  1253,  1254,   300,  1255,   301,     0,   302,   303,   304,
6422      305,   306,   307,     0,   308,   309,   310,   311,     0,     0,
6423      312,   313,  1081,   315,   316,     0,   317,   318,   319,     0,
6424      320,   321,   322,     0,   323,   324,   325,   326,  1256,   328,
6425      329,   330,   331,  1257,  1258,   333,     0,   334,   335,  1259,
6426      337,     0,   338,     0,   339,   340,  2801,   341,   342,   343,
6427      344,   345,     0,   346,  1260,     0,  1261,   349,   350,     0,
6428      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
6429        0,   361,   362,   363,   364,   365,   366,   367,     0,   368,
6430      369,   370,   371,   372,   373,   374,  1262,  1263,     0,  1264,
6431        0,   378,   379,   380,   381,   382,   383,   384,   385,   386,
6432      387,     0,  2802,   388,  1265,   390,   391,   392,     0,   393,
6433      394,   395,  1266,  1267,   396,   397,   398,   399,   400,   401,
6434      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
6435     1268,   413,  1269,   415,   416,   417,   418,   419,   420,   421,
6436      422,  1270,   424,  1271,   425,   426,   427,   428,  1272,  1273,
6437      430,  1274,   432,   433,   434,     0,   435,   436,     0,     0,
6438     1275,   438,   439,     0,     0,   440,   441,   442,   443,   444,
6439      445,  1276,   447,   448,   449,   450,   451,   452,   453,   454,
6440      455,     0,     0,   456,   457,  1277,   459,   460,   461,   462,
6441      463,     0,   464,   465,   466,   467,   468,   469,   470,   471,
6442      472,   473,  1278,   475,   476,   477,   478,     0,   479,   480,
6443      481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
6444        0,   491,   492,   493,   494,   495,   496,   497,   498,  1279,
6445      500,   501,   502,   503,   504,   505,   506,   507,   508,     0,
6446      509,   510,   511,   512,   513,  1280,   514,   515,   516,   517,
6447      518,   519,   520,   521,  1281,   523,     0,   524,   525,   526,
6448      527,   528,   529,   530,   531,   532,   533,   534,   535,   536,
6449     1282,   538,     0,   539,   540,     0,   541,   542,   543,   544,
6450      545,   546,   547,     0,   548,  1283,  1284,     0,  2803,   551,
6451      552,  1285,   554,  1286,  1287,   556,   557,   558,   559,   560,
6452      561,   562,   563,     0,  1288,   564,   565,   566,   567,   568,
6453     1289,     0,   569,   570,   571,   572,   573,   574,  1290,     0,
6454      576,   577,   578,   579,   580,   581,     0,     0,   582,     0,
6455        0,   583,   584,   585,   586,   587,   588,   589,  1291,  1292,
6456     1293,  1294,   594,  1295,  1296,  1297,  1298,   599,   600,   601,
6457      602,  1299,     0,     0,     0,     0,     0,     0,  1300,  1301,
6458        0,     0,     0,   229,     0,  1231,   670,  1303,  1232,  1233,
6459     1234,   730,  1235,     0,     0,     0,     0,     0,     0,     0,
6460      230,   231,   232,   233,   234,   235,   236,   237,     0,   238,
6461      239,   240,     0,     0,     0,     0,  1236,     0,     0,   241,
6462      242,     0,   243,   244,   245,   246,   247,   248,   249,   250,
6463     1237,   252,  1238,  1239,     0,   255,   256,   257,   258,   259,
6464      260,  1240,  1241,   261,   262,  1242,  1243,   265,     0,   266,
6465      267,   268,   269,  1244,     0,  1245,     0,   272,   273,   274,
6466      275,   276,   277,   278,   279,   280,     0,   281,   282,   283,
6467      284,   285,   286,     0,   287,   288,   289,   290,  1246,  1247,
6468     1248,  1249,  1250,  1251,  1252,   292,   293,   294,   295,   296,
6469      297,  1253,  1254,   300,  1255,   301,     0,   302,   303,   304,
6470      305,   306,   307,     0,   308,   309,   310,   311,     0,     0,
6471      312,   313,  1081,   315,   316,     0,   317,   318,   319,     0,
6472      320,   321,   322,     0,   323,   324,   325,   326,  1256,   328,
6473      329,   330,   331,  1257,  1258,   333,     0,   334,   335,  1259,
6474      337,     0,   338,     0,   339,   340,     0,   341,   342,   343,
6475      344,   345,     0,   346,  1260,     0,  1261,   349,   350,     0,
6476      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
6477        0,   361,   362,   363,   364,   365,   366,   367,     0,   368,
6478      369,   370,   371,   372,   373,   374,  1262,  1263,     0,  1264,
6479        0,   378,   379,   380,   381,   382,   383,   384,   385,   386,
6480      387,     0,     0,   388,  1265,   390,   391,   392,     0,   393,
6481      394,   395,  1266,  1267,   396,   397,   398,   399,   400,   401,
6482      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
6483     1268,   413,  1269,   415,   416,   417,   418,   419,   420,   421,
6484      422,  1270,   424,  1271,   425,   426,   427,   428,  1272,  1273,
6485      430,  1274,   432,   433,   434,     0,   435,   436,     0,     0,
6486     1275,   438,   439,     0,     0,   440,   441,   442,   443,   444,
6487      445,  1276,   447,   448,   449,   450,   451,   452,   453,   454,
6488      455,     0,     0,   456,   457,  1277,   459,   460,   461,   462,
6489      463,     0,   464,   465,   466,   467,   468,   469,   470,   471,
6490      472,   473,  1278,   475,   476,   477,   478,     0,   479,   480,
6491      481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
6492        0,   491,   492,   493,   494,   495,   496,   497,   498,  1279,
6493      500,   501,   502,   503,   504,   505,   506,   507,   508,     0,
6494      509,   510,   511,   512,   513,  1280,   514,   515,   516,   517,
6495      518,   519,   520,   521,  1281,   523,     0,   524,   525,   526,
6496      527,   528,   529,   530,   531,   532,   533,   534,   535,   536,
6497     1282,   538,     0,   539,   540,     0,   541,   542,   543,   544,
6498      545,   546,   547,     0,   548,  1283,  1284,     0,     0,   551,
6499      552,  1285,   554,  1286,  1287,   556,   557,   558,   559,   560,
6500      561,   562,   563,     0,  1288,   564,   565,   566,   567,   568,
6501     1289,     0,   569,   570,   571,   572,   573,   574,  1290,     0,
6502      576,   577,   578,   579,   580,   581,     0,     0,   582,     0,
6503        0,   583,   584,   585,   586,   587,   588,   589,  1291,  1292,
6504     1293,  1294,   594,  1295,  1296,  1297,  1298,   599,   600,   601,
6505      602,  1299,     0,     0,     0,     0,     0,     0,  1300,  1301,
6506        0,     0,     0,     0,     0,  2001,  2754,  1303,   229,     0,
6507     1231,   670,     0,  1232,  1233,  1234,   730,  1235,     0,     0,
6508        0,     0,     0,     0,     0,   230,   231,   232,   233,   234,
6509      235,   236,   237,     0,   238,   239,   240,     0,     0,     0,
6510        0,  1236,     0,     0,   241,   242,     0,   243,   244,   245,
6511      246,   247,   248,   249,   250,  1237,   252,  1238,  1239,     0,
6512      255,   256,   257,   258,   259,   260,  1240,  1241,   261,   262,
6513     1242,  1243,   265,     0,   266,   267,   268,   269,  1244,     0,
6514     1245,     0,   272,   273,   274,   275,   276,   277,   278,   279,
6515      280,     0,   281,   282,   283,   284,   285,   286,     0,   287,
6516      288,   289,   290,  1246,  1247,  1248,  1249,  1250,  1251,  1252,
6517      292,   293,   294,   295,   296,   297,  1253,  1254,   300,  1255,
6518      301,     0,   302,   303,   304,   305,   306,   307,     0,   308,
6519      309,   310,   311,     0,     0,   312,   313,  1081,   315,   316,
6520        0,   317,   318,   319,     0,   320,   321,   322,     0,   323,
6521      324,   325,   326,  1256,   328,   329,   330,   331,  1257,  1258,
6522      333,     0,   334,   335,  1259,   337,     0,   338,     0,   339,
6523      340,     0,   341,   342,   343,   344,   345,     0,   346,  1260,
6524        0,  1261,   349,   350,     0,   351,   352,   353,   354,   355,
6525      356,   357,   358,   359,   360,     0,   361,   362,   363,   364,
6526      365,   366,   367,     0,   368,   369,   370,   371,   372,   373,
6527      374,  1262,  1263,     0,  1264,     0,   378,   379,   380,   381,
6528      382,   383,   384,   385,   386,   387,     0,     0,   388,  1265,
6529      390,   391,   392,     0,   393,   394,   395,  1266,  1267,   396,
6530      397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
6531      407,   408,   409,   410,   411,  1268,   413,  1269,   415,   416,
6532      417,   418,   419,   420,   421,   422,  1270,   424,  1271,   425,
6533      426,   427,   428,  1272,  1273,   430,  1274,   432,   433,   434,
6534        0,   435,   436,     0,     0,  1275,   438,   439,     0,     0,
6535      440,   441,   442,   443,   444,   445,  1276,   447,   448,   449,
6536      450,   451,   452,   453,   454,   455,     0,     0,   456,   457,
6537     1277,   459,   460,   461,   462,   463,     0,   464,   465,   466,
6538      467,   468,   469,   470,   471,   472,   473,  1278,   475,   476,
6539      477,   478,     0,   479,   480,   481,   482,   483,   484,   485,
6540      486,   487,   488,   489,   490,     0,   491,   492,   493,   494,
6541      495,   496,   497,   498,  1279,   500,   501,   502,   503,   504,
6542      505,   506,   507,   508,     0,   509,   510,   511,   512,   513,
6543     1280,   514,   515,   516,   517,   518,   519,   520,   521,  1281,
6544      523,     0,   524,   525,   526,   527,   528,   529,   530,   531,
6545      532,   533,   534,   535,   536,  1282,   538,     0,   539,   540,
6546        0,   541,   542,   543,   544,   545,   546,   547,     0,   548,
6547     1283,  1284,     0,     0,   551,   552,  1285,   554,  1286,  1287,
6548      556,   557,   558,   559,   560,   561,   562,   563,     0,  1288,
6549      564,   565,   566,   567,   568,  1289,     0,   569,   570,   571,
6550      572,   573,   574,  1290,     0,   576,   577,   578,   579,   580,
6551      581,     0,     0,   582,     0,     0,   583,   584,   585,   586,
6552      587,   588,   589,  1291,  1292,  1293,  1294,   594,  1295,  1296,
6553     1297,  1298,   599,   600,   601,   602,  1299,     0,     0,     0,
6554        0,     0,     0,  1300,  1301,  1302,     0,     0,   229,     0,
6555     1231,   670,  1303,  1232,  1233,  1234,   730,  1235,     0,     0,
6556        0,     0,     0,     0,     0,   230,   231,   232,   233,   234,
6557      235,   236,   237,  2151,   238,   239,   240,     0,     0,     0,
6558        0,  1236,     0,     0,   241,   242,     0,   243,   244,   245,
6559      246,   247,   248,   249,   250,  1237,   252,  1238,  1239,     0,
6560      255,   256,   257,   258,   259,   260,  1240,  1241,   261,   262,
6561     1242,  1243,   265,     0,   266,   267,   268,   269,  1244,     0,
6562     1245,     0,   272,   273,   274,   275,   276,   277,   278,   279,
6563      280,     0,   281,   282,   283,   284,   285,   286,     0,   287,
6564      288,   289,   290,  1246,  1247,  1248,  1249,  1250,  1251,  1252,
6565      292,   293,   294,   295,   296,   297,  1253,  1254,   300,  1255,
6566      301,     0,   302,   303,   304,   305,   306,   307,     0,   308,
6567      309,   310,   311,     0,     0,   312,   313,  1081,   315,   316,
6568        0,   317,   318,   319,     0,   320,   321,   322,     0,   323,
6569      324,   325,   326,  1256,   328,   329,   330,   331,  1257,  1258,
6570      333,     0,   334,   335,  1259,   337,     0,   338,     0,   339,
6571      340,     0,   341,   342,   343,   344,   345,     0,   346,  1260,
6572        0,  1261,   349,   350,     0,   351,   352,   353,   354,   355,
6573      356,   357,   358,   359,   360,     0,   361,   362,   363,   364,
6574      365,   366,   367,     0,   368,   369,   370,   371,   372,   373,
6575      374,  1262,  1263,     0,  1264,     0,   378,   379,   380,   381,
6576      382,   383,   384,   385,   386,   387,     0,     0,   388,  1265,
6577      390,   391,   392,     0,   393,   394,   395,  1266,  1267,   396,
6578      397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
6579      407,   408,   409,   410,   411,  1268,   413,  1269,   415,   416,
6580      417,   418,   419,   420,   421,   422,  1270,   424,  1271,   425,
6581      426,   427,   428,  1272,  1273,   430,  1274,   432,   433,   434,
6582        0,   435,   436,     0,     0,  1275,   438,   439,     0,     0,
6583      440,   441,   442,   443,   444,   445,  1276,   447,   448,   449,
6584      450,   451,   452,   453,   454,   455,     0,     0,   456,   457,
6585     1277,   459,   460,   461,   462,   463,     0,   464,   465,   466,
6586      467,   468,   469,   470,   471,   472,   473,  1278,   475,   476,
6587      477,   478,     0,   479,   480,   481,   482,   483,   484,   485,
6588      486,   487,   488,   489,   490,     0,   491,   492,   493,   494,
6589      495,   496,   497,   498,  1279,   500,   501,   502,   503,   504,
6590      505,   506,   507,   508,     0,   509,   510,   511,   512,   513,
6591     1280,   514,   515,   516,   517,   518,   519,   520,   521,  1281,
6592      523,     0,   524,   525,   526,   527,   528,   529,   530,   531,
6593      532,   533,   534,   535,   536,  1282,   538,     0,   539,   540,
6594        0,   541,   542,   543,   544,   545,   546,   547,     0,   548,
6595     1283,  1284,     0,     0,   551,   552,  1285,   554,  1286,  1287,
6596      556,   557,   558,   559,   560,   561,   562,   563,     0,  1288,
6597      564,   565,   566,   567,   568,  1289,     0,   569,   570,   571,
6598      572,   573,   574,  1290,     0,   576,   577,   578,   579,   580,
6599      581,     0,     0,   582,     0,     0,   583,   584,   585,   586,
6600      587,   588,   589,  1291,  1292,  1293,  1294,   594,  1295,  1296,
6601     1297,  1298,   599,   600,   601,   602,  1299,     0,     0,     0,
6602        0,     0,     0,  1300,  1301,     0,     0,     0,   229,     0,
6603     1231,   670,  1303,  1232,  1233,  1234,   730,  1235,     0,     0,
6604        0,     0,     0,     0,     0,   230,   231,   232,   233,   234,
6605      235,   236,   237,     0,   238,   239,   240,     0,     0,     0,
6606        0,  1236,     0,     0,   241,   242,     0,   243,   244,   245,
6607      246,   247,   248,   249,   250,  1237,   252,  1238,  1239,     0,
6608      255,   256,   257,   258,   259,   260,  1240,  1241,   261,   262,
6609     1242,  1243,   265,     0,   266,   267,   268,   269,  1244,     0,
6610     1245,     0,   272,   273,   274,   275,   276,   277,   278,   279,
6611      280,     0,   281,   282,   283,   284,   285,   286,     0,   287,
6612      288,   289,   290,  1246,  1247,  1248,  1249,  1250,  1251,  1252,
6613      292,   293,   294,   295,   296,   297,  1253,  1254,   300,  1255,
6614      301,     0,   302,   303,   304,   305,   306,   307,     0,   308,
6615      309,   310,   311,     0,     0,   312,   313,  1081,   315,   316,
6616        0,   317,   318,   319,     0,   320,   321,   322,     0,   323,
6617      324,   325,   326,  1256,   328,   329,   330,   331,  1257,  1258,
6618      333,     0,   334,   335,  1259,   337,     0,   338,     0,   339,
6619      340,     0,   341,   342,   343,   344,   345,     0,   346,  1260,
6620        0,  1261,   349,   350,     0,   351,   352,   353,   354,   355,
6621      356,   357,   358,   359,   360,     0,   361,   362,   363,   364,
6622      365,   366,   367,     0,   368,   369,   370,   371,   372,   373,
6623      374,  1262,  1263,     0,  1264,     0,   378,   379,   380,   381,
6624      382,   383,   384,   385,   386,   387,     0,     0,   388,  1265,
6625      390,   391,   392,     0,   393,   394,   395,  1266,  1267,   396,
6626      397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
6627      407,   408,   409,   410,   411,  1268,   413,  1269,   415,   416,
6628      417,   418,   419,   420,   421,   422,  1270,   424,  1271,   425,
6629      426,   427,   428,  1272,  1273,   430,  1274,   432,   433,   434,
6630        0,   435,   436,     0,     0,  1275,   438,   439,     0,     0,
6631      440,   441,   442,   443,   444,   445,  1276,   447,   448,   449,
6632      450,   451,   452,   453,   454,   455,     0,     0,   456,   457,
6633     1277,   459,   460,   461,   462,   463,     0,   464,   465,   466,
6634      467,   468,   469,   470,   471,   472,   473,  1278,   475,   476,
6635      477,   478,     0,   479,   480,   481,   482,   483,   484,   485,
6636      486,   487,   488,   489,   490,     0,   491,   492,   493,   494,
6637      495,   496,   497,   498,  1279,   500,   501,   502,   503,   504,
6638      505,   506,   507,   508,     0,   509,   510,   511,   512,   513,
6639     1280,   514,   515,   516,   517,   518,   519,   520,   521,  1281,
6640      523,     0,   524,   525,   526,   527,   528,   529,   530,   531,
6641      532,   533,   534,   535,   536,  1282,   538,     0,   539,   540,
6642        0,   541,   542,   543,   544,   545,   546,   547,     0,   548,
6643     1283,  1284,     0,     0,   551,   552,  1285,   554,  1286,  1287,
6644      556,   557,   558,   559,   560,   561,   562,   563,     0,  1288,
6645      564,   565,   566,   567,   568,  1289,     0,   569,   570,   571,
6646      572,   573,   574,  1290,  3259,   576,   577,   578,   579,   580,
6647      581,     0,     0,   582,     0,     0,   583,   584,   585,   586,
6648      587,   588,   589,  1291,  1292,  1293,  1294,   594,  1295,  1296,
6649     1297,  1298,   599,   600,   601,   602,  1299,     0,     0,     0,
6650        0,     0,     0,  1300,  1301,     0,     0,     0,   229,     0,
6651     1231,   670,  1303,  1232,  1233,  1234,   730,  1235,     0,     0,
6652        0,     0,     0,     0,     0,   230,   231,   232,   233,   234,
6653      235,   236,   237,     0,   238,   239,   240,     0,     0,     0,
6654        0,  1236,     0,     0,   241,   242,     0,   243,   244,   245,
6655      246,   247,   248,   249,   250,  1237,   252,  1238,  1239,     0,
6656      255,   256,   257,   258,   259,   260,  1240,  1241,   261,   262,
6657     1242,  1243,   265,     0,   266,   267,   268,   269,  1244,     0,
6658     1245,     0,   272,   273,   274,   275,   276,   277,   278,   279,
6659      280,     0,   281,   282,   283,   284,   285,   286,     0,   287,
6660      288,   289,   290,  1246,  1247,  1248,  1249,  1250,  1251,  1252,
6661      292,   293,   294,   295,   296,   297,  1253,  1254,   300,  1255,
6662      301,     0,   302,   303,   304,   305,   306,   307,     0,   308,
6663      309,   310,   311,     0,     0,   312,   313,  1081,   315,   316,
6664        0,   317,   318,   319,     0,   320,   321,   322,     0,   323,
6665      324,   325,   326,  1256,   328,   329,   330,   331,  1257,  1258,
6666      333,     0,   334,   335,  1259,   337,     0,   338,     0,   339,
6667      340,  2801,   341,   342,   343,   344,   345,     0,   346,  1260,
6668        0,  1261,   349,   350,     0,   351,   352,   353,   354,   355,
6669      356,   357,   358,   359,   360,     0,   361,   362,   363,   364,
6670      365,   366,   367,     0,   368,   369,   370,   371,   372,   373,
6671      374,  1262,  1263,     0,  1264,     0,   378,   379,   380,   381,
6672      382,   383,   384,   385,   386,   387,     0,     0,   388,  1265,
6673      390,   391,   392,     0,   393,   394,   395,  1266,  1267,   396,
6674      397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
6675      407,   408,   409,   410,   411,  1268,   413,  1269,   415,   416,
6676      417,   418,   419,   420,   421,   422,  1270,   424,  1271,   425,
6677      426,   427,   428,  1272,  1273,   430,  1274,   432,   433,   434,
6678        0,   435,   436,     0,     0,  1275,   438,   439,     0,     0,
6679      440,   441,   442,   443,   444,   445,  1276,   447,   448,   449,
6680      450,   451,   452,   453,   454,   455,     0,     0,   456,   457,
6681     1277,   459,   460,   461,   462,   463,     0,   464,   465,   466,
6682      467,   468,   469,   470,   471,   472,   473,  1278,   475,   476,
6683      477,   478,     0,   479,   480,   481,   482,   483,   484,   485,
6684      486,   487,   488,   489,   490,     0,   491,   492,   493,   494,
6685      495,   496,   497,   498,  1279,   500,   501,   502,   503,   504,
6686      505,   506,   507,   508,     0,   509,   510,   511,   512,   513,
6687     1280,   514,   515,   516,   517,   518,   519,   520,   521,  1281,
6688      523,     0,   524,   525,   526,   527,   528,   529,   530,   531,
6689      532,   533,   534,   535,   536,  1282,   538,     0,   539,   540,
6690        0,   541,   542,   543,   544,   545,   546,   547,     0,   548,
6691     1283,  1284,     0,     0,   551,   552,  1285,   554,  1286,  1287,
6692      556,   557,   558,   559,   560,   561,   562,   563,     0,  1288,
6693      564,   565,   566,   567,   568,  1289,     0,   569,   570,   571,
6694      572,   573,   574,  1290,     0,   576,   577,   578,   579,   580,
6695      581,     0,     0,   582,     0,     0,   583,   584,   585,   586,
6696      587,   588,   589,  1291,  1292,  1293,  1294,   594,  1295,  1296,
6697     1297,  1298,   599,   600,   601,   602,  1299,     0,     0,     0,
6698        0,     0,     0,  1300,  1301,     0,     0,     0,   229,     0,
6699     1231,   670,  1303,  1232,  1233,  1234,   730,  1235,     0,     0,
6700        0,     0,     0,     0,     0,   230,   231,   232,   233,   234,
6701      235,   236,   237,     0,   238,   239,   240,     0,     0,     0,
6702        0,  1236,     0,     0,   241,   242,     0,   243,   244,   245,
6703      246,   247,   248,   249,   250,  1237,   252,  1238,  1239,     0,
6704      255,   256,   257,   258,   259,   260,  1240,  1241,   261,   262,
6705     1242,  1243,   265,     0,   266,   267,   268,   269,  1244,     0,
6706     1245,     0,   272,   273,   274,   275,   276,   277,   278,   279,
6707      280,     0,   281,   282,   283,   284,   285,   286,     0,   287,
6708      288,   289,   290,  1246,  1247,  1248,  1249,  1250,  1251,  1252,
6709      292,   293,   294,   295,   296,   297,  1253,  1254,   300,  1255,
6710      301,     0,   302,   303,   304,   305,   306,   307,     0,   308,
6711      309,   310,   311,     0,     0,   312,   313,  1081,   315,   316,
6712        0,   317,   318,   319,     0,   320,   321,   322,     0,   323,
6713      324,   325,   326,  1256,   328,   329,   330,   331,  1257,  1258,
6714      333,     0,   334,   335,  1259,   337,     0,   338,     0,   339,
6715      340,     0,   341,   342,   343,   344,   345,     0,   346,  1260,
6716        0,  1261,   349,   350,     0,   351,   352,   353,   354,   355,
6717      356,   357,   358,   359,   360,     0,   361,   362,   363,   364,
6718      365,   366,   367,     0,   368,   369,   370,   371,   372,   373,
6719      374,  1262,  1263,     0,  1264,     0,   378,   379,   380,   381,
6720      382,   383,   384,   385,   386,   387,     0,     0,   388,  1265,
6721      390,   391,   392,     0,   393,   394,   395,  1266,  1267,   396,
6722      397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
6723      407,   408,   409,   410,   411,  1268,   413,  1269,   415,   416,
6724      417,   418,   419,   420,   421,   422,  1270,   424,  1271,   425,
6725      426,   427,   428,  1272,  1273,   430,  1274,   432,   433,   434,
6726        0,   435,   436,     0,     0,  1275,   438,   439,     0,     0,
6727      440,   441,   442,   443,   444,   445,  1276,   447,   448,   449,
6728      450,   451,   452,   453,   454,   455,     0,     0,   456,   457,
6729     1277,   459,   460,   461,   462,   463,     0,   464,   465,   466,
6730      467,   468,   469,   470,   471,   472,   473,  1278,   475,   476,
6731      477,   478,     0,   479,   480,   481,   482,   483,   484,   485,
6732      486,   487,   488,   489,   490,     0,   491,   492,   493,   494,
6733      495,   496,   497,   498,  1279,   500,   501,   502,   503,   504,
6734      505,   506,   507,   508,     0,   509,   510,   511,   512,   513,
6735     1280,   514,   515,   516,   517,   518,   519,   520,   521,  1281,
6736      523,     0,   524,   525,   526,   527,   528,   529,   530,   531,
6737      532,   533,   534,   535,   536,  1282,   538,     0,   539,   540,
6738        0,   541,   542,   543,   544,   545,   546,   547,     0,   548,
6739     1283,  1284,     0,     0,   551,   552,  1285,   554,  1286,  1287,
6740      556,   557,   558,   559,   560,   561,   562,   563,     0,  1288,
6741      564,   565,   566,   567,   568,  1289,     0,   569,   570,   571,
6742      572,   573,   574,  1290,     0,   576,   577,   578,   579,   580,
6743      581,     0,     0,   582,     0,     0,   583,   584,   585,   586,
6744      587,   588,   589,  1291,  1292,  1293,  1294,   594,  1295,  1296,
6745     1297,  1298,   599,   600,   601,   602,  1299,     0,     0,     0,
6746        0,     0,     0,  1300,  1301,     0,     0,     0,   229,     0,
6747     1231,   670,  1303,  1232,  1233,  1234,   730,  1235,     0,     0,
6748        0,     0,     0,     0,     0,   230,   231,   232,   233,   234,
6749      235,   236,   237,     0,   238,   239,   240,     0,     0,     0,
6750        0,  1236,     0,     0,   241,   242,     0,   243,   244,   245,
6751      246,   247,   248,   249,   250,  1237,   252,  1238,  1239,     0,
6752      255,   256,   257,   258,   259,   260,  1240,  1241,   261,   262,
6753     1242,  1243,   265,     0,   266,   267,   268,   269,  1244,     0,
6754     1245,     0,   272,   273,   274,   275,   276,   277,   278,   279,
6755      280,     0,   281,   282,   283,   284,   285,   286,     0,   287,
6756      288,   289,   290,  1246,  1247,  1248,  1249,  1250,  1251,  1252,
6757      292,   293,   294,   295,   296,   297,  1253,  1254,   300,  1255,
6758      301,     0,   302,   303,   304,   305,   306,   307,     0,   308,
6759      309,   310,   311,     0,     0,   312,   313,  1081,   315,   316,
6760        0,   317,   318,   319,     0,   320,   321,   322,     0,   323,
6761      324,   325,   326,  1256,   328,   329,   330,   331,  1257,  1258,
6762      333,     0,   334,   335,  1259,   337,     0,   338,     0,   339,
6763      340,     0,   341,   342,   343,   344,   345,     0,   346,  1260,
6764        0,  1261,   349,   350,     0,   351,   352,   353,   354,   355,
6765      356,   357,   358,   359,   360,     0,   361,   362,   363,   364,
6766      365,   366,   367,     0,   368,   369,   370,   371,   372,   373,
6767      374,  1262,  1263,     0,  1264,     0,   378,   379,   380,   381,
6768      382,   383,   384,   385,   386,   387,     0,     0,   388,  1265,
6769      390,   391,   392,     0,   393,   394,   395,  1266,  1267,   396,
6770      397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
6771      407,   408,   409,   410,   411,  1268,   413,  1269,   415,   416,
6772      417,   418,   419,   420,   421,   422,  1270,   424,  1271,   425,
6773      426,   427,   428,  1272,  1273,   430,  1274,   432,   433,   434,
6774        0,   435,   436,     0,     0,  1275,   438,   439,     0,     0,
6775      440,   441,   442,   443,   444,   445,  1276,   447,   448,   449,
6776      450,   451,   452,   453,   454,   455,     0,     0,   456,   457,
6777     1277,   459,   460,   461,   462,   463,     0,   464,   465,   466,
6778      467,   468,   469,   470,   471,   472,   473,  1278,   475,   476,
6779      477,   478,     0,   479,   480,   481,   482,   483,   484,   485,
6780      486,   487,   488,   489,   490,     0,   491,   492,   493,   494,
6781      495,   496,   497,   498,  1279,   500,   501,   502,   503,   504,
6782      505,   506,   507,   508,     0,   509,   510,   511,   512,   513,
6783     1280,   514,   515,   516,   517,   518,   519,   520,   521,  1281,
6784      523,     0,   524,   525,   526,   527,   528,   529,   530,   531,
6785      532,   533,   534,   535,   536,  1282,   538,     0,   539,   540,
6786        0,   541,   542,   543,   544,   545,   546,   547,     0,   548,
6787     1283,  1284,     0,     0,   551,   552,  1285,   554,  1286,  1287,
6788      556,   557,   558,   559,   560,   561,   562,   563,     0,  1288,
6789      564,   565,   566,   567,   568,  1289,     0,   569,   570,   571,
6790      572,   573,   574,  1290,     0,   576,   577,   578,   579,   580,
6791      581,     0,     0,   582,     0,     0,   583,   584,   585,   586,
6792      587,   588,   589,  1291,  1292,  1293,  1294,   594,  1295,  1296,
6793     1297,  1298,   599,   600,   601,   602,  1299,     0,     0,     0,
6794        0,     0,     0,  2154,  2155,     0,     0,     0,   229,     0,
6795     2928,   670,  1303,  1232,  1233,  1234,   730,  1235,     0,     0,
6796        0,     0,     0,     0,     0,   230,   231,   232,   233,   234,
6797      235,   236,   237,     0,   238,   239,   240,     0,     0,     0,
6798        0,  1236,     0,     0,   241,   242,     0,   243,   244,   245,
6799      246,   247,   248,   249,   250,  1237,   252,  1238,  1239,     0,
6800      255,   256,   257,   258,   259,   260,  1240,  1241,   261,   262,
6801     1242,  1243,   265,     0,   266,   267,   268,   269,  1244,     0,
6802     1245,     0,   272,   273,   274,   275,   276,   277,   278,   279,
6803      280,     0,   281,   282,   283,   284,   285,   286,     0,   287,
6804      288,   289,   290,  1246,  1247,  1248,  1249,  1250,  1251,  1252,
6805      292,   293,   294,   295,   296,   297,  1253,  1254,   300,  1255,
6806      301,     0,   302,   303,   304,   305,   306,   307,     0,   308,
6807      309,   310,   311,     0,     0,   312,   313,  1081,   315,   316,
6808        0,   317,   318,   319,     0,   320,   321,   322,     0,   323,
6809      324,   325,   326,  1256,   328,   329,   330,   331,  1257,  1258,
6810      333,     0,   334,   335,  1259,   337,     0,   338,     0,   339,
6811      340,     0,   341,   342,   343,   344,   345,     0,   346,  1260,
6812        0,  1261,   349,   350,     0,   351,   352,   353,   354,   355,
6813      356,   357,   358,   359,   360,     0,   361,   362,   363,   364,
6814      365,   366,   367,     0,   368,   369,   370,   371,   372,   373,
6815      374,  1262,  1263,     0,  1264,     0,   378,   379,   380,   381,
6816      382,   383,   384,   385,   386,   387,     0,     0,   388,  1265,
6817      390,   391,   392,     0,   393,   394,   395,  1266,  1267,   396,
6818      397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
6819      407,   408,   409,   410,   411,  1268,   413,  1269,   415,   416,
6820      417,   418,   419,   420,   421,   422,  1270,   424,  1271,   425,
6821      426,   427,   428,  1272,  1273,   430,  1274,   432,   433,   434,
6822        0,   435,   436,     0,     0,  1275,   438,   439,     0,     0,
6823      440,   441,   442,   443,   444,   445,  1276,   447,   448,   449,
6824      450,   451,   452,   453,   454,   455,     0,     0,   456,   457,
6825     1277,   459,   460,   461,   462,   463,     0,   464,   465,   466,
6826      467,   468,   469,   470,   471,   472,   473,  1278,   475,   476,
6827      477,   478,     0,   479,   480,   481,   482,   483,   484,   485,
6828      486,   487,   488,   489,   490,     0,   491,   492,   493,   494,
6829      495,   496,   497,   498,  1279,   500,   501,   502,   503,   504,
6830      505,   506,   507,   508,     0,   509,   510,   511,   512,   513,
6831     1280,   514,   515,   516,   517,   518,   519,   520,   521,  1281,
6832      523,     0,   524,   525,   526,   527,   528,   529,   530,   531,
6833      532,   533,   534,   535,   536,  1282,   538,     0,   539,   540,
6834        0,   541,   542,   543,   544,   545,   546,   547,     0,   548,
6835     1283,  1284,     0,     0,   551,   552,  1285,   554,  1286,  1287,
6836      556,   557,   558,   559,   560,   561,   562,   563,     0,  1288,
6837      564,   565,   566,   567,   568,  1289,     0,   569,   570,   571,
6838      572,   573,   574,  1290,     0,   576,   577,   578,   579,   580,
6839      581,     0,     0,   582,     0,     0,   583,   584,   585,   586,
6840      587,   588,   589,  1291,  1292,  1293,  1294,   594,  1295,  1296,
6841     1297,  1298,   599,   600,   601,   602,  1299,     0,     0,     0,
6842        0,     0,     0,  1300,  1301,     0,     0,     0,   229,     0,
6843     1231,   670,  1303,  1232,  1233,  1234,   730,  1235,     0,     0,
6844        0,     0,     0,     0,     0,   230,   231,   232,   233,   234,
6845      235,   236,   237,     0,   238,   239,   240,     0,     0,     0,
6846        0,  1236,     0,     0,   241,   242,     0,   243,   244,   245,
6847      246,   247,   248,   249,   250,  1237,   252,  1238,  1239,     0,
6848      255,   256,   257,   258,   259,   260,  1240,  1241,   261,   262,
6849     1242,  1243,   265,     0,   266,   267,   268,   269,  1244,     0,
6850     1245,     0,   272,   273,   274,   275,   276,   277,   278,   279,
6851      280,     0,   281,   282,   283,   284,   285,   286,     0,   287,
6852      288,   289,  4203,  1246,  1247,  1248,  1249,  1250,  1251,  1252,
6853      292,   293,   294,   295,   296,   297,  1253,  1254,   300,  1255,
6854      301,     0,   302,   303,   304,   305,   306,   307,     0,   308,
6855      309,   310,   311,     0,     0,   312,   313,  1081,   315,   316,
6856        0,   317,   318,   319,     0,   320,   321,   322,     0,   323,
6857      324,   325,   326,  1256,   328,   329,   330,   331,  1257,  1258,
6858      333,     0,   334,   335,  1259,   337,     0,   338,     0,   339,
6859      340,     0,   341,   342,   343,   344,   345,     0,   346,  1260,
6860        0,  1261,   349,   350,     0,   351,   352,   353,   354,   355,
6861      356,   357,   358,   359,   360,     0,   361,   362,   363,   364,
6862      365,   366,   367,     0,   368,   369,   370,   371,   372,   373,
6863      374,  1262,  1263,     0,  1264,     0,   378,   379,   380,   381,
6864      382,   383,   384,   385,   386,   387,     0,     0,   388,  1265,
6865      390,   391,   392,     0,   393,   394,   395,  1266,  1267,   396,
6866      397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
6867      407,   408,   409,   410,   411,  1268,   413,  1269,   415,   416,
6868      417,   418,   419,   420,   421,   422,  1270,   424,  1271,   425,
6869      426,   427,   428,  1272,  1273,   430,  1274,   432,   433,   434,
6870        0,   435,   436,     0,     0,  1275,   438,   439,     0,     0,
6871      440,   441,   442,   443,   444,   445,  1276,   447,   448,   449,
6872      450,   451,   452,   453,   454,   455,     0,     0,   456,   457,
6873     1277,   459,   460,   461,   462,   463,     0,   464,   465,   466,
6874      467,   468,   469,   470,   471,   472,   473,  1278,   475,   476,
6875      477,   478,     0,   479,   480,   481,   482,   483,   484,   485,
6876      486,   487,   488,   489,   490,     0,   491,   492,   493,   494,
6877      495,   496,   497,   498,  1279,   500,   501,   502,   503,   504,
6878      505,   506,   507,   508,     0,   509,   510,   511,   512,   513,
6879     1280,   514,   515,   516,   517,   518,   519,   520,   521,  1281,
6880      523,     0,   524,   525,   526,   527,   528,   529,   530,   531,
6881      532,   533,   534,   535,   536,  1282,   538,     0,   539,   540,
6882        0,   541,   542,   543,   544,   545,   546,   547,     0,   548,
6883     1283,  1284,     0,     0,   551,   552,  1285,   554,  1286,  1287,
6884      556,   557,   558,   559,   560,   561,   562,   563,     0,  1288,
6885      564,   565,   566,   567,   568,  1289,     0,   569,   570,   571,
6886      572,   573,   574,  1290,     0,   576,   577,   578,   579,   580,
6887      581,     0,     0,   582,     0,     0,   583,   584,   585,   586,
6888      587,   588,   589,  1291,  1292,  1293,  1294,   594,  1295,  1296,
6889     1297,  1298,   599,   600,   601,   602,  1299,     0,     0,     0,
6890        0,     0,     0,  1300,  1301,     0,     0,     0,   229,     0,
6891     1231,   670,  1303,  1232,  1233,  1234,   730,  1235,     0,     0,
6892        0,     0,     0,     0,     0,   230,   231,   232,   233,   234,
6893      235,   236,   237,     0,   238,   239,   240,     0,     0,     0,
6894        0,  1236,     0,     0,   241,   242,     0,   243,   244,   245,
6895      246,   247,   248,   249,   250,  1237,   252,  1238,  1239,     0,
6896      255,   256,   257,   258,   259,   260,  1240,  1241,   261,   262,
6897     1242,  1243,   265,     0,   266,   267,   268,   269,  1244,     0,
6898     1245,     0,   272,   273,   274,   275,   276,   277,   278,   279,
6899      280,     0,   281,   282,   283,   284,   285,   286,     0,   287,
6900      288,   289,   290,  1246,  1247,  1248,  1249,  1250,  1251,  1252,
6901      292,   293,   294,   295,   296,   297,  1253,  1254,   300,  1255,
6902      301,     0,   302,   303,   304,   305,   306,   307,     0,   308,
6903      309,   310,   311,     0,     0,   312,   313,  1081,   315,   316,
6904        0,   317,   318,   319,     0,   320,   321,   322,     0,   323,
6905      324,   325,   326,  1256,   328,   329,   330,   331,  1257,  1258,
6906      333,     0,   334,   335,  1259,   337,     0,   338,     0,   339,
6907      340,     0,   341,   342,   343,   344,   345,     0,   346,  1260,
6908        0,  1261,   349,   350,     0,   351,   352,   353,   354,   355,
6909      356,   357,   358,   359,   360,     0,   361,   362,   363,   364,
6910      365,   366,   367,     0,   368,   369,   370,   371,   372,   373,
6911      374,  1262,  1263,     0,  1264,     0,   378,   379,   380,   381,
6912      382,   383,   384,   385,   386,   387,     0,     0,   388,  1265,
6913      390,   391,   392,     0,   393,   394,   395,  1266,  1267,   396,
6914      397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
6915      407,   408,   409,   410,   411,  1268,   413,  1269,   415,   416,
6916      417,   418,   419,   420,   421,   422,  1270,   424,  1271,   425,
6917      426,   427,   428,  1272,  1273,   430,  1274,   432,   433,   434,
6918        0,   435,   436,     0,     0,  1275,   438,   439,     0,     0,
6919      440,   441,   442,   443,   444,   445,  1276,   447,   448,   449,
6920      450,   451,   452,   453,   454,   455,     0,     0,   456,   457,
6921     1277,   459,   460,   461,   462,   463,     0,   464,   465,   466,
6922      467,   468,   469,   470,   471,   472,   473,  1278,   475,   476,
6923      477,   478,     0,   479,   480,   481,   482,   483,   484,   485,
6924      486,   487,   488,   489,   490,     0,   491,   492,   493,   494,
6925      495,   496,   497,   498,  1279,   500,   501,   502,   503,   504,
6926      505,   506,   507,   508,     0,   509,   510,   511,   512,   513,
6927     1280,   514,   515,   516,   517,   518,   519,   520,   521,  1281,
6928      523,     0,   524,   525,   526,   527,   528,   529,   530,   531,
6929      532,   533,   534,   535,   536,  1282,   538,     0,   539,   540,
6930        0,   541,   542,   543,   544,   545,   546,   547,     0,   548,
6931     1283,  1284,     0,     0,   551,   552,  1285,   554,  1286,  1287,
6932      556,   557,   558,   559,   560,   561,   562,   563,     0,  1288,
6933      564,   565,   566,   567,   568,  1289,     0,   569,   570,   571,
6934      572,   573,   574,  1290,     0,   576,   577,   578,   579,   580,
6935      581,     0,     0,   582,     0,     0,   583,   584,   585,   586,
6936      587,   588,  4554,  1291,  1292,  1293,  1294,   594,  1295,  1296,
6937     1297,  1298,   599,   600,   601,   602,  1299,     0,     0,     0,
6938        0,     0,     0,  1300,  1301,     0,     0,     0,   229,     0,
6939     1231,   670,  1303,  1232,  1233,  1234,   730,  1235,     0,     0,
6940        0,     0,     0,     0,     0,   230,   231,   232,   233,   234,
6941      235,   236,   237,     0,   238,   239,   240,     0,     0,     0,
6942        0,  1236,     0,     0,   241,   242,     0,   243,   244,   245,
6943      246,   247,   248,   249,   250,  1237,   252,  1238,  1239,     0,
6944      255,   256,   257,   258,   259,   260,  1240,  1241,   261,   262,
6945     1242,  1243,   265,     0,   266,   267,   268,   269,  1244,     0,
6946     1245,     0,   272,   273,   274,   275,   276,   277,   278,   279,
6947      280,     0,   281,   282,   283,   284,   285,   286,     0,   287,
6948      288,   289,   290,  1246,  1247,  1248,  1249,  1250,  1251,  1252,
6949      292,   293,   294,   295,   296,   297,  1253,  1254,   300,  1255,
6950      301,     0,   302,   303,   304,   305,   306,   307,     0,   308,
6951      309,   310,   311,     0,     0,   312,   313,  1081,   315,   316,
6952        0,   317,   318,   319,     0,   320,   321,   322,     0,   323,
6953      324,   325,   326,  1256,   328,   329,   330,   331,  1257,  1258,
6954      333,     0,   334,   335,  1259,   337,     0,   338,     0,   339,
6955      340,     0,   341,   342,   343,   344,   345,     0,   346,  1260,
6956        0,  1261,   349,   350,     0,   351,   352,   353,   354,   355,
6957      356,   357,   358,   359,   360,     0,   361,   362,   363,   364,
6958      365,   366,   367,     0,   368,   369,   370,   371,   372,   373,
6959      374,  1262,  1263,     0,  1264,     0,   378,   379,   380,   381,
6960      382,   383,   384,   385,   386,   387,     0,     0,   388,  1265,
6961      390,   391,   392,     0,   393,   394,   395,  1266,  1267,   396,
6962      397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
6963      407,   408,   409,   410,   411,  1268,   413,  1269,   415,   416,
6964      417,   418,   419,   420,  4566,   422,  1270,   424,  1271,   425,
6965      426,   427,   428,  1272,  1273,   430,  1274,   432,   433,   434,
6966        0,   435,   436,     0,     0,  1275,   438,   439,     0,     0,
6967      440,   441,   442,   443,   444,   445,  1276,   447,   448,   449,
6968      450,   451,   452,   453,   454,   455,     0,     0,   456,   457,
6969     1277,   459,   460,   461,   462,   463,     0,   464,   465,   466,
6970      467,   468,   469,   470,   471,   472,   473,  1278,   475,   476,
6971      477,   478,     0,   479,   480,   481,   482,   483,   484,   485,
6972      486,   487,   488,   489,   490,     0,   491,   492,   493,   494,
6973      495,   496,   497,   498,  1279,   500,   501,   502,   503,   504,
6974      505,   506,   507,   508,     0,   509,   510,   511,   512,   513,
6975     1280,   514,   515,   516,   517,   518,   519,   520,   521,  1281,
6976      523,     0,   524,   525,   526,   527,   528,   529,   530,   531,
6977      532,   533,   534,   535,   536,  1282,   538,     0,   539,   540,
6978        0,   541,   542,   543,   544,   545,   546,   547,     0,   548,
6979     1283,  1284,     0,     0,   551,   552,  1285,   554,  1286,  1287,
6980      556,   557,   558,   559,   560,   561,   562,   563,     0,  1288,
6981      564,   565,   566,   567,   568,  1289,     0,   569,   570,   571,
6982      572,   573,   574,  1290,     0,   576,   577,   578,   579,   580,
6983      581,     0,     0,   582,     0,     0,   583,   584,   585,   586,
6984      587,   588,   589,  1291,  1292,  1293,  1294,   594,  1295,  1296,
6985     1297,  1298,   599,   600,   601,   602,  1299,     0,     0,     0,
6986        0,     0,     0,  1300,  1301,     0,     0,     0,   229,     0,
6987     1231,   670,  1303,  1232,  1233,  1234,   730,  1235,     0,     0,
6988        0,     0,     0,     0,     0,   230,   231,   232,   233,   234,
6989      235,   236,   237,     0,   238,   239,   240,     0,     0,     0,
6990        0,  1236,     0,     0,   241,   242,     0,   243,   244,   245,
6991      246,   247,   248,   249,   250,  1237,   252,  1238,  1239,     0,
6992      255,   256,   257,   258,   259,   260,  1240,  1241,   261,   262,
6993     1242,  1243,   265,     0,   266,   267,   268,   269,  1244,     0,
6994     1245,     0,   272,   273,   274,   275,   276,   277,   278,   279,
6995      280,     0,   281,   282,   283,   284,   285,   286,     0,   287,
6996      288,  4880,   290,  1246,  1247,  1248,  1249,  1250,  1251,  1252,
6997      292,   293,   294,   295,   296,   297,  1253,  1254,   300,  1255,
6998      301,     0,   302,   303,   304,   305,   306,   307,     0,   308,
6999      309,   310,   311,     0,     0,   312,   313,  1081,   315,   316,
7000        0,   317,   318,   319,     0,   320,   321,   322,     0,   323,
7001      324,   325,   326,  1256,   328,   329,   330,   331,  1257,  1258,
7002      333,     0,   334,   335,  1259,   337,     0,   338,     0,   339,
7003      340,     0,   341,   342,   343,   344,   345,     0,   346,  1260,
7004        0,  4881,   349,   350,     0,   351,   352,   353,   354,   355,
7005      356,   357,   358,   359,   360,     0,   361,   362,   363,   364,
7006      365,   366,   367,     0,   368,   369,   370,   371,   372,   373,
7007      374,  1262,  1263,     0,  1264,     0,   378,   379,   380,   381,
7008      382,   383,   384,   385,   386,   387,     0,     0,   388,  1265,
7009      390,   391,   392,     0,   393,   394,   395,  1266,  1267,   396,
7010      397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
7011      407,   408,   409,   410,   411,  1268,   413,  1269,   415,   416,
7012      417,   418,   419,   420,   421,   422,  1270,   424,  1271,   425,
7013      426,   427,   428,  1272,  1273,   430,  1274,   432,   433,   434,
7014        0,   435,   436,     0,     0,  1275,   438,   439,     0,     0,
7015      440,   441,   442,   443,   444,   445,  1276,   447,   448,   449,
7016      450,   451,   452,   453,   454,   455,     0,     0,   456,   457,
7017     1277,   459,   460,   461,   462,   463,     0,   464,   465,   466,
7018      467,   468,   469,   470,   471,   472,   473,  1278,   475,   476,
7019      477,   478,     0,   479,   480,   481,   482,   483,   484,   485,
7020      486,   487,   488,   489,   490,     0,   491,   492,   493,   494,
7021      495,  4882,   497,   498,  1279,   500,   501,   502,   503,   504,
7022      505,   506,   507,   508,     0,   509,   510,   511,   512,   513,
7023     1280,   514,   515,   516,   517,   518,   519,   520,   521,  1281,
7024      523,     0,   524,   525,   526,   527,   528,   529,   530,   531,
7025      532,   533,   534,   535,   536,  1282,   538,     0,   539,   540,
7026        0,   541,   542,   543,   544,   545,   546,   547,     0,   548,
7027     1283,  1284,     0,     0,   551,   552,  1285,   554,  1286,  1287,
7028      556,   557,   558,   559,   560,   561,   562,   563,     0,  1288,
7029      564,   565,   566,   567,   568,  1289,     0,   569,   570,   571,
7030      572,   573,   574,  1290,     0,   576,   577,   578,   579,   580,
7031      581,     0,     0,   582,     0,     0,   583,   584,   585,   586,
7032      587,   588,   589,  1291,  1292,  1293,  1294,   594,  1295,  1296,
7033     1297,  1298,   599,   600,   601,   602,  1299,     0,     0,     0,
7034        0,     0,     0,  1300,  1301,     0,     0,     0,   229,     0,
7035     1231,   670,  4883,  1232,  1233,  1234,   730,  1235,     0,     0,
7036        0,     0,     0,     0,     0,   230,   231,   232,   233,   234,
7037      235,   236,   237,     0,   238,   239,   240,     0,     0,     0,
7038        0,  1236,     0,     0,   241,   242,     0,   243,   244,   245,
7039      246,   247,   248,   249,  5353,  1237,   252,  1238,  1239,     0,
7040      255,   256,   257,   258,   259,   260,  1240,  1241,   261,   262,
7041     1242,  1243,   265,     0,   266,   267,   268,   269,  1244,     0,
7042     1245,     0,   272,   273,   274,   275,   276,   277,   278,   279,
7043      280,     0,   281,   282,   283,   284,   285,   286,     0,   287,
7044      288,   289,  5354,  1246,  1247,  1248,  1249,  1250,  1251,  1252,
7045      292,   293,   294,   295,   296,   297,  1253,  1254,   300,  1255,
7046      301,     0,   302,   303,   304,   305,   306,   307,     0,   308,
7047      309,   310,   311,     0,     0,   312,   313,  1081,   315,   316,
7048        0,   317,   318,   319,     0,   320,   321,   322,     0,   323,
7049      324,   325,   326,  1256,   328,   329,   330,   331,  1257,  1258,
7050      333,     0,   334,   335,  1259,   337,     0,   338,     0,   339,
7051      340,     0,   341,   342,   343,   344,   345,     0,   346,  1260,
7052        0,  1261,   349,   350,     0,   351,   352,   353,   354,   355,
7053      356,   357,   358,   359,   360,     0,   361,   362,   363,   364,
7054      365,   366,   367,     0,   368,   369,   370,   371,   372,   373,
7055      374,  1262,  1263,     0,  1264,     0,   378,   379,   380,   381,
7056      382,   383,   384,   385,   386,   387,     0,     0,   388,  1265,
7057      390,   391,   392,     0,   393,   394,   395,  1266,  1267,   396,
7058      397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
7059      407,   408,   409,   410,   411,  1268,   413,  1269,   415,   416,
7060      417,   418,   419,   420,   421,   422,  1270,   424,  1271,   425,
7061      426,   427,   428,  1272,  1273,   430,  1274,   432,   433,   434,
7062        0,   435,   436,     0,     0,  1275,   438,   439,     0,     0,
7063      440,   441,   442,   443,   444,   445,  1276,   447,   448,   449,
7064      450,   451,   452,   453,   454,   455,     0,     0,   456,   457,
7065     1277,   459,   460,   461,   462,   463,     0,   464,   465,   466,
7066      467,   468,   469,   470,   471,   472,   473,  1278,   475,   476,
7067      477,   478,     0,   479,   480,   481,   482,   483,   484,   485,
7068      486,   487,   488,   489,   490,     0,   491,   492,   493,   494,
7069      495,   496,   497,   498,  1279,   500,   501,   502,   503,   504,
7070      505,   506,   507,   508,     0,   509,   510,   511,   512,   513,
7071     1280,   514,   515,   516,   517,   518,   519,   520,   521,  1281,
7072      523,     0,   524,   525,   526,   527,   528,   529,   530,   531,
7073      532,   533,   534,   535,   536,  1282,   538,     0,   539,   540,
7074        0,   541,   542,   543,   544,   545,   546,   547,     0,   548,
7075     1283,  1284,     0,     0,   551,   552,  1285,   554,  1286,  1287,
7076      556,   557,   558,   559,   560,  5355,   562,   563,     0,  1288,
7077      564,   565,   566,   567,   568,  1289,     0,   569,   570,   571,
7078      572,   573,   574,  1290,     0,   576,   577,   578,   579,   580,
7079      581,     0,     0,   582,     0,     0,   583,   584,   585,   586,
7080      587,   588,   589,  1291,  1292,  1293,  1294,   594,  1295,  1296,
7081     1297,  1298,   599,   600,   601,   602,  1299,     0,     0,     0,
7082        0,     0,     0,  1300,  1301,     0,     0,     0,   229,     0,
7083     1231,   670,  1303,  1232,  1233,  1234,   730,  1235,     0,     0,
7084        0,     0,     0,     0,     0,   230,   231,   232,   233,   234,
7085      235,   236,   237,     0,   238,   239,   240,     0,     0,     0,
7086        0,  1236,     0,     0,   241,   242,     0,   243,   244,   245,
7087      246,   247,   248,   249,   250,  1237,   252,  1238,  1239,     0,
7088      255,   256,   257,   258,   259,   260,  1240,  1241,   261,   262,
7089     1242,  1243,   265,     0,   266,   267,   268,   269,  1244,     0,
7090     1245,     0,   272,   273,   274,   275,   276,   277,   278,   279,
7091      280,     0,   281,   282,   283,   284,   285,   286,     0,   287,
7092      288,   289,  5354,  1246,  1247,  1248,  1249,  1250,  1251,  1252,
7093      292,   293,   294,   295,   296,   297,  1253,  1254,   300,  1255,
7094      301,     0,   302,   303,   304,   305,   306,   307,     0,   308,
7095      309,   310,   311,     0,     0,   312,   313,  1081,   315,   316,
7096        0,   317,   318,   319,     0,   320,   321,   322,     0,   323,
7097      324,   325,   326,  1256,   328,   329,   330,   331,  1257,  1258,
7098      333,     0,   334,   335,  1259,   337,     0,   338,     0,   339,
7099      340,     0,   341,   342,   343,   344,   345,     0,   346,  1260,
7100        0,  1261,   349,   350,     0,   351,   352,   353,   354,   355,
7101      356,   357,   358,   359,   360,     0,   361,   362,   363,   364,
7102      365,   366,   367,     0,   368,   369,   370,   371,   372,   373,
7103      374,  1262,  1263,     0,  1264,     0,   378,   379,   380,   381,
7104      382,   383,   384,   385,   386,   387,     0,     0,   388,  1265,
7105      390,   391,   392,     0,   393,   394,   395,  1266,  1267,   396,
7106      397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
7107      407,   408,   409,   410,   411,  1268,   413,  1269,   415,   416,
7108      417,   418,   419,   420,   421,   422,  1270,   424,  1271,   425,
7109      426,   427,   428,  1272,  1273,   430,  1274,   432,   433,   434,
7110        0,   435,   436,     0,     0,  1275,   438,   439,     0,     0,
7111      440,   441,   442,   443,   444,   445,  1276,   447,   448,   449,
7112      450,   451,   452,   453,   454,   455,     0,     0,   456,   457,
7113     1277,   459,   460,   461,   462,   463,     0,   464,   465,   466,
7114      467,   468,   469,   470,   471,   472,   473,  1278,   475,   476,
7115      477,   478,     0,   479,   480,   481,   482,   483,   484,   485,
7116      486,   487,   488,   489,   490,     0,   491,   492,   493,   494,
7117      495,   496,   497,   498,  1279,   500,   501,   502,   503,   504,
7118      505,   506,   507,   508,     0,   509,   510,   511,   512,   513,
7119     1280,   514,   515,   516,   517,   518,   519,   520,   521,  1281,
7120      523,     0,   524,   525,   526,   527,   528,   529,   530,   531,
7121      532,   533,   534,   535,   536,  1282,   538,     0,   539,   540,
7122        0,   541,   542,   543,   544,   545,   546,   547,     0,   548,
7123     1283,  1284,     0,     0,   551,   552,  1285,   554,  1286,  1287,
7124      556,   557,   558,   559,   560,  5355,   562,   563,     0,  1288,
7125      564,   565,   566,   567,   568,  1289,     0,   569,   570,   571,
7126      572,   573,   574,  1290,     0,   576,   577,   578,   579,   580,
7127      581,     0,     0,   582,     0,     0,   583,   584,   585,   586,
7128      587,   588,   589,  1291,  1292,  1293,  1294,   594,  1295,  1296,
7129     1297,  1298,   599,   600,   601,   602,  1299,     0,     0,     0,
7130        0,     0,     0,  1300,  1301,     0,     0,     0,   229,     0,
7131     1231,   670,  1303,  1232,  1233,  1234,   730,  1235,     0,     0,
7132        0,     0,     0,     0,     0,   230,   231,   232,   233,   234,
7133      235,   236,   237,     0,   238,   239,   240,     0,     0,     0,
7134        0,  1236,     0,     0,   241,   242,     0,   243,   244,   245,
7135      246,   247,   248,   249,   250,  1237,   252,  1238,  1239,     0,
7136      255,   256,   257,   258,   259,   260,  1240,  1241,   261,   262,
7137     1242,  1243,   265,     0,   266,   267,   268,   269,  1244,     0,
7138     1245,     0,   272,   273,   274,   275,   276,   277,   278,   279,
7139      280,     0,   281,   282,   283,   284,   285,   286,     0,   287,
7140      288,   289,   290,  1246,  1247,  1248,  1249,  1250,  1251,  1252,
7141      292,   293,   294,   295,   296,   297,  1253,  1254,   300,  5078,
7142      301,     0,   302,   303,   304,   305,   306,   307,     0,   308,
7143      309,   310,   311,     0,     0,   312,   313,  1081,   315,   316,
7144        0,   317,   318,   319,     0,   320,   321,   322,     0,   323,
7145      324,   325,   326,  1256,   328,   329,   330,   331,  1257,  1258,
7146      333,     0,   334,   335,  1259,   337,     0,   338,     0,   339,
7147      340,     0,   341,   342,   343,   344,   345,     0,   346,  1260,
7148        0,  1261,   349,   350,     0,   351,   352,   353,   354,   355,
7149      356,   357,   358,   359,   360,     0,   361,   362,   363,   364,
7150      365,   366,   367,     0,   368,   369,   370,   371,   372,   373,
7151      374,  1262,  1263,     0,  1264,     0,   378,   379,   380,   381,
7152      382,   383,   384,   385,   386,   387,     0,     0,   388,  1265,
7153      390,   391,   392,     0,   393,   394,   395,  1266,  1267,   396,
7154      397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
7155      407,   408,   409,   410,   411,  1268,   413,  1269,   415,   416,
7156      417,   418,   419,   420,   421,   422,  1270,   424,     0,   425,
7157      426,   427,   428,  1272,  1273,   430,  1274,   432,   433,   434,
7158        0,   435,   436,     0,     0,  1275,   438,   439,     0,     0,
7159      440,   441,   442,   443,   444,   445,  1276,   447,   448,   449,
7160      450,   451,   452,   453,   454,   455,     0,     0,   456,   457,
7161     1277,   459,   460,   461,   462,   463,     0,   464,   465,   466,
7162      467,   468,   469,   470,   471,   472,   473,  1278,   475,   476,
7163      477,   478,     0,   479,   480,   481,   482,   483,   484,   485,
7164      486,   487,   488,   489,   490,     0,   491,   492,   493,   494,
7165      495,   496,   497,   498,  2786,   500,   501,   502,   503,   504,
7166      505,   506,   507,   508,     0,   509,   510,   511,   512,   513,
7167     1280,   514,   515,   516,   517,   518,   519,   520,   521,  1281,
7168      523,     0,   524,   525,   526,   527,   528,   529,   530,   531,
7169      532,   533,   534,   535,   536,  1282,   538,     0,   539,   540,
7170        0,   541,   542,   543,   544,   545,   546,   547,     0,   548,
7171     1283,  1284,     0,     0,   551,   552,  1285,   554,  1286,  1287,
7172      556,   557,   558,   559,   560,   561,   562,   563,     0,     0,
7173      564,   565,   566,   567,   568,  1289,     0,   569,   570,   571,
7174      572,   573,   574,  1290,     0,   576,   577,   578,   579,   580,
7175      581,     0,     0,   582,     0,     0,   583,   584,   585,   586,
7176      587,   588,   589,  1291,  1292,  1293,  1294,   594,  1295,  1296,
7177     1297,  1298,   599,   600,   601,   602,     0,     0,     0,     0,
7178        0,     0,     0,  2787,  2788,     0,     0,     0,   229,     0,
7179     1231,   670,  2789,  1232,  1233,  1234,   730,  1235,     0,     0,
7180        0,     0,     0,     0,     0,   230,   231,   232,   233,   234,
7181      235,   236,   237,     0,   238,   239,   240,     0,     0,     0,
7182        0,  1236,     0,     0,   241,   242,     0,   243,   244,   245,
7183      246,   247,   248,   249, -2671,  1237,   252,  1238,  1239,     0,
7184      255,   256,   257,   258,   259,   260,  1240,  1241,   261,   262,
7185     1242,  1243,   265,     0,   266,   267,   268,   269,  1244,     0,
7186     1245,     0,   272,   273,   274,   275,   276,   277,   278,   279,
7187      280,     0,   281,   282,   283,   284,   285,   286,     0,   287,
7188      288,   289,  5354,  1246,  1247,  1248,  1249,  1250,  1251,  1252,
7189      292,   293,   294,   295,   296,   297,  1253,  1254,   300,  1255,
7190      301,     0,   302,   303,   304,   305,   306,   307,     0,   308,
7191      309,   310,   311,     0,     0,   312,   313,  1081,   315,   316,
7192        0,   317,   318,   319,     0,   320,   321,   322,     0,   323,
7193      324,   325,   326,  1256,   328,   329,   330,   331,  1257,  1258,
7194      333,     0,   334,   335,  1259,   337,     0,   338,     0,   339,
7195      340,     0,   341,   342,   343,   344,   345,     0,   346,  1260,
7196        0,  1261,   349,   350,     0,   351,   352,   353,   354,   355,
7197    -2671,   357,   358,   359,   360,     0,   361,   362,   363,   364,
7198      365,   366,   367,     0,   368,   369,   370,   371,   372,   373,
7199      374,  1262,  1263,     0,  1264,     0,   378,     0,     0,   381,
7200      382,   383,   384,   385,   386,   387,     0,     0,   388,  1265,
7201      390,   391, -2671,     0,   393,   394,   395,  1266,  1267,   396,
7202      397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
7203      407,   408,   409,   410,   411,  1268,   413,  1269,   415,   416,
7204      417,   418,   419,   420,   421,   422,  1270,   424,  1271,   425,
7205      426,     0,   428,  1272,  1273,   430,  1274,   432,   433,   434,
7206        0,   435,   436,     0,     0,  1275,   438,   439,     0,     0,
7207      440,   441,   442,   443,   444,   445,  1276,   447,   448,   449,
7208      450,   451,   452,   453,   454,   455,     0,     0,   456,   457,
7209     1277,   459,   460,   461,   462,   463,     0,   464,   465,   466,
7210      467,   468,   469,   470,   471,   472,   473,  1278,   475,   476,
7211      477,   478,     0,   479,   480,   481,   482,   483,   484,   485,
7212      486,   487,   488,   489,   490,     0,   491,   492,   493,   494,
7213      495,   496,   497,   498,  1279,   500,   501,   502,   503,   504,
7214      505,   506,   507,   508,     0,   509,   510,   511,   512,   513,
7215     1280,   514,   515,   516,   517,   518, -2671,   520,   521,  1281,
7216      523,     0,   524,   525,   526,   527,   528,   529,   530,   531,
7217      532,   533,   534,   535,   536,  1282,   538,     0,   539,   540,
7218        0,   541,   542,   543,   544,   545,   546,   547,     0,   548,
7219     1283,  1284,     0,     0,   551,   552,  1285,   554,  1286,  1287,
7220      556,   557,   558,   559,   560,  5355,   562,   563,     0,  1288,
7221      564,   565,   566,   567,   568,  1289,     0,   569,   570,   571,
7222      572,   573,   574,  1290,     0,   576,   577,   578,   579,   580,
7223      581,     0,     0,   582,     0,     0,   583,   584,   585,   586,
7224      587,   588,   589,  1291,  1292,  1293,  1294,   594,  1295,  1296,
7225     1297,  1298,   599,   600,   601,   602, -2671,     0,     0,     0,
7226        0,     0,     0,  1300,  1301,     0,     0,     0,   229,     0,
7227     1231,   670,  1303,  1232,  1233,  1234,   730,  1235,     0,     0,
7228        0,     0,     0,     0,     0,   230,   231,   232,   233,   234,
7229      235,   236,   237,     0,   238,   239,   240,     0,     0,     0,
7230        0,  1236,     0,     0,   241,   242,     0,   243,   244,   245,
7231      246,   247,   248,   249,   250,  1237,   252,  1238,  1239,     0,
7232      255,   256,   257,   258,   259,   260,  1240,  1241,   261,   262,
7233     1242,  1243,   265,     0,   266,   267,   268,   269,  1244,     0,
7234     1245,     0,   272,   273,   274,   275,   276,   277,   278,   279,
7235      280,     0,   281,   282,   283,   284,   285,   286,     0,   287,
7236      288,   289,   290,  1246,  1247,  1248,  1249,  1250,  1251,  1252,
7237      292,   293,   294,   295,   296,   297,  1253,  1254,   300,     0,
7238      301,     0,   302,   303,   304,   305,   306,   307,     0,   308,
7239      309,   310,   311,     0,     0,   312,   313,  1081,   315,   316,
7240        0,   317,   318,   319,     0,   320,   321,   322,     0,   323,
7241      324,   325,   326,  1256,   328,   329,   330,   331,  1257,  1258,
7242      333,     0,   334,   335,  1259,   337,     0,   338,     0,   339,
7243      340,     0,   341,   342,   343,   344,   345,     0,   346,  1260,
7244        0,  1261,   349,   350,     0,   351,   352,   353,   354,   355,
7245      356,   357,   358,   359,   360,     0,   361,   362,   363,   364,
7246      365,   366,   367,     0,   368,   369,   370,   371,   372,   373,
7247      374,  1262,  1263,     0,  1264,     0,   378,   379,   380,   381,
7248      382,   383,   384,   385,   386,   387,     0,     0,   388,  1265,
7249      390,   391,   392,     0,   393,   394,   395,  1266,  1267,   396,
7250      397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
7251      407,   408,   409,   410,   411,  1268,   413,  1269,   415,   416,
7252      417,   418,   419,   420,   421,   422,  1270,   424,     0,   425,
7253      426,   427,   428,  1272,  1273,   430,  1274,   432,   433,   434,
7254        0,   435,   436,     0,     0,  1275,   438,   439,     0,     0,
7255      440,   441,   442,   443,   444,   445,  1276,   447,   448,   449,
7256      450,   451,   452,   453,   454,   455,     0,     0,   456,   457,
7257     1277,   459,   460,   461,   462,   463,     0,   464,   465,   466,
7258      467,   468,   469,   470,   471,   472,   473,  1278,   475,   476,
7259      477,   478,     0,   479,   480,   481,   482,   483,   484,   485,
7260      486,   487,   488,   489,   490,     0,   491,   492,   493,   494,
7261      495,   496,   497,   498,  2786,   500,   501,   502,   503,   504,
7262      505,   506,   507,   508,     0,   509,   510,   511,   512,   513,
7263     1280,   514,   515,   516,   517,   518,   519,   520,   521,  1281,
7264      523,     0,   524,   525,   526,   527,   528,   529,   530,   531,
7265      532,   533,   534,   535,   536,  1282,   538,     0,   539,   540,
7266        0,   541,   542,   543,   544,   545,   546,   547,     0,   548,
7267     1283,  1284,     0,     0,   551,   552,  1285,   554,  1286,  1287,
7268      556,   557,   558,   559,   560,   561,   562,   563,     0,     0,
7269      564,   565,   566,   567,   568,  1289,     0,   569,   570,   571,
7270      572,   573,   574,  1290,     0,   576,   577,   578,   579,   580,
7271      581,     0,     0,   582,     0,     0,   583,   584,   585,   586,
7272      587,   588,   589,  1291,  1292,  1293,  1294,   594,  1295,  1296,
7273     1297,  1298,   599,   600,   601,   602,     0,     0,     0,     0,
7274        0,     0,     0,  2787,  2788,   229,     0,  1231,   670,     0,
7275     1232,  1233,  2789,   730,  1235,     0,     0,     0,     0,     0,
7276        0,     0,   230,   231,   232,   233,   234,   235,   236,   237,
7277        0,   238,   239,   240,     0,     0,     0,     0,  1236,     0,
7278        0,   241,   242,     0,   243,   244,   245,   246,   247,   248,
7279      249,   250,  1237,   252,  1238,  1239,     0,   255,   256,   257,
7280      258,   259,   260,  1240,  1241,   261,   262,  1242,  1243,   265,
7281        0,   266,   267,   268,   269,  1244,     0,  1245,     0,   272,
7282      273,   274,   275,   276,   277,   278,   279,   280,     0,   281,
7283      282,   283,   284,   285,   286,     0,   287,   288,   289,   290,
7284     1246,  1247,  1248,  1249,  1250,  1251,  1252,   292,   293,   294,
7285      295,   296,   297,  1253,  1254,   300,     0,   301,     0,   302,
7286      303,   304,   305,   306,   307,     0,   308,   309,   310,   311,
7287        0,     0,   312,   313,  1081,   315,   316,     0,   317,   318,
7288      319,     0,   320,   321,   322,     0,   323,   324,   325,   326,
7289     1256,   328,   329,   330,   331,  1257,  1258,   333,     0,   334,
7290      335,  1259,   337,     0,   338,     0,   339,   340,     0,   341,
7291      342,   343,   344,   345,     0,   346,  1260,     0,  1261,   349,
7292      350,     0,   351,   352,   353,   354,   355,   356,   357,   358,
7293      359,   360,     0,   361,   362,   363,   364,   365,   366,   367,
7294        0,   368,   369,   370,   371,   372,   373,   374,  1262,  1263,
7295        0,  1264,     0,   378,   379,   380,   381,   382,   383,   384,
7296      385,   386,   387,     0,     0,   388,  1265,   390,   391,   392,
7297        0,   393,   394,   395,  1266,  1267,   396,   397,   398,   399,
7298      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
7299      410,   411,  1268,   413,  1269,   415,   416,   417,   418,   419,
7300      420,   421,   422,  1270,   424,     0,   425,   426,   427,   428,
7301     1272,  1273,   430,  1274,   432,   433,   434,     0,   435,   436,
7302        0,     0,   437,   438,   439,     0,     0,   440,   441,   442,
7303      443,   444,   445,  1276,   447,   448,   449,   450,   451,   452,
7304      453,   454,   455,     0,     0,   456,   457,  1277,   459,   460,
7305      461,   462,   463,     0,   464,   465,   466,   467,   468,   469,
7306      470,   471,   472,   473,  1278,   475,   476,   477,   478,     0,
7307      479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
7308      489,   490,     0,   491,   492,   493,   494,   495,   496,   497,
7309      498,  2917,  2918,   501,   502,   503,   504,   505,   506,   507,
7310      508,     0,   509,   510,   511,   512,   513,  1280,   514,   515,
7311      516,   517,   518,   519,   520,   521,  1281,   523,     0,   524,
7312      525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
7313      535,   536,  1282,   538,     0,   539,   540,     0,   541,   542,
7314      543,   544,   545,   546,   547,     0,   548,  1283,  1284,     0,
7315        0,   551,   552,  1285,   554,  1286,  1287,   556,   557,   558,
7316      559,   560,   561,   562,   563,     0,     0,   564,   565,   566,
7317      567,   568,  1289,     0,   569,   570,   571,   572,   573,   574,
7318     1290,     0,   576,   577,   578,   579,   580,   581,     0,     0,
7319      582,     0,     0,   583,   584,   585,   586,   587,   588,   589,
7320     1291,  1292,  1293,  1294,   594,  1295,  1296,  1297,  1298,   599,
7321      600,   601,   602,     0,     0,     0,     0,     0,     0,     0,
7322     2919,  2920,     0,     0,     0,   229,     0,  1231,   670,  2789,
7323     1232,  1233,  1234,   730,  1235,     0,     0,     0,     0,     0,
7324        0,     0,   230,   231,   232,   233,   234,   235,   236,   237,
7325        0,   238,   239,   240,     0,     0,     0,     0,  1236,     0,
7326        0,   241,   242,     0,   243,   244,   245,   246,   247,   248,
7327      249,   250,  1237,   252,  1238,  1239,     0,   255,   256,   257,
7328      258,   259,   260,  1240,  1241,   261,   262,  1242,  1243,   265,
7329        0,   266,   267,   268,   269,  1244,     0,  1245,     0,   272,
7330      273,   274,   275,   276,   277,   278,   279,   280,     0,   281,
7331      282,   283,   284,   285,   286,     0,   287,   288,   289,   290,
7332     1246,  1247,  1248,  1249,  1250,  1251,  1252,   292,   293,   294,
7333      295,   296,   297,  1253,  1254,   300,     0,   301,     0,   302,
7334      303,   304,   305,   306,   307,     0,   308,   309,   310,   311,
7335        0,     0,   312,   313,  1081,   315,   316,     0,   317,   318,
7336      319,     0,   320,   321,   322,     0,   323,   324,   325,   326,
7337     1256,   328,   329,   330,   331,  1257,  1258,   333,     0,   334,
7338      335,  1259,   337,     0,   338,     0,   339,   340,     0,   341,
7339      342,   343,   344,   345,     0,   346,  1260,     0,  1261,   349,
7340      350,     0,   351,   352,   353,   354,   355,   356,   357,   358,
7341      359,   360,     0,   361,   362,   363,   364,   365,   366,   367,
7342        0,   368,   369,   370,   371,   372,   373,   374,  1262,  1263,
7343        0,  1264,     0,   378,     0,   380,   381,   382,   383,   384,
7344      385,   386,   387,     0,     0,   388,  1265,   390,   391,   392,
7345        0,   393,   394,   395,  1266,  1267,   396,   397,   398,   399,
7346      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
7347      410,   411,  1268,   413,  1269,   415,   416,   417,   418,   419,
7348      420,   421,   422,  1270,   424,     0,   425,   426,   427,   428,
7349     1272,  1273,   430,  1274,   432,   433,   434,     0,   435,   436,
7350        0,     0,  1275,   438,   439,     0,     0,   440,   441,   442,
7351      443,   444,   445,  1276,   447,   448,   449,   450,   451,   452,
7352      453,   454,   455,     0,     0,   456,   457,  1277,   459,   460,
7353      461,   462,   463,     0,   464,   465,   466,   467,   468,   469,
7354      470,   471,   472,   473,  1278,   475,   476,   477,   478,     0,
7355      479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
7356      489,   490,     0,   491,   492,   493,   494,   495,   496,   497,
7357      498,  2786,   500,   501,   502,   503,   504,   505,   506,   507,
7358      508,     0,   509,   510,   511,   512,   513,  1280,   514,   515,
7359      516,   517,   518,   519,   520,   521,  1281,   523,     0,   524,
7360      525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
7361      535,   536,  1282,   538,     0,   539,   540,     0,   541,   542,
7362      543,   544,   545,   546,   547,     0,   548,  1283,  1284,     0,
7363        0,   551,   552,  1285,   554,  1286,  1287,   556,   557,   558,
7364      559,   560,   561,   562,   563,     0,     0,   564,   565,   566,
7365      567,   568,  1289,     0,   569,   570,   571,   572,   573,   574,
7366     1290,     0,   576,   577,   578,   579,   580,   581,     0,     0,
7367      582,     0,     0,   583,   584,   585,   586,   587,   588,   589,
7368     1291,  1292,  1293,  1294,   594,  1295,  1296,  1297,  1298,   599,
7369      600,   601,   602,     0,     0,     0,     0,     0,     0,     0,
7370     2787,  2788,   229,     0,  1231,   670,     0,  1232,  1233,  2789,
7371      730,  1235,     0,     0,     0,     0,     0,     0,     0,   230,
7372      231,   232,   233,   234,   235,   236,   237,     0,   238,   239,
7373      240,     0,     0,     0,     0,  1236,     0,     0,   241,   242,
7374        0,   243,   244,   245,   246,   247,   248,   249,   250,  1237,
7375      252,  1238,  1239,     0,   255,   256,   257,   258,   259,   260,
7376     1240,  1241,   261,   262,  1242,  1243,   265,     0,   266,   267,
7377      268,   269,  1244,     0,  1245,     0,   272,   273,   274,   275,
7378      276,   277,   278,   279,   280,     0,   281,   282,   283,   284,
7379      285,   286,     0,   287,   288,   289,   290,  1246,  1247,  1248,
7380     1249,  1250,  1251,  1252,   292,   293,   294,   295,   296,   297,
7381     1253,  1254,   300,     0,   301,     0,   302,   303,   304,   305,
7382      306,   307,     0,   308,   309,   310,   311,     0,     0,   312,
7383      313,  1081,   315,   316,     0,   317,   318,   319,     0,   320,
7384      321,   322,     0,   323,   324,   325,   326,  1256,   328,   329,
7385      330,   331,  1257,  1258,   333,     0,   334,   335,  1259,   337,
7386        0,   338,     0,   339,   340,     0,   341,   342,   343,   344,
7387      345,     0,   346,  1260,     0,  1261,   349,   350,     0,   351,
7388      352,   353,   354,   355,   356,   357,   358,   359,   360,     0,
7389      361,   362,   363,   364,   365,   366,   367,     0,   368,   369,
7390      370,   371,   372,   373,   374,  1262,  1263,     0,  1264,     0,
7391      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
7392        0,     0,   388,  1265,   390,   391,   392,     0,   393,   394,
7393      395,  1266,  1267,   396,   397,   398,   399,   400,   401,   402,
7394      403,   404,   405,   406,   407,   408,   409,   410,   411,  1268,
7395      413,  1269,   415,   416,   417,   418,   419,   420,   421,   422,
7396     1270,   424,     0,   425,   426,   427,   428,  1272,  1273,   430,
7397     1274,   432,   433,   434,     0,   435,   436,     0,     0,   437,
7398      438,   439,     0,     0,   440,   441,   442,   443,   444,   445,
7399     1276,   447,   448,   449,   450,   451,   452,   453,   454,   455,
7400        0,     0,   456,   457,  1277,   459,   460,   461,   462,   463,
7401        0,   464,   465,   466,   467,   468,   469,   470,   471,   472,
7402      473,  1278,   475,   476,   477,   478,     0,   479,   480,   481,
7403      482,   483,   484,   485,   486,   487,   488,   489,   490,     0,
7404      491,   492,   493,   494,   495,   496,   497,   498,  2786,   500,
7405      501,   502,   503,   504,   505,   506,   507,   508,     0,   509,
7406      510,   511,   512,   513,  1280,   514,   515,   516,   517,   518,
7407      519,   520,   521,  1281,   523,     0,   524,   525,   526,   527,
7408      528,   529,   530,   531,   532,   533,   534,   535,   536,  1282,
7409      538,     0,   539,   540,     0,   541,   542,   543,   544,   545,
7410      546,   547,     0,   548,  1283,  1284,     0,     0,   551,   552,
7411     1285,   554,  1286,  1287,   556,   557,   558,   559,   560,   561,
7412      562,   563,     0,     0,   564,   565,   566,   567,   568,  1289,
7413        0,   569,   570,   571,   572,   573,   574,  1290,     0,   576,
7414      577,   578,   579,   580,   581,     0,     0,   582,     0,     0,
7415      583,   584,   585,   586,   587,   588,   589,  1291,  1292,  1293,
7416     1294,   594,  1295,  1296,  1297,  1298,   599,   600,   601,   602,
7417      229,     0,  1231,   670,     0,  1232,  1233,     0,   730,  1235,
7418        0,     0,     0,     0,     0,     0,  2789,   230,   231,   232,
7419      233,   234,   235,   236,   237,     0,   238,   239,   240,     0,
7420        0,     0,     0,  1236,     0,     0,   241,   242,     0,   243,
7421      244,   245,   246,   247,   248,   249,   250,  1237,   252,  1238,
7422     1239,     0,  4109,   256,   257,   258,   259,   260,  1240,  1241,
7423      261,   262,  1242,  1243,   265,     0,   266,   267,   268,   269,
7424     1244,     0,  1245,     0,   272,   273,   274,   275,   276,   277,
7425      278,   279,   280,     0,   281,   282,   283,   284,   285,   286,
7426        0,   287,   288,   289,   290,  1246,  1247,  1248,  1249,  1250,
7427     1251,  1252,   292,   293,   294,   295,   296,   297,  1253,  1254,
7428      300,     0,   301,     0,   302,   303,   304,   305,   306,   307,
7429        0,   308,   309,   310,   311,     0,     0,   312,   313,  1081,
7430      315,   316,     0,   317,   318,   319,     0,   320,   321,   322,
7431        0,   323,   324,   325,   326,  1256,   328,   329,   330,   331,
7432     1257,  1258,   333,     0,   334,   335,  1259,   337,     0,   338,
7433        0,   339,   340,     0,   341,   342,   343,   344,   345,     0,
7434      346,  1260,     0,  1261,   349,   350,     0,   351,   352,   353,
7435      354,   355,   356,   357,   358,   359,   360,     0,   361,   362,
7436      363,   364,   365,   366,   367,     0,   368,   369,   370,   371,
7437      372,   373,   374,  1262,  1263,     0,  1264,     0,   378,   379,
7438      380,   381,   382,   383,   384,   385,   386,   387,     0,     0,
7439      388,  1265,   390,   391,   392,     0,   393,   394,   395,  1266,
7440     1267,   396,   397,   398,   399,   400,   401,   402,   403,   404,
7441      405,   406,   407,   408,   409,   410,   411,  1268,   413,  1269,
7442      415,   416,   417,   418,   419,   420,   421,   422,  1270,   424,
7443        0,   425,   426,   427,   428,  1272,  1273,   430,  1274,   432,
7444      433,   434,     0,   435,   436,     0,     0,   437,   438,   439,
7445        0,     0,   440,   441,   442,   443,   444,   445,  1276,   447,
7446      448,   449,   450,   451,   452,   453,   454,   455,     0,     0,
7447      456,   457,  1277,   459,   460,   461,   462,   463,     0,   464,
7448      465,   466,   467,   468,   469,   470,   471,   472,   473,  1278,
7449      475,   476,   477,   478,     0,   479,   480,   481,   482,   483,
7450      484,   485,   486,   487,   488,   489,   490,     0,   491,   492,
7451      493,   494,   495,   496,   497,   498,  2786,   500,   501,   502,
7452      503,   504,   505,   506,   507,   508,     0,   509,   510,   511,
7453      512,   513,  1280,   514,   515,   516,   517,   518,   519,   520,
7454      521,  1281,   523,     0,   524,   525,   526,   527,   528,   529,
7455      530,   531,   532,   533,   534,   535,   536,  1282,   538,     0,
7456      539,   540,     0,   541,   542,   543,   544,   545,   546,   547,
7457        0,   548,  1283,  1284,     0,     0,   551,   552,  1285,   554,
7458     1286,  1287,   556,   557,   558,   559,   560,   561,   562,   563,
7459        0,     0,   564,   565,   566,   567,   568,  1289,     0,   569,
7460      570,   571,   572,   573,   574,  1290,     0,   576,   577,   578,
7461      579,   580,   581,     0,     0,   582,     0,     0,   583,   584,
7462      585,   586,   587,   588,   589,  1291,  1292,  1293,  1294,   594,
7463     1295,  1296,  1297,  1298,   599,   600,   601,   602,   229,     0,
7464     1231,   670,     0,  1232,  1233,     0,   730,  1235,     0,     0,
7465        0,     0,     0,     0,  2789,   230,   231,   232,   233,   234,
7466      235,   236,   237,     0,   238,   239,   240,     0,     0,     0,
7467        0,  1236,     0,     0,   241,   242,     0,   243,   244,   245,
7468      246,   247,   248,   249,   250,  1237,   252,  1238,  1239,     0,
7469      255,   256,   257,   258,   259,   260,  1240,  1241,   261,   262,
7470     1242,  1243,   265,     0,   266,   267,   268,   269,  1244,     0,
7471     1245,     0,   272,   273,   274,   275,   276,   277,   278,   279,
7472      280,     0,   281,   282,   283,   284,   285,   286,     0,   287,
7473      288,   289,   290,  1246,  1247,  1248,  1249,  1250,  1251,  1252,
7474      292,   293,   294,   295,   296,   297,  1253,  1254,   300,     0,
7475      301,     0,   302,   303,   304,   305,   306,   307,     0,   308,
7476      309,   310,   311,     0,     0,   312,   313,  1081,   315,   316,
7477        0,   317,   318,   319,     0,   320,   321,   322,     0,   323,
7478      324,   325,   326,  1256,   328,   329,   330,   331,  1257,  1258,
7479      333,     0,   334,   335,  1259,   337,     0,   338,     0,   339,
7480      340,     0,   341,   342,   343,   344,   345,     0,   346,  1260,
7481        0,  1261,   349,   350,     0,   351,   352,   353,   354,   355,
7482      356,   357,   358,   359,   360,     0,   361,   362,   363,   364,
7483      365,   366,   367,     0,   368,   369,   370,   371,   372,   373,
7484      374,  1262,  1263,     0,  1264,     0,   378,   379,   380,   381,
7485      382,   383,   384,   385,   386,   387,     0,     0,   388,  1265,
7486      390,   391,   392,     0,   393,   394,   395,  1266,  1267,   396,
7487      397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
7488      407,   408,   409,   410,   411,  1268,   413,  1269,   415,   416,
7489      417,   418,   419,   420,   421,   422,  1270,   424,     0,   425,
7490      426,   427,   428,  1272,  1273,   430,  1274,   432,   433,   434,
7491        0,   435,   436,     0,     0,   437,   438,   439,     0,     0,
7492      440,   441,   442,   443,   444,   445,  1276,   447,   448,   449,
7493      450,   451,   452,   453,   454,   455,     0,     0,   456,   457,
7494     1277,   459,   460,   461,   462,   463,     0,   464,   465,   466,
7495      467,   468,   469,   470,   471,   472,   473,  1278,   475,   476,
7496      477,   478,     0,   479,   480,   481,   482,   483,   484,   485,
7497      486,   487,   488,   489,   490,     0,   491,   492,   493,   494,
7498      495,   496,   497,   498,  2786,   500,   501,   502,   503,   504,
7499      505,   506,   507,   508,     0,   509,   510,   511,   512,   513,
7500     1280,   514,   515,   516,   517,   518,   519,   520,   521,  1281,
7501      523,     0,   524,   525,   526,   527,   528,   529,   530,   531,
7502      532,   533,   534,   535,   536,  1282,   538,     0,   539,   540,
7503        0,   541,   542,   543,   544,   545,   546,   547,     0,   548,
7504     1283,  1284,     0,     0,   551,   552,  1285,   554,  1286,  1287,
7505      556,   557,   558,   559,   560,   561,   562,   563,     0,     0,
7506      564,   565,   566,   567,   568,  1289,     0,   569,   570,   571,
7507      572,   573,   574,  1290,     0,   576,   577,   578,   579,   580,
7508      581,     0,     0,   582,     0,     0,   583,   584,   585,   586,
7509      587,   588,   589,  1291,  1292,  1293,  1294,  4597,  1295,  1296,
7510     1297,  1298,   599,   600,   601,   602,   229,     0,  1231,   670,
7511        0,  1232,  1233,  1234,   730,  1235,     0,     0,     0,     0,
7512        0,     0,  2789,   230,   231,   232,   233,   234,   235,   236,
7513      237,     0,   238,   239,   240,     0,     0,     0,     0,  1236,
7514        0,     0,   241,   242,     0,   243,   244,   245,   246,   247,
7515      248,   249,     0,  1237,   252,  1238,  1239,     0,   255,   256,
7516      257,   258,   259,   260,  1240,  1241,   261,   262,  1242,  1243,
7517      265,     0,   266,   267,   268,   269,  1244,     0,  1245,     0,
7518      272,   273,   274,   275,   276,   277,   278,   279,   280,     0,
7519      281,   282,   283,   284,   285,   286,     0,   287,   288,   289,
7520      290,  1246,  1247,  1248,  1249,  1250,  1251,  1252,   292,   293,
7521      294,   295,   296,   297,  1253,  1254,   300,  1255,   301,     0,
7522      302,   303,   304,   305,   306,   307,     0,   308,   309,   310,
7523      311,     0,     0,   312,   313,  1081,   315,   316,     0,   317,
7524      318,   319,     0,   320,     0,   322,     0,   323,   324,   325,
7525      326,  1256,   328,   329,   330,   331,  1257,  1258,   333,     0,
7526      334,   335,  1259,   337,     0,   338,     0,   339,   340,     0,
7527      341,   342,   343,   344,   345,     0,   346,  1260,     0,  1261,
7528      349,   350,     0,   351,   352,   353,   354,   355,     0,   357,
7529      358,   359,   360,     0,   361,   362,   363,   364,   365,   366,
7530      367,     0,   368,   369,   370,   371,   372,   373,   374,  1262,
7531     1263,     0,  1264,     0,   378,     0,     0,   381,   382,   383,
7532      384,   385,   386,   387,     0,     0,   388,  1265,   390,   391,
7533        0,     0,   393,   394,   395,  1266,  1267,   396,   397,   398,
7534      399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
7535      409,   410,   411,  1268,   413,  1269,   415,   416,   417,   418,
7536      419,   420,   421,   422,  1270,   424,  1271,   425,   426,     0,
7537      428,  1272,  1273,   430,  1274,   432,   433,   434,     0,   435,
7538      436,     0,     0,  1275,   438,   439,     0,     0,   440,   441,
7539      442,   443,   444,   445,  1276,   447,   448,   449,   450,   451,
7540      452,   453,   454,   455,     0,     0,   456,   457,  1277,   459,
7541      460,   461,   462,   463,     0,   464,   465,   466,   467,   468,
7542      469,   470,   471,   472,   473,  1278,   475,   476,   477,   478,
7543        0,   479,   480,   481,   482,   483,   484,   485,   486,   487,
7544      488,   489,   490,     0,   491,   492,   493,   494,   495,   496,
7545      497,   498,  1279,   500,   501,   502,   503,   504,   505,   506,
7546      507,   508,     0,   509,   510,   511,   512,   513,  1280,   514,
7547      515,   516,   517,   518,     0,   520,   521,  1281,   523,     0,
7548      524,   525,   526,   527,   528,   529,   530,   531,   532,   533,
7549      534,   535,   536,  1282,   538,     0,   539,   540,     0,   541,
7550      542,   543,   544,   545,   546,   547,     0,   548,  1283,  1284,
7551        0,     0,   551,   552,  1285,   554,  1286,  1287,   556,   557,
7552      558,   559,   560,   561,   562,   563,     0,  1288,   564,   565,
7553      566,   567,   568,  1289,     0,   569,   570,   571,   572,   573,
7554      574,  1290,     0,   576,   577,   578,   579,   580,   581,     0,
7555        0,   582,     0,     0,   583,   584,   585,   586,   587,   588,
7556      589,  1291,  1292,  1293,  1294,   594,  1295,  1296,  1297,  1298,
7557      599,   600,   601,   602,   229,     0,     0,     0,     0,     0,
7558        0,  1300,  1301,     0,     0,     0,     0,     0,     0,     0,
7559     1303,   230,   231,   232,   233,   234,   235,   236,   237,     0,
7560      238,   239,   240,     0,     0,     0,     0,     0,     0,     0,
7561      241,   242,     0,   243,   244,   245,   246,   247,   248,   249,
7562      250,   251,   252,   253,   254,     0,   255,   256,   257,   258,
7563      259,   260,     0,  1241,   261,   262,   263,   264,   265,     0,
7564      266,   267,   268,   269,  1244,     0,  1245,     0,   272,   273,
7565      274,   275,   276,   277,   278,   279,   280,     0,   281,   282,
7566      283,   284,   285,   286,     0,   287,   288,   289,   290,  1246,
7567     1247,  1248,  1249,  1250,  1251,  1252,   292,   293,   294,   295,
7568      296,   297,   298,   299,   300,     0,   301,     0,   302,   303,
7569      304,   305,   306,   307,     0,   308,   309,   310,   311,     0,
7570        0,   312,   313,   314,   315,   316,     0,   317,   318,   319,
7571        0,   320,   321,   322,     0,   323,   324,   325,   326,   327,
7572      328,   329,   330,   331,  1257,     0,   333,     0,   334,   335,
7573      336,   337,     0,   338,     0,   339,   340,     0,   341,   342,
7574      343,   344,   345,     0,   346,  1260,     0,   348,   349,   350,
7575        0,   351,   352,   353,   354,   355,   356,   357,   358,   359,
7576      360,     0,   361,   362,   363,   364,   365,   366,   367,     0,
7577      368,   369,   370,   371,   372,   373,   374,   375,   376,     0,
7578      377,     0,   378,   379,   380,   381,   382,   383,   384,   385,
7579      386,   387,  3617,     0,   388,  1265,   390,   391,   392,     0,
7580      393,   394,   395,  1266,  1267,   396,   397,   398,   399,   400,
7581      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
7582      411,   412,   413,   414,   415,   416,   417,   418,   419,   420,
7583      421,   422,  1270,   424,     0,   425,   426,   427,   428,     0,
7584     1273,   430,   431,   432,   433,   434,     0,   435,   436,     0,
7585      822,   437,   438,   439,     0,     0,   440,   441,   442,   443,
7586      444,   445,  1276,   447,   448,   449,   450,   451,   452,   453,
7587      454,   455,     0,     0,   456,   457,  1277,   459,   460,   461,
7588      462,   463,     0,   464,   465,   466,   467,   468,   469,   470,
7589      471,   472,   473,   474,   475,   476,   477,   478,     0,   479,
7590      480,   481,   482,   483,   484,   485,   486,   487,   488,   489,
7591      490,     0,   491,   492,   493,   494,   495,   496,   497,   498,
7592      499,  3618,   501,   502,   503,   504,   505,   506,   507,   508,
7593       41,   509,   510,   511,   512,   513,  1280,   514,   515,   516,
7594      517,   518,   519,   520,   521,   522,   523,     0,   524,   525,
7595      526,   527,   528,   529,   530,   531,   532,   533,   534,   535,
7596      536,  1282,   538,     0,   539,   540,    45,   541,   542,   543,
7597      544,   545,   546,   547,     0,   548,   549,   550,     0,     0,
7598      551,   552,  1285,   554,  1286,     0,   556,   557,   558,   559,
7599      560,   561,   562,   563,     0,     0,   564,   565,   566,   567,
7600      568,  1289,     0,   569,   570,   571,   572,   573,  1160,   575,
7601        0,   576,   577,   578,   579,   580,   581,     0,     0,   582,
7602        0,    50,   583,   584,   585,   586,   587,   588,   589,  1291,
7603     1292,  1293,  1294,   594,  1295,  1296,  1297,  1298,  3619,   600,
7604      601,   602,   229,     0,    51,     0,     0,     0,     0,     0,
7605        0,     0,     0,     0,     0,     0,     0,     0,  3620,   230,
7606      231,   232,   233,   234,   235,   236,   237,     0,   238,   239,
7607      240,     0,     0,     0,     0,     0,     0,     0,   241,   242,
7608        0,   243,   244,   245,   246,   247,   248,   249,   250,   251,
7609      252,   253,   254,     0,   255,   256,   257,   258,   259,   260,
7610        0,  1241,   261,   262,   263,   264,   265,     0,   266,   267,
7611      268,   269,  1244,     0,  1245,     0,   272,   273,   274,   275,
7612      276,   277,   278,   279,   280,     0,   281,   282,   283,   284,
7613      285,   286,     0,   287,   288,   289,   290,  1246,  1247,  1248,
7614     1249,  1250,  1251,  1252,   292,   293,   294,   295,   296,   297,
7615      298,   299,   300,     0,   301,     0,   302,   303,   304,   305,
7616      306,   307,     0,   308,   309,   310,   311,     0,     0,   312,
7617      313,   314,   315,   316,     0,   317,   318,   319,     0,   320,
7618      321,   322,     0,   323,   324,   325,   326,   327,   328,   329,
7619      330,   331,  1257,     0,   333,     0,   334,   335,   336,   337,
7620        0,   338,     0,   339,   340,     0,   341,   342,   343,   344,
7621      345,     0,   346,  1260,     0,   348,   349,   350,     0,   351,
7622      352,   353,   354,   355,   356,   357,   358,   359,   360,     0,
7623      361,   362,   363,   364,   365,   366,   367,     0,   368,   369,
7624      370,   371,   372,   373,   374,   375,   376,     0,   377,     0,
7625      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
7626     3617,     0,   388,  1265,   390,   391,   392,     0,   393,   394,
7627      395,  1266,  1267,   396,   397,   398,   399,   400,   401,   402,
7628      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
7629      413,   414,   415,   416,   417,   418,   419,   420,   421,   422,
7630     1270,   424,     0,   425,   426,   427,   428,     0,  1273,   430,
7631      431,   432,   433,   434,     0,   435,   436,     0,   822,   437,
7632      438,   439,     0,     0,   440,   441,   442,   443,   444,   445,
7633     1276,   447,   448,   449,   450,   451,   452,   453,   454,   455,
7634        0,     0,   456,   457,  1277,   459,   460,   461,   462,   463,
7635        0,   464,   465,   466,   467,   468,   469,   470,   471,   472,
7636      473,   474,   475,   476,   477,   478,     0,   479,   480,   481,
7637      482,   483,   484,   485,   486,   487,   488,   489,   490,     0,
7638      491,   492,   493,   494,   495,   496,   497,   498,   499,  3618,
7639      501,   502,   503,   504,   505,   506,   507,   508,     0,   509,
7640      510,   511,   512,   513,  1280,   514,   515,   516,   517,   518,
7641      519,   520,   521,   522,   523,     0,   524,   525,   526,   527,
7642      528,   529,   530,   531,   532,   533,   534,   535,   536,  1282,
7643      538,     0,   539,   540,     0,   541,   542,   543,   544,   545,
7644      546,   547,     0,   548,   549,   550,     0,     0,   551,   552,
7645     1285,   554,  1286,     0,   556,   557,   558,   559,   560,   561,
7646      562,   563,     0,     0,   564,   565,   566,   567,   568,  1289,
7647        0,   569,   570,   571,   572,   573,   574,   575,     0,   576,
7648      577,   578,   579,   580,   581,     0,     0,   582,     0,     0,
7649      583,   584,   585,   586,   587,   588,   589,  1291,  1292,  1293,
7650     1294,   594,  1295,  1296,  1297,  1298,  3619,   600,   601,   602,
7651      229,     0,     0,     0,     0,     0,     0,     0,     0,     0,
7652        0,     0,     0,     0,     0,     0,  3620,   230,   231,   232,
7653      233,   234,   235,   236,   237,     0,   238,   239,   240,     0,
7654        0,     0,     0,     0,     0,     0,   241,   242,     0,   243,
7655      244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
7656      254,     0,   255,   256,   257,   258,   259,   260,     0,  1241,
7657      261,   262,   263,   264,   265,     0,   266,   267,   268,   269,
7658     1244,     0,  1245,     0,   272,   273,   274,   275,   276,   277,
7659      278,   279,   280,     0,   281,   282,   283,   284,   285,   286,
7660        0,   287,   288,   289,   290,  1246,  1247,  1248,  1249,  1250,
7661     1251,  1252,   292,   293,   294,   295,   296,   297,   298,   299,
7662      300,     0,   301,     0,   302,   303,   304,   305,   306,   307,
7663        0,   308,   309,   310,   311,     0,     0,   312,   313,   314,
7664      315,   316,     0,   317,   318,   319,     0,   320,   321,   322,
7665        0,   323,   324,   325,   326,   327,   328,   329,   330,   331,
7666     1257,     0,   333,     0,   334,   335,   336,   337,     0,   338,
7667        0,   339,   340,     0,   341,   342,   343,   344,   345,     0,
7668      346,  1260,     0,   348,   349,   350,     0,   351,   352,   353,
7669      354,   355,   356,   357,   358,   359,   360,     0,   361,   362,
7670      363,   364,   365,   366,   367,     0,   368,   369,   370,   371,
7671      372,   373,   374,   375,   376,     0,   377,     0,   378,   379,
7672      380,   381,   382,   383,   384,   385,   386,   387,     0,     0,
7673      388,  1265,   390,   391,   392,     0,   393,   394,   395,  1266,
7674     1267,   396,   397,   398,   399,   400,   401,   402,   403,   404,
7675      405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
7676      415,   416,   417,   418,   419,   420,   421,   422,  1270,   424,
7677        0,   425,   426,   427,   428,     0,  1273,   430,   431,   432,
7678      433,   434,     0,   435,   436,     0,     0,   437,   438,   439,
7679        0,     0,   440,   441,   442,   443,   444,   445,  1276,   447,
7680      448,   449,   450,   451,   452,   453,   454,   455,     0,     0,
7681      456,   457,  1277,   459,   460,   461,   462,   463,     0,   464,
7682      465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
7683      475,   476,   477,   478,     0,   479,   480,   481,   482,   483,
7684      484,   485,   486,   487,   488,   489,   490,     0,   491,   492,
7685      493,   494,   495,   496,   497,   498,   499,  3618,   501,   502,
7686      503,   504,   505,   506,   507,   508,     0,   509,   510,   511,
7687      512,   513,  1280,   514,   515,   516,   517,   518,   519,   520,
7688      521,   522,   523,     0,   524,   525,   526,   527,   528,   529,
7689      530,   531,   532,   533,   534,   535,   536,  1282,   538,     0,
7690      539,   540,     0,   541,   542,   543,   544,   545,   546,   547,
7691        0,   548,   549,   550,     0,     0,   551,   552,  1285,   554,
7692     1286,     0,   556,   557,   558,   559,   560,   561,   562,   563,
7693        0,     0,   564,   565,   566,   567,   568,  1289,     0,   569,
7694      570,   571,   572,   573,   574,   575,     0,   576,   577,   578,
7695      579,   580,   581,     0,     0,   582,     0,     0,   583,   584,
7696      585,   586,   587,   588,   589,  1291,  1292,  1293,  1294,   594,
7697     1295,  1296,  1297,  1298,  3619,   600,   601,   602,   229,     0,
7698        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
7699        0,     0,     0,     0,    52,   230,   231,   232,   233,   234,
7700      235,   236,   237,     0,   238,   239,   240,     0,     0,     0,
7701        0,     0,     0,     0,   241,   242,     0,   243,   244,   245,
7702      246,   247,   248,   249,   250,   251,   252,   253,   254,     0,
7703      255,   256,   257,   258,   259,   260,     0,  1241,   261,   262,
7704      263,   264,   265,     0,   266,   267,   268,   269,  1244,     0,
7705     1245,     0,   272,   273,   274,   275,   276,   277,   278,   279,
7706      280,     0,   281,   282,   283,   284,   285,   286,     0,   287,
7707      288,   289,   290,  1246,  1247,  1248,  1249,  1250,  1251,  1252,
7708      292,   293,   294,   295,   296,   297,   298,   299,   300,     0,
7709      301,     0,   302,   303,   304,   305,   306,   307,     0,   308,
7710      309,   310,   311,     0,     0,   312,   313,   314,   315,   316,
7711        0,   317,   318,   319,     0,   320,   321,   322,     0,   323,
7712      324,   325,   326,   327,   328,   329,   330,   331,  1257,     0,
7713      333,     0,   334,   335,   336,   337,     0,   338,     0,   339,
7714      340,     0,   341,   342,   343,   344,   345,     0,   346,  1260,
7715        0,   348,   349,   350,     0,   351,   352,   353,   354,   355,
7716      356,   357,   358,   359,   360,     0,   361,   362,   363,   364,
7717      365,   366,   367,     0,   368,   369,   370,   371,   372,   373,
7718      374,   375,   376,     0,   377,     0,   378,   379,   380,   381,
7719      382,   383,   384,   385,   386,   387,     0,     0,   388,  1265,
7720      390,   391,   392,     0,   393,   394,   395,  1266,  1267,   396,
7721      397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
7722      407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
7723      417,   418,   419,   420,   421,   422,  1270,   424,     0,   425,
7724      426,   427,   428,     0,  1273,   430,   431,   432,   433,   434,
7725        0,   435,   436,     0,     0,   437,   438,   439,     0,     0,
7726      440,   441,   442,   443,   444,   445,  1276,   447,   448,   449,
7727      450,   451,   452,   453,   454,   455,     0,     0,   456,   457,
7728     1277,   459,   460,   461,   462,   463,     0,   464,   465,   466,
7729      467,   468,   469,   470,   471,   472,   473,   474,   475,   476,
7730      477,   478,     0,   479,   480,   481,   482,   483,   484,   485,
7731      486,   487,   488,   489,   490,     0,   491,   492,   493,   494,
7732      495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
7733      505,   506,   507,   508,     0,   509,   510,   511,   512,   513,
7734     1280,   514,   515,   516,   517,   518,   519,   520,   521,   522,
7735      523,     0,   524,   525,   526,   527,   528,   529,   530,   531,
7736      532,   533,   534,   535,   536,  1282,   538,     0,   539,   540,
7737        0,   541,   542,   543,   544,   545,   546,   547,     0,   548,
7738      549,   550,     0,     0,   551,   552,  1285,   554,  1286,     0,
7739      556,   557,   558,   559,   560,   561,   562,   563,     0,     0,
7740      564,   565,   566,   567,   568,  1289,     0,   569,   570,   571,
7741      572,   573,   574,   575,     0,   576,   577,   578,   579,   580,
7742      581,     0,     0,   582,     0,     0,   583,   584,   585,   586,
7743      587,   588,   589,  1291,  1292,  1293,  1294,   594,  1295,  1296,
7744     1297,  1298,   599,   600,   601,   602,   229,     0,     0,     0,
7745        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
7746        0,     0,  4232,   230,   231,   232,   233,   234,   235,   236,
7747      237,     0,   238,   239,   240,     0,     0,     0,     0,     0,
7748        0,     0,   241,   242,     0,   243,   244,   245,   246,   247,
7749      248,   249,   250,   251,   252,   253,   254,     0,   255,   256,
7750      257,   258,   259,   260,     0,  1241,   261,   262,   263,   264,
7751      265,     0,   266,   267,   268,   269,  1244,     0,  1245,     0,
7752      272,   273,   274,   275,   276,   277,   278,   279,   280,     0,
7753      281,   282,   283,   284,   285,   286,     0,   287,   288,   289,
7754      290,  1246,  1247,  1248,  1249,  1250,  1251,  1252,   292,   293,
7755      294,   295,   296,   297,   298,   299,   300,     0,   301,     0,
7756      302,   303,   304,   305,   306,   307,     0,   308,   309,   310,
7757      311,     0,     0,   312,   313,   314,   315,   316,     0,   317,
7758      318,   319,     0,   320,   321,   322,     0,   323,   324,   325,
7759      326,   327,   328,   329,   330,   331,  1257,     0,   333,     0,
7760      334,   335,   336,   337,     0,   338,     0,   339,   340,     0,
7761      341,   342,   343,   344,   345,     0,   346,  1260,     0,   348,
7762      349,   350,     0,   351,   352,   353,   354,   355,   356,   357,
7763      358,   359,   360,     0,   361,   362,   363,   364,   365,   366,
7764      367,     0,   368,   369,   370,   371,   372,   373,   374,   375,
7765      376,     0,   377,     0,   378,   379,   380,   381,   382,   383,
7766      384,   385,   386,   387,     0,     0,   388,  1265,   390,   391,
7767      392,     0,   393,   394,   395,  1266,  1267,   396,   397,   398,
7768      399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
7769      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
7770      419,   420,   421,   422,  1270,   424,     0,   425,   426,   427,
7771      428,     0,  1273,   430,   431,   432,   433,   434,     0,   435,
7772      436,     0,     0,   437,   438,   439,     0,     0,   440,   441,
7773      442,   443,   444,   445,  1276,   447,   448,   449,   450,   451,
7774      452,   453,   454,   455,     0,     0,   456,   457,  1277,   459,
7775      460,   461,   462,   463,     0,   464,   465,   466,   467,   468,
7776      469,   470,   471,   472,   473,   474,   475,   476,   477,   478,
7777        0,   479,   480,   481,   482,   483,   484,   485,   486,   487,
7778      488,   489,   490,     0,   491,   492,   493,   494,   495,   496,
7779      497,   498,   499,   500,   501,   502,   503,   504,   505,   506,
7780      507,   508,     0,   509,   510,   511,   512,   513,  1280,   514,
7781      515,   516,   517,   518,   519,   520,   521,   522,   523,     0,
7782      524,   525,   526,   527,   528,   529,   530,   531,   532,   533,
7783      534,   535,   536,  1282,   538,     0,   539,   540,     0,   541,
7784      542,   543,   544,   545,   546,   547,     0,   548,   549,   550,
7785        0,     0,   551,   552,  1285,   554,  1286,     0,   556,   557,
7786      558,   559,   560,   561,   562,   563,     0,     0,   564,   565,
7787      566,   567,   568,  1289,     0,   569,   570,   571,   572,   573,
7788      574,   575,     0,   576,   577,   578,   579,   580,   581,     0,
7789        0,   582,     0,     0,   583,   584,   585,   586,   587,   588,
7790      589,  1291,  1292,  1293,  1294,   594,  1295,  1296,  1297,  1298,
7791      599,   600,   601,   602,   877,     0,  1515,   670,     0,     0,
7792        0,     0,   730,     0,     0,     0,     0,     0,     0,     0,
7793     5335,   230,   231,   232,   233,   234,   235,   236,   237,     0,
7794      238,   239,   240,     0,     0,     0,     0,     0,     0,     0,
7795      241,   242,     0,   243,   244,   245,   246,   247,   248,   249,
7796      250,   251,   252,   253,   254,     0,   255,   256,   257,   258,
7797      259,   260,     0,     0,   261,   262,   263,   264,   265,     0,
7798      266,   267,   268,   269,   270,     0,   271,     0,   272,   273,
7799      274,   275,   276,   277,   278,   279,   280,     0,   281,   282,
7800      283,   284,   285,   286,     0,   287,   288,   289,   290,     0,
7801        0,     0,   291,     0,     0,     0,   292,   293,   294,   295,
7802      296,   297,   298,   299,   300,     0,   301,     0,   302,   303,
7803      304,   305,   306,   307,     0,   308,   309,   310,   311,     0,
7804        0,   312,   313,   314,   315,   316,     0,   317,   318,   319,
7805        0,   320,   321,   322,     0,   323,   324,   325,   326,   327,
7806      328,   329,   330,   331,   332,  1930,   333,     0,   334,   335,
7807      336,   337,     0,   338,     0,   339,   340,     0,   341,   342,
7808      343,   344,   345,     0,   346,   347,     0,   348,   349,   350,
7809        0,   351,   352,   353,   354,   355,   356,   357,   358,   359,
7810      360,     0,   361,   362,   363,   364,   365,   366,   367,     0,
7811      368,   369,   370,   371,   372,   373,   374,   375,   376,     0,
7812      377,     0,   378,   379,   380,   381,   382,   383,   384,   385,
7813      386,   387,     0,     0,   388,   389,   390,   391,   392,     0,
7814      393,   394,   395,     0,     0,   396,   397,   398,   399,   400,
7815      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
7816      411,   412,   413,   414,   415,   416,   417,   418,   419,   420,
7817      421,   422,   423,   424,     0,   425,   426,   427,   428,     0,
7818      429,   430,   431,   432,   433,   434,     0,   435,   436,  1931,
7819        0,   437,   438,   439,     0,     0,   440,   441,   442,   443,
7820      444,   445,   446,   447,   448,   449,   450,   451,   452,   453,
7821      454,   455,     0,     0,   456,   457,   458,   459,   460,   461,
7822      462,   463,     0,   464,   465,   466,   467,   468,   469,   470,
7823      471,   472,   473,   474,   475,   476,   477,   478,     0,   479,
7824      480,   481,   482,   483,   484,   485,   486,   487,   488,   489,
7825      490,     0,   491,   492,   493,   494,   495,   496,   497,   498,
7826      499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
7827        0,   509,   510,   511,   512,   513,     0,   514,   515,   516,
7828      517,   518,   519,   520,   521,   522,   523,     0,   524,   525,
7829      526,   527,   528,   529,   530,   531,   532,   533,   534,   535,
7830      536,   537,   538,     0,   539,   540,     0,   541,   542,   543,
7831      544,   545,   546,   547,     0,   548,   549,   550,     0,     0,
7832      551,   552,   553,   554,   555,  1932,   556,   557,   558,   559,
7833      560,   561,   562,   563,     0,     0,   564,   565,   566,   567,
7834      568,     0,     0,   569,   570,   571,   572,   573,   574,   575,
7835        0,   576,   577,   578,   579,   580,   581,     0,     0,   582,
7836        0,     0,   583,   584,   585,   586,   587,   588,   589,   590,
7837      591,   592,   593,   594,   595,   596,   597,   598,   599,   600,
7838      601,   602,   877,     0,     0,     0,     0,     0,     0,  1516,
7839     1517,  5149,     0,     0,     0,     0,     0,     0,  5150,   230,
7840      231,   232,   233,   234,   235,   236,   237,     0,   238,   239,
7841      240,     3,     4,     0,     0,     0,     0,     0,   241,   242,
7842        0,   243,   244,   245,   246,   247,   248,   249,   250,   251,
7843      252,   253,   254,     0,   255,   256,   257,   258,   259,   260,
7844        0,     0,   261,   262,   263,   264,   265,     0,   266,   267,
7845      268,   269,   270,     0,   271,     0,   272,   273,   274,   275,
7846      276,   277,   278,   279,   280,     0,   281,   282,   283,   284,
7847      285,   286,     0,   287,   288,   289,   290,     0,     0,     0,
7848      291,     0,     0,     0,   292,   293,   294,   295,   296,   297,
7849      298,   299,   300,     0,   301,     0,   302,   303,   304,   305,
7850      306,   307,     0,   308,   309,   310,   311,     0,     0,   312,
7851      313,   314,   315,   316,     0,   317,   318,   319,     0,   320,
7852      321,   322,     0,   323,   324,   325,   326,   327,   328,   329,
7853      330,   331,   332,     0,   333,     0,   334,   335,   336,   337,
7854        0,   338,     0,   339,   340,     0,   341,   342,   343,   344,
7855      345,     0,   346,   347,     0,   348,   349,   350,     0,   351,
7856      352,   353,   354,   355,   356,   357,   358,   359,   360,     0,
7857      361,   362,   363,   364,   365,   366,   367,     0,   368,   369,
7858      370,   371,   372,   373,   374,   375,   376,     0,   377,     0,
7859      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
7860        0,     0,   388,   389,   390,   391,   392,     0,   393,   394,
7861      395,     0,     0,   396,   397,   398,   399,   400,   401,   402,
7862      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
7863      413,   414,   415,   416,   417,   418,   419,   420,   421,   422,
7864      423,   424,     0,   425,   426,   427,   428,     0,   429,   430,
7865      431,   432,   433,   434,     0,   435,   436,     0,     0,   437,
7866      438,   439,     0,     0,   440,   441,   442,   443,   444,   445,
7867      446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
7868        0,     0,   456,   457,   458,   459,   460,   461,   462,   463,
7869        0,   464,   465,   466,   467,   468,   469,   470,   471,   472,
7870      473,   474,   475,   476,   477,   478,     0,   479,   480,   481,
7871      482,   483,   484,   485,   486,   487,   488,   489,   490,     0,
7872      491,   492,   493,   494,   495,   496,   497,   498,   499,   500,
7873      501,   502,   503,   504,   505,   506,   507,   508,    41,   509,
7874      510,   511,   512,   513,     0,   514,   515,   516,   517,   518,
7875      519,   520,   521,   522,   523,     0,   524,   525,   526,   527,
7876      528,   529,   530,   531,   532,   533,   534,   535,   536,   537,
7877      538,     0,   539,   540,    45,   541,   542,   543,   544,   545,
7878      546,   547,     0,   548,   549,   550,     0,     0,   551,   552,
7879      553,   554,   555,     0,   556,   557,   558,   559,   560,   561,
7880      562,   563,     0,     0,   564,   565,   566,   567,   568,     0,
7881        0,   569,   570,   571,   572,   573,  1160,   575,     0,   576,
7882      577,   578,   579,   580,   581,     0,     0,   582,     0,    50,
7883      583,   584,   585,   586,   587,   588,   589,   590,   591,   592,
7884      593,   594,   595,   596,   597,   598,   599,   600,   601,   602,
7885      229,     0,    51,     0,     0,     0,     0,     0,     0,     0,
7886        0,     0,     0,     0,     0,     0,    52,   230,   231,   232,
7887      233,   234,   235,   236,   237,     0,   238,   239,   240,     0,
7888        0,     0,     0,     0,     0,     0,   241,   242,     0,   243,
7889      244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
7890      254,     0,   255,   256,   257,   258,   259,   260,     0,     0,
7891      261,   262,   263,   264,   265,     0,   266,   267,   268,   269,
7892      270,     0,   271,     0,   272,   273,   274,   275,   276,   277,
7893      278,   279,   280,     0,   281,   282,   283,   284,   285,   286,
7894        0,   287,   288,   289,   290,     0,     0,     0,   291,     0,
7895        0,     0,   292,   293,   294,   295,   296,   297,   298,   299,
7896      300,     0,   301,     0,   302,   303,   304,   305,   306,   307,
7897        0,   308,   309,   310,   311,     0,     0,   312,   313,   314,
7898      315,   316,     0,   317,   318,   319,     0,   320,   321,   322,
7899        0,   323,   324,   325,   326,   327,   328,   329,   330,   331,
7900      332,     0,   333,     0,   334,   335,   336,   337,     0,   338,
7901        0,   339,   340,     0,   341,   342,   343,   344,   345,     0,
7902      346,   347,     0,   348,   349,   350,     0,   351,   352,   353,
7903      354,   355,   356,   357,   358,   359,   360,     0,   361,   362,
7904      363,   364,   365,   366,   367,     0,   368,   369,   370,   371,
7905      372,   373,   374,   375,   376,     0,   377,     0,   378,   379,
7906      380,   381,   382,   383,   384,   385,   386,   387,     0,     0,
7907      388,   389,   390,   391,   392,     0,   393,   394,   395,     0,
7908        0,   396,   397,   398,   399,   400,   401,   402,   403,   404,
7909      405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
7910      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
7911        0,   425,   426,   427,   428,     0,   429,   430,   431,   432,
7912      433,   434,     0,   435,   436,     0,     0,   437,   438,   439,
7913        0,     0,   440,   441,   442,   443,   444,   445,   446,   447,
7914      448,   449,   450,   451,   452,   453,   454,   455,     0,     0,
7915      456,   457,   458,   459,   460,   461,   462,   463,     0,   464,
7916      465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
7917      475,   476,   477,   478,     0,   479,   480,   481,   482,   483,
7918      484,   485,   486,   487,   488,   489,   490,     0,   491,   492,
7919      493,   494,   495,   496,   497,   498,   499,   500,   501,   502,
7920      503,   504,   505,   506,   507,   508,     0,   509,   510,   511,
7921      512,   513,     0,   514,   515,   516,   517,   518,   519,   520,
7922      521,   522,   523,     0,   524,   525,   526,   527,   528,   529,
7923      530,   531,   532,   533,   534,   535,   536,   537,   538,     0,
7924      539,   540,     0,   541,   542,   543,   544,   545,   546,   547,
7925        0,   548,   549,   550,     0,     0,   551,   552,   553,   554,
7926      555,     0,   556,   557,   558,   559,   560,   561,   562,   563,
7927        0,     0,   564,   565,   566,   567,   568,     0,     0,   569,
7928      570,   571,   572,   573,   574,   575,     0,   576,   577,   578,
7929      579,   580,   581,     0,     0,   582,     0,     0,   583,   584,
7930      585,   586,   587,   588,   589,   590,   591,   592,   593,   594,
7931      595,   596,   597,   598,   599,   600,   601,   602,   610,     0,
7932        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
7933        0,     0,     0,     0,  4932,   230,   231,   232,   233,   234,
7934      235,   236,   237,     0,   238,   239,   240,     0,     0,     0,
7935        0,     0,     0,     0,   241,   242,     0,   243,   244,   245,
7936        0,   247,   248,   249,   250,   251,     0,   253,   254,     0,
7937      255,   256,   257,   258,   259,   260,     0,     0,   261,   262,
7938      263,   264,   265,     0,   266,   267,   268,   269,   270,     0,
7939        0,     0,   272,   273,   274,   275,   276,     0,   278,   279,
7940      280,     0,   281,   282,   283,   284,   285,   286,     0,     0,
7941      288,   289,   290,     0,     0,     0,     0,     0,     0,     0,
7942      292,   293,   294,   295,   296,   297,   298,   299,   300,     0,
7943      301,     0,   302,   303,   304,   305,   306,   307,     0,   308,
7944      309,   310,   311,     0,     0,   312,   313,   314,   315,   316,
7945        0,   317,   318,   319,     0,   320,   321,   322,     0,   323,
7946      324,   325,   326,   327,   328,   329,   330,   331,   332,     0,
7947      333,     0,   334,   335,   336,   337,     0,   338,     0,   339,
7948        0,     0,     0,   342,   343,   344,   345,     0,   346,   347,
7949        0,   348,   349,   350,     0,   351,   352,   353,   354,   355,
7950        0,   357,   358,   359,   360,     0,   361,   362,   363,   364,
7951      365,   366,   367,     0,   368,     0,   370,   371,   372,   373,
7952      374,   375,   376,     0,   377,     0,   378,     0,     0,   381,
7953        0,   383,   384,   385,   386,   387,     0,     0,   388,   389,
7954        0,   391,     0,     0,   393,   394,   395,     0,     0,   396,
7955      397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
7956      407,   408,   409,   410,   411,   412,     0,   414,   415,   416,
7957      417,   418,   419,   420,   421,   422,   423,   424,     0,   425,
7958      426,     0,   428,     0,   429,   430,   431,   432,   433,   434,
7959        0,   435,   436,     0,     0,   437,   438,   439,     0,     0,
7960      440,   441,   442,     0,   444,     0,   446,   447,   448,   449,
7961      450,   451,   452,   453,   454,   455,     0,     0,   456,   457,
7962      458,   459,   460,   461,   462,   463,     0,   464,   465,   466,
7963      467,   468,   469,   470,   471,   472,   473,   474,   475,   476,
7964      477,   478,     0,   479,   480,   481,   482,   483,   484,   485,
7965      486,   487,   488,   489,   490,     0,   491,   492,     0,   494,
7966      495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
7967      505,   506,   507,   508,    41,   509,   510,   511,   512,   513,
7968        0,   514,   515,   516,   517,   518,     0,   520,   521,   522,
7969      523,     0,   524,   525,   526,   527,   528,   529,   530,   531,
7970      532,   533,   534,   535,   536,   537,   538,     0,   539,   540,
7971       45,   541,     0,   543,   544,   545,   546,   547,     0,   548,
7972      549,   550,     0,     0,   551,   552,   553,   554,   555,     0,
7973      556,   557,   558,   559,   560,   561,   562,   563,     0,     0,
7974      564,   565,   566,   567,   568,     0,     0,   569,   570,   571,
7975      572,   573,  1160,   575,     0,   576,     0,   578,   579,   580,
7976      581,     0,     0,   582,     0,    50,   583,   584,   585,   586,
7977      587,   588,   589,   590,   591,   592,   593,   594,   595,   596,
7978      597,   598,   599,   600,   601,   602,   610,     0,    51,     0,
7979        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
7980        0,     0,    52,   230,   231,   232,   233,   234,   235,   236,
7981      237,     0,   238,   239,   240,     0,     0,     0,     0,     0,
7982        0,     0,   241,   242,     0,   243,   244,   245,     0,   247,
7983      248,   249,   250,   251,     0,   253,   254,     0,   255,   256,
7984      257,   258,   259,   260,     0,     0,   261,   262,   263,   264,
7985      265,     0,   266,   267,   268,   269,   270,     0,     0,     0,
7986      272,   273,   274,   275,   276,     0,   278,   279,   280,     0,
7987      281,   282,   283,   284,   285,   286,     0,     0,   288,   289,
7988      290,     0,     0,     0,     0,     0,     0,     0,   292,   293,
7989      294,   295,   296,   297,   298,   299,   300,     0,   301,     0,
7990      302,   303,   304,   305,   306,   307,     0,   308,   309,   310,
7991      311,     0,     0,   312,   313,   314,   315,   316,     0,   317,
7992      318,   319,     0,   320,   321,   322,     0,   323,   324,   325,
7993      326,   327,   328,   329,   330,   331,   332,     0,   333,     0,
7994      334,   335,   336,   337,     0,   338,     0,   339,     0,     0,
7995        0,   342,   343,   344,   345,     0,   346,   347,     0,   348,
7996      349,   350,     0,   351,   352,   353,   354,   355,     0,   357,
7997      358,   359,   360,     0,   361,   362,   363,   364,   365,   366,
7998      367,     0,   368,     0,   370,   371,   372,   373,   374,   375,
7999      376,     0,   377,     0,   378,     0,     0,   381,     0,   383,
8000      384,   385,   386,   387,     0,     0,   388,   389,     0,   391,
8001        0,     0,   393,   394,   395,     0,     0,   396,   397,   398,
8002      399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
8003      409,   410,   411,   412,     0,   414,   415,   416,   417,   418,
8004      419,   420,   421,   422,   423,   424,     0,   425,   426,     0,
8005      428,     0,   429,   430,   431,   432,   433,   434,     0,   435,
8006      436,     0,     0,   437,   438,   439,     0,     0,   440,   441,
8007      442,     0,   444,     0,   446,   447,   448,   449,   450,   451,
8008      452,   453,   454,   455,     0,     0,   456,   457,   458,   459,
8009      460,   461,   462,   463,     0,   464,   465,   466,   467,   468,
8010      469,   470,   471,   472,   473,   474,   475,   476,   477,   478,
8011        0,   479,   480,   481,   482,   483,   484,   485,   486,   487,
8012      488,   489,   490,     0,   491,   492,     0,   494,   495,   496,
8013      497,   498,   499,   500,   501,   502,   503,   504,   505,   506,
8014      507,   508,     0,   509,   510,   511,   512,   513,     0,   514,
8015      515,   516,   517,   518,     0,   520,   521,   522,   523,     0,
8016      524,   525,   526,   527,   528,   529,   530,   531,   532,   533,
8017      534,   535,   536,   537,   538,     0,   539,   540,     0,   541,
8018        0,   543,   544,   545,   546,   547,     0,   548,   549,   550,
8019        0,     0,   551,   552,   553,   554,   555,     0,   556,   557,
8020      558,   559,   560,   561,   562,   563,     0,     0,   564,   565,
8021      566,   567,   568,     0,     0,   569,   570,   571,   572,   573,
8022      574,   575,     0,   576,     0,   578,   579,   580,   581,     0,
8023        0,   582,     0,     0,   583,   584,   585,   586,   587,   588,
8024      589,   590,   591,   592,   593,   594,   595,   596,   597,   598,
8025      599,   600,   601,   602,   610,     0,     0,     0,     0,     0,
8026        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
8027     1361,   230,   231,   232,   233,   234,   235,   236,   237,     0,
8028      238,   239,   240,     0,     0,     0,     0,     0,     0,     0,
8029      241,   242,     0,   243,   244,   245,     0,   247,   248,   249,
8030      250,   251,     0,   253,   254,     0,   255,   256,   257,   258,
8031      259,   260,     0,     0,   261,   262,   263,   264,   265,     0,
8032      266,   267,   268,   269,   270,     0,     0,     0,   272,   273,
8033      274,   275,   276,     0,   278,   279,   280,     0,   281,   282,
8034      283,   284,   285,   286,     0,     0,   288,   289,   290,     0,
8035        0,     0,     0,     0,     0,     0,   292,   293,   294,   295,
8036      296,   297,   298,   299,   300,     0,   301,     0,   302,   303,
8037      304,   305,   306,   307,     0,   308,   309,   310,   311,     0,
8038        0,   312,   313,   314,   315,   316,     0,   317,   318,   319,
8039        0,   320,   321,   322,     0,   323,   324,   325,   326,   327,
8040      328,   329,   330,   331,   332,     0,   333,     0,   334,   335,
8041      336,   337,     0,   338,     0,   339,     0,     0,     0,   342,
8042      343,   344,   345,     0,   346,   347,     0,   348,   349,   350,
8043        0,   351,   352,   353,   354,   355,     0,   357,   358,   359,
8044      360,     0,   361,   362,   363,   364,   365,   366,   367,     0,
8045      368,     0,   370,   371,   372,   373,   374,   375,   376,     0,
8046      377,     0,   378,     0,     0,   381,     0,   383,   384,   385,
8047      386,   387,     0,     0,   388,   389,     0,   391,     0,     0,
8048      393,   394,   395,     0,     0,   396,   397,   398,   399,   400,
8049      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
8050      411,   412,     0,   414,   415,   416,   417,   418,   419,   420,
8051      421,   422,   423,   424,     0,   425,   426,     0,   428,     0,
8052      429,   430,   431,   432,   433,   434,     0,   435,   436,     0,
8053        0,   437,   438,   439,     0,     0,   440,   441,   442,     0,
8054      444,     0,   446,   447,   448,   449,   450,   451,   452,   453,
8055      454,   455,     0,     0,   456,   457,   458,   459,   460,   461,
8056      462,   463,     0,   464,   465,   466,   467,   468,   469,   470,
8057      471,   472,   473,   474,   475,   476,   477,   478,     0,   479,
8058      480,   481,   482,   483,   484,   485,   486,   487,   488,   489,
8059      490,     0,   491,   492,     0,   494,   495,   496,   497,   498,
8060      499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
8061        0,   509,   510,   511,   512,   513,     0,   514,   515,   516,
8062      517,   518,     0,   520,   521,   522,   523,     0,   524,   525,
8063      526,   527,   528,   529,   530,   531,   532,   533,   534,   535,
8064      536,   537,   538,     0,   539,   540,     0,   541,     0,   543,
8065      544,   545,   546,   547,     0,   548,   549,   550,     0,     0,
8066      551,   552,   553,   554,   555,     0,   556,   557,   558,   559,
8067      560,   561,   562,   563,     0,     0,   564,   565,   566,   567,
8068      568,     0,     0,   569,   570,   571,   572,   573,   574,   575,
8069        0,   576,     0,   578,   579,   580,   581,     0,     0,   582,
8070        0,     0,   583,   584,   585,   586,   587,   588,   589,   590,
8071      591,   592,   593,   594,   595,   596,   597,   598,   599,   600,
8072      601,   602,   610,     0,     0,     0,     0,     0,     0,     0,
8073        0,     0,     0,     0,     0,     0,     0,     0,  2950,   230,
8074      231,   232,   233,   234,   235,   236,   237,     0,   238,   239,
8075      240,     0,     0,     0,     0,     0,     0,     0,   241,   242,
8076        0,   243,   244,   245,     0,   247,   248,   249,   250,   251,
8077        0,   253,   254,     0,   255,   256,   257,   258,   259,   260,
8078        0,     0,   261,   262,   263,   264,   265,     0,   266,   267,
8079      268,   269,   270,     0,     0,     0,   272,   273,   274,   275,
8080      276,     0,   278,   279,   280,     0,   281,   282,   283,   284,
8081      285,   286,     0,     0,   288,   289,   290,     0,     0,     0,
8082        0,     0,     0,     0,   292,   293,   294,   295,   296,   297,
8083      298,   299,   300,     0,   301,     0,   302,   303,   304,   305,
8084      306,   307,     0,   308,   309,   310,   311,     0,     0,   312,
8085      313,   314,   315,   316,     0,   317,   318,   319,     0,   320,
8086      321,   322,     0,   323,   324,   325,   326,   327,   328,   329,
8087      330,   331,   332,     0,   333,     0,   334,   335,   336,   337,
8088        0,   338,     0,   339,     0,     0,     0,   342,   343,   344,
8089      345,     0,   346,   347,     0,   348,   349,   350,     0,   351,
8090      352,   353,   354,   355,     0,   357,   358,   359,   360,     0,
8091      361,   362,   363,   364,   365,   366,   367,     0,   368,     0,
8092      370,   371,   372,   373,   374,   375,   376,     0,   377,     0,
8093      378,     0,     0,   381,     0,   383,   384,   385,   386,   387,
8094        0,     0,   388,   389,     0,   391,     0,     0,   393,   394,
8095      395,     0,     0,   396,   397,   398,   399,   400,   401,   402,
8096      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
8097        0,   414,   415,   416,   417,   418,   419,   420,   421,   422,
8098      423,   424,     0,   425,   426,     0,   428,     0,   429,   430,
8099      431,   432,   433,   434,     0,   435,   436,     0,     0,   437,
8100      438,   439,     0,     0,   440,   441,   442,     0,   444,     0,
8101      446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
8102        0,     0,   456,   457,   458,   459,   460,   461,   462,   463,
8103        0,   464,   465,   466,   467,   468,   469,   470,   471,   472,
8104      473,   474,   475,   476,   477,   478,     0,   479,   480,   481,
8105      482,   483,   484,   485,   486,   487,   488,   489,   490,     0,
8106      491,   492,     0,   494,   495,   496,   497,   498,   499,   500,
8107      501,   502,   503,   504,   505,   506,   507,   508,     0,   509,
8108      510,   511,   512,   513,     0,   514,   515,   516,   517,   518,
8109        0,   520,   521,   522,   523,     0,   524,   525,   526,   527,
8110      528,   529,   530,   531,   532,   533,   534,   535,   536,   537,
8111      538,     0,   539,   540,     0,   541,     0,   543,   544,   545,
8112      546,   547,     0,   548,   549,   550,     0,     0,   551,   552,
8113      553,   554,   555,     0,   556,   557,   558,   559,   560,   561,
8114      562,   563,     0,     0,   564,   565,   566,   567,   568,     0,
8115        0,   569,   570,   571,   572,   573,   574,   575,     0,   576,
8116        0,   578,   579,   580,   581,     0,     0,   582,     0,     0,
8117      583,   584,   585,   586,   587,   588,   589,   590,   591,   592,
8118      593,   594,   595,   596,   597,   598,   599,   600,   601,   602,
8119      610,     0,     0,     0,     0,     0,     0,     0,     0,     0,
8120        0,     0,     0,     0,     0,     0,  4146,   230,   231,   232,
8121      233,   234,   235,   236,   237,     0,   238,   239,   240,     0,
8122        0,     0,     0,     0,     0,     0,   241,   242,     0,   243,
8123      244,   245,     0,   247,   248,   249,   250,   251,     0,   253,
8124      254,     0,   255,   256,   257,   258,   259,   260,     0,     0,
8125      261,   262,   263,   264,   265,     0,   266,   267,   268,   269,
8126      270,     0,     0,     0,   272,   273,   274,   275,   276,     0,
8127      278,   279,   280,     0,   281,   282,   283,   284,   285,   286,
8128        0,     0,   288,   289,   290,     0,     0,     0,     0,     0,
8129        0,     0,   292,   293,   294,   295,   296,   297,   298,   299,
8130      300,     0,   301,     0,   302,   303,   304,   305,   306,   307,
8131        0,   308,   309,   310,   311,     0,     0,   312,   313,   314,
8132      315,   316,     0,   317,   318,   319,     0,   320,   321,   322,
8133        0,   323,   324,   325,   326,   327,   328,   329,   330,   331,
8134      332,     0,   333,     0,   334,   335,   336,   337,     0,   338,
8135        0,   339,     0,     0,     0,   342,   343,   344,   345,     0,
8136      346,   347,     0,   348,   349,   350,     0,   351,   352,   353,
8137      354,   355,     0,   357,   358,   359,   360,     0,   361,   362,
8138      363,   364,   365,   366,   367,     0,   368,     0,   370,   371,
8139      372,   373,   374,   375,   376,     0,   377,     0,   378,     0,
8140        0,   381,     0,   383,   384,   385,   386,   387,     0,     0,
8141      388,   389,     0,   391,     0,     0,   393,   394,   395,     0,
8142        0,   396,   397,   398,   399,   400,   401,   402,   403,   404,
8143      405,   406,   407,   408,   409,   410,   411,   412,     0,   414,
8144      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
8145        0,   425,   426,     0,   428,     0,   429,   430,   431,   432,
8146      433,   434,     0,   435,   436,     0,     0,   437,   438,   439,
8147        0,     0,   440,   441,   442,     0,   444,     0,   446,   447,
8148      448,   449,   450,   451,   452,   453,   454,   455,     0,     0,
8149      456,   457,   458,   459,   460,   461,   462,   463,     0,   464,
8150      465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
8151      475,   476,   477,   478,     0,   479,   480,   481,   482,   483,
8152      484,   485,   486,   487,   488,   489,   490,     0,   491,   492,
8153        0,   494,   495,   496,   497,   498,   499,   500,   501,   502,
8154      503,   504,   505,   506,   507,   508,     0,   509,   510,   511,
8155      512,   513,     0,   514,   515,   516,   517,   518,     0,   520,
8156      521,   522,   523,     0,   524,   525,   526,   527,   528,   529,
8157      530,   531,   532,   533,   534,   535,   536,   537,   538,     0,
8158      539,   540,     0,   541,     0,   543,   544,   545,   546,   547,
8159        0,   548,   549,   550,     0,     0,   551,   552,   553,   554,
8160      555,     0,   556,   557,   558,   559,   560,   561,   562,   563,
8161        0,     0,   564,   565,   566,   567,   568,     0,     0,   569,
8162      570,   571,   572,   573,   574,   575,     0,   576,     0,   578,
8163      579,   580,   581,     0,     0,   582,     0,     0,   583,   584,
8164      585,   586,   587,   588,   589,   590,   591,   592,   593,   594,
8165      595,   596,   597,   598,   599,   600,   601,   602,     0,     0,
8166        0,  1073,     0,  1515,   670,     0,     0,     0,   891,   730,
8167        0,     0,     0,     0,  4614,   892,   893,   894,   230,   231,
8168      232,   233,   234,   235,   236,   237,  1647,   238,   239,   240,
8169     1648,  1649,  1650,  1651,  1652,  1653,  1654,   241,   242,  1655,
8170      243,   244,   245,   246,   247,   248,   249,     0,  1074,   252,
8171     1075,  1076,  1656,   255,   256,   257,   258,   259,   260,  1657,
8172     1658,   261,   262,  1077,  1078,   265,  1659,   266,   267,   268,
8173      269,     0,  1660,   271,  1661,   272,   273,   274,   275,   276,
8174      277,   278,   279,   280,  1662,   281,   282,   283,   284,   285,
8175      286,  1663,   287,   288,   289,   290,  1664,  1665,  1666,   291,
8176     1667,  1668,  1669,   292,   293,   294,   295,   296,   297,  1079,
8177     1080,   300,  1670,   301,  1671,   302,   303,   304,   305,   306,
8178      307,  1672,   308,   309,   310,   311,  1673,  1674,   312,   313,
8179     1081,   315,   316,  1675,   317,   318,   319,  1676,   320,   321,
8180      322,  1677,   323,   324,   325,   326,     0,   328,   329,   330,
8181      331,     0,  1678,   333,  1679,   334,   335,  1082,   337,  1680,
8182      338,  1681,   339,   340,  1682,   341,   342,   343,   344,   345,
8183     1683,   346,     0,  1684,     0,   349,   350,  1685,   351,   352,
8184      353,   354,   355,   356,   357,   358,   359,   360,  1686,   361,
8185      362,   363,   364,   365,   366,   367,  1687,   368,   369,     0,
8186      371,   372,   373,   374,  1084,  1085,  1688,  1086,  1689,   378,
8187      379,   380,   381,   382,   383,   384,   385,   386,   387,  1690,
8188     1691,   388,     0,   390,   391,   392,  1692,   393,   394,   395,
8189     1693,  1694,   396,   397,   398,   399,   400,   401,   402,   403,
8190      404,   405,   406,   407,   408,   409,   410,   411,  1087,   413,
8191     1088,   415,   416,   417,   418,   419,   420,   421,  3895,     0,
8192      424,  1695,   425,   426,   427,   428,  1696,     0,   430,  1089,
8193      432,   433,   434,  1697,   435,   436,  1698,  1699,  3896,   438,
8194      439,  1700,  1701,   440,   441,     0,   443,   444,   445,     0,
8195      447,   448,   449,   450,   451,   452,   453,   454,   455,     0,
8196     1702,   456,   457,     0,   459,     0,   461,   462,   463,  1703,
8197      464,   465,   466,   467,   468,   469,   470,   471,   472,   473,
8198     1090,   475,   476,   477,   478,  1704,   479,   480,   481,   482,
8199      483,   484,   485,   486,   487,   488,   489,   490,  1705,   491,
8200      492,   493,   494,   495,   496,   497,   498,     0,   500,   501,
8201      502,   503,   504,   505,   506,   507,   508,  1706,   509,   510,
8202      511,   512,   513,  1707,   514,   515,  2187,   517,   518,   519,
8203      520,   521,  1092,   523,  1708,   524,   525,   526,   527,   528,
8204      529,   530,   531,   532,   533,   534,   535,   536,     0,   538,
8205     1709,   539,   540,  1710,   541,   542,   543,   544,   545,   546,
8206      547,  1711,   548,  1093,  1094,  1712,  1713,   551,   552,     0,
8207      554,     0,  1714,   556,   557,   558,   559,   560,   561,   562,
8208      563,  1715,  1716,   564,   565,   566,   567,   568,  1717,  1718,
8209      569,   570,   571,   572,   573,     0,  1095,  1719,   576,   577,
8210      578,   579,   580,   581,  1720,  1721,   582,  1722,  1723,   583,
8211      584,   585,   586,   587,   588,     0,     0,     0,     0,     0,
8212        0,     0,     0,     0,     0,     0,   600,   601,   602,     0,
8213        0,     0,   897,   898,   899,     0,  3897,  3898,   902,   903,
8214      904,   905,  1073,     0,  1515,   670,     0,     0,     0,   891,
8215      730,     0,     0,     0,     0,     0,   892,   893,   894,   230,
8216      231,   232,   233,   234,   235,   236,   237,  1647,   238,   239,
8217      240,  1648,  1649,  1650,  1651,  1652,  1653,  1654,   241,   242,
8218     1655,   243,   244,   245,   246,   247,   248,   249,     0,  1074,
8219      252,  1075,  1076,  1656,   255,   256,   257,   258,   259,   260,
8220     1657,  1658,   261,   262,  1077,  1078,   265,  1659,   266,   267,
8221      268,   269,     0,  1660,   271,  1661,   272,   273,   274,   275,
8222      276,   277,   278,   279,   280,  1662,   281,   282,   283,   284,
8223      285,   286,  1663,   287,   288,   289,   290,  1664,  1665,  1666,
8224      291,  1667,  1668,  1669,   292,   293,   294,   295,   296,   297,
8225     1079,  1080,   300,  1670,   301,  1671,   302,   303,   304,   305,
8226      306,   307,  1672,   308,   309,   310,   311,  1673,  1674,   312,
8227      313,  1081,   315,   316,  1675,   317,   318,   319,  1676,   320,
8228      321,   322,  1677,   323,   324,   325,   326,     0,   328,   329,
8229      330,   331,     0,  1678,   333,  1679,   334,   335,  1082,   337,
8230     1680,   338,  1681,   339,   340,  1682,   341,   342,   343,   344,
8231      345,  1683,   346,     0,  1684,     0,   349,   350,  1685,   351,
8232      352,   353,   354,   355,   356,   357,   358,   359,   360,  1686,
8233      361,   362,   363,   364,   365,   366,   367,  1687,   368,   369,
8234        0,   371,   372,   373,   374,  1084,  1085,  1688,  1086,  1689,
8235      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
8236     1690,  1691,   388,     0,   390,   391,   392,  1692,   393,   394,
8237      395,  1693,  1694,   396,   397,   398,   399,   400,   401,   402,
8238      403,   404,   405,   406,   407,   408,   409,   410,   411,  1087,
8239      413,  1088,   415,   416,   417,   418,   419,   420,   421,  4327,
8240        0,   424,  1695,   425,   426,   427,   428,  1696,     0,   430,
8241     1089,   432,   433,   434,  1697,   435,   436,  1698,  1699,  3896,
8242      438,   439,  1700,  1701,   440,   441,     0,   443,   444,   445,
8243        0,   447,   448,   449,   450,   451,   452,   453,   454,   455,
8244        0,  1702,   456,   457,     0,   459,     0,   461,   462,   463,
8245     1703,   464,   465,   466,   467,   468,   469,   470,   471,   472,
8246      473,  1090,   475,   476,   477,   478,  1704,   479,   480,   481,
8247      482,   483,   484,   485,   486,   487,   488,   489,   490,  1705,
8248      491,   492,   493,   494,   495,   496,   497,   498,     0,   500,
8249      501,   502,   503,   504,   505,   506,   507,   508,  1706,   509,
8250      510,   511,   512,   513,  1707,   514,   515,  2187,   517,   518,
8251      519,   520,   521,  1092,   523,  1708,   524,   525,   526,   527,
8252      528,   529,   530,   531,   532,   533,   534,   535,   536,     0,
8253      538,  1709,   539,   540,  1710,   541,   542,   543,   544,   545,
8254      546,   547,  1711,   548,  1093,  1094,  1712,  1713,   551,   552,
8255        0,   554,     0,  1714,   556,   557,   558,   559,   560,   561,
8256      562,   563,  1715,  1716,   564,   565,   566,   567,   568,  1717,
8257     1718,   569,   570,   571,   572,   573,     0,  1095,  1719,   576,
8258      577,   578,   579,   580,   581,  1720,  1721,   582,  1722,  1723,
8259      583,   584,   585,   586,   587,   588,     0,     0,     0,     0,
8260        0,     0,     0,     0,     0,     0,     0,   600,   601,   602,
8261        0,     0,     0,   897,   898,   899,   610,  3897,  3898,   902,
8262      903,   904,   905,   891,     0,     0,     0,     0,     0,     0,
8263      892,   893,   894,   230,   231,   232,   233,   234,   235,   236,
8264      237,     0,   238,   239,   240,     0,     0,     0,     0,     0,
8265        0,     0,   241,   242,     0,   243,   244,   245,     0,   247,
8266      248,   249,   250,   251,     0,   253,   254,     0,   255,   256,
8267      257,   258,   259,   260,     0,     0,   261,   262,   263,   264,
8268      265,     0,   266,   895,   268,   269,   270,     0,     0,     0,
8269      272,   273,   274,   275,   276,     0,   278,   279,   280,     0,
8270      281,   282,   283,   284,   285,   286,     0,     0,   288,   289,
8271      290,     0,     0,     0,     0,     0,     0,     0,   292,   293,
8272      294,   295,   296,   297,   298,   299,   300,     0,   301,     0,
8273      302,   303,   304,   305,   306,   307,     0,   308,   309,   310,
8274      311,     0,     0,   312,   313,   314,   315,   316,     0,   317,
8275      318,   319,     0,   320,   321,   322,     0,   323,   324,   325,
8276      326,   327,   328,   329,   330,   331,   332,     0,   896,     0,
8277      334,   335,   336,   337,     0,   338,     0,   339,     0,     0,
8278        0,   342,   343,   344,   345,     0,   346,   347,     0,   348,
8279      349,   350,     0,   351,   352,   353,   354,   355,     0,   357,
8280      358,   359,   360,     0,   361,   362,   363,   364,   365,   366,
8281      367,     0,   368,     0,   370,   371,   372,   373,   374,   375,
8282      376,     0,   377,     0,   378,     0,     0,   381,     0,   383,
8283      384,   385,   386,   387,     0,     0,   388,   389,     0,   391,
8284        0,     0,   393,   394,   395,     0,     0,   396,   397,   398,
8285      399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
8286      409,   410,   411,   412,     0,   414,   415,   416,   417,   418,
8287      419,   420,   421,   422,   423,   424,     0,   425,   426,     0,
8288      428,     0,   429,   430,   431,   432,   433,   434,     0,   435,
8289      436,     0,     0,   437,   438,   439,     0,     0,   440,   441,
8290      442,     0,   444,     0,   446,   447,   448,   449,   450,   451,
8291      452,   453,   454,   455,     0,     0,   456,   457,   458,   459,
8292      460,   461,   462,   463,     0,   464,   465,   466,   467,   468,
8293      469,   470,   471,   472,   473,   474,   475,   476,   477,   478,
8294        0,   479,   480,   481,   482,   483,   484,   485,   486,   487,
8295      488,   489,   490,     0,   491,   492,     0,   494,   495,   496,
8296      497,   498,   499,   500,   501,   502,   503,   504,   505,   506,
8297      507,   508,     0,   509,   510,   511,   512,   513,     0,   514,
8298      515,   516,   517,   518,     0,   520,   521,   522,   523,     0,
8299      524,   525,   526,   527,   528,   529,   530,   531,   532,   533,
8300      534,   535,   536,   537,   538,     0,   539,   540,     0,   541,
8301        0,   543,   544,   545,   546,   547,     0,   548,   549,   550,
8302        0,     0,   551,   552,   553,   554,   555,     0,   556,   557,
8303      558,   559,   560,   561,   562,   563,     0,     0,   564,   565,
8304      566,   567,   568,     0,     0,   569,   570,   571,   572,   573,
8305      574,   575,     0,   576,     0,   578,   579,   580,   581,     0,
8306        0,   582,     0,     0,   583,   584,   585,   586,   587,   588,
8307      589,   590,   591,   592,   593,   594,   595,   596,   597,   598,
8308      599,   600,   601,   602,     0,     0,     0,   897,   898,   899,
8309      610,   900,   901,   902,   903,   904,   905,   891,     0,     0,
8310        0,     0,     0,     0,   892,   893,   894,   230,   231,   232,
8311      233,   234,   235,   236,   237,     0,   238,   239,   240,     0,
8312        0,     0,     0,     0,     0,     0,   241,   242,     0,   243,
8313      244,   245,     0,   247,   248,   249,   250,   251,     0,   253,
8314      254,     0,   255,   256,   257,   258,   259,   260,     0,     0,
8315      261,   262,   263,   264,   265,     0,   266,  1023,   268,   269,
8316      270,     0,     0,     0,   272,   273,   274,   275,   276,     0,
8317      278,   279,   280,     0,   281,   282,   283,   284,   285,   286,
8318        0,     0,   288,   289,   290,     0,     0,     0,     0,     0,
8319        0,     0,   292,   293,   294,   295,   296,   297,   298,   299,
8320      300,     0,   301,     0,   302,   303,   304,   305,   306,   307,
8321        0,   308,   309,   310,   311,     0,     0,   312,   313,   314,
8322      315,   316,     0,   317,   318,   319,     0,   320,   321,   322,
8323        0,   323,   324,   325,   326,   327,   328,   329,   330,   331,
8324      332,     0,  1024,     0,   334,   335,   336,   337,     0,   338,
8325        0,   339,     0,     0,     0,   342,   343,   344,   345,     0,
8326      346,   347,     0,   348,   349,   350,     0,   351,   352,   353,
8327      354,   355,     0,   357,   358,   359,   360,     0,   361,   362,
8328      363,   364,   365,   366,   367,     0,   368,     0,   370,   371,
8329      372,   373,   374,   375,   376,     0,   377,     0,   378,     0,
8330        0,   381,     0,   383,   384,   385,   386,   387,     0,     0,
8331      388,   389,     0,   391,     0,     0,   393,   394,   395,     0,
8332        0,   396,   397,   398,   399,   400,   401,   402,   403,   404,
8333      405,   406,   407,   408,   409,   410,   411,   412,     0,   414,
8334      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
8335        0,   425,   426,     0,   428,     0,   429,   430,   431,   432,
8336      433,   434,     0,   435,   436,     0,     0,   437,   438,   439,
8337        0,     0,   440,   441,   442,     0,   444,     0,   446,   447,
8338      448,   449,   450,   451,   452,   453,   454,   455,     0,     0,
8339      456,   457,   458,   459,   460,   461,   462,   463,     0,   464,
8340      465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
8341      475,   476,   477,   478,     0,   479,   480,   481,   482,   483,
8342      484,   485,   486,   487,   488,   489,   490,     0,   491,   492,
8343        0,   494,   495,   496,   497,   498,   499,   500,   501,   502,
8344      503,   504,   505,   506,   507,   508,     0,   509,   510,   511,
8345      512,   513,     0,   514,   515,   516,   517,   518,     0,   520,
8346      521,   522,   523,     0,   524,   525,   526,   527,   528,   529,
8347      530,   531,   532,   533,   534,   535,   536,   537,   538,     0,
8348      539,   540,     0,   541,     0,   543,   544,   545,   546,   547,
8349        0,   548,   549,   550,     0,     0,   551,   552,   553,   554,
8350      555,     0,   556,   557,   558,   559,   560,   561,   562,   563,
8351        0,     0,   564,   565,   566,   567,   568,     0,     0,   569,
8352      570,   571,   572,   573,   574,   575,     0,   576,     0,   578,
8353      579,   580,   581,     0,     0,   582,     0,     0,   583,   584,
8354      585,   586,   587,   588,   589,   590,   591,   592,   593,   594,
8355      595,   596,   597,   598,   599,   600,   601,   602,     0,     0,
8356        0,   897,   898,   899,   610,   900,   901,   902,   903,   904,
8357      905,   891,     0,     0,     0,     0,     0,     0,   892,   893,
8358      894,   230,   231,   232,   233,   234,   235,   236,   237,     0,
8359      238,   239,   240,     0,     0,     0,     0,     0,     0,     0,
8360      241,   242,     0,   243,   244,   245,     0,   247,   248,   249,
8361      250,   251,     0,   253,   254,     0,   255,   256,   257,   258,
8362      259,   260,     0,     0,   261,   262,   263,   264,   265,     0,
8363      266,  1123,   268,   269,   270,     0,     0,     0,   272,   273,
8364      274,   275,   276,     0,   278,   279,   280,     0,   281,   282,
8365      283,   284,   285,   286,     0,     0,   288,   289,   290,     0,
8366        0,     0,     0,     0,     0,     0,   292,   293,   294,   295,
8367      296,   297,   298,   299,   300,     0,   301,     0,   302,   303,
8368      304,   305,   306,   307,     0,   308,   309,   310,   311,     0,
8369        0,   312,   313,   314,   315,   316,     0,   317,   318,   319,
8370        0,   320,   321,   322,     0,   323,   324,   325,   326,   327,
8371      328,   329,   330,   331,   332,     0,  1124,     0,   334,   335,
8372      336,   337,     0,   338,     0,   339,     0,     0,     0,   342,
8373      343,   344,   345,     0,   346,   347,     0,   348,   349,   350,
8374        0,   351,   352,   353,   354,  1125,     0,   357,   358,   359,
8375      360,     0,   361,   362,   363,   364,   365,   366,   367,     0,
8376      368,     0,   370,   371,   372,   373,   374,   375,   376,     0,
8377      377,     0,   378,     0,     0,   381,     0,   383,   384,   385,
8378      386,   387,     0,     0,   388,   389,     0,   391,     0,     0,
8379      393,   394,   395,     0,     0,   396,   397,   398,   399,   400,
8380      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
8381      411,   412,     0,   414,   415,   416,   417,   418,   419,   420,
8382      421,   422,   423,   424,     0,   425,   426,     0,   428,     0,
8383      429,   430,   431,   432,   433,   434,     0,   435,   436,     0,
8384        0,   437,   438,   439,     0,     0,   440,   441,   442,     0,
8385      444,     0,   446,   447,   448,   449,   450,   451,   452,   453,
8386      454,   455,     0,     0,   456,   457,   458,   459,   460,   461,
8387      462,   463,     0,   464,   465,   466,   467,   468,   469,   470,
8388      471,   472,   473,   474,   475,   476,   477,   478,     0,   479,
8389      480,   481,   482,   483,   484,   485,   486,   487,   488,   489,
8390      490,     0,   491,   492,     0,   494,   495,   496,   497,   498,
8391      499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
8392        0,   509,   510,   511,   512,   513,     0,   514,   515,   516,
8393      517,   518,     0,   520,   521,   522,   523,     0,   524,   525,
8394      526,   527,   528,   529,   530,   531,   532,   533,   534,   535,
8395      536,   537,   538,     0,   539,   540,     0,   541,     0,   543,
8396      544,   545,   546,   547,     0,   548,   549,   550,     0,     0,
8397      551,   552,   553,   554,   555,     0,   556,   557,   558,   559,
8398      560,   561,   562,   563,     0,     0,   564,   565,   566,   567,
8399      568,     0,     0,   569,   570,   571,   572,   573,   574,   575,
8400        0,   576,     0,   578,   579,   580,   581,     0,     0,   582,
8401        0,     0,   583,   584,   585,   586,   587,   588,   589,   590,
8402      591,   592,   593,   594,   595,   596,   597,   598,   599,   600,
8403      601,   602,     0,     0,     0,   897,   898,   899,   610,   900,
8404      901,   902,   903,   904,   905,   891,     0,     0,     0,     0,
8405        0,     0,   892,   893,   894,   230,   231,   232,   233,   234,
8406      235,   236,   237,     0,   238,   239,   240,     0,     0,     0,
8407        0,     0,     0,     0,   241,   242,     0,   243,   244,   245,
8408        0,   247,   248,   249,   250,   251,     0,   253,   254,     0,
8409      255,   256,   257,   258,   259,   260,     0,     0,   261,   262,
8410      263,   264,   265,     0,   266,  1746,   268,   269,   270,     0,
8411        0,     0,   272,   273,   274,   275,   276,     0,   278,   279,
8412      280,     0,   281,   282,   283,   284,   285,   286,     0,     0,
8413      288,   289,   290,     0,     0,     0,     0,     0,     0,     0,
8414      292,   293,   294,   295,   296,   297,   298,   299,   300,     0,
8415      301,     0,   302,   303,   304,   305,   306,   307,     0,   308,
8416      309,   310,   311,     0,     0,   312,   313,   314,   315,   316,
8417        0,   317,   318,   319,     0,   320,   321,   322,     0,   323,
8418      324,   325,   326,   327,   328,   329,   330,   331,   332,     0,
8419     1747,     0,   334,   335,   336,   337,     0,   338,     0,   339,
8420        0,     0,     0,   342,   343,   344,   345,     0,   346,   347,
8421        0,   348,   349,   350,     0,   351,   352,   353,   354,   355,
8422        0,   357,   358,   359,   360,     0,   361,   362,   363,   364,
8423      365,   366,   367,     0,   368,     0,   370,   371,   372,   373,
8424      374,   375,   376,     0,   377,     0,   378,     0,     0,   381,
8425        0,   383,   384,   385,   386,   387,     0,     0,   388,   389,
8426        0,   391,     0,     0,   393,   394,   395,     0,     0,   396,
8427      397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
8428      407,   408,   409,   410,   411,   412,     0,   414,   415,   416,
8429      417,   418,   419,   420,   421,   422,   423,   424,     0,   425,
8430      426,     0,   428,     0,   429,   430,   431,   432,   433,   434,
8431        0,   435,   436,     0,     0,   437,   438,   439,     0,     0,
8432      440,   441,   442,     0,   444,     0,   446,   447,   448,   449,
8433      450,   451,   452,   453,   454,   455,     0,     0,   456,   457,
8434      458,   459,   460,   461,   462,   463,     0,   464,   465,   466,
8435      467,   468,   469,   470,   471,   472,   473,   474,   475,   476,
8436      477,   478,     0,   479,   480,   481,   482,   483,   484,   485,
8437      486,   487,   488,   489,   490,     0,   491,   492,     0,   494,
8438      495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
8439      505,   506,   507,   508,     0,   509,   510,   511,   512,   513,
8440        0,   514,   515,   516,   517,   518,     0,   520,   521,   522,
8441      523,     0,   524,   525,   526,   527,   528,   529,   530,   531,
8442      532,   533,   534,   535,   536,   537,   538,     0,   539,   540,
8443        0,   541,     0,   543,   544,   545,   546,   547,     0,   548,
8444      549,   550,     0,     0,   551,   552,   553,   554,   555,     0,
8445      556,   557,   558,   559,   560,   561,   562,   563,     0,     0,
8446      564,   565,   566,   567,   568,     0,     0,   569,   570,   571,
8447      572,   573,   574,   575,     0,   576,     0,   578,   579,   580,
8448      581,     0,     0,   582,     0,     0,   583,   584,   585,   586,
8449      587,   588,   589,   590,   591,   592,   593,   594,   595,   596,
8450      597,   598,   599,   600,   601,   602,     0,     0,     0,   897,
8451      898,   899,   610,   900,   901,   902,   903,   904,   905,   891,
8452        0,     0,     0,     0,     0,     0,   892,   893,   894,   230,
8453      231,   232,   233,   234,   235,   236,   237,     0,   238,   239,
8454      240,     0,     0,     0,     0,     0,     0,     0,   241,   242,
8455        0,   243,   244,   245,     0,   247,   248,   249,   250,   251,
8456        0,   253,   254,     0,   255,   256,   257,   258,   259,   260,
8457        0,     0,   261,   262,   263,   264,   265,     0,   266,   267,
8458      268,   269,   270,     0,     0,     0,   272,   273,   274,   275,
8459      276,     0,   278,   279,   280,     0,   281,   282,   283,   284,
8460      285,   286,     0,     0,   288,   289,   290,     0,     0,     0,
8461        0,     0,     0,     0,   292,   293,   294,   295,   296,   297,
8462      298,   299,   300,     0,   301,     0,   302,   303,   304,   305,
8463      306,   307,     0,   308,   309,   310,   311,     0,     0,   312,
8464      313,   314,   315,   316,     0,   317,   318,   319,     0,   320,
8465      321,   322,     0,   323,   324,   325,   326,   327,   328,   329,
8466      330,   331,   332,     0,   333,     0,   334,   335,   336,   337,
8467        0,   338,     0,   339,     0,     0,     0,   342,   343,   344,
8468      345,     0,   346,   347,     0,   348,   349,   350,     0,   351,
8469      352,   353,   354,   355,     0,   357,   358,   359,   360,     0,
8470      361,   362,   363,   364,   365,   366,   367,     0,   368,     0,
8471      370,   371,   372,   373,   374,   375,   376,     0,   377,     0,
8472      378,     0,     0,   381,     0,   383,   384,   385,   386,   387,
8473        0,     0,   388,   389,     0,   391,     0,     0,   393,   394,
8474      395,     0,     0,   396,   397,   398,   399,   400,   401,   402,
8475      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
8476        0,   414,   415,   416,   417,   418,   419,   420,   421,   422,
8477      423,   424,     0,   425,   426,     0,   428,     0,   429,   430,
8478      431,   432,   433,   434,     0,   435,   436,     0,     0,   437,
8479      438,   439,     0,     0,   440,   441,   442,     0,   444,     0,
8480      446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
8481        0,     0,   456,   457,   458,   459,   460,   461,   462,   463,
8482        0,   464,   465,   466,   467,   468,   469,   470,   471,   472,
8483      473,   474,   475,   476,   477,   478,     0,   479,   480,   481,
8484      482,   483,   484,   485,   486,   487,   488,   489,   490,     0,
8485      491,   492,     0,   494,   495,   496,   497,   498,   499,   500,
8486      501,   502,   503,   504,   505,   506,   507,   508,     0,   509,
8487      510,   511,   512,   513,     0,   514,   515,   516,   517,   518,
8488        0,   520,   521,   522,   523,     0,   524,   525,   526,   527,
8489      528,   529,   530,   531,   532,   533,   534,   535,   536,   537,
8490      538,     0,   539,   540,     0,   541,     0,   543,   544,   545,
8491      546,   547,     0,   548,   549,   550,     0,     0,   551,   552,
8492      553,   554,   555,     0,   556,   557,   558,   559,   560,   561,
8493      562,   563,     0,     0,   564,   565,   566,   567,   568,     0,
8494        0,   569,   570,   571,   572,   573,   574,   575,     0,   576,
8495        0,   578,   579,   580,   581,     0,     0,   582,     0,     0,
8496      583,   584,   585,   586,   587,   588,   589,   590,   591,   592,
8497      593,   594,   595,   596,   597,   598,   599,   600,   601,   602,
8498        0,     0,     0,   897,   898,   899,   610,   900,   901,   902,
8499      903,   904,   905,   891,     0,     0,     0,     0,     0,     0,
8500      892,   893,   894,   230,   231,   232,   233,   234,   235,   236,
8501      237,     0,   238,   239,   240,     0,     0,     0,     0,     0,
8502        0,     0,   241,   242,     0,   243,   244,   245,     0,   247,
8503      248,   249,   250,   251,     0,   253,   254,     0,   255,   256,
8504      257,   258,   259,   260,     0,     0,   261,   262,   263,   264,
8505      265,     0,   266,  3028,   268,   269,   270,     0,     0,     0,
8506      272,   273,   274,   275,   276,     0,   278,   279,   280,     0,
8507      281,   282,   283,   284,   285,   286,     0,     0,   288,   289,
8508      290,     0,     0,     0,     0,     0,     0,     0,   292,   293,
8509      294,   295,   296,   297,   298,   299,   300,     0,   301,     0,
8510      302,   303,   304,   305,   306,   307,     0,   308,   309,   310,
8511      311,     0,     0,   312,   313,   314,   315,   316,     0,   317,
8512      318,   319,     0,   320,   321,   322,     0,   323,   324,   325,
8513      326,   327,   328,   329,   330,   331,   332,     0,  3029,     0,
8514      334,   335,   336,   337,     0,   338,     0,   339,     0,     0,
8515        0,   342,   343,   344,   345,     0,   346,   347,     0,   348,
8516      349,   350,     0,   351,   352,   353,   354,   355,     0,   357,
8517      358,   359,   360,     0,   361,   362,   363,   364,   365,   366,
8518      367,     0,   368,     0,   370,   371,   372,   373,   374,   375,
8519      376,     0,   377,     0,   378,     0,     0,   381,     0,   383,
8520      384,   385,   386,   387,     0,     0,   388,   389,     0,   391,
8521        0,     0,   393,   394,   395,     0,     0,   396,   397,   398,
8522      399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
8523      409,   410,   411,   412,     0,   414,   415,   416,   417,   418,
8524      419,   420,   421,   422,   423,   424,     0,   425,   426,     0,
8525      428,     0,   429,   430,   431,   432,   433,   434,     0,   435,
8526      436,     0,     0,   437,   438,   439,     0,     0,   440,   441,
8527      442,     0,   444,     0,   446,   447,   448,   449,   450,   451,
8528      452,   453,   454,   455,     0,     0,   456,   457,   458,   459,
8529      460,   461,   462,   463,     0,   464,   465,   466,   467,   468,
8530      469,   470,   471,   472,   473,   474,   475,   476,   477,   478,
8531        0,   479,   480,   481,   482,   483,   484,   485,   486,   487,
8532      488,   489,   490,     0,   491,   492,     0,   494,   495,   496,
8533      497,   498,   499,   500,   501,   502,   503,   504,   505,   506,
8534      507,   508,     0,   509,   510,   511,   512,   513,     0,   514,
8535      515,   516,   517,   518,     0,   520,   521,   522,   523,     0,
8536      524,   525,   526,   527,   528,   529,   530,   531,   532,   533,
8537      534,   535,   536,   537,   538,     0,   539,   540,     0,   541,
8538        0,   543,   544,   545,   546,   547,     0,   548,   549,   550,
8539        0,     0,   551,   552,   553,   554,   555,     0,   556,   557,
8540      558,   559,   560,   561,   562,   563,     0,     0,   564,   565,
8541      566,   567,   568,     0,     0,   569,   570,   571,   572,   573,
8542      574,   575,     0,   576,     0,   578,   579,   580,   581,     0,
8543        0,   582,     0,     0,   583,   584,   585,   586,   587,   588,
8544      589,   590,   591,   592,   593,   594,   595,   596,   597,   598,
8545      599,   600,   601,   602,     0,     0,     0,   897,   898,   899,
8546      610,   900,   901,   902,   903,   904,   905,   891,     0,     0,
8547        0,     0,     0,     0,   892,   893,   894,   230,   231,   232,
8548      233,   234,   235,   236,   237,     0,   238,   239,   240,     0,
8549        0,     0,     0,     0,     0,     0,   241,   242,     0,   243,
8550      244,   245,     0,   247,   248,   249,   250,   251,     0,   253,
8551      254,     0,   255,   256,   257,   258,   259,   260,     0,     0,
8552      261,   262,   263,   264,   265,     0,   266,   267,   268,   269,
8553      270,     0,     0,     0,   272,   273,   274,   275,   276,     0,
8554      278,   279,   280,     0,   281,   282,   283,   284,   285,   286,
8555        0,     0,   288,   289,   290,     0,     0,     0,     0,     0,
8556        0,     0,   292,   293,   294,   295,   296,   297,   298,   299,
8557      300,     0,   301,     0,   302,   303,   304,   305,   306,   307,
8558        0,   308,   309,   310,   311,     0,     0,   312,   313,   314,
8559      315,   316,     0,   317,   318,   319,     0,   320,   321,   322,
8560        0,   323,   324,   325,   326,   327,   328,   329,   330,   331,
8561      332,     0,   333,     0,   334,   335,   336,   337,     0,   338,
8562        0,   339,     0,     0,     0,   342,   343,   344,   345,     0,
8563      346,   347,     0,   348,   349,   350,     0,   351,   352,   353,
8564      354,   355,     0,   357,   358,   359,   360,     0,   361,   362,
8565      363,   364,   365,   366,   367,     0,   368,     0,   370,   371,
8566      372,   373,   374,   375,   376,     0,   377,     0,   378,     0,
8567        0,   381,     0,   383,   384,   385,   386,   387,     0,     0,
8568      388,   389,     0,   391,     0,     0,   393,   394,   395,     0,
8569        0,   396,   397,   398,   399,   400,   401,   402,   403,   404,
8570      405,   406,   407,   408,   409,   410,   411,   412,     0,   414,
8571      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
8572        0,   425,   426,     0,   428,     0,   429,   430,   431,   432,
8573      433,   434,     0,   435,   436,     0,     0,  4909,   438,   439,
8574        0,     0,   440,   441,   442,     0,   444,     0,   446,   447,
8575      448,   449,   450,   451,   452,   453,   454,   455,     0,     0,
8576      456,   457,   458,   459,   460,   461,   462,   463,     0,   464,
8577      465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
8578      475,   476,   477,   478,     0,   479,   480,   481,   482,   483,
8579      484,   485,   486,   487,   488,   489,   490,     0,   491,   492,
8580        0,   494,   495,   496,   497,   498,   499,   500,   501,   502,
8581      503,   504,   505,   506,   507,   508,     0,   509,   510,   511,
8582      512,   513,     0,   514,   515,   516,   517,   518,     0,   520,
8583      521,   522,   523,     0,   524,   525,   526,   527,   528,   529,
8584      530,   531,   532,   533,   534,   535,   536,   537,   538,     0,
8585      539,   540,     0,   541,     0,   543,   544,   545,   546,   547,
8586        0,   548,   549,   550,     0,     0,   551,   552,   553,   554,
8587      555,     0,   556,   557,   558,   559,   560,   561,   562,   563,
8588        0,     0,   564,   565,   566,   567,   568,     0,     0,   569,
8589      570,   571,   572,   573,   574,   575,     0,   576,     0,   578,
8590      579,   580,   581,     0,     0,   582,     0,     0,   583,   584,
8591      585,   586,   587,   588,   589,   590,   591,   592,   593,   594,
8592      595,   596,   597,   598,   599,   600,   601,   602,  1646,     0,
8593        0,   897,   898,   899,     0,   900,   901,   902,   903,   904,
8594      905,     0,     0,     0,     0,   230,   231,   232,   233,   234,
8595      235,   236,   237,  1647,   238,   239,   240,  1648,  1649,  1650,
8596     1651,  1652,  1653,  1654,   241,   242,  1655,   243,   244,   245,
8597      246,   247,   248,   249,   250,   251,   252,   253,   254,  1656,
8598      255,   256,   257,   258,   259,   260,  1657,  1658,   261,   262,
8599      263,   264,   265,  1659,   266,   267,   268,   269,   270,  1660,
8600      271,  1661,   272,   273,   274,   275,   276,   277,   278,   279,
8601      280,  1662,   281,   282,   283,   284,   285,   286,  1663,   287,
8602      288,   289,   290,  1664,  1665,  1666,   291,  1667,  1668,  1669,
8603      292,   293,   294,   295,   296,   297,   298,   299,   300,  1670,
8604      301,  1671,   302,   303,   304,   305,   306,   307,  1672,   308,
8605      309,   310,   311,  1673,  1674,   312,   313,   314,   315,   316,
8606     1675,   317,   318,   319,  1676,   320,   321,   322,  1677,   323,
8607      324,   325,   326,   327,   328,   329,   330,   331,   332,  1678,
8608      333,  1679,   334,   335,   336,   337,  1680,   338,  1681,   339,
8609      340,  1682,   341,   342,   343,   344,   345,  1683,   346,   347,
8610     1684,   348,   349,   350,  1685,   351,   352,   353,   354,   355,
8611      356,   357,   358,   359,   360,  1686,   361,   362,   363,   364,
8612      365,   366,   367,  1687,   368,   369,   370,   371,   372,   373,
8613      374,   375,   376,  1688,   377,  1689,   378,   379,   380,   381,
8614      382,   383,   384,   385,   386,   387,  1690,  1691,   388,   389,
8615      390,   391,   392,  1692,   393,   394,   395,  1693,  1694,   396,
8616      397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
8617      407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
8618      417,   418,   419,   420,   421,   422,   423,   424,  1695,   425,
8619      426,   427,   428,  1696,   429,   430,   431,   432,   433,   434,
8620     1697,   435,   436,  1698,  1699,   437,   438,   439,  1700,  1701,
8621      440,   441,   442,   443,   444,   445,   446,   447,   448,   449,
8622      450,   451,   452,   453,   454,   455,     0,  1702,   456,   457,
8623      458,   459,   460,   461,   462,   463,  1703,   464,   465,   466,
8624      467,   468,   469,   470,   471,   472,   473,   474,   475,   476,
8625      477,   478,  1704,   479,   480,   481,   482,   483,   484,   485,
8626      486,   487,   488,   489,   490,  1705,   491,   492,   493,   494,
8627      495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
8628      505,   506,   507,   508,  1706,   509,   510,   511,   512,   513,
8629     1707,   514,   515,   516,   517,   518,   519,   520,   521,   522,
8630      523,  1708,   524,   525,   526,   527,   528,   529,   530,   531,
8631      532,   533,   534,   535,   536,   537,   538,  1709,   539,   540,
8632     1710,   541,   542,   543,   544,   545,   546,   547,  1711,   548,
8633      549,   550,  1712,  1713,   551,   552,   553,   554,   555,  1714,
8634      556,   557,   558,   559,   560,   561,   562,   563,  1715,  1716,
8635      564,   565,   566,   567,   568,  1717,  1718,   569,   570,   571,
8636      572,   573,   574,   575,  1719,   576,   577,   578,   579,   580,
8637      581,  1720,  1721,   582,  1722,  1723,   583,   584,   585,   586,
8638      587,   588,   589,   590,   591,   592,   593,   594,   595,   596,
8639      597,   598,   599,   600,   601,   602,   610,     0,     0,     0,
8640        0,     0,     0,     0,     0,  1724,     0,     0,     0,     0,
8641        0,     0,     0,   230,   231,   232,   233,   234,   235,   236,
8642      237,     0,   238,   239,   240,     0,     0,     0,     0,     0,
8643        0,     0,   241,   242,     0,   243,   244,   245,     0,   247,
8644      248,   249,   250,   251,     0,   253,   254,     0,   255,   256,
8645      257,   258,   259,   260,     0,     0,   261,   262,   263,   264,
8646      265,     0,   266,   267,   268,   269,   270,     0,     0,     0,
8647      272,   273,   274,   275,   276,     0,   278,   279,   280,     0,
8648      281,   282,   283,   284,   285,   286,     0,     0,   288,   289,
8649      290,     0,     0,     0,     0,     0,     0,     0,   292,   293,
8650      294,   295,   296,   297,   298,   299,   300,     0,   301,     0,
8651      302,   303,   304,   305,   306,   307,     0,   308,   309,   310,
8652      311,     0,     0,   312,   313,   314,   315,   316,     0,   317,
8653      318,   319,     0,   320,   321,   322,     0,   323,   324,   325,
8654      326,   327,   328,   329,   330,   331,   332,     0,   333,     0,
8655      334,   335,   336,   337,     0,   338,     0,   339,     0,     0,
8656        0,   342,   343,   344,   345,     0,   346,   347,     0,   348,
8657      349,   350,     0,   351,   352,   353,   354,   355,     0,   357,
8658      358,   359,   360,     0,   361,   362,   363,   364,   365,   366,
8659      367,     0,   368,     0,   370,   371,   372,   373,   374,   375,
8660      376,     0,   377,     0,   378,     0,     0,   381,     0,   383,
8661      384,   385,   386,   387,     0,     0,   388,   389,     0,   391,
8662        0,     0,   393,   394,   395,     0,     0,   396,   397,   398,
8663      399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
8664      409,   410,   411,   412,     0,   414,   415,   416,   417,   418,
8665      419,   420,   421,   422,   423,   424,     0,   425,   426,     0,
8666      428,     0,   429,   430,   431,   432,   433,   434,     0,   435,
8667      436,     0,     0,   437,   438,   439,     0,     0,   440,   441,
8668      442,     0,   444,     0,   446,   447,   448,   449,   450,   451,
8669      452,   453,   454,   455,     0,     0,   456,   457,   458,   459,
8670      460,   461,   462,   463,     0,   464,   465,   466,   467,   468,
8671      469,   470,   471,   472,   473,   474,   475,   476,   477,   478,
8672        0,   479,   480,   481,   482,   483,   484,   485,   486,   487,
8673      488,   489,   490,     0,   491,   492,     0,   494,   495,   496,
8674      497,   498,   499,   500,   501,   502,   503,   504,   505,   506,
8675      507,   508,     0,   509,   510,   511,   512,   513,     0,   514,
8676      515,   516,   517,   518,     0,   520,   521,   522,   523,     0,
8677      524,   525,   526,   527,   528,   529,   530,   531,   532,   533,
8678      534,   535,   536,   537,   538,     0,   539,   540,     0,   541,
8679        0,   543,   544,   545,   546,   547,     0,   548,   549,   550,
8680        0,     0,   551,   552,   553,   554,   555,     0,   556,   557,
8681      558,   559,   560,   561,   562,   563,     0,     0,   564,   565,
8682      566,   567,   568,     0,     0,   569,   570,   571,   572,   573,
8683      574,   575,     0,   576,     0,   578,   579,   580,   581,     0,
8684        0,   582,     0,     0,   583,   584,   585,   586,   587,   588,
8685      589,   590,   591,   592,   593,   594,   595,   596,   597,   598,
8686      599,   600,   601,   602,   610,     0,     0,     0,     0,     0,
8687        0,     0,     0,   827,     0,     0,     0,     0,     0,     0,
8688        0,   230,   231,   232,   233,   234,   235,   236,   237,     0,
8689      238,   239,   240,     0,     0,     0,     0,     0,     0,     0,
8690      241,   242,     0,   243,   244,   245,     0,   247,   248,   249,
8691      250,   251,     0,   253,   254,     0,   255,   256,   257,   258,
8692      259,   260,     0,     0,   261,   262,   263,   264,   265,     0,
8693      266,   267,   268,   269,   270,     0,     0,     0,   272,   273,
8694      274,   275,   276,     0,   278,   279,   280,     0,   281,   282,
8695      283,   284,   285,   286,     0,     0,   288,   289,   290,     0,
8696        0,     0,     0,     0,     0,     0,   292,   293,   294,   295,
8697      296,   297,   298,   299,   300,     0,   301,     0,   302,   303,
8698      304,   305,   306,   307,     0,   308,   309,   310,   311,     0,
8699        0,   312,   313,   314,   315,   316,     0,   317,   318,   319,
8700        0,   320,   321,   322,     0,   323,   324,   325,   326,   327,
8701      328,   329,   330,   331,   332,     0,   333,     0,   334,   335,
8702      336,   337,     0,   338,     0,   339,     0,     0,     0,   342,
8703      343,   344,   345,     0,   346,   347,     0,   348,   349,   350,
8704        0,   351,   352,   353,   354,   355,     0,   357,   358,   359,
8705      360,     0,   361,   362,   363,   364,   365,   366,   367,     0,
8706      368,     0,   370,   371,   372,   373,   374,   375,   376,     0,
8707      377,     0,   378,     0,     0,   381,     0,   383,   384,   385,
8708      386,   387,     0,     0,   388,   389,     0,   391,     0,     0,
8709      393,   394,   395,     0,     0,   396,   397,   398,   399,   400,
8710      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
8711      411,   412,     0,   414,   415,   416,   417,   418,   419,   420,
8712      421,   422,   423,   424,     0,   425,   426,     0,   428,     0,
8713      429,   430,   431,   432,   433,   434,     0,   435,   436,     0,
8714        0,   437,   438,   439,     0,     0,   440,   441,   442,     0,
8715      444,     0,   446,   447,   448,   449,   450,   451,   452,   453,
8716      454,   455,     0,     0,   456,   457,   458,   459,   460,   461,
8717      462,   463,     0,   464,   465,   466,   467,   468,   469,   470,
8718      471,   472,   473,   474,   475,   476,   477,   478,     0,   479,
8719      480,   481,   482,   483,   484,   485,   486,   487,   488,   489,
8720      490,     0,   491,   492,     0,   494,   495,   496,   497,   498,
8721      499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
8722        0,   509,   510,   511,   512,   513,     0,   514,   515,   516,
8723      517,   518,     0,   520,   521,   522,   523,     0,   524,   525,
8724      526,   527,   528,   529,   530,   531,   532,   533,   534,   535,
8725      536,   537,   538,     0,   539,   540,     0,   541,     0,   543,
8726      544,   545,   546,   547,     0,   548,   549,   550,     0,     0,
8727      551,   552,   553,   554,   555,     0,   556,   557,   558,   559,
8728      560,   561,   562,   563,     0,     0,   564,   565,   566,   567,
8729      568,     0,     0,   569,   570,   571,   572,   573,   574,   575,
8730        0,   576,     0,   578,   579,   580,   581,     0,     0,   582,
8731        0,     0,   583,   584,   585,   586,   587,   588,   589,   590,
8732      591,   592,   593,   594,   595,   596,   597,   598,   599,   600,
8733      601,   602,  1073,     0,     0,     0,     0,     0,     0,     0,
8734        0,  5300,     0,     0,     0,     0,     0,     0,     0,   230,
8735      231,   232,   233,   234,   235,   236,   237,     0,   238,   239,
8736      240,     0,     0,     0,     0,     0,     0,     0,   241,   242,
8737        0,   243,   244,   245,   246,   247,   248,   249,     0,  1074,
8738      252,  1075,  1076,     0,   255,   256,   257,   258,   259,   260,
8739        0,     0,   261,   262,  1077,  1078,   265,     0,   266,   267,
8740      268,   269,     0,     0,   271,     0,   272,   273,   274,   275,
8741      276,   277,   278,   279,   280,     0,   281,   282,   283,   284,
8742      285,   286,     0,   287,   288,   289,   290,     0,     0,     0,
8743      291,     0,     0,     0,   292,   293,   294,   295,   296,   297,
8744     1079,  1080,   300,     0,   301,     0,   302,   303,   304,   305,
8745      306,   307,     0,   308,   309,   310,   311,     0,     0,   312,
8746      313,  1081,   315,   316,     0,   317,   318,   319,     0,   320,
8747      321,   322,     0,   323,   324,   325,   326,     0,   328,   329,
8748      330,   331,     0,     0,   333,     0,   334,   335,  1082,   337,
8749        0,   338,     0,   339,   340,     0,   341,   342,   343,   344,
8750      345,     0,   346,     0,     0,     0,   349,   350,     0,   351,
8751      352,   353,   354,   355,   356,   357,   358,   359,   360,  2183,
8752      361,   362,   363,   364,   365,   366,   367,     0,   368,   369,
8753     2184,   371,   372,   373,   374,  1084,  1085,     0,  1086,     0,
8754      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
8755        0,     0,   388,     0,   390,   391,   392,     0,   393,   394,
8756      395,     0,     0,   396,   397,   398,   399,   400,   401,   402,
8757      403,   404,   405,   406,   407,   408,   409,   410,   411,  1087,
8758      413,  1088,   415,   416,   417,   418,   419,   420,   421,     0,
8759        0,   424,     0,   425,   426,   427,   428,     0,     0,   430,
8760     1089,   432,   433,   434,     0,   435,   436,     0,     0,   437,
8761      438,   439,     0,  2185,   440,   441,  2186,   443,   444,   445,
8762        0,   447,   448,   449,   450,   451,   452,   453,   454,   455,
8763        0,     0,   456,   457,     0,   459,     0,   461,   462,   463,
8764        0,   464,   465,   466,   467,   468,   469,   470,   471,   472,
8765      473,  1090,   475,   476,   477,   478,     0,   479,   480,   481,
8766      482,   483,   484,   485,   486,   487,   488,   489,   490,     0,
8767      491,   492,   493,   494,   495,   496,   497,   498,     0,   500,
8768      501,   502,   503,   504,   505,   506,   507,   508,     0,   509,
8769      510,   511,   512,   513,     0,   514,   515,  2187,   517,   518,
8770      519,   520,   521,  1092,   523,     0,   524,   525,   526,   527,
8771      528,   529,   530,   531,   532,   533,   534,   535,   536,     0,
8772      538,     0,   539,   540,     0,   541,   542,   543,   544,   545,
8773      546,   547,     0,   548,  1093,  1094,     0,     0,   551,   552,
8774        0,   554,     0,     0,   556,   557,   558,   559,   560,   561,
8775      562,   563,     0,     0,   564,   565,   566,   567,   568,     0,
8776        0,   569,   570,   571,   572,   573,     0,  1095,  2188,   576,
8777      577,   578,   579,   580,   581,     0,     0,   582,     0,     0,
8778      583,   584,   585,   586,   587,   588,     0,     0,     0,     0,
8779        0,     0,     0,  3376,     0,     0,     0,   600,   601,   602,
8780        0,     0,     0,     0,     0,     0,     0,     0,     0,  2189,
8781      230,   231,   232,   233,   234,   235,   236,   237,     0,   238,
8782      239,   240,     0,     0,     0,     0,     0,     0,     0,   241,
8783      242,     0,   243,   244,   245,   246,   247,   248,   249,     0,
8784     1074,   252,  1075,  1076,     0,   255,   256,   257,   258,   259,
8785      260,     0,     0,   261,   262,  1077,  1078,   265,     0,   266,
8786      267,   268,   269,     0,     0,   271,     0,   272,   273,   274,
8787      275,   276,   277,   278,   279,   280,     0,   281,   282,   283,
8788      284,   285,   286,     0,   287,   288,   289,   290,     0,     0,
8789        0,   291,     0,     0,     0,   292,   293,   294,   295,   296,
8790      297,  1079,  1080,   300,     0,   301,     0,   302,   303,   304,
8791      305,   306,   307,     0,   308,   309,   310,   311,     0,     0,
8792      312,   313,  1081,   315,   316,     0,   317,   318,   319,     0,
8793      320,   321,   322,     0,   323,   324,   325,   326,     0,   328,
8794      329,   330,   331,     0,     0,   333,     0,   334,   335,  1082,
8795      337,     0,   338,     0,   339,   340,     0,   341,   342,   343,
8796      344,   345,     0,   346,     0,     0,     0,   349,   350,     0,
8797      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
8798     2183,   361,   362,   363,   364,   365,   366,   367,     0,   368,
8799      369,  2184,   371,   372,   373,   374,  1084,  1085,     0,  1086,
8800        0,   378,   379,   380,   381,   382,   383,   384,   385,   386,
8801      387,     0,     0,   388,     0,   390,   391,   392,     0,   393,
8802      394,   395,     0,     0,   396,   397,   398,   399,   400,   401,
8803      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
8804     1087,   413,  1088,   415,   416,   417,   418,   419,   420,   421,
8805        0,     0,   424,     0,   425,   426,   427,   428,     0,     0,
8806      430,  1089,   432,   433,   434,     0,   435,   436,     0,     0,
8807      437,   438,   439,     0,  2185,   440,   441,  2186,   443,   444,
8808      445,     0,   447,   448,   449,   450,   451,   452,   453,   454,
8809      455,     0,     0,   456,   457,     0,   459,     0,   461,   462,
8810      463,     0,   464,   465,   466,   467,   468,   469,   470,   471,
8811      472,   473,  1090,   475,   476,   477,   478,     0,   479,   480,
8812      481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
8813        0,   491,   492,   493,   494,   495,   496,   497,   498,     0,
8814      500,   501,   502,   503,   504,   505,   506,   507,   508,     0,
8815      509,   510,   511,   512,   513,     0,   514,   515,  2187,   517,
8816      518,   519,   520,   521,  1092,   523,     0,   524,   525,   526,
8817      527,   528,   529,   530,   531,   532,   533,   534,   535,   536,
8818        0,   538,     0,   539,   540,     0,   541,   542,   543,   544,
8819      545,   546,   547,     0,   548,  1093,  1094,     0,     0,   551,
8820      552,     0,   554,     0,     0,   556,   557,   558,   559,   560,
8821      561,   562,   563,     0,     0,   564,   565,   566,   567,   568,
8822        0,     0,   569,   570,   571,   572,   573,     0,  1095,  2188,
8823      576,   577,   578,   579,   580,   581,     0,     0,   582,     0,
8824        0,   583,   584,   585,   586,   587,   588,     0,     0,     0,
8825        0,     0,     0,     0,   877,     0,  1515,   670,   600,   601,
8826      602,     0,   730,     0,     0,     0,     0,     0,     0,     0,
8827     2189,   230,   231,   232,   233,   234,   235,   236,   237,     0,
8828      238,   239,   240,     0,     0,     0,     0,     0,     0,     0,
8829      241,   242,     0,   243,   244,   245,   246,   247,   248,   249,
8830      250,   251,   252,   253,   254,     0,   255,   256,   257,   258,
8831      259,   260,     0,     0,   261,   262,   263,   264,   265,     0,
8832      266,   267,   268,   269,   270,     0,   271,     0,   272,   273,
8833      274,   275,   276,   277,   278,   279,   280,     0,   281,   282,
8834      283,   284,   285,   286,     0,   287,   288,   289,   290,     0,
8835        0,     0,   291,     0,     0,     0,   292,   293,   294,   295,
8836      296,   297,   298,   299,   300,  2111,   301,     0,   302,   303,
8837      304,   305,   306,   307,     0,   308,   309,   310,   311,     0,
8838        0,   312,   313,   314,   315,   316,     0,   317,   318,   319,
8839        0,   320,   321,   322,     0,   323,   324,   325,   326,   327,
8840      328,   329,   330,   331,   332,  1930,   333,     0,   334,   335,
8841      336,   337,     0,   338,     0,   339,   340,     0,   341,   342,
8842      343,   344,   345,     0,   346,   347,     0,   348,   349,   350,
8843        0,   351,   352,   353,   354,   355,   356,   357,   358,   359,
8844      360,     0,   361,   362,   363,   364,   365,   366,   367,     0,
8845      368,   369,   370,   371,   372,   373,   374,   375,   376,     0,
8846      377,     0,   378,   379,   380,   381,   382,   383,   384,   385,
8847      386,   387,     0,     0,   388,   389,   390,   391,   392,     0,
8848      393,   394,   395,     0,     0,   396,   397,   398,   399,   400,
8849      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
8850      411,   412,   413,   414,   415,   416,   417,   418,   419,   420,
8851      421,   422,   423,   424,     0,   425,   426,   427,   428,     0,
8852      429,   430,   431,   432,   433,   434,     0,   435,   436,  1931,
8853        0,   437,   438,   439,     0,     0,   440,   441,   442,   443,
8854      444,   445,   446,   447,   448,   449,   450,   451,   452,   453,
8855      454,   455,     0,     0,   456,   457,   458,   459,   460,   461,
8856      462,   463,     0,   464,   465,   466,   467,   468,   469,   470,
8857      471,   472,   473,   474,   475,   476,   477,   478,     0,   479,
8858      480,   481,   482,   483,   484,   485,   486,   487,   488,   489,
8859      490,     0,   491,   492,   493,   494,   495,   496,   497,   498,
8860      499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
8861        0,   509,   510,   511,   512,   513,     0,   514,   515,   516,
8862      517,   518,   519,   520,   521,   522,   523,     0,   524,   525,
8863      526,   527,   528,   529,   530,   531,   532,   533,   534,   535,
8864      536,   537,   538,     0,   539,   540,     0,   541,   542,   543,
8865      544,   545,   546,   547,     0,   548,   549,   550,     0,     0,
8866      551,   552,   553,   554,   555,  1932,   556,   557,   558,   559,
8867      560,   561,   562,   563,     0,     0,   564,   565,   566,   567,
8868      568,     0,     0,   569,   570,   571,   572,   573,   574,   575,
8869        0,   576,   577,   578,   579,   580,   581,     0,     0,   582,
8870        0,     0,   583,   584,   585,   586,   587,   588,   589,   590,
8871      591,   592,   593,   594,   595,   596,   597,   598,   599,   600,
8872      601,   602,     0,   877,     0,  1515,   670,     0,     0,  1516,
8873     1517,   730,     0,     0,     0,     0,     0,     0,     0,     0,
8874      230,   231,   232,   233,   234,   235,   236,   237,     0,   238,
8875      239,   240,     0,     0,     0,     0,     0,     0,     0,   241,
8876      242,     0,   243,   244,   245,   246,   247,   248,   249,   250,
8877      251,   252,   253,   254,     0,   255,   256,   257,   258,   259,
8878      260,     0,     0,   261,   262,   263,   264,   265,     0,   266,
8879      267,   268,   269,   270,     0,   271,     0,   272,   273,   274,
8880      275,   276,   277,   278,   279,   280,     0,   281,   282,   283,
8881      284,   285,   286,     0,   287,   288,   289,   290,     0,     0,
8882        0,   291,     0,     0,     0,   292,   293,   294,   295,   296,
8883      297,   298,   299,   300,  2116,   301,     0,   302,   303,   304,
8884      305,   306,   307,     0,   308,   309,   310,   311,     0,     0,
8885      312,   313,   314,   315,   316,     0,   317,   318,   319,     0,
8886      320,   321,   322,     0,   323,   324,   325,   326,   327,   328,
8887      329,   330,   331,   332,  1930,   333,     0,   334,   335,   336,
8888      337,     0,   338,     0,   339,   340,     0,   341,   342,   343,
8889      344,   345,     0,   346,   347,     0,   348,   349,   350,     0,
8890      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
8891        0,   361,   362,   363,   364,   365,   366,   367,     0,   368,
8892      369,   370,   371,   372,   373,   374,   375,   376,     0,   377,
8893        0,   378,   379,   380,   381,   382,   383,   384,   385,   386,
8894      387,     0,     0,   388,   389,   390,   391,   392,     0,   393,
8895      394,   395,     0,     0,   396,   397,   398,   399,   400,   401,
8896      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
8897      412,   413,   414,   415,   416,   417,   418,   419,   420,   421,
8898      422,   423,   424,     0,   425,   426,   427,   428,     0,   429,
8899      430,   431,   432,   433,   434,     0,   435,   436,  1931,     0,
8900      437,   438,   439,     0,     0,   440,   441,   442,   443,   444,
8901      445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
8902      455,     0,     0,   456,   457,   458,   459,   460,   461,   462,
8903      463,     0,   464,   465,   466,   467,   468,   469,   470,   471,
8904      472,   473,   474,   475,   476,   477,   478,     0,   479,   480,
8905      481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
8906        0,   491,   492,   493,   494,   495,   496,   497,   498,   499,
8907      500,   501,   502,   503,   504,   505,   506,   507,   508,     0,
8908      509,   510,   511,   512,   513,     0,   514,   515,   516,   517,
8909      518,   519,   520,   521,   522,   523,     0,   524,   525,   526,
8910      527,   528,   529,   530,   531,   532,   533,   534,   535,   536,
8911      537,   538,     0,   539,   540,     0,   541,   542,   543,   544,
8912      545,   546,   547,     0,   548,   549,   550,     0,     0,   551,
8913      552,   553,   554,   555,  1932,   556,   557,   558,   559,   560,
8914      561,   562,   563,     0,     0,   564,   565,   566,   567,   568,
8915        0,     0,   569,   570,   571,   572,   573,   574,   575,     0,
8916      576,   577,   578,   579,   580,   581,     0,     0,   582,     0,
8917        0,   583,   584,   585,   586,   587,   588,   589,   590,   591,
8918      592,   593,   594,   595,   596,   597,   598,   599,   600,   601,
8919      602,     0,   877,     0,  1515,   670,     0,     0,  1516,  1517,
8920      730,     0,     0,     0,     0,     0,     0,     0,     0,   230,
8921      231,   232,   233,   234,   235,   236,   237,     0,   238,   239,
8922      240,     0,     0,     0,     0,     0,     0,     0,   241,   242,
8923        0,   243,   244,   245,   246,   247,   248,   249,   250,   251,
8924      252,   253,   254,     0,   255,   256,   257,   258,   259,   260,
8925        0,     0,   261,   262,   263,   264,   265,     0,   266,   267,
8926      268,   269,   270,     0,   271,     0,   272,   273,   274,   275,
8927      276,   277,   278,   279,   280,     0,   281,   282,   283,   284,
8928      285,   286,     0,   287,   288,   289,   290,     0,     0,     0,
8929      291,     0,     0,     0,   292,   293,   294,   295,   296,   297,
8930      298,   299,   300,     0,   301,     0,   302,   303,   304,   305,
8931      306,   307,     0,   308,   309,   310,   311,     0,     0,   312,
8932      313,   314,   315,   316,     0,   317,   318,   319,     0,   320,
8933      321,   322,     0,   323,   324,   325,   326,   327,   328,   329,
8934      330,   331,   332,  1930,   333,     0,   334,   335,   336,   337,
8935        0,   338,     0,   339,   340,     0,   341,   342,   343,   344,
8936      345,     0,   346,   347,     0,   348,   349,   350,     0,   351,
8937      352,   353,   354,   355,   356,   357,   358,   359,   360,     0,
8938      361,   362,   363,   364,   365,   366,   367,     0,   368,   369,
8939      370,   371,   372,   373,   374,   375,   376,     0,   377,     0,
8940      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
8941        0,     0,   388,   389,   390,   391,   392,     0,   393,   394,
8942      395,     0,     0,   396,   397,   398,   399,   400,   401,   402,
8943      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
8944      413,   414,   415,   416,   417,   418,   419,   420,   421,   422,
8945      423,   424,     0,   425,   426,   427,   428,     0,   429,   430,
8946      431,   432,   433,   434,     0,   435,   436,  1931,     0,   437,
8947      438,   439,     0,     0,   440,   441,   442,   443,   444,   445,
8948      446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
8949        0,     0,   456,   457,   458,   459,   460,   461,   462,   463,
8950        0,   464,   465,   466,   467,   468,   469,   470,   471,   472,
8951      473,   474,   475,   476,   477,   478,     0,   479,   480,   481,
8952      482,   483,   484,   485,   486,   487,   488,   489,   490,     0,
8953      491,   492,   493,   494,   495,   496,   497,   498,   499,   500,
8954      501,   502,   503,   504,   505,   506,   507,   508,     0,   509,
8955      510,   511,   512,   513,     0,   514,   515,   516,   517,   518,
8956      519,   520,   521,   522,   523,     0,   524,   525,   526,   527,
8957      528,   529,   530,   531,   532,   533,   534,   535,   536,   537,
8958      538,     0,   539,   540,     0,   541,   542,   543,   544,   545,
8959      546,   547,     0,   548,   549,   550,     0,     0,   551,   552,
8960      553,   554,   555,  1932,   556,   557,   558,   559,   560,   561,
8961      562,   563,     0,     0,   564,   565,   566,   567,   568,     0,
8962        0,   569,   570,   571,   572,   573,   574,   575,     0,   576,
8963      577,   578,   579,   580,   581,     0,     0,   582,     0,     0,
8964      583,   584,   585,   586,   587,   588,   589,   590,   591,   592,
8965      593,   594,   595,   596,   597,   598,   599,   600,   601,   602,
8966        0,   877,     0,     0,   670,     0,     0,  1516,  1517,   730,
8967        0,     0,     0,     0,     0,     0,     0,     0,   230,   231,
8968      232,   233,   234,   235,   236,   237,     0,   238,   239,   240,
8969        0,     0,     0,     0,     0,     0,     0,   241,   242,     0,
8970      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
8971      253,   254,     0,   255,   256,   257,   258,   259,   260,     0,
8972        0,   261,   262,   263,   264,   265,     0,   266,   267,   268,
8973      269,   270,     0,   271,     0,   272,   273,   274,   275,   276,
8974      277,   278,   279,   280,     0,   281,   282,   283,   284,   285,
8975      286,     0,   287,   288,   289,   290,     0,     0,     0,   291,
8976        0,     0,     0,   292,   293,   294,   295,   296,   297,   298,
8977      299,   300,  2982,   301,     0,   302,   303,   304,   305,   306,
8978      307,     0,   308,   309,   310,   311,     0,     0,   312,   313,
8979      314,   315,   316,     0,   317,   318,   319,     0,   320,   321,
8980      322,     0,   323,   324,   325,   326,   327,   328,   329,   330,
8981      331,   332,  1930,   333,     0,   334,   335,   336,   337,     0,
8982      338,     0,   339,   340,     0,   341,   342,   343,   344,   345,
8983        0,   346,   347,     0,   348,   349,   350,     0,   351,   352,
8984      353,   354,   355,   356,   357,   358,   359,   360,     0,   361,
8985      362,   363,   364,   365,   366,   367,     0,   368,   369,   370,
8986      371,   372,   373,   374,   375,   376,     0,   377,     0,   378,
8987      379,   380,   381,   382,   383,   384,   385,   386,   387,     0,
8988        0,   388,   389,   390,   391,   392,     0,   393,   394,   395,
8989        0,     0,   396,   397,   398,   399,   400,   401,   402,   403,
8990      404,   405,   406,   407,   408,   409,   410,   411,   412,   413,
8991      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
8992      424,     0,   425,   426,   427,   428,     0,   429,   430,   431,
8993      432,   433,   434,     0,   435,   436,  1931,     0,   437,   438,
8994      439,     0,     0,   440,   441,   442,   443,   444,   445,   446,
8995      447,   448,   449,   450,   451,   452,   453,   454,   455,     0,
8996        0,   456,   457,   458,   459,   460,   461,   462,   463,     0,
8997      464,   465,   466,   467,   468,   469,   470,   471,   472,   473,
8998      474,   475,   476,   477,   478,     0,   479,   480,   481,   482,
8999      483,   484,   485,   486,   487,   488,   489,   490,     0,   491,
9000      492,   493,   494,   495,   496,   497,   498,   499,   500,   501,
9001      502,   503,   504,   505,   506,   507,   508,     0,   509,   510,
9002      511,   512,   513,     0,   514,   515,   516,   517,   518,   519,
9003      520,   521,   522,   523,     0,   524,   525,   526,   527,   528,
9004      529,   530,   531,   532,   533,   534,   535,   536,   537,   538,
9005        0,   539,   540,     0,   541,   542,   543,   544,   545,   546,
9006      547,     0,   548,   549,   550,     0,     0,   551,   552,   553,
9007      554,   555,  1932,   556,   557,   558,   559,   560,   561,   562,
9008      563,     0,     0,   564,   565,   566,   567,   568,     0,     0,
9009      569,   570,   571,   572,   573,   574,   575,     0,   576,   577,
9010      578,   579,   580,   581,     0,     0,   582,     0,     0,   583,
9011      584,   585,   586,   587,   588,   589,   590,   591,   592,   593,
9012      594,   595,   596,   597,   598,   599,   600,   601,   602,     0,
9013      610,     0,     0,     0,     0,     0,   742,   743,   730,     0,
9014        0,     0,     0,     0,     0,     0,     0,   230,   731,   232,
9015      233,   234,   235,   236,   237,   732,   238,   239,   240,     0,
9016        0,     0,     0,     0,     0,     0,   241,   242,     0,   243,
9017      244,   245,     0,   733,   248,   249,   250,   251,     0,   253,
9018      254,     0,   255,   256,   257,   258,   259,   260,     0,     0,
9019      261,   262,   263,   264,   265,     0,   266,   267,   268,   269,
9020      270,     0,     0,     0,   272,   273,   274,   275,   276,     0,
9021      278,   279,   280,     0,   281,   282,   283,   284,   285,   286,
9022        0,     0,   288,   289,   290,     0,     0,     0,     0,     0,
9023        0,     0,   292,   293,   294,   295,   296,   297,   298,   299,
9024      300,     0,   301,     0,   302,   303,   304,   305,   306,   307,
9025        0,   308,   309,   310,   311,     0,     0,   312,   313,   314,
9026      315,   316,     0,   317,   318,   319,     0,   320,   321,   322,
9027        0,   323,   324,   325,   326,   327,   328,   329,   330,   331,
9028      332,     0,   333,     0,   334,   734,   336,   337,     0,   338,
9029        0,   735,     0,   736,     0,   342,   343,   344,   345,     0,
9030      346,   347,     0,   348,   349,   350,     0,   351,   352,   353,
9031      354,   355,     0,   357,   358,   359,   360,   737,   361,   362,
9032      363,   364,   365,   366,   367,     0,   368,     0,   370,   371,
9033      372,   373,   374,   375,   376,     0,   377,     0,   378,     0,
9034        0,   381,     0,   383,   384,   385,   386,   738,     0,     0,
9035      388,   389,     0,   391,     0,     0,   393,   394,   395,     0,
9036        0,   396,   397,   398,   399,   400,   401,   402,   403,   404,
9037      405,   406,   407,   408,   409,   410,   411,   412,     0,   414,
9038      415,   739,   417,   418,   419,   420,   421,   422,   423,   424,
9039        0,   425,   426,     0,   428,     0,   429,   430,   431,   432,
9040      433,   434,     0,   435,   436,     0,     0,   437,   438,   439,
9041        0,     0,   440,   441,   442,     0,   444,     0,   446,   447,
9042      448,   449,   450,   451,   452,   453,   454,   455,     0,     0,
9043      456,   457,   458,   459,   460,   461,   462,   463,     0,   740,
9044      465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
9045      475,   476,   477,   478,     0,   479,   480,   481,   741,   483,
9046      484,   485,   486,   487,   488,   489,   490,     0,   491,   492,
9047        0,   494,   495,   496,   497,   498,   499,   500,   501,   502,
9048      503,   504,   505,   506,   507,   508,     0,   509,   510,   511,
9049      512,   513,     0,   514,   515,   516,   517,   518,     0,   520,
9050      521,   522,   523,     0,   524,   525,   526,   527,   528,   529,
9051      530,   531,   532,   533,   534,   535,   536,   537,   538,     0,
9052      539,   540,     0,   541,     0,   543,   544,   545,   546,   547,
9053        0,   548,   549,   550,     0,     0,   551,   552,   553,   554,
9054      555,     0,   556,   557,   558,   559,   560,   561,   562,   563,
9055        0,     0,   564,   565,   566,   567,   568,     0,     0,   569,
9056      570,   571,   572,   573,   574,   575,     0,   576,     0,   578,
9057      579,   580,   581,     0,     0,   582,     0,     0,   583,   584,
9058      585,   586,   587,   588,   589,   590,   591,   592,   593,   594,
9059      595,   596,   597,   598,   599,   600,   601,   602,     0,  1646,
9060        0,  5514,   670,     0,     0,   742,   743,   730,     0,     0,
9061        0,     0,     0,     0,     0,     0,   230,   231,   232,   233,
9062      234,   235,   236,   237,  1647,   238,   239,   240,  1648,  1649,
9063     1650,  1651,  1652,  1653,  1654,   241,   242,  1655,   243,   244,
9064      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
9065     1656,   255,   256,   257,   258,   259,   260,  1657,  1658,   261,
9066      262,   263,   264,   265,  1659,   266,   267,   268,   269,   270,
9067     1660,   271,  1661,   272,   273,   274,   275,   276,   277,   278,
9068      279,   280,  1662,   281,   282,   283,   284,   285,   286,  1663,
9069      287,   288,   289,   290,  1664,  1665,  1666,   291,  1667,  1668,
9070     1669,   292,   293,   294,   295,   296,   297,   298,   299,   300,
9071     1670,   301,  1671,   302,   303,   304,   305,   306,   307,  1672,
9072      308,   309,   310,   311,  1673,  1674,   312,   313,   314,   315,
9073      316,  1675,   317,   318,   319,  1676,   320,   321,   322,  1677,
9074      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
9075     1678,   333,  1679,   334,   335,   336,   337,  1680,   338,  1681,
9076      339,   340,  1682,   341,   342,   343,   344,   345,  1683,   346,
9077      347,  1684,   348,   349,   350,  1685,   351,   352,   353,   354,
9078      355,   356,   357,   358,   359,   360,  1686,   361,   362,   363,
9079      364,   365,   366,   367,  1687,   368,   369,   370,   371,   372,
9080      373,   374,   375,   376,  1688,   377,  1689,   378,   379,   380,
9081      381,   382,   383,   384,   385,   386,   387,  1690,  1691,   388,
9082      389,   390,   391,   392,  1692,   393,   394,   395,  1693,  1694,
9083      396,   397,   398,   399,   400,   401,   402,   403,   404,   405,
9084      406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
9085      416,   417,   418,   419,   420,   421,   422,   423,   424,  1695,
9086      425,   426,   427,   428,  1696,   429,   430,   431,   432,   433,
9087      434,  1697,   435,   436,  1698,  1699,   437,   438,   439,  1700,
9088     1701,   440,   441,   442,   443,   444,   445,   446,   447,   448,
9089      449,   450,   451,   452,   453,   454,   455,     0,  1702,   456,
9090      457,   458,   459,   460,   461,   462,   463,  1703,   464,   465,
9091      466,   467,   468,   469,   470,   471,   472,   473,   474,   475,
9092      476,   477,   478,  1704,   479,   480,   481,   482,   483,   484,
9093      485,   486,   487,   488,   489,   490,  1705,   491,   492,   493,
9094      494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
9095      504,   505,   506,   507,   508,  1706,   509,   510,   511,   512,
9096      513,  1707,   514,   515,   516,   517,   518,   519,   520,   521,
9097      522,   523,  1708,   524,   525,   526,   527,   528,   529,   530,
9098      531,   532,   533,   534,   535,   536,   537,   538,  1709,   539,
9099      540,  1710,   541,   542,   543,   544,   545,   546,   547,  1711,
9100      548,   549,   550,  1712,  1713,   551,   552,   553,   554,   555,
9101     1714,   556,   557,   558,   559,   560,   561,   562,   563,  1715,
9102     1716,   564,   565,   566,   567,   568,  1717,  1718,   569,   570,
9103      571,   572,   573,   574,   575,  1719,   576,   577,   578,   579,
9104      580,   581,  1720,  1721,   582,  1722,  1723,   583,   584,   585,
9105      586,   587,   588,   589,   590,   591,   592,   593,   594,   595,
9106      596,   597,   598,   599,   600,   601,   602,  1646,     0,     0,
9107        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9108        0,     0,     0,     0,   230,   231,   232,   233,   234,   235,
9109      236,   237,  1647,   238,   239,   240,  1648,  1649,  1650,  1651,
9110     1652,  1653,  1654,   241,   242,  1655,   243,   244,   245,   246,
9111      247,   248,   249,   250,   251,   252,   253,   254,  1656,   255,
9112      256,   257,   258,   259,   260,  1657,  1658,   261,   262,   263,
9113      264,   265,  1659,   266,   267,   268,   269,   270,  1660,   271,
9114     1661,   272,   273,   274,   275,   276,   277,   278,   279,   280,
9115     1662,   281,   282,   283,   284,   285,   286,  1663,   287,   288,
9116      289,   290,  1664,  1665,  1666,   291,  1667,  1668,  1669,   292,
9117      293,   294,   295,   296,   297,   298,   299,   300,  1670,   301,
9118     1671,   302,   303,   304,   305,   306,   307,  1672,   308,   309,
9119      310,   311,  1673,  1674,   312,   313,   314,   315,   316,  1675,
9120      317,   318,   319,  1676,   320,   321,   322,  1677,   323,   324,
9121      325,   326,   327,   328,   329,   330,   331,   332,  1678,   333,
9122     1679,   334,   335,   336,   337,  1680,   338,  1681,   339,   340,
9123     1682,   341,   342,   343,   344,   345,  1683,   346,   347,  1684,
9124      348,   349,   350,  1685,   351,   352,   353,   354,   355,   356,
9125      357,   358,   359,   360,  1686,   361,   362,   363,   364,   365,
9126      366,   367,  1687,   368,   369,   370,   371,   372,   373,   374,
9127      375,   376,  1688,   377,  1689,   378,   379,   380,   381,   382,
9128      383,   384,   385,   386,   387,  1690,  1691,   388,   389,   390,
9129      391,   392,  1692,   393,   394,   395,  1693,  1694,   396,   397,
9130      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
9131      408,   409,   410,   411,   412,   413,   414,   415,   416,   417,
9132      418,   419,   420,   421,   422,   423,   424,  1695,   425,   426,
9133      427,   428,  1696,   429,   430,   431,   432,   433,   434,  1697,
9134      435,   436,  1698,  1699,   437,   438,   439,  1700,  1701,   440,
9135      441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
9136      451,   452,   453,   454,   455,     0,  1702,   456,   457,   458,
9137      459,   460,   461,   462,   463,  1703,   464,   465,   466,   467,
9138      468,   469,   470,   471,   472,   473,   474,   475,   476,   477,
9139      478,  1704,   479,   480,   481,   482,   483,   484,   485,   486,
9140      487,   488,   489,   490,  1705,   491,   492,   493,   494,   495,
9141      496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
9142      506,   507,   508,  1706,   509,   510,   511,   512,   513,  1707,
9143      514,   515,   516,   517,   518,   519,   520,   521,   522,   523,
9144     1708,   524,   525,   526,   527,   528,   529,   530,   531,   532,
9145      533,   534,   535,   536,   537,   538,  1709,   539,   540,  1710,
9146      541,   542,   543,   544,   545,   546,   547,  1711,   548,   549,
9147      550,  1712,  1713,   551,   552,   553,   554,   555,  1714,   556,
9148      557,   558,   559,   560,   561,   562,   563,  1715,  1716,   564,
9149      565,   566,   567,   568,  1717,  1718,   569,   570,   571,   572,
9150      573,   574,   575,  1719,   576,   577,   578,   579,   580,   581,
9151     1720,  1721,   582,  1722,  1723,   583,   584,   585,   586,   587,
9152      588,   589,   590,   591,   592,   593,   594,   595,   596,   597,
9153      598,   599,   600,   601,   602,  1646,     0,     0,     0,     0,
9154        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9155        0,     0,   230,   231,   232,   233,  3099,   235,   236,   237,
9156     1647,   238,   239,   240,  1648,  1649,  1650,  1651,  1652,  1653,
9157     1654,   241,   242,  1655,   243,   244,   245,   246,   247,   248,
9158      249,   250,   251,   252,   253,   254,  1656,   255,   256,   257,
9159      258,   259,   260,  1657,  1658,   261,   262,   263,   264,   265,
9160     1659,   266,   267,   268,   269,   270,  1660,   271,  1661,   272,
9161      273,   274,   275,   276,   277,   278,   279,   280,  1662,   281,
9162      282,   283,   284,   285,   286,  1663,   287,   288,   289,   290,
9163     1664,  1665,  1666,   291,  1667,  1668,  1669,   292,   293,   294,
9164      295,   296,   297,   298,   299,   300,  1670,   301,  1671,   302,
9165      303,   304,   305,   306,   307,  1672,   308,   309,   310,   311,
9166     1673,  1674,   312,   313,   314,  3100,   316,  1675,   317,   318,
9167      319,  1676,   320,   321,   322,  1677,   323,   324,   325,   326,
9168      327,   328,   329,   330,   331,   332,  1678,   333,  1679,   334,
9169      335,   336,   337,  1680,   338,  1681,   339,   340,  1682,   341,
9170      342,   343,   344,   345,  1683,   346,   347,  1684,   348,   349,
9171      350,  1685,   351,   352,   353,   354,   355,   356,   357,   358,
9172      359,   360,  1686,   361,   362,   363,   364,   365,   366,   367,
9173     1687,   368,   369,   370,   371,   372,   373,   374,   375,   376,
9174     1688,   377,  1689,   378,   379,   380,   381,   382,   383,   384,
9175      385,   386,   387,  1690,  1691,   388,   389,   390,   391,   392,
9176     1692,   393,   394,   395,  1693,  1694,   396,   397,   398,   399,
9177      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
9178      410,   411,   412,   413,   414,   415,   416,   417,   418,   419,
9179      420,   421,   422,   423,   424,  1695,   425,   426,   427,   428,
9180     1696,   429,   430,   431,   432,   433,   434,  1697,   435,   436,
9181     1698,  1699,   437,   438,   439,  1700,  1701,   440,   441,   442,
9182      443,   444,   445,   446,   447,   448,   449,   450,   451,   452,
9183      453,   454,   455,     0,  1702,   456,   457,   458,   459,   460,
9184      461,   462,   463,  1703,   464,   465,   466,   467,   468,   469,
9185      470,   471,   472,   473,   474,   475,   476,   477,   478,  1704,
9186      479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
9187      489,   490,  1705,   491,   492,   493,   494,   495,   496,   497,
9188      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
9189      508,  1706,   509,   510,   511,   512,   513,  1707,  3101,   515,
9190      516,   517,   518,   519,   520,   521,   522,   523,  1708,   524,
9191      525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
9192      535,   536,   537,   538,  1709,   539,   540,  1710,   541,   542,
9193      543,   544,   545,   546,   547,  1711,   548,   549,   550,  1712,
9194     1713,   551,   552,   553,   554,   555,  1714,   556,   557,   558,
9195      559,   560,   561,   562,   563,  1715,  1716,   564,   565,   566,
9196      567,   568,  1717,  1718,   569,   570,   571,   572,   573,   574,
9197      575,  1719,   576,   577,   578,   579,   580,   581,  1720,  1721,
9198      582,  1722,  1723,   583,   584,   585,   586,   587,   588,   589,
9199      590,   591,   592,   593,   594,   595,   596,   597,   598,   599,
9200      600,   601,   602,   229,     0,     0,     0,     0,     0,     0,
9201        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9202      230,   231,   232,   233,   234,   235,   236,   237,     0,   238,
9203      239,   240,     0,     0,     0,     0,     0,     0,     0,   241,
9204      242,     0,   243,   244,   245,   246,   247,   248,   249,   250,
9205      251,   252,   253,   254,     0,   255,   256,   257,   258,   259,
9206      260,     0,  1241,   261,   262,   263,   264,   265,     0,   266,
9207      267,   268,   269,  1244,     0,  1245,     0,   272,   273,   274,
9208      275,   276,   277,   278,   279,   280,     0,   281,   282,   283,
9209      284,   285,   286,     0,   287,   288,   289,   290,  1246,  1247,
9210     1248,  1249,  1250,  1251,  1252,   292,   293,   294,   295,   296,
9211      297,   298,   299,   300,     0,   301,     0,   302,   303,   304,
9212      305,   306,   307,     0,   308,   309,   310,   311,     0,     0,
9213      312,   313,   314,   315,   316,     0,   317,   318,   319,     0,
9214      320,   321,   322,     0,   323,   324,   325,   326,   327,   328,
9215      329,   330,   331,  1257,     0,   333,     0,   334,   335,   336,
9216      337,     0,   338,     0,   339,   340,     0,   341,   342,   343,
9217      344,   345,     0,   346,  1260,     0,   348,   349,   350,     0,
9218      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
9219        0,   361,   362,   363,   364,   365,   366,   367,     0,   368,
9220      369,   370,   371,   372,   373,   374,   375,   376,     0,   377,
9221        0,   378,   379,   380,   381,   382,   383,   384,   385,   386,
9222      387,     0,     0,   388,  1265,   390,   391,   392,     0,   393,
9223      394,   395,  1266,  1267,   396,   397,   398,   399,   400,   401,
9224      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
9225      412,   413,   414,   415,   416,   417,   418,   419,   420,   421,
9226      422,  1270,   424,     0,   425,   426,   427,   428,     0,  1273,
9227      430,   431,   432,   433,   434,     0,   435,   436,     0,     0,
9228      437,   438,   439,     0,     0,   440,   441,   442,   443,   444,
9229      445,  1276,   447,   448,   449,   450,   451,   452,   453,   454,
9230      455,     0,     0,   456,   457,  1277,   459,   460,   461,   462,
9231      463,     0,   464,   465,   466,   467,   468,   469,   470,   471,
9232      472,   473,   474,   475,   476,   477,   478,     0,   479,   480,
9233      481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
9234        0,   491,   492,   493,   494,   495,   496,   497,   498,   499,
9235      500,   501,   502,   503,   504,   505,   506,   507,   508,     0,
9236      509,   510,   511,   512,   513,  1280,   514,   515,   516,   517,
9237      518,   519,   520,   521,   522,   523,     0,   524,   525,   526,
9238      527,   528,   529,   530,   531,   532,   533,   534,   535,   536,
9239     1282,   538,     0,   539,   540,     0,   541,   542,   543,   544,
9240      545,   546,   547,     0,   548,   549,   550,     0,     0,   551,
9241      552,  1285,   554,  1286,     0,   556,   557,   558,   559,   560,
9242      561,   562,   563,     0,     0,   564,   565,   566,   567,   568,
9243     1289,     0,   569,   570,   571,   572,   573,   574,   575,     0,
9244      576,   577,   578,   579,   580,   581,     0,     0,   582,     0,
9245        0,   583,   584,   585,   586,   587,   588,   589,  1291,  1292,
9246     1293,  1294,   594,  1295,  1296,  1297,  1298,   599,   600,   601,
9247      602,   877,     0,     0,   670,     0,     0,     0,     0,     0,
9248        0,     0,     0,     0,     0,     0,     0,     0,   230,   231,
9249      232,   233,   234,   235,   236,   237,     0,   238,   239,   240,
9250        0,     0,     0,     0,     0,     0,     0,   241,   242,     0,
9251      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
9252      253,   254,     0,   255,   256,   257,   258,   259,   260,     0,
9253        0,   261,   262,   263,   264,   265,     0,   266,   267,   268,
9254      269,   270,     0,   271,     0,   272,   273,   274,   275,   276,
9255      277,   278,   279,   280,     0,   281,   282,   283,   284,   285,
9256      286,     0,   287,   288,   289,   290,     0,     0,     0,   291,
9257        0,     0,     0,   292,   293,   294,   295,   296,   297,   298,
9258      299,   300,     0,   301,     0,   302,   303,   304,   305,   306,
9259      307,     0,   308,   309,   310,   311,     0,     0,   312,   313,
9260      314,   315,   316,     0,   317,   318,   319,     0,   320,   321,
9261      322,     0,   323,   324,   325,   326,   327,   328,   329,   330,
9262      331,   332,  1930,   333,     0,   334,   335,   336,   337,     0,
9263      338,     0,   339,   340,     0,   341,   342,   343,   344,   345,
9264        0,   346,   347,     0,   348,   349,   350,     0,   351,   352,
9265      353,   354,   355,   356,   357,   358,   359,   360,     0,   361,
9266      362,   363,   364,   365,   366,   367,     0,   368,   369,   370,
9267      371,   372,   373,   374,   375,   376,     0,   377,     0,   378,
9268      379,   380,   381,   382,   383,   384,   385,   386,   387,     0,
9269        0,   388,   389,   390,   391,   392,     0,   393,   394,   395,
9270        0,     0,   396,   397,   398,   399,   400,   401,   402,   403,
9271      404,   405,   406,   407,   408,   409,   410,   411,   412,   413,
9272      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
9273      424,     0,   425,   426,   427,   428,     0,   429,   430,   431,
9274      432,   433,   434,     0,   435,   436,  1931,     0,   437,   438,
9275      439,     0,     0,   440,   441,   442,   443,   444,   445,   446,
9276      447,   448,   449,   450,   451,   452,   453,   454,   455,     0,
9277        0,   456,   457,   458,   459,   460,   461,   462,   463,     0,
9278      464,   465,   466,   467,   468,   469,   470,   471,   472,   473,
9279      474,   475,   476,   477,   478,     0,   479,   480,   481,   482,
9280      483,   484,   485,   486,   487,   488,   489,   490,     0,   491,
9281      492,   493,   494,   495,   496,   497,   498,   499,   500,   501,
9282      502,   503,   504,   505,   506,   507,   508,     0,   509,   510,
9283      511,   512,   513,     0,   514,   515,   516,   517,   518,   519,
9284      520,   521,   522,   523,     0,   524,   525,   526,   527,   528,
9285      529,   530,   531,   532,   533,   534,   535,   536,   537,   538,
9286        0,   539,   540,     0,   541,   542,   543,   544,   545,   546,
9287      547,     0,   548,   549,   550,     0,     0,   551,   552,   553,
9288      554,   555,  1932,   556,   557,   558,   559,   560,   561,   562,
9289      563,     0,     0,   564,   565,   566,   567,   568,     0,     0,
9290      569,   570,   571,   572,   573,   574,   575,     0,   576,   577,
9291      578,   579,   580,   581,     0,     0,   582,     0,     0,   583,
9292      584,   585,   586,   587,   588,   589,   590,   591,   592,   593,
9293      594,   595,   596,   597,   598,   599,   600,   601,   602,   877,
9294        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9295        0,     0,     0,     0,     0,     0,   230,   231,   232,   233,
9296      234,   235,   236,   237,   915,   238,   239,   240,     0,     0,
9297        0,     0,     0,     0,     0,   241,   242,     0,   243,   244,
9298      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
9299        0,   255,   256,   257,   258,   259,   260,     0,     0,   261,
9300      262,   263,   264,   265,     0,   266,   267,   268,   269,   270,
9301        0,   271,     0,   272,   273,   274,   275,   276,   277,   278,
9302      279,   280,     0,   281,   282,   283,   284,   285,   286,     0,
9303      287,   288,   289,   290,     0,     0,     0,   291,     0,     0,
9304      878,   292,   293,   294,   295,   296,   297,   298,   299,   300,
9305        0,   301,     0,   302,   303,   304,   305,   306,   307,     0,
9306      308,   309,   310,   311,     0,     0,   312,   313,   314,   315,
9307      316,     0,   317,   318,   319,     0,   320,   321,   322,     0,
9308      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
9309        0,   333,     0,   334,   335,   336,   337,     0,   338,     0,
9310      339,   340,     0,   341,   342,   343,   344,   345,     0,   346,
9311      347,     0,   348,   349,   350,     0,   351,   352,   353,   354,
9312      355,   356,   357,   358,   359,   360,     0,   361,   362,   363,
9313      364,   365,   366,   367,     0,   368,   369,   370,   371,   372,
9314      373,   374,   375,   376,     0,   377,     0,   378,   379,   380,
9315      381,   382,   383,   384,   385,   386,   387,     0,     0,   388,
9316      389,   390,   391,   392,     0,   393,   394,   395,     0,     0,
9317      396,   397,   398,   399,   400,   401,   402,   403,   404,   405,
9318      406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
9319      416,   417,   418,   419,   420,   421,   422,   423,   424,     0,
9320      425,   426,   427,   428,     0,   429,   430,   431,   432,   433,
9321      434,     0,   435,   436,     0,     0,   437,   438,   439,     0,
9322        0,   440,   441,   442,   443,   444,   445,   446,   447,   448,
9323      449,   450,   451,   452,   453,   454,   455,     0,     0,   456,
9324      457,   458,   459,   460,   461,   462,   463,     0,   464,   465,
9325      466,   467,   468,   469,   470,   471,   472,   473,   474,   475,
9326      476,   477,   478,     0,   479,   480,   481,   482,   483,   484,
9327      485,   486,   487,   488,   489,   490,     0,   491,   492,   493,
9328      494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
9329      504,   505,   506,   507,   508,     0,   509,   510,   511,   512,
9330      513,   879,   514,   515,   516,   517,   518,   519,   520,   521,
9331      522,   523,     0,   524,   525,   526,   527,   528,   529,   530,
9332      531,   532,   533,   534,   535,   536,   537,   538,     0,   539,
9333      540,     0,   541,   542,   543,   544,   545,   546,   547,     0,
9334      548,   549,   550,     0,     0,   551,   552,   553,   554,   555,
9335        0,   556,   557,   558,   559,   560,   561,   562,   563,     0,
9336        0,   564,   565,   566,   567,   568,     0,     0,   569,   570,
9337      571,   572,   573,   574,   575,     0,   576,   577,   578,   579,
9338      580,   581,     0,     0,   582,     0,     0,   583,   584,   585,
9339      586,   587,   588,   589,   590,   591,   592,   593,   594,   595,
9340      596,   597,   598,   599,   600,   601,   602,   877,     0,     0,
9341        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9342        0,     0,     0,     0,   230,   231,   232,   233,   234,   235,
9343      236,   237,   936,   238,   239,   240,     0,     0,     0,     0,
9344        0,     0,     0,   241,   242,     0,   243,   244,   245,   246,
9345      247,   248,   249,   250,   251,   252,   253,   254,     0,   255,
9346      256,   257,   258,   259,   260,     0,     0,   261,   262,   263,
9347      264,   265,     0,   266,   267,   268,   269,   270,     0,   271,
9348        0,   272,   273,   274,   275,   276,   277,   278,   279,   280,
9349        0,   281,   282,   283,   284,   285,   286,     0,   287,   288,
9350      289,   290,     0,     0,     0,   291,     0,     0,   878,   292,
9351      293,   294,   295,   296,   297,   298,   299,   300,     0,   301,
9352        0,   302,   303,   304,   305,   306,   307,     0,   308,   309,
9353      310,   311,     0,     0,   312,   313,   314,   315,   316,     0,
9354      317,   318,   319,     0,   320,   321,   322,     0,   323,   324,
9355      325,   326,   327,   328,   329,   330,   331,   332,     0,   333,
9356        0,   334,   335,   336,   337,     0,   338,     0,   339,   340,
9357        0,   341,   342,   343,   344,   345,     0,   346,   347,     0,
9358      348,   349,   350,     0,   351,   352,   353,   354,   355,   356,
9359      357,   358,   359,   360,     0,   361,   362,   363,   364,   365,
9360      366,   367,     0,   368,   369,   370,   371,   372,   373,   374,
9361      375,   376,     0,   377,     0,   378,   379,   380,   381,   382,
9362      383,   384,   385,   386,   387,     0,     0,   388,   389,   390,
9363      391,   392,     0,   393,   394,   395,     0,     0,   396,   397,
9364      398,   399,   937,   401,   402,   403,   404,   405,   406,   407,
9365      408,   409,   410,   411,   412,   413,   414,   415,   416,   417,
9366      418,   419,   420,   421,   422,   423,   424,     0,   425,   426,
9367      427,   428,     0,   429,   430,   431,   432,   433,   434,     0,
9368      435,   436,     0,     0,   437,   438,   439,     0,     0,   440,
9369      441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
9370      451,   452,   453,   454,   455,     0,     0,   456,   457,   458,
9371      459,   460,   461,   462,   463,     0,   464,   465,   466,   467,
9372      468,   469,   470,   471,   472,   473,   474,   475,   476,   477,
9373      478,     0,   479,   480,   481,   482,   483,   484,   485,   486,
9374      487,   488,   489,   490,     0,   491,   492,   493,   494,   495,
9375      496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
9376      506,   507,   508,     0,   509,   510,   511,   512,   513,   879,
9377      514,   515,   516,   517,   518,   519,   520,   521,   522,   523,
9378        0,   524,   525,   526,   527,   528,   529,   530,   531,   532,
9379      533,   534,   535,   536,   537,   538,     0,   539,   540,     0,
9380      541,   542,   543,   544,   545,   546,   547,     0,   548,   549,
9381      550,     0,     0,   551,   552,   553,   554,   555,     0,   556,
9382      557,   558,   559,   560,   561,   562,   563,     0,     0,   564,
9383      565,   566,   567,   568,     0,     0,   569,   570,   571,   572,
9384      573,   574,   575,     0,   576,   577,   578,   579,   580,   581,
9385        0,     0,   582,     0,     0,   583,   584,   585,   586,   587,
9386      588,   589,   590,   591,   592,   593,   594,   595,   596,   597,
9387      598,   599,   600,   601,   602,   877,     0,     0,     0,     0,
9388        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9389        0,     0,   230,   231,   232,   233,   234,   235,   236,   237,
9390        0,   238,   239,   240,     0,     0,     0,     0,     0,     0,
9391        0,   241,   242,     0,   243,   244,   245,   246,   247,   248,
9392      249,   250,   251,   252,   253,   254,     0,   255,   256,   257,
9393      258,   259,   260,     0,     0,   261,   262,   263,   264,   265,
9394        0,   266,   267,   268,   269,   270,     0,   271,     0,   272,
9395      273,   274,   275,   276,   277,   278,   279,   280,     0,   281,
9396      282,   283,   284,   285,   286,     0,   287,   288,   289,   290,
9397        0,     0,     0,   291,     0,     0,   878,   292,   293,   294,
9398      295,   296,   297,   298,   299,   300,     0,   301,     0,   302,
9399      303,   304,   305,   306,   307,     0,   308,   309,   310,   311,
9400        0,     0,   312,   313,   314,   315,   316,     0,   317,   318,
9401      319,     0,   320,   321,   322,     0,   323,   324,   325,   326,
9402      327,   328,   329,   330,   331,   332,     0,   333,     0,   334,
9403      335,   336,   337,     0,   338,     0,   339,   340,     0,   341,
9404      342,   343,   344,   345,     0,   346,   347,     0,   348,   349,
9405      350,     0,   351,   352,   353,   354,   355,   356,   357,   358,
9406      359,   360,     0,   361,   362,   363,   364,   365,   366,   367,
9407        0,   368,   369,   370,   371,   372,   373,   374,   375,   376,
9408        0,   377,     0,   378,   379,   380,   381,   382,   383,   384,
9409      385,   386,   387,     0,     0,   388,   389,   390,   391,   392,
9410        0,   393,   394,   395,     0,     0,   396,   397,   398,   399,
9411      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
9412      410,   411,   412,   413,   414,   415,   416,   417,   418,   419,
9413      420,   421,   422,   423,   424,     0,   425,   426,   427,   428,
9414        0,   429,   430,   431,   432,   433,   434,     0,   435,   436,
9415        0,     0,   437,   438,   439,     0,     0,   440,   441,   442,
9416      443,   444,   445,   446,   447,   448,   449,   450,   451,   452,
9417      453,   454,   455,     0,     0,   456,   457,   458,   459,   460,
9418      461,   462,   463,     0,   464,   465,   466,   467,   468,   469,
9419      470,   471,   472,   473,   474,   475,   476,   477,   478,     0,
9420      479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
9421      489,   490,     0,   491,   492,   493,   494,   495,   496,   497,
9422      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
9423      508,     0,   509,   510,   511,   512,   513,   879,   514,   515,
9424      516,   517,   518,   519,   520,   521,   522,   523,     0,   524,
9425      525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
9426      535,   536,   537,   538,     0,   539,   540,     0,   541,   542,
9427      543,   544,   545,   546,   547,     0,   548,   549,   550,     0,
9428        0,   551,   552,   553,   554,   555,     0,   556,   557,   558,
9429      559,   560,   561,   562,   563,     0,     0,   564,   565,   566,
9430      567,   568,  2451,     0,   569,   570,   571,   572,   573,   574,
9431      575,     0,   576,   577,   578,   579,   580,   581,     0,     0,
9432      582,     0,     0,   583,   584,   585,   586,   587,   588,   589,
9433      590,   591,   592,   593,   594,   595,   596,   597,   598,   599,
9434      600,   601,   602,   877,     0,     0,     0,     0,     0,     0,
9435        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9436      230,   231,   232,   233,   234,   235,   236,   237,     0,   238,
9437      239,   240,     0,     0,     0,     0,     0,     0,     0,   241,
9438      242,     0,   243,   244,   245,   246,   247,   248,   249,   250,
9439      251,   252,   253,   254,     0,   255,   256,   257,   258,   259,
9440      260,     0,     0,   261,   262,   263,   264,   265,     0,   266,
9441      267,   268,   269,   270,     0,   271,     0,   272,   273,   274,
9442      275,   276,   277,   278,   279,   280,     0,   281,   282,   283,
9443      284,   285,   286,     0,   287,   288,   289,   290,     0,     0,
9444        0,   291,     0,     0,   878,   292,   293,   294,   295,   296,
9445      297,   298,   299,   300,     0,   301,     0,   302,   303,   304,
9446      305,   306,   307,     0,   308,   309,   310,   311,     0,     0,
9447      312,   313,   314,   315,   316,     0,   317,   318,   319,     0,
9448      320,   321,   322,     0,   323,   324,   325,   326,   327,   328,
9449      329,   330,   331,   332,     0,   333,     0,   334,   335,   336,
9450      337,     0,   338,     0,   339,   340,     0,   341,   342,   343,
9451      344,   345,     0,   346,   347,  3458,   348,   349,   350,     0,
9452      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
9453        0,   361,   362,   363,   364,   365,   366,   367,     0,   368,
9454      369,   370,   371,   372,   373,   374,   375,   376,     0,   377,
9455        0,   378,   379,   380,   381,   382,   383,   384,   385,   386,
9456      387,     0,     0,   388,   389,   390,   391,   392,     0,   393,
9457      394,   395,     0,     0,   396,   397,   398,   399,   400,   401,
9458      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
9459      412,   413,   414,   415,   416,   417,   418,   419,   420,   421,
9460      422,   423,   424,     0,   425,   426,   427,   428,     0,   429,
9461      430,   431,   432,   433,   434,     0,   435,   436,     0,     0,
9462      437,   438,   439,     0,     0,   440,   441,   442,   443,   444,
9463      445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
9464      455,     0,     0,   456,   457,   458,   459,   460,   461,   462,
9465      463,     0,   464,   465,   466,   467,   468,   469,   470,   471,
9466      472,   473,   474,   475,   476,   477,   478,     0,   479,   480,
9467      481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
9468        0,   491,   492,   493,   494,   495,   496,   497,   498,   499,
9469      500,   501,   502,   503,   504,   505,   506,   507,   508,     0,
9470      509,   510,   511,   512,   513,   879,   514,   515,   516,   517,
9471      518,   519,   520,   521,   522,   523,     0,   524,   525,   526,
9472      527,   528,   529,   530,   531,   532,   533,   534,   535,   536,
9473      537,   538,     0,   539,   540,     0,   541,   542,   543,   544,
9474      545,   546,   547,     0,   548,   549,   550,     0,     0,   551,
9475      552,   553,   554,   555,     0,   556,   557,   558,   559,   560,
9476      561,   562,   563,     0,     0,   564,   565,   566,   567,   568,
9477        0,     0,   569,   570,   571,   572,   573,   574,   575,     0,
9478      576,   577,   578,   579,   580,   581,     0,     0,   582,     0,
9479        0,   583,   584,   585,   586,   587,   588,   589,   590,   591,
9480      592,   593,   594,   595,   596,   597,   598,   599,   600,   601,
9481      602,   877,     0,     0,     0,     0,     0,     0,     0,     0,
9482        0,     0,     0,     0,     0,     0,     0,     0,   230,   231,
9483      232,   233,   234,   235,   236,   237,     0,   238,   239,   240,
9484        0,     0,     0,     0,     0,     0,     0,   241,   242,     0,
9485      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
9486      253,   254,     0,   255,   256,   257,   258,   259,   260,     0,
9487        0,   261,   262,   263,   264,   265,     0,   266,   267,   268,
9488      269,   270,     0,   271,     0,   272,   273,   274,   275,   276,
9489      277,   278,   279,   280,     0,   281,   282,   283,   284,   285,
9490      286,     0,   287,   288,   289,   290,     0,     0,     0,   291,
9491        0,     0,   878,   292,   293,   294,   295,   296,   297,   298,
9492      299,   300,     0,   301,     0,   302,   303,   304,   305,   306,
9493      307,     0,   308,   309,   310,   311,     0,     0,   312,   313,
9494      314,   315,   316,     0,   317,   318,   319,     0,   320,   321,
9495      322,     0,   323,   324,   325,   326,   327,   328,   329,   330,
9496      331,   332,     0,   333,     0,   334,   335,   336,   337,     0,
9497      338,     0,   339,   340,     0,   341,   342,   343,   344,   345,
9498        0,   346,   347,     0,   348,   349,   350,     0,   351,   352,
9499      353,   354,   355,   356,   357,   358,   359,   360,     0,   361,
9500      362,   363,   364,   365,   366,   367,     0,   368,   369,   370,
9501      371,   372,   373,   374,   375,   376,     0,   377,     0,   378,
9502      379,   380,   381,   382,   383,   384,   385,   386,   387,     0,
9503        0,   388,   389,   390,   391,   392,     0,   393,   394,   395,
9504        0,     0,   396,   397,   398,   399,   400,   401,   402,   403,
9505      404,   405,   406,   407,   408,   409,   410,   411,   412,   413,
9506      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
9507      424,     0,   425,   426,   427,   428,     0,   429,   430,   431,
9508      432,   433,   434,     0,   435,   436,     0,     0,   437,   438,
9509      439,     0,     0,   440,   441,   442,   443,   444,   445,   446,
9510      447,   448,   449,   450,   451,   452,   453,   454,   455,     0,
9511        0,   456,   457,   458,   459,   460,   461,   462,   463,     0,
9512      464,   465,   466,   467,   468,   469,   470,   471,   472,   473,
9513      474,   475,   476,   477,   478,     0,   479,   480,   481,   482,
9514      483,   484,   485,   486,   487,   488,   489,   490,     0,   491,
9515      492,   493,   494,   495,   496,   497,   498,   499,   500,   501,
9516      502,   503,   504,   505,   506,   507,   508,     0,   509,   510,
9517      511,   512,   513,   879,   514,   515,   516,   517,   518,   519,
9518      520,   521,   522,   523,     0,   524,   525,   526,   527,   528,
9519      529,   530,   531,   532,   533,   534,   535,   536,   537,   538,
9520        0,   539,   540,     0,   541,   542,   543,   544,   545,   546,
9521      547,     0,   548,   549,   550,     0,     0,   551,   552,   553,
9522      554,   555,     0,   556,   557,   558,   559,   560,   561,   562,
9523      563,     0,     0,   564,   565,   566,   567,   568,     0,     0,
9524      569,   570,   571,   572,   573,   574,   575,     0,   576,   577,
9525      578,   579,   580,   581,     0,     0,   582,     0,     0,   583,
9526      584,   585,   586,   587,   588,   589,   590,   591,   592,   593,
9527      594,   595,   596,   597,   598,   599,   600,   601,   602,   877,
9528        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9529        0,     0,     0,     0,     0,     0,   230,   231,   232,   233,
9530      234,   235,   236,   237,     0,   238,   239,   240,     0,     0,
9531        0,     0,     0,     0,     0,   241,   242,     0,   243,   244,
9532      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
9533        0,   255,   256,   257,   258,   259,   260,     0,     0,   261,
9534      262,   263,   264,   265,     0,   266,   267,   268,   269,   270,
9535        0,   271,     0,   272,   273,   274,   275,   276,   277,   278,
9536      279,   280,     0,   281,   282,   283,   284,   285,   286,     0,
9537      287,   288,   289,   290,     0,     0,     0,   291,     0,     0,
9538      878,   292,   293,   294,   295,   296,   297,   298,   299,   300,
9539        0,   301,     0,   302,   303,   304,   305,   306,   307,     0,
9540      308,   309,   310,   311,     0,     0,   312,   313,   314,   315,
9541      316,     0,   317,   318,   319,     0,   320,   321,   322,     0,
9542      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
9543        0,   333,     0,   334,   335,   336,   337,     0,   338,     0,
9544      339,   340,     0,   341,   342,   343,   344,   345,     0,   346,
9545      347,     0,   348,   349,   350,     0,   351,   352,   353,   354,
9546      355,   356,   357,   358,   359,   360,     0,   361,   362,   363,
9547      364,   365,   366,   367,     0,   368,   369,   370,   371,   372,
9548      373,   374,   375,   376,     0,   377,     0,   378,   379,   380,
9549      381,   382,   383,   384,   385,   386,   387,     0,     0,   388,
9550      389,   390,   391,   392,     0,   393,   394,   395,     0,     0,
9551      396,   397,   398,   399,  1042,   401,   402,   403,   404,   405,
9552      406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
9553      416,   417,   418,   419,   420,   421,   422,   423,   424,     0,
9554      425,   426,   427,   428,     0,   429,   430,   431,   432,   433,
9555      434,     0,   435,   436,     0,     0,   437,   438,   439,     0,
9556        0,   440,   441,   442,   443,   444,   445,   446,   447,   448,
9557      449,   450,   451,   452,   453,   454,   455,     0,     0,   456,
9558      457,   458,   459,   460,   461,   462,   463,     0,   464,   465,
9559      466,   467,   468,   469,   470,   471,   472,   473,   474,   475,
9560      476,   477,   478,     0,   479,   480,   481,   482,   483,   484,
9561      485,   486,   487,   488,   489,   490,     0,   491,   492,   493,
9562      494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
9563      504,   505,   506,   507,   508,     0,   509,   510,   511,   512,
9564      513,   879,   514,   515,   516,   517,   518,   519,   520,   521,
9565      522,   523,     0,   524,   525,   526,   527,   528,   529,   530,
9566      531,   532,   533,   534,   535,   536,   537,   538,     0,   539,
9567      540,     0,   541,   542,   543,   544,   545,   546,   547,     0,
9568      548,   549,   550,     0,     0,   551,   552,   553,   554,   555,
9569        0,   556,   557,   558,   559,   560,   561,   562,   563,     0,
9570        0,   564,   565,   566,   567,   568,     0,     0,   569,   570,
9571      571,   572,   573,   574,   575,     0,   576,   577,   578,   579,
9572      580,   581,     0,     0,   582,     0,     0,   583,   584,   585,
9573      586,   587,   588,   589,   590,   591,   592,   593,   594,   595,
9574      596,   597,   598,   599,   600,   601,   602,   877,     0,     0,
9575        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9576        0,     0,     0,     0,   230,   231,   232,   233,   234,   235,
9577      236,   237,     0,   238,   239,   240,     0,     0,     0,     0,
9578        0,     0,     0,   241,   242,     0,   243,   244,   245,   246,
9579      247,   248,   249,   250,   251,   252,   253,   254,     0,   255,
9580      256,   257,   258,   259,   260,     0,     0,   261,   262,   263,
9581      264,   265,     0,   266,   267,   268,   269,   270,     0,   271,
9582        0,   272,   273,   274,   275,   276,   277,   278,   279,   280,
9583        0,   281,   282,   283,   284,   285,   286,     0,   287,   288,
9584      289,   290,     0,     0,     0,   291,     0,     0,   878,   292,
9585      293,   294,   295,   296,   297,   298,   299,   300,     0,   301,
9586        0,   302,   303,   304,   305,   306,   307,     0,   308,   309,
9587      310,   311,     0,     0,   312,   313,   314,   315,   316,     0,
9588      317,   318,   319,     0,   320,   321,   322,     0,   323,   324,
9589      325,   326,   327,   328,   329,   330,   331,   332,     0,   333,
9590        0,   334,   335,   336,   337,     0,   338,     0,   339,   340,
9591        0,   341,   342,   343,   344,   345,     0,   346,   347,     0,
9592      348,   349,   350,     0,   351,   352,   353,   354,  1118,   356,
9593      357,   358,   359,   360,     0,   361,   362,   363,   364,   365,
9594      366,   367,     0,   368,   369,   370,   371,   372,   373,   374,
9595      375,   376,     0,   377,     0,   378,   379,   380,   381,   382,
9596      383,   384,   385,   386,   387,     0,     0,   388,   389,   390,
9597      391,   392,     0,   393,   394,   395,     0,     0,   396,   397,
9598      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
9599      408,   409,   410,   411,   412,   413,   414,   415,   416,   417,
9600      418,   419,   420,   421,   422,   423,   424,     0,   425,   426,
9601      427,   428,     0,   429,   430,   431,   432,   433,   434,     0,
9602      435,   436,     0,     0,   437,   438,   439,     0,     0,   440,
9603      441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
9604      451,   452,   453,   454,   455,     0,     0,   456,   457,   458,
9605      459,   460,   461,   462,   463,     0,   464,   465,   466,   467,
9606      468,   469,   470,   471,   472,   473,   474,   475,   476,   477,
9607      478,     0,   479,   480,   481,   482,   483,   484,   485,   486,
9608      487,   488,   489,   490,     0,   491,   492,   493,   494,   495,
9609      496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
9610      506,   507,   508,     0,   509,   510,   511,   512,   513,   879,
9611      514,   515,   516,   517,   518,   519,   520,   521,   522,   523,
9612        0,   524,   525,   526,   527,   528,   529,   530,   531,   532,
9613      533,   534,   535,   536,   537,   538,     0,   539,   540,     0,
9614      541,   542,   543,   544,   545,   546,   547,     0,   548,   549,
9615      550,     0,     0,   551,   552,   553,   554,   555,     0,   556,
9616      557,   558,   559,   560,   561,   562,   563,     0,     0,   564,
9617      565,   566,   567,   568,     0,     0,   569,   570,   571,   572,
9618      573,   574,   575,     0,   576,   577,   578,   579,   580,   581,
9619        0,     0,   582,     0,     0,   583,   584,   585,   586,   587,
9620      588,   589,   590,   591,   592,   593,   594,   595,   596,   597,
9621      598,   599,   600,   601,   602,   877,     0,     0,     0,     0,
9622        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9623        0,     0,   230,   231,   232,   233,   234,   235,   236,   237,
9624        0,   238,   239,   240,     0,     0,     0,     0,     0,     0,
9625        0,   241,   242,     0,   243,   244,   245,   246,   247,   248,
9626      249,   250,   251,   252,   253,   254,     0,   255,   256,   257,
9627      258,   259,   260,     0,     0,   261,   262,   263,   264,   265,
9628        0,   266,   267,   268,   269,   270,     0,   271,     0,   272,
9629      273,   274,   275,   276,   277,   278,   279,   280,     0,   281,
9630      282,   283,   284,   285,   286,     0,   287,   288,   289,   290,
9631        0,     0,     0,   291,     0,     0,   878,   292,   293,   294,
9632      295,   296,   297,   298,   299,   300,     0,   301,     0,   302,
9633      303,   304,   305,   306,   307,     0,   308,   309,   310,   311,
9634        0,     0,   312,   313,   314,   315,   316,     0,   317,   318,
9635      319,     0,   320,   321,   322,     0,   323,   324,   325,   326,
9636      327,   328,   329,   330,   331,   332,     0,   333,     0,   334,
9637      335,   336,   337,     0,   338,     0,   339,   340,     0,   341,
9638      342,   343,   344,   345,     0,   346,   347,     0,   348,   349,
9639      350,     0,   351,   352,   353,   354,  1131,   356,   357,   358,
9640      359,   360,     0,   361,   362,   363,   364,   365,   366,   367,
9641        0,   368,   369,   370,   371,   372,   373,   374,   375,   376,
9642        0,   377,     0,   378,   379,   380,   381,   382,   383,   384,
9643      385,   386,   387,     0,     0,   388,   389,   390,   391,   392,
9644        0,   393,   394,   395,     0,     0,   396,   397,   398,   399,
9645      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
9646      410,   411,   412,   413,   414,   415,   416,   417,   418,   419,
9647      420,   421,   422,   423,   424,     0,   425,   426,   427,   428,
9648        0,   429,   430,   431,   432,   433,   434,     0,   435,   436,
9649        0,     0,   437,   438,   439,     0,     0,   440,   441,   442,
9650      443,   444,   445,   446,   447,   448,   449,   450,   451,   452,
9651      453,   454,   455,     0,     0,   456,   457,   458,   459,   460,
9652      461,   462,   463,     0,   464,   465,   466,   467,   468,   469,
9653      470,   471,   472,   473,   474,   475,   476,   477,   478,     0,
9654      479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
9655      489,   490,     0,   491,   492,   493,   494,   495,   496,   497,
9656      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
9657      508,     0,   509,   510,   511,   512,   513,   879,   514,   515,
9658      516,   517,   518,   519,   520,   521,   522,   523,     0,   524,
9659      525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
9660      535,   536,   537,   538,     0,   539,   540,     0,   541,   542,
9661      543,   544,   545,   546,   547,     0,   548,   549,   550,     0,
9662        0,   551,   552,   553,   554,   555,     0,   556,   557,   558,
9663      559,   560,   561,   562,   563,     0,     0,   564,   565,   566,
9664      567,   568,     0,     0,   569,   570,   571,   572,   573,   574,
9665      575,     0,   576,   577,   578,   579,   580,   581,     0,     0,
9666      582,     0,     0,   583,   584,   585,   586,   587,   588,   589,
9667      590,   591,   592,   593,   594,   595,   596,   597,   598,   599,
9668      600,   601,   602,   877,     0,     0,     0,     0,     0,     0,
9669        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9670      230,   231,   232,   233,   234,   235,   236,   237,     0,   238,
9671      239,   240,     0,     0,     0,     0,     0,     0,     0,   241,
9672      242,     0,   243,   244,   245,   246,   247,   248,   249,   250,
9673      251,   252,   253,   254,     0,   255,   256,   257,   258,   259,
9674      260,     0,     0,   261,   262,   263,   264,   265,     0,   266,
9675      267,   268,   269,   270,     0,   271,     0,   272,   273,   274,
9676      275,   276,   277,   278,   279,   280,     0,   281,   282,   283,
9677      284,   285,   286,     0,   287,   288,   289,   290,     0,     0,
9678        0,   291,     0,     0,   878,   292,   293,   294,   295,   296,
9679      297,   298,   299,   300,     0,   301,     0,   302,   303,   304,
9680      305,   306,   307,     0,   308,   309,   310,   311,     0,     0,
9681      312,   313,   314,   315,   316,     0,   317,   318,   319,     0,
9682      320,   321,   322,     0,   323,   324,   325,   326,   327,   328,
9683      329,   330,   331,   332,     0,   333,     0,   334,   335,   336,
9684      337,     0,   338,     0,   339,   340,     0,   341,   342,   343,
9685      344,   345,     0,   346,   347,     0,   348,   349,   350,     0,
9686      351,   352,   353,   354,  1143,   356,   357,   358,   359,   360,
9687        0,   361,   362,   363,   364,   365,   366,   367,     0,   368,
9688      369,   370,   371,   372,   373,   374,   375,   376,     0,   377,
9689        0,   378,   379,   380,   381,   382,   383,   384,   385,   386,
9690      387,     0,     0,   388,   389,   390,   391,   392,     0,   393,
9691      394,   395,     0,     0,   396,   397,   398,   399,  1144,   401,
9692      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
9693      412,   413,   414,   415,   416,   417,   418,   419,   420,   421,
9694      422,   423,   424,     0,   425,   426,   427,   428,     0,   429,
9695      430,   431,   432,   433,   434,     0,   435,   436,     0,     0,
9696      437,   438,   439,     0,     0,   440,   441,   442,   443,   444,
9697      445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
9698      455,     0,     0,   456,   457,   458,   459,   460,   461,   462,
9699      463,     0,   464,   465,   466,   467,   468,   469,   470,   471,
9700      472,   473,   474,   475,   476,   477,   478,     0,   479,   480,
9701      481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
9702        0,   491,   492,   493,   494,   495,   496,   497,   498,   499,
9703      500,   501,   502,   503,   504,   505,   506,   507,   508,     0,
9704      509,   510,   511,   512,   513,   879,   514,   515,   516,   517,
9705      518,   519,   520,   521,   522,   523,     0,   524,   525,   526,
9706      527,   528,   529,   530,   531,   532,   533,   534,   535,   536,
9707      537,   538,     0,   539,   540,     0,   541,   542,   543,   544,
9708      545,   546,   547,     0,   548,   549,   550,     0,     0,   551,
9709      552,   553,   554,   555,     0,   556,   557,   558,   559,   560,
9710      561,   562,   563,     0,     0,   564,   565,   566,   567,   568,
9711        0,     0,   569,   570,   571,   572,   573,   574,   575,     0,
9712      576,   577,   578,   579,   580,   581,     0,     0,   582,     0,
9713        0,   583,   584,   585,   586,   587,   588,   589,   590,   591,
9714      592,   593,   594,   595,   596,   597,   598,   599,   600,   601,
9715      602,   877,     0,     0,     0,     0,     0,     0,     0,     0,
9716        0,     0,     0,     0,     0,     0,     0,     0,   230,   231,
9717      232,   233,   234,   235,   236,   237,     0,   238,   239,   240,
9718        3,     4,     0,     0,     0,     0,     0,   241,   242,     0,
9719      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
9720      253,   254,     0,   255,   256,   257,   258,   259,   260,     0,
9721        0,   261,   262,   263,   264,   265,     0,   266,   267,   268,
9722      269,   270,     0,   271,     0,   272,   273,   274,   275,   276,
9723      277,   278,   279,   280,     0,   281,   282,   283,   284,   285,
9724      286,     0,   287,   288,   289,   290,     0,     0,     0,   291,
9725        0,     0,     0,   292,   293,   294,   295,   296,   297,   298,
9726      299,   300,     0,   301,     0,   302,   303,   304,   305,   306,
9727      307,     0,   308,   309,   310,   311,     0,     0,   312,   313,
9728      314,   315,   316,     0,   317,   318,   319,     0,   320,   321,
9729      322,     0,   323,   324,   325,   326,   327,   328,   329,   330,
9730      331,   332,     0,   333,     0,   334,   335,   336,   337,     0,
9731      338,     0,   339,   340,     0,   341,   342,   343,   344,   345,
9732        0,   346,   347,     0,   348,   349,   350,     0,   351,   352,
9733      353,   354,   355,   356,   357,   358,   359,   360,     0,   361,
9734      362,   363,   364,   365,   366,   367,     0,   368,   369,   370,
9735      371,   372,   373,   374,   375,   376,     0,   377,     0,   378,
9736      379,   380,   381,   382,   383,   384,   385,   386,   387,     0,
9737        0,   388,   389,   390,   391,   392,     0,   393,   394,   395,
9738        0,     0,   396,   397,   398,   399,   400,   401,   402,   403,
9739      404,   405,   406,   407,   408,   409,   410,   411,   412,   413,
9740      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
9741      424,     0,   425,   426,   427,   428,     0,   429,   430,   431,
9742      432,   433,   434,     0,   435,   436,     0,     0,   437,   438,
9743      439,     0,     0,   440,   441,   442,   443,   444,   445,   446,
9744      447,   448,   449,   450,   451,   452,   453,   454,   455,     0,
9745        0,   456,   457,   458,   459,   460,   461,   462,   463,     0,
9746      464,   465,   466,   467,   468,   469,   470,   471,   472,   473,
9747      474,   475,   476,   477,   478,     0,   479,   480,   481,   482,
9748      483,   484,   485,   486,   487,   488,   489,   490,     0,   491,
9749      492,   493,   494,   495,   496,   497,   498,   499,   500,   501,
9750      502,   503,   504,   505,   506,   507,   508,     0,   509,   510,
9751      511,   512,   513,     0,   514,   515,   516,   517,   518,   519,
9752      520,   521,   522,   523,     0,   524,   525,   526,   527,   528,
9753      529,   530,   531,   532,   533,   534,   535,   536,   537,   538,
9754        0,   539,   540,     0,   541,   542,   543,   544,   545,   546,
9755      547,     0,   548,   549,   550,     0,     0,   551,   552,   553,
9756      554,   555,     0,   556,   557,   558,   559,   560,   561,   562,
9757      563,     0,     0,   564,   565,   566,   567,   568,     0,     0,
9758      569,   570,   571,   572,   573,   574,   575,     0,   576,   577,
9759      578,   579,   580,   581,     0,     0,   582,     0,     0,   583,
9760      584,   585,   586,   587,   588,   589,   590,   591,   592,   593,
9761      594,   595,   596,   597,   598,   599,   600,   601,   602,   877,
9762        0,     0,   670,     0,     0,     0,     0,     0,     0,     0,
9763        0,     0,     0,     0,     0,     0,   230,   231,   232,   233,
9764      234,   235,   236,   237,     0,   238,   239,   240,     0,     0,
9765        0,     0,     0,     0,     0,   241,   242,     0,   243,   244,
9766      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
9767        0,   255,   256,   257,   258,   259,   260,     0,     0,   261,
9768      262,   263,   264,   265,     0,   266,   267,   268,   269,   270,
9769        0,   271,     0,   272,   273,   274,   275,   276,   277,   278,
9770      279,   280,     0,   281,   282,   283,   284,   285,   286,     0,
9771      287,   288,   289,   290,     0,     0,     0,   291,     0,     0,
9772        0,   292,   293,   294,   295,   296,   297,   298,   299,   300,
9773     2096,   301,     0,   302,   303,   304,   305,   306,   307,     0,
9774      308,   309,   310,   311,     0,     0,   312,   313,   314,   315,
9775      316,     0,   317,   318,   319,     0,   320,   321,   322,     0,
9776      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
9777        0,   333,     0,   334,   335,   336,   337,     0,   338,     0,
9778      339,   340,     0,   341,   342,   343,   344,   345,     0,   346,
9779      347,     0,   348,   349,   350,     0,   351,   352,   353,   354,
9780      355,   356,   357,   358,   359,   360,     0,   361,   362,   363,
9781      364,   365,   366,   367,     0,   368,   369,   370,   371,   372,
9782      373,   374,   375,   376,     0,   377,     0,   378,   379,   380,
9783      381,   382,   383,   384,   385,   386,   387,     0,     0,   388,
9784      389,   390,   391,   392,     0,   393,   394,   395,     0,     0,
9785      396,   397,   398,   399,   400,   401,   402,   403,   404,   405,
9786      406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
9787      416,   417,   418,   419,   420,   421,   422,   423,   424,     0,
9788      425,   426,   427,   428,     0,   429,   430,   431,   432,   433,
9789      434,     0,   435,   436,     0,     0,   437,   438,   439,     0,
9790        0,   440,   441,   442,   443,   444,   445,   446,   447,   448,
9791      449,   450,   451,   452,   453,   454,   455,     0,     0,   456,
9792      457,   458,   459,   460,   461,   462,   463,     0,   464,   465,
9793      466,   467,   468,   469,   470,   471,   472,   473,   474,   475,
9794      476,   477,   478,     0,   479,   480,   481,   482,   483,   484,
9795      485,   486,   487,   488,   489,   490,     0,   491,   492,   493,
9796      494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
9797      504,   505,   506,   507,   508,     0,   509,   510,   511,   512,
9798      513,     0,   514,   515,   516,   517,   518,   519,   520,   521,
9799      522,   523,     0,   524,   525,   526,   527,   528,   529,   530,
9800      531,   532,   533,   534,   535,   536,   537,   538,     0,   539,
9801      540,     0,   541,   542,   543,   544,   545,   546,   547,     0,
9802      548,   549,   550,     0,     0,   551,   552,   553,   554,   555,
9803        0,   556,   557,   558,   559,   560,   561,   562,   563,     0,
9804        0,   564,   565,   566,   567,   568,     0,     0,   569,   570,
9805      571,   572,   573,   574,   575,     0,   576,   577,   578,   579,
9806      580,   581,     0,     0,   582,     0,     0,   583,   584,   585,
9807      586,   587,   588,   589,   590,   591,   592,   593,   594,   595,
9808      596,   597,   598,   599,   600,   601,   602,   877,     0,     0,
9809      670,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9810        0,     0,     0,     0,   230,   231,   232,   233,   234,   235,
9811      236,   237,     0,   238,   239,   240,     0,     0,     0,     0,
9812        0,     0,     0,   241,   242,     0,   243,   244,   245,   246,
9813      247,   248,   249,   250,   251,   252,   253,   254,     0,   255,
9814      256,   257,   258,   259,   260,     0,     0,   261,   262,   263,
9815      264,   265,     0,   266,   267,   268,   269,   270,     0,   271,
9816        0,   272,   273,   274,   275,   276,   277,   278,   279,   280,
9817        0,   281,   282,   283,   284,   285,   286,     0,   287,   288,
9818      289,   290,     0,     0,     0,   291,     0,     0,     0,   292,
9819      293,   294,   295,   296,   297,   298,   299,   300,     0,   301,
9820        0,   302,   303,   304,   305,   306,   307,     0,   308,   309,
9821      310,   311,     0,     0,   312,   313,   314,   315,   316,     0,
9822      317,   318,   319,     0,   320,   321,   322,     0,   323,   324,
9823      325,   326,   327,   328,   329,   330,   331,   332,     0,   333,
9824        0,   334,   335,   336,   337,     0,   338,     0,   339,   340,
9825        0,   341,   342,   343,   344,   345,     0,   346,   347,     0,
9826      348,   349,   350,     0,   351,   352,   353,   354,   355,   356,
9827      357,   358,   359,   360,     0,   361,   362,   363,   364,   365,
9828      366,   367,     0,   368,   369,   370,   371,   372,   373,   374,
9829      375,   376,     0,   377,     0,   378,   379,   380,   381,   382,
9830      383,   384,   385,   386,   387,     0,     0,   388,   389,   390,
9831      391,   392,     0,   393,   394,   395,     0,     0,   396,   397,
9832      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
9833      408,   409,   410,   411,   412,   413,   414,   415,   416,   417,
9834      418,   419,   420,   421,   422,   423,   424,     0,   425,   426,
9835      427,   428,     0,   429,   430,   431,   432,   433,   434,     0,
9836      435,   436,     0,     0,   437,   438,   439,     0,     0,   440,
9837      441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
9838      451,   452,   453,   454,   455,     0,     0,   456,   457,   458,
9839      459,   460,   461,   462,   463,     0,   464,   465,   466,   467,
9840      468,   469,   470,   471,   472,   473,   474,   475,   476,   477,
9841      478,     0,   479,   480,   481,   482,   483,   484,   485,   486,
9842      487,   488,   489,   490,     0,   491,   492,   493,   494,   495,
9843      496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
9844      506,   507,   508,     0,   509,   510,   511,   512,   513,     0,
9845      514,   515,   516,   517,   518,   519,   520,   521,   522,   523,
9846        0,   524,   525,   526,   527,   528,   529,   530,   531,   532,
9847      533,   534,   535,   536,   537,   538,     0,   539,   540,     0,
9848      541,   542,   543,   544,   545,   546,   547,     0,   548,   549,
9849      550,     0,     0,   551,   552,   553,   554,   555,     0,   556,
9850      557,   558,   559,   560,   561,   562,   563,     0,     0,   564,
9851      565,   566,   567,   568,     0,     0,   569,   570,   571,   572,
9852      573,   574,   575,     0,   576,   577,   578,   579,   580,   581,
9853        0,     0,   582,     0,     0,   583,   584,   585,   586,   587,
9854      588,   589,   590,   591,   592,   593,   594,   595,   596,   597,
9855      598,   599,   600,   601,   602,   877,     0,     0,   670,     0,
9856        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9857        0,     0,   230,   231,   232,   233,   234,   235,   236,   237,
9858        0,   238,   239,   240,     0,     0,     0,     0,     0,     0,
9859        0,   241,   242,     0,   243,   244,   245,   246,   247,   248,
9860      249,   250,   251,   252,   253,   254,     0,   255,   256,   257,
9861      258,   259,   260,     0,     0,   261,   262,   263,   264,   265,
9862        0,   266,   267,   268,   269,   270,     0,   271,     0,   272,
9863      273,   274,   275,   276,   277,   278,   279,   280,     0,   281,
9864      282,   283,   284,   285,   286,     0,   287,   288,   289,   290,
9865        0,     0,     0,   291,     0,     0,     0,   292,   293,   294,
9866      295,   296,   297,   298,   299,   300,     0,   301,     0,   302,
9867      303,   304,   305,   306,   307,     0,   308,   309,   310,   311,
9868        0,     0,   312,   313,   314,   315,   316,     0,   317,   318,
9869      319,     0,   320,   321,   322,     0,   323,   324,   325,   326,
9870      327,   328,   329,   330,   331,   332,     0,   333,     0,   334,
9871      335,   336,   337,     0,   338,     0,   339,   340,     0,   341,
9872      342,   343,   344,   345,     0,   346,   347,     0,   348,   349,
9873      350,     0,   351,   352,   353,   354,  1916,   356,   357,   358,
9874      359,   360,     0,   361,   362,   363,   364,   365,   366,   367,
9875        0,   368,   369,   370,   371,   372,   373,   374,   375,   376,
9876        0,   377,     0,   378,   379,   380,   381,   382,   383,   384,
9877      385,   386,   387,     0,     0,   388,   389,   390,   391,   392,
9878        0,   393,   394,   395,     0,     0,   396,   397,   398,   399,
9879      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
9880      410,   411,   412,   413,   414,   415,   416,   417,   418,   419,
9881      420,   421,   422,   423,   424,     0,   425,   426,   427,   428,
9882        0,   429,   430,   431,   432,   433,   434,     0,   435,   436,
9883        0,     0,   437,   438,   439,     0,     0,   440,   441,   442,
9884      443,   444,   445,   446,   447,   448,   449,   450,   451,   452,
9885      453,   454,   455,     0,     0,   456,   457,   458,   459,   460,
9886      461,   462,   463,     0,   464,   465,   466,   467,   468,   469,
9887      470,   471,   472,   473,   474,   475,   476,   477,   478,     0,
9888      479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
9889      489,   490,     0,   491,   492,   493,   494,   495,   496,   497,
9890      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
9891      508,     0,   509,   510,   511,   512,   513,     0,   514,   515,
9892      516,   517,   518,   519,   520,   521,   522,   523,     0,   524,
9893      525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
9894      535,   536,   537,   538,     0,   539,   540,     0,   541,   542,
9895      543,   544,   545,   546,   547,     0,   548,   549,   550,     0,
9896        0,   551,   552,   553,   554,   555,     0,   556,   557,   558,
9897      559,   560,   561,   562,   563,     0,     0,   564,   565,   566,
9898      567,   568,     0,     0,   569,   570,   571,   572,   573,   574,
9899      575,     0,   576,   577,   578,   579,   580,   581,     0,     0,
9900      582,     0,     0,   583,   584,   585,   586,   587,   588,   589,
9901      590,   591,   592,   593,   594,   595,   596,   597,   598,   599,
9902      600,   601,   602,   229,     0,     0,     0,     0,     0,     0,
9903        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9904      230,   231,   232,   233,   234,   235,   236,   237,     0,   238,
9905      239,   240,     0,     0,     0,     0,     0,     0,     0,   241,
9906      242,     0,   243,   244,   245,   246,   247,   248,   249,   250,
9907      251,   252,   253,   254,     0,   255,   256,   257,   258,   259,
9908      260,     0,     0,   261,   262,   263,   264,   265,     0,   266,
9909      267,   268,   269,   270,     0,   271,     0,   272,   273,   274,
9910      275,   276,   277,   278,   279,   280,     0,   281,   282,   283,
9911      284,   285,   286,     0,   287,   288,   289,   290,     0,     0,
9912        0,   291,     0,     0,     0,   292,   293,   294,   295,   296,
9913      297,   298,   299,   300,     0,   301,     0,   302,   303,   304,
9914      305,   306,   307,     0,   308,   309,   310,   311,     0,     0,
9915      312,   313,   314,   315,   316,     0,   317,   318,   319,     0,
9916      320,   321,   322,     0,   323,   324,   325,   326,   327,   328,
9917      329,   330,   331,   332,     0,   333,     0,   334,   335,   336,
9918      337,     0,   338,     0,   339,   340,     0,   341,   342,   343,
9919      344,   345,     0,   346,   347,     0,   348,   349,   350,     0,
9920      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
9921        0,   361,   362,   363,   364,   365,   366,   367,     0,   368,
9922      369,   370,   371,   372,   373,   374,   375,   376,     0,   377,
9923        0,   378,   379,   380,   381,   382,   383,   384,   385,   386,
9924      387,     0,     0,   388,   389,   390,   391,   392,     0,   393,
9925      394,   395,     0,     0,   396,   397,   398,   399,   400,   401,
9926      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
9927      412,   413,   414,   415,   416,   417,   418,   419,   420,   421,
9928      422,   423,   424,     0,   425,   426,   427,   428,     0,   429,
9929      430,   431,   432,   433,   434,     0,   435,   436,     0,     0,
9930      437,   438,   439,     0,     0,   440,   441,   442,   443,   444,
9931      445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
9932      455,     0,     0,   456,   457,   458,   459,   460,   461,   462,
9933      463,     0,   464,   465,   466,   467,   468,   469,   470,   471,
9934      472,   473,   474,   475,   476,   477,   478,     0,   479,   480,
9935      481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
9936        0,   491,   492,   493,   494,   495,   496,   497,   498,   499,
9937      500,   501,   502,   503,   504,   505,   506,   507,   508,     0,
9938      509,   510,   511,   512,   513,     0,   514,   515,   516,   517,
9939      518,   519,   520,   521,   522,   523,     0,   524,   525,   526,
9940      527,   528,   529,   530,   531,   532,   533,   534,   535,   536,
9941      537,   538,     0,   539,   540,     0,   541,   542,   543,   544,
9942      545,   546,   547,     0,   548,   549,   550,     0,     0,   551,
9943      552,   553,   554,   555,     0,   556,   557,   558,   559,   560,
9944      561,   562,   563,     0,     0,   564,   565,   566,   567,   568,
9945        0,     0,   569,   570,   571,   572,   573,   574,   575,     0,
9946      576,   577,   578,   579,   580,   581,     0,     0,   582,     0,
9947        0,   583,   584,   585,   586,   587,   588,   589,   590,   591,
9948      592,   593,   594,   595,   596,   597,   598,   599,   600,   601,
9949      602,   229,     0,     0,     0,     0,     0,     0,     0,     0,
9950        0,     0,     0,     0,     0,     0,     0,     0,   230,   231,
9951      232,   233,   234,   235,   236,   237,     0,   238,   239,   240,
9952        0,     0,     0,     0,     0,     0,     0,   241,   242,     0,
9953      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
9954      253,   254,     0,   255,   256,   257,   258,   259,   260,     0,
9955        0,   261,   262,   263,   264,   265,     0,   266,   267,   268,
9956      269,   270,     0,   271,     0,   272,   273,   274,   275,   276,
9957      277,   278,   279,   280,     0,   281,   282,   283,   284,   285,
9958      286,     0,   287,   288,   289,   290,     0,     0,     0,   291,
9959        0,     0,     0,   292,   293,   294,   295,   296,   297,   298,
9960      299,   300,     0,   301,     0,   302,   303,   304,   305,   306,
9961      307,     0,   308,   309,   310,   311,     0,     0,   312,   313,
9962      314,   315,   316,     0,   317,   318,   319,     0,   320,   321,
9963      322,     0,   323,   324,   325,   326,   327,   328,   329,   330,
9964      331,   332,     0,   333,     0,   334,   335,   336,   337,     0,
9965      338,     0,   339,   340,     0,   341,   342,   343,   344,   345,
9966        0,   346,   347,     0,   348,   349,   350,     0,   351,   352,
9967      353,   354,  1066,   356,   357,   358,   359,   360,     0,   361,
9968      362,   363,   364,   365,   366,   367,     0,   368,   369,   370,
9969      371,   372,   373,   374,   375,   376,     0,   377,     0,   378,
9970      379,   380,   381,   382,   383,   384,   385,   386,   387,     0,
9971        0,   388,   389,   390,   391,   392,     0,   393,   394,   395,
9972        0,     0,   396,   397,   398,   399,   400,   401,   402,   403,
9973      404,   405,   406,   407,   408,   409,   410,   411,   412,   413,
9974      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
9975      424,     0,   425,   426,   427,   428,     0,   429,   430,   431,
9976      432,   433,   434,     0,   435,   436,     0,     0,   437,   438,
9977      439,     0,     0,   440,   441,   442,   443,   444,   445,   446,
9978      447,   448,   449,   450,   451,   452,   453,   454,   455,     0,
9979        0,   456,   457,   458,   459,   460,   461,   462,   463,     0,
9980      464,   465,   466,   467,   468,   469,   470,   471,   472,   473,
9981      474,   475,   476,   477,   478,     0,   479,   480,   481,   482,
9982      483,   484,   485,   486,   487,   488,   489,   490,     0,   491,
9983      492,   493,   494,   495,   496,   497,   498,   499,   500,   501,
9984      502,   503,   504,   505,   506,   507,   508,     0,   509,   510,
9985      511,   512,   513,     0,   514,   515,   516,   517,   518,   519,
9986      520,   521,   522,   523,     0,   524,   525,   526,   527,   528,
9987      529,   530,   531,   532,   533,   534,   535,   536,   537,   538,
9988        0,   539,   540,     0,   541,   542,   543,   544,   545,   546,
9989      547,     0,   548,   549,   550,     0,     0,   551,   552,   553,
9990      554,   555,     0,   556,   557,   558,   559,   560,   561,   562,
9991      563,     0,     0,   564,   565,   566,   567,   568,     0,     0,
9992      569,   570,   571,   572,   573,   574,   575,     0,   576,   577,
9993      578,   579,   580,   581,     0,     0,   582,     0,     0,   583,
9994      584,   585,   586,   587,   588,   589,   590,   591,   592,   593,
9995      594,   595,   596,   597,   598,   599,   600,   601,   602,   229,
9996        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9997        0,     0,     0,     0,     0,     0,   230,   231,   232,   233,
9998      234,   235,   236,   237,     0,   238,   239,   240,     0,     0,
9999        0,     0,     0,     0,     0,   241,   242,     0,   243,   244,
10000      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
10001        0,   255,   256,   257,   258,   259,   260,     0,     0,   261,
10002      262,   263,   264,   265,     0,   266,   267,   268,   269,   270,
10003        0,   271,     0,   272,   273,   274,   275,   276,   277,   278,
10004      279,   280,     0,   281,   282,   283,   284,   285,   286,     0,
10005      287,   288,   289,   290,     0,     0,     0,   291,     0,     0,
10006        0,   292,   293,   294,   295,   296,   297,   298,   299,   300,
10007        0,   301,     0,   302,   303,   304,   305,   306,   307,     0,
10008      308,   309,   310,   311,     0,     0,   312,   313,   314,   315,
10009      316,     0,   317,   318,   319,     0,   320,   321,   322,     0,
10010      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
10011        0,   333,     0,   334,   335,   336,   337,     0,   338,     0,
10012      339,   340,     0,   341,   342,   343,   344,   345,     0,   346,
10013      347,     0,   348,   349,   350,     0,   351,   352,   353,   354,
10014     1115,   356,   357,   358,   359,   360,     0,   361,   362,   363,
10015      364,   365,   366,   367,     0,   368,   369,   370,   371,   372,
10016      373,   374,   375,   376,     0,   377,     0,   378,   379,   380,
10017      381,   382,   383,   384,   385,   386,   387,     0,     0,   388,
10018      389,   390,   391,   392,     0,   393,   394,   395,     0,     0,
10019      396,   397,   398,   399,   400,   401,   402,   403,   404,   405,
10020      406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
10021      416,   417,   418,   419,   420,   421,   422,   423,   424,     0,
10022      425,   426,   427,   428,     0,   429,   430,   431,   432,   433,
10023      434,     0,   435,   436,     0,     0,   437,   438,   439,     0,
10024        0,   440,   441,   442,   443,   444,   445,   446,   447,   448,
10025      449,   450,   451,   452,   453,   454,   455,     0,     0,   456,
10026      457,   458,   459,   460,   461,   462,   463,     0,   464,   465,
10027      466,   467,   468,   469,   470,   471,   472,   473,   474,   475,
10028      476,   477,   478,     0,   479,   480,   481,   482,   483,   484,
10029      485,   486,   487,   488,   489,   490,     0,   491,   492,   493,
10030      494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
10031      504,   505,   506,   507,   508,     0,   509,   510,   511,   512,
10032      513,     0,   514,   515,   516,   517,   518,   519,   520,   521,
10033      522,   523,     0,   524,   525,   526,   527,   528,   529,   530,
10034      531,   532,   533,   534,   535,   536,   537,   538,     0,   539,
10035      540,     0,   541,   542,   543,   544,   545,   546,   547,     0,
10036      548,   549,   550,     0,     0,   551,   552,   553,   554,   555,
10037        0,   556,   557,   558,   559,   560,   561,   562,   563,     0,
10038        0,   564,   565,   566,   567,   568,     0,     0,   569,   570,
10039      571,   572,   573,   574,   575,     0,   576,   577,   578,   579,
10040      580,   581,     0,     0,   582,     0,     0,   583,   584,   585,
10041      586,   587,   588,   589,   590,   591,   592,   593,   594,   595,
10042      596,   597,   598,   599,   600,   601,   602,   229,     0,     0,
10043        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10044        0,     0,     0,     0,   230,   231,   232,   233,   234,   235,
10045      236,   237,     0,   238,   239,   240,     0,     0,     0,     0,
10046        0,     0,     0,   241,   242,     0,   243,   244,   245,   246,
10047      247,   248,   249,   250,   251,   252,   253,   254,     0,   255,
10048      256,   257,   258,   259,   260,     0,     0,   261,   262,   263,
10049      264,   265,     0,   266,   267,   268,   269,   270,     0,   271,
10050        0,   272,   273,   274,   275,   276,   277,   278,   279,   280,
10051        0,   281,   282,   283,   284,   285,   286,     0,   287,   288,
10052      289,   290,     0,     0,     0,   291,     0,     0,     0,   292,
10053      293,   294,   295,   296,   297,   298,   299,   300,     0,   301,
10054        0,   302,   303,   304,   305,   306,   307,     0,   308,   309,
10055      310,   311,     0,     0,   312,   313,   314,   315,   316,     0,
10056      317,   318,   319,     0,   320,   321,   322,     0,   323,   324,
10057      325,   326,   327,   328,   329,   330,   331,   332,     0,   333,
10058        0,   334,   335,   336,   337,     0,   338,     0,   339,   340,
10059        0,   341,   342,   343,   344,   345,     0,   346,   347,     0,
10060      348,   349,   350,     0,   351,   352,   353,   354,  1129,   356,
10061      357,   358,   359,   360,     0,   361,   362,   363,   364,   365,
10062      366,   367,     0,   368,   369,   370,   371,   372,   373,   374,
10063      375,   376,     0,   377,     0,   378,   379,   380,   381,   382,
10064      383,   384,   385,   386,   387,     0,     0,   388,   389,   390,
10065      391,   392,     0,   393,   394,   395,     0,     0,   396,   397,
10066      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
10067      408,   409,   410,   411,   412,   413,   414,   415,   416,   417,
10068      418,   419,   420,   421,   422,   423,   424,     0,   425,   426,
10069      427,   428,     0,   429,   430,   431,   432,   433,   434,     0,
10070      435,   436,     0,     0,   437,   438,   439,     0,     0,   440,
10071      441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
10072      451,   452,   453,   454,   455,     0,     0,   456,   457,   458,
10073      459,   460,   461,   462,   463,     0,   464,   465,   466,   467,
10074      468,   469,   470,   471,   472,   473,   474,   475,   476,   477,
10075      478,     0,   479,   480,   481,   482,   483,   484,   485,   486,
10076      487,   488,   489,   490,     0,   491,   492,   493,   494,   495,
10077      496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
10078      506,   507,   508,     0,   509,   510,   511,   512,   513,     0,
10079      514,   515,   516,   517,   518,   519,   520,   521,   522,   523,
10080        0,   524,   525,   526,   527,   528,   529,   530,   531,   532,
10081      533,   534,   535,   536,   537,   538,     0,   539,   540,     0,
10082      541,   542,   543,   544,   545,   546,   547,     0,   548,   549,
10083      550,     0,     0,   551,   552,   553,   554,   555,     0,   556,
10084      557,   558,   559,   560,   561,   562,   563,     0,     0,   564,
10085      565,   566,   567,   568,     0,     0,   569,   570,   571,   572,
10086      573,   574,   575,     0,   576,   577,   578,   579,   580,   581,
10087        0,     0,   582,     0,     0,   583,   584,   585,   586,   587,
10088      588,   589,   590,   591,   592,   593,   594,   595,   596,   597,
10089      598,   599,   600,   601,   602,   229,     0,     0,     0,     0,
10090        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10091        0,     0,   230,   231,   232,   233,   234,   235,   236,   237,
10092        0,   238,   239,   240,     0,     0,     0,     0,     0,     0,
10093        0,   241,   242,     0,   243,   244,   245,   246,   247,   248,
10094      249,   250,   251,   252,   253,   254,     0,   255,   256,   257,
10095      258,   259,   260,     0,     0,   261,   262,   263,   264,   265,
10096        0,   266,   267,   268,   269,   270,     0,   271,     0,   272,
10097      273,   274,   275,   276,   277,   278,   279,   280,     0,   281,
10098      282,   283,   284,   285,   286,     0,   287,   288,   289,   290,
10099        0,     0,     0,   291,     0,     0,     0,   292,   293,   294,
10100      295,   296,   297,   298,   299,   300,     0,   301,     0,   302,
10101      303,   304,   305,   306,   307,     0,   308,   309,   310,   311,
10102        0,     0,   312,   313,   314,   315,   316,     0,   317,   318,
10103      319,     0,   320,   321,   322,     0,   323,   324,   325,   326,
10104      327,   328,   329,   330,   331,   332,     0,   333,     0,   334,
10105      335,   336,   337,     0,   338,     0,   339,   340,     0,   341,
10106      342,   343,   344,   345,     0,   346,   347,     0,   348,   349,
10107      350,     0,   351,   352,   353,   354,  1133,   356,   357,   358,
10108      359,   360,     0,   361,   362,   363,   364,   365,   366,   367,
10109        0,   368,   369,   370,   371,   372,   373,   374,   375,   376,
10110        0,   377,     0,   378,   379,   380,   381,   382,   383,   384,
10111      385,   386,   387,     0,     0,   388,   389,   390,   391,   392,
10112        0,   393,   394,   395,     0,     0,   396,   397,   398,   399,
10113      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
10114      410,   411,   412,   413,   414,   415,   416,   417,   418,   419,
10115      420,   421,   422,   423,   424,     0,   425,   426,   427,   428,
10116        0,   429,   430,   431,   432,   433,   434,     0,   435,   436,
10117        0,     0,   437,   438,   439,     0,     0,   440,   441,   442,
10118      443,   444,   445,   446,   447,   448,   449,   450,   451,   452,
10119      453,   454,   455,     0,     0,   456,   457,   458,   459,   460,
10120      461,   462,   463,     0,   464,   465,   466,   467,   468,   469,
10121      470,   471,   472,   473,   474,   475,   476,   477,   478,     0,
10122      479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
10123      489,   490,     0,   491,   492,   493,   494,   495,   496,   497,
10124      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
10125      508,     0,   509,   510,   511,   512,   513,     0,   514,   515,
10126      516,   517,   518,   519,   520,   521,   522,   523,     0,   524,
10127      525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
10128      535,   536,   537,   538,     0,   539,   540,     0,   541,   542,
10129      543,   544,   545,   546,   547,     0,   548,   549,   550,     0,
10130        0,   551,   552,   553,   554,   555,     0,   556,   557,   558,
10131      559,   560,   561,   562,   563,     0,     0,   564,   565,   566,
10132      567,   568,     0,     0,   569,   570,   571,   572,   573,   574,
10133      575,     0,   576,   577,   578,   579,   580,   581,     0,     0,
10134      582,     0,     0,   583,   584,   585,   586,   587,   588,   589,
10135      590,   591,   592,   593,   594,   595,   596,   597,   598,   599,
10136      600,   601,   602,   877,     0,     0,     0,     0,     0,     0,
10137        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10138      230,   231,   232,   233,   234,   235,   236,   237,     0,   238,
10139      239,   240,     0,     0,     0,     0,     0,     0,     0,   241,
10140      242,     0,   243,   244,   245,   246,   247,   248,   249,   250,
10141      251,   252,   253,   254,     0,   255,   256,   257,   258,   259,
10142      260,     0,     0,   261,   262,   263,   264,   265,     0,   266,
10143      267,   268,   269,   270,     0,   271,     0,   272,   273,   274,
10144      275,   276,   277,   278,   279,   280,     0,   281,   282,   283,
10145      284,   285,   286,     0,   287,   288,   289,   290,     0,     0,
10146        0,   291,     0,     0,     0,   292,   293,   294,   295,   296,
10147      297,   298,   299,   300,     0,   301,     0,   302,   303,   304,
10148      305,   306,   307,     0,   308,   309,   310,   311,     0,     0,
10149      312,   313,   314,   315,   316,     0,   317,   318,   319,     0,
10150      320,   321,   322,     0,   323,   324,   325,   326,   327,   328,
10151      329,   330,   331,   332,     0,   333,     0,   334,   335,   336,
10152      337,     0,   338,     0,   339,   340,     0,   341,   342,   343,
10153      344,   345,     0,   346,   347,     0,   348,   349,   350,     0,
10154      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
10155        0,   361,   362,   363,   364,   365,   366,   367,     0,   368,
10156      369,   370,   371,   372,   373,   374,   375,   376,     0,   377,
10157        0,   378,   379,   380,   381,   382,   383,   384,   385,   386,
10158      387,     0,     0,   388,   389,   390,   391,   392,     0,   393,
10159      394,   395,     0,     0,   396,   397,   398,   399,   400,   401,
10160      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
10161      412,   413,   414,   415,   416,   417,   418,   419,   420,   421,
10162      422,   423,   424,     0,   425,   426,   427,   428,     0,   429,
10163      430,   431,   432,   433,   434,     0,   435,   436,     0,     0,
10164      437,   438,   439,     0,     0,   440,   441,   442,   443,   444,
10165      445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
10166      455,     0,     0,   456,   457,   458,   459,   460,   461,   462,
10167      463,     0,   464,   465,   466,   467,   468,   469,   470,   471,
10168      472,   473,   474,   475,   476,   477,   478,     0,   479,   480,
10169      481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
10170        0,   491,   492,   493,   494,   495,   496,   497,   498,   499,
10171      500,   501,   502,   503,   504,   505,   506,   507,   508,     0,
10172      509,   510,   511,   512,   513,     0,   514,   515,   516,   517,
10173      518,   519,   520,   521,   522,   523,     0,   524,   525,   526,
10174      527,   528,   529,   530,   531,   532,   533,   534,   535,   536,
10175      537,   538,     0,   539,   540,     0,   541,   542,   543,   544,
10176      545,   546,   547,     0,   548,   549,   550,     0,     0,   551,
10177      552,   553,   554,   555,     0,   556,   557,   558,   559,   560,
10178      561,   562,   563,     0,     0,   564,   565,   566,   567,   568,
10179        0,     0,   569,   570,   571,   572,   573,   574,   575,     0,
10180      576,   577,   578,   579,   580,   581,     0,     0,   582,     0,
10181        0,   583,   584,   585,   586,   587,   588,   589,   590,   591,
10182      592,   593,   594,   595,   596,   597,   598,   599,   600,   601,
10183      602,   610,     0,     0,     0,     0,     0,     0,     0,     0,
10184        0,     0,     0,     0,     0,     0,     0,     0,   230,   231,
10185      232,   233,   234,   235,   236,   237,     0,   238,   239,   240,
10186        0,     0,     0,     0,     0,     0,     0,   241,   242,     0,
10187      243,   244,   245,     0,   247,   248,   249,   250,   251,     0,
10188      253,   254,     0,   255,   256,   257,   258,   259,   260,     0,
10189        0,   261,   262,   263,   264,   265,  2223,   266,   267,   268,
10190      269,   270,     0,     0,  2303,   272,   273,   274,   275,   276,
10191        0,   278,   279,   280,  2224,   281,   282,   283,   284,   285,
10192      286,     0,     0,   288,   289,   290,     0,     0,     0,     0,
10193        0,     0,     0,   292,   293,   294,   295,   296,   297,   298,
10194      299,   300,     0,   301,     0,   302,   303,   304,   305,   306,
10195      307,     0,   308,   309,   310,   311,     0,     0,   312,   313,
10196      314,   315,   316,     0,   317,   318,   319,     0,   320,   321,
10197      322,     0,  2304,   324,   325,   326,   327,   328,   329,   330,
10198      331,   332,     0,   333,     0,   334,   335,   336,   337,     0,
10199      338,  2226,   339,     0,     0,     0,   342,   343,   344,   345,
10200        0,   346,   347,     0,   348,   349,   350,     0,   351,   352,
10201      353,   354,  2305,     0,   357,   358,   359,   360,     0,   361,
10202      362,   363,   364,   365,   366,   367,     0,   368,     0,   370,
10203      371,   372,   373,   374,   375,   376,     0,   377,     0,   378,
10204        0,     0,   381,     0,   383,   384,   385,   386,   387,     0,
10205        0,   388,   389,     0,   391,     0,     0,   393,   394,   395,
10206        0,     0,   396,   397,   398,   399,   400,   401,   402,   403,
10207      404,   405,   406,   407,   408,   409,   410,   411,   412,     0,
10208      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
10209      424,     0,   425,   426,     0,   428,     0,   429,   430,   431,
10210      432,   433,   434,     0,   435,   436,     0,     0,   437,   438,
10211      439,     0,     0,   440,   441,   442,     0,   444,     0,   446,
10212      447,   448,   449,   450,   451,   452,   453,   454,   455,     0,
10213        0,   456,   457,   458,   459,   460,   461,   462,   463,  2227,
10214      464,   465,   466,   467,   468,   469,   470,   471,   472,   473,
10215      474,   475,   476,   477,   478,     0,   479,   480,   481,   482,
10216      483,   484,   485,   486,   487,   488,   489,   490,     0,   491,
10217      492,     0,   494,   495,   496,   497,   498,   499,   500,   501,
10218      502,   503,   504,   505,   506,   507,   508,     0,   509,   510,
10219      511,   512,   513,     0,   514,   515,   516,   517,   518,     0,
10220      520,   521,   522,   523,     0,   524,   525,   526,   527,   528,
10221      529,   530,   531,   532,   533,   534,   535,   536,   537,   538,
10222        0,   539,   540,     0,   541,     0,   543,   544,   545,   546,
10223      547,     0,   548,   549,   550,     0,     0,   551,   552,   553,
10224      554,   555,     0,   556,   557,   558,   559,   560,   561,   562,
10225      563,     0,  2228,   564,   565,   566,   567,   568,     0,     0,
10226      569,   570,   571,   572,   573,   574,   575,     0,   576,     0,
10227      578,   579,   580,   581,     0,     0,   582,     0,     0,   583,
10228      584,   585,   586,   587,   588,   589,   590,   591,   592,   593,
10229      594,   595,   596,   597,   598,   599,   600,   601,   602,   610,
10230        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10231        0,     0,     0,     0,     0,     0,   230,   231,   232,   233,
10232      234,   235,   236,   237,     0,   238,   239,   240,     0,     0,
10233        0,     0,     0,     0,     0,   241,   242,     0,   243,   244,
10234      245,     0,   247,   248,   249,   250,   251,     0,   253,   254,
10235        0,   255,   256,   257,   258,   259,   260,     0,     0,   261,
10236      262,   263,   264,   265,  2223,   266,   267,   268,   269,   270,
10237        0,     0,     0,   272,   273,   274,   275,   276,     0,   278,
10238      279,   280,  2224,   281,   282,   283,   284,   285,   286,     0,
10239        0,   288,   289,   290,     0,     0,     0,     0,     0,     0,
10240        0,   292,   293,   294,   295,   296,   297,   298,   299,   300,
10241        0,   301,     0,   302,   303,   304,   305,   306,   307,     0,
10242      308,   309,   310,   311,     0,     0,   312,   313,   314,   315,
10243      316,     0,   317,   318,   319,     0,   320,   321,   322,     0,
10244     2304,   324,   325,   326,   327,   328,   329,   330,   331,   332,
10245        0,   333,     0,   334,   335,   336,   337,     0,   338,  2226,
10246      339,     0,     0,     0,   342,   343,   344,   345,     0,   346,
10247      347,     0,   348,   349,   350,     0,   351,   352,   353,   354,
10248      355,     0,   357,   358,   359,   360,     0,   361,   362,   363,
10249      364,   365,   366,   367,     0,   368,     0,   370,   371,   372,
10250      373,   374,   375,   376,     0,   377,     0,   378,     0,     0,
10251      381,     0,   383,   384,   385,   386,   387,     0,     0,   388,
10252      389,     0,   391,  3310,     0,   393,   394,   395,     0,     0,
10253      396,   397,   398,   399,   400,   401,   402,   403,   404,   405,
10254      406,   407,   408,   409,   410,   411,   412,     0,   414,   415,
10255      416,   417,   418,   419,   420,   421,   422,   423,   424,     0,
10256      425,   426,     0,   428,     0,   429,   430,   431,   432,   433,
10257      434,     0,   435,   436,     0,     0,   437,   438,   439,     0,
10258        0,   440,   441,   442,     0,   444,     0,   446,   447,   448,
10259      449,   450,   451,   452,   453,   454,   455,     0,     0,   456,
10260      457,   458,   459,   460,   461,   462,   463,  2227,   464,   465,
10261      466,   467,   468,   469,   470,   471,   472,   473,   474,   475,
10262      476,   477,   478,     0,   479,   480,   481,   482,   483,   484,
10263      485,   486,   487,   488,   489,   490,     0,   491,   492,     0,
10264      494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
10265      504,   505,   506,   507,   508,     0,   509,   510,   511,   512,
10266      513,     0,   514,   515,   516,   517,   518,     0,   520,   521,
10267      522,   523,     0,   524,   525,   526,   527,   528,   529,   530,
10268      531,   532,   533,   534,   535,   536,   537,   538,     0,   539,
10269      540,     0,   541,     0,   543,   544,   545,   546,   547,     0,
10270      548,   549,   550,     0,     0,   551,   552,   553,   554,   555,
10271        0,   556,   557,   558,   559,   560,   561,   562,   563,     0,
10272     2228,   564,   565,   566,   567,   568,     0,     0,   569,   570,
10273      571,   572,   573,   574,   575,     0,   576,     0,   578,   579,
10274      580,   581,     0,     0,   582,     0,     0,   583,   584,   585,
10275      586,   587,   588,   589,   590,   591,   592,   593,   594,   595,
10276      596,   597,   598,   599,   600,   601,   602,   610,     0,     0,
10277        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10278        0,     0,     0,     0,   230,   231,   232,   233,   234,   790,
10279      236,   237,   749,   238,   239,   240,     0,     0,     0,     0,
10280        0,     0,     0,   241,   242,     0,   243,   244,   245,     0,
10281      247,   248,   249,   250,   251,     0,   253,   254,     0,   255,
10282      256,   257,   258,   259,   260,     0,     0,   261,   262,   263,
10283      264,   265,     0,   266,   267,   268,   269,   270,     0,     0,
10284        0,   272,   273,   274,   275,   276,     0,   278,   279,   280,
10285        0,   281,   282,   283,   284,   285,   286,   750,     0,   288,
10286      289,   290,     0,     0,     0,     0,     0,     0,     0,   292,
10287      293,   294,   295,   296,   297,   298,   299,   300,     0,   301,
10288        0,   302,   303,   304,   305,   306,   307,     0,   308,   309,
10289      310,   311,     0,     0,   312,   313,   314,   315,   316,     0,
10290      317,   318,   319,     0,   320,   321,   322,     0,   323,   324,
10291      325,   326,   327,   328,   329,   330,   331,   332,     0,   333,
10292        0,   334,   335,   336,   337,     0,   338,     0,   339,     0,
10293        0,     0,   342,   343,   344,   345,   791,   346,   347,     0,
10294      348,   349,   350,     0,   351,   352,   353,   354,   355,     0,
10295      357,   358,   359,   360,     0,   361,   362,   363,   364,   365,
10296      366,   367,     0,   368,     0,   370,   371,   372,   373,   374,
10297      375,   376,     0,   377,     0,   378,     0,     0,   381,     0,
10298      383,   384,   385,   386,   387,     0,     0,   388,   389,     0,
10299      391,     0,     0,   393,   394,   395,     0,     0,   396,   397,
10300      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
10301      408,   409,   410,   411,   412,     0,   414,   415,   416,   417,
10302      418,   419,   420,   421,   422,   423,   424,     0,   425,   426,
10303        0,   428,     0,   429,   430,   431,   432,   433,   434,     0,
10304      435,   436,     0,     0,   437,   438,   439,     0,     0,   440,
10305      441,   442,     0,   444,     0,   446,   447,   448,   449,   450,
10306      451,   452,   453,   454,   455,     0,     0,   456,   457,   458,
10307      459,   460,   461,   462,   463,     0,   464,   465,   466,   467,
10308      468,   469,   470,   471,   472,   473,   474,   475,   476,   477,
10309      478,   751,   479,   480,   481,   482,   483,   484,   485,   486,
10310      487,   488,   489,   490,     0,   491,   492,     0,   494,   495,
10311      496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
10312      506,   507,   508,   752,   509,   510,   511,   512,   513,     0,
10313      514,   515,   516,   517,   518,     0,   520,   521,   522,   523,
10314        0,   524,   525,   526,   527,   528,   529,   530,   531,   532,
10315      533,   534,   535,   536,   537,   538,     0,   539,   540,     0,
10316      541,     0,   543,   544,   545,   546,   547,     0,   548,   549,
10317      550,     0,     0,   551,   552,   553,   554,   555,     0,   556,
10318      557,   558,   559,   560,   561,   562,   563,     0,     0,   564,
10319      565,   566,   567,   568,     0,     0,   569,   570,   571,   572,
10320      573,   574,   575,     0,   576,     0,   578,   579,   580,   581,
10321        0,     0,   582,     0,     0,   583,   584,   585,   586,   587,
10322      588,   589,   590,   591,   592,   593,   594,   595,   596,   597,
10323      598,   599,   600,   601,   602,   610,     0,     0,     0,     0,
10324        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10325        0,     0,   230,   231,   232,   233,   234,   235,   236,   237,
10326      749,   238,   239,   240,     0,     0,     0,     0,     0,     0,
10327        0,   241,   242,     0,   243,   244,   245,     0,   247,   248,
10328      249,   250,   251,     0,   253,   254,     0,   255,   256,   257,
10329      258,   259,   260,     0,     0,   261,   262,   263,   264,   265,
10330        0,   266,   267,   268,   269,   270,     0,     0,     0,   272,
10331      273,   274,   275,   276,     0,   278,   279,   280,     0,   281,
10332      282,   283,   284,   285,   286,   750,     0,   288,   289,   290,
10333        0,     0,     0,     0,     0,     0,     0,   292,   293,   294,
10334      295,   296,   297,   298,   299,   300,     0,   301,     0,   302,
10335      303,   304,   305,   306,   307,     0,   308,   309,   310,   311,
10336        0,     0,   312,   313,   314,   315,   316,     0,   317,   318,
10337      319,     0,   320,   321,   322,     0,   323,   324,   325,   326,
10338      327,   328,   329,   330,   331,   332,     0,   333,     0,   334,
10339      335,   336,   337,     0,   338,     0,   339,     0,     0,     0,
10340      342,   343,   344,   345,  2989,   346,   347,     0,   348,   349,
10341      350,     0,   351,   352,   353,   354,   355,     0,   357,   358,
10342      359,   360,     0,   361,   362,   363,   364,   365,   366,   367,
10343        0,   368,     0,   370,   371,   372,   373,   374,   375,   376,
10344        0,   377,     0,   378,     0,     0,   381,     0,   383,   384,
10345      385,   386,   387,     0,     0,   388,   389,     0,   391,     0,
10346        0,   393,   394,   395,     0,     0,   396,   397,   398,   399,
10347      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
10348      410,   411,   412,     0,   414,   415,   416,   417,   418,   419,
10349      420,   421,   422,   423,   424,     0,   425,   426,     0,   428,
10350        0,   429,   430,   431,   432,   433,   434,     0,   435,   436,
10351        0,     0,   437,   438,   439,     0,     0,   440,   441,   442,
10352        0,   444,     0,   446,   447,   448,   449,   450,   451,   452,
10353      453,   454,   455,     0,     0,   456,   457,   458,   459,   460,
10354      461,   462,   463,     0,   464,   465,   466,   467,   468,   469,
10355      470,   471,   472,   473,   474,   475,   476,   477,   478,   751,
10356      479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
10357      489,   490,     0,   491,   492,     0,   494,   495,   496,   497,
10358      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
10359      508,   752,   509,   510,   511,   512,   513,     0,   514,   515,
10360      516,   517,   518,     0,   520,   521,   522,   523,     0,   524,
10361      525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
10362      535,   536,   537,   538,     0,   539,   540,     0,   541,     0,
10363      543,   544,   545,   546,   547,     0,   548,   549,   550,     0,
10364        0,   551,   552,   553,   554,   555,     0,   556,   557,   558,
10365      559,   560,   561,   562,   563,     0,     0,   564,   565,   566,
10366      567,   568,     0,     0,   569,   570,   571,   572,   573,   574,
10367      575,     0,   576,     0,   578,   579,   580,   581,     0,     0,
10368      582,     0,     0,   583,   584,   585,   586,   587,   588,   589,
10369      590,   591,   592,   593,   594,   595,   596,   597,   598,   599,
10370      600,   601,   602,   610,     0,     0,     0,     0,     0,     0,
10371        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10372      230,   231,   232,   233,   234,   235,   236,   237,     0,   238,
10373      239,   240,     0,     0,     0,     0,     0,     0,     0,   241,
10374      242,     0,   243,   244,   245,     0,   247,   248,   249,   250,
10375      251,     0,   253,   254,     0,   255,   256,   257,   258,   259,
10376      260,     0,     0,   261,   262,   263,   264,   265,  2223,   266,
10377      267,   268,   269,   270,     0,     0,     0,   272,   273,   274,
10378      275,   276,     0,   278,   279,   280,  2224,   281,   282,   283,
10379      284,   285,   286,     0,     0,   288,   289,   290,     0,     0,
10380        0,     0,     0,     0,     0,   292,   293,   294,   295,   296,
10381      297,   298,   299,   300,     0,   301,     0,   302,   303,   304,
10382      305,   306,   307,     0,   308,   309,   310,   311,     0,     0,
10383      312,   313,   314,   315,   316,     0,   317,   318,   319,     0,
10384      320,   321,   322,     0,  2304,   324,   325,   326,   327,   328,
10385      329,   330,   331,   332,     0,   333,     0,   334,   335,   336,
10386      337,     0,   338,  2226,   339,     0,     0,     0,   342,   343,
10387      344,   345,     0,   346,   347,     0,   348,   349,   350,     0,
10388      351,   352,   353,   354,   355,     0,   357,   358,   359,   360,
10389        0,   361,   362,   363,   364,   365,   366,   367,     0,   368,
10390        0,   370,   371,   372,   373,   374,   375,   376,     0,   377,
10391        0,   378,     0,     0,   381,     0,   383,   384,   385,   386,
10392      387,     0,     0,   388,   389,     0,   391,     0,     0,   393,
10393      394,   395,     0,     0,   396,   397,   398,   399,   400,   401,
10394      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
10395      412,     0,   414,   415,   416,   417,   418,   419,   420,   421,
10396      422,   423,   424,     0,   425,   426,     0,   428,     0,   429,
10397      430,   431,   432,   433,   434,     0,   435,   436,     0,     0,
10398      437,   438,   439,     0,     0,   440,   441,   442,     0,   444,
10399        0,   446,   447,   448,   449,   450,   451,   452,   453,   454,
10400      455,     0,     0,   456,   457,   458,   459,   460,   461,   462,
10401      463,  2227,   464,   465,   466,   467,   468,   469,   470,   471,
10402      472,   473,   474,   475,   476,   477,   478,     0,   479,   480,
10403      481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
10404        0,   491,   492,     0,   494,   495,   496,   497,   498,   499,
10405      500,   501,   502,   503,   504,   505,   506,   507,   508,     0,
10406      509,   510,   511,   512,   513,     0,   514,   515,   516,   517,
10407      518,     0,   520,   521,   522,   523,     0,   524,   525,   526,
10408      527,   528,   529,   530,   531,   532,   533,   534,   535,   536,
10409      537,   538,     0,   539,   540,     0,   541,     0,   543,   544,
10410      545,   546,   547,     0,   548,   549,   550,     0,     0,   551,
10411      552,   553,   554,   555,     0,   556,   557,   558,   559,   560,
10412      561,   562,   563,     0,  2228,   564,   565,   566,   567,   568,
10413        0,     0,   569,   570,   571,   572,   573,   574,   575,     0,
10414      576,     0,   578,   579,   580,   581,     0,     0,   582,     0,
10415        0,   583,   584,   585,   586,   587,   588,   589,   590,   591,
10416      592,   593,   594,   595,   596,   597,   598,   599,   600,   601,
10417      602,   610,     0,     0,     0,     0,     0,     0,     0,     0,
10418        0,     0,     0,     0,     0,     0,     0,     0,   230,   231,
10419      232,   233,   234,   235,   236,   237,   749,   238,   239,   240,
10420        0,     0,     0,     0,     0,     0,     0,   241,   242,     0,
10421      243,   244,   245,     0,   247,   248,   249,   250,   251,     0,
10422      253,   254,     0,   255,   256,   257,   258,   259,   260,     0,
10423        0,   261,   262,   263,   264,   265,     0,   266,   267,   268,
10424      269,   270,     0,     0,     0,   272,   273,   274,   275,   276,
10425        0,   278,   279,   280,     0,   281,   282,   283,   284,   285,
10426      286,   750,     0,   288,   289,   290,     0,     0,     0,     0,
10427        0,     0,     0,   292,   293,   294,   295,   296,   297,   298,
10428      299,   300,     0,   301,     0,   302,   303,   304,   305,   306,
10429      307,     0,   308,   309,   310,   311,     0,     0,   312,   313,
10430      314,   315,   316,     0,   317,   318,   319,     0,   320,   321,
10431      322,     0,   323,   324,   325,   326,   327,   328,   329,   330,
10432      331,   332,     0,   333,     0,   334,   335,   336,   337,     0,
10433      338,     0,   339,     0,     0,     0,   342,   343,   344,   345,
10434        0,   346,   347,     0,   348,   349,   350,     0,   351,   352,
10435      353,   354,   355,     0,   357,   358,   359,   360,     0,   361,
10436      362,   363,   364,   365,   366,   367,     0,   368,     0,   370,
10437      371,   372,   373,   374,   375,   376,     0,   377,     0,   378,
10438        0,     0,   381,     0,   383,   384,   385,   386,   387,     0,
10439        0,   388,   389,     0,   391,     0,     0,   393,   394,   395,
10440        0,     0,   396,   397,   398,   399,   400,   401,   402,   403,
10441      404,   405,   406,   407,   408,   409,   410,   411,   412,     0,
10442      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
10443      424,     0,   425,   426,     0,   428,     0,   429,   430,   431,
10444      432,   433,   434,     0,   435,   436,     0,     0,   437,   438,
10445      439,     0,     0,   440,   441,   442,     0,   444,     0,   446,
10446      447,   448,   449,   450,   451,   452,   453,   454,   455,     0,
10447        0,   456,   457,   458,   459,   460,   461,   462,   463,     0,
10448      464,   465,   466,   467,   468,   469,   470,   471,   472,   473,
10449      474,   475,   476,   477,   478,   751,   479,   480,   481,   482,
10450      483,   484,   485,   486,   487,   488,   489,   490,     0,   491,
10451      492,     0,   494,   495,   496,   497,   498,   499,   500,   501,
10452      502,   503,   504,   505,   506,   507,   508,   752,   509,   510,
10453      511,   512,   513,     0,   514,   515,   516,   517,   518,     0,
10454      520,   521,   522,   523,     0,   524,   525,   526,   527,   528,
10455      529,   530,   531,   532,   533,   534,   535,   536,   537,   538,
10456        0,   539,   540,     0,   541,     0,   543,   544,   545,   546,
10457      547,     0,   548,   549,   550,     0,     0,   551,   552,   553,
10458      554,   555,     0,   556,   557,   558,   559,   560,   561,   562,
10459      563,     0,     0,   564,   565,   566,   567,   568,     0,     0,
10460      569,   570,   571,   572,   573,   574,   575,     0,   576,     0,
10461      578,   579,   580,   581,     0,     0,   582,     0,     0,   583,
10462      584,   585,   586,   587,   588,   589,   590,   591,   592,   593,
10463      594,   595,   596,   597,   598,   599,   600,   601,   602,   610,
10464        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10465        0,     0,     0,     0,     0,     0,   230,   231,   232,   233,
10466      234,   235,   236,   237,  1957,   238,   239,   240,     0,     0,
10467        0,     0,     0,     0,     0,   241,   242,     0,   243,   244,
10468      245,     0,   247,   248,   249,   250,   251,     0,   253,   254,
10469        0,   255,   256,   257,   258,   259,   260,     0,     0,   261,
10470      262,   263,   264,   265,     0,   266,   267,   268,   269,   270,
10471        0,     0,     0,   272,   273,   274,   275,   276,     0,   278,
10472      279,   280,     0,   281,   282,   283,   284,   285,   286,     0,
10473        0,   288,   289,   290,     0,     0,     0,     0,     0,     0,
10474        0,   292,   293,   294,  1958,   296,   297,   298,   299,   300,
10475        0,   301,     0,   302,   303,   304,   305,   306,   307,     0,
10476      308,   309,   310,   311,     0,     0,   312,  1959,   314,   315,
10477      316,     0,   317,   318,   319,     0,   320,   321,   322,     0,
10478      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
10479        0,   333,     0,   334,   335,   336,   337,     0,   338,  1960,
10480      339,     0,     0,     0,  1961,   343,   344,   345,     0,   346,
10481      347,     0,   348,   349,   350,     0,   351,   352,   353,   354,
10482      355,     0,   357,   358,   359,   360,     0,   361,   362,   363,
10483      364,   365,   366,   367,     0,   368,     0,   370,   371,   372,
10484      373,   374,   375,   376,     0,   377,     0,   378,     0,     0,
10485      381,     0,   383,   384,  1962,  1963,   387,     0,     0,   388,
10486      389,     0,   391,     0,     0,   393,   394,   395,     0,     0,
10487      396,   397,   398,   399,   400,   401,   402,   403,   404,   405,
10488      406,   407,   408,   409,   410,   411,   412,     0,   414,   415,
10489      416,   417,   418,   419,   420,   421,   422,   423,   424,     0,
10490      425,   426,     0,   428,     0,   429,   430,   431,   432,   433,
10491      434,     0,   435,   436,     0,     0,   437,   438,   439,     0,
10492        0,   440,   441,   442,     0,   444,     0,   446,   447,   448,
10493      449,   450,   451,   452,   453,   454,   455,     0,     0,   456,
10494      457,   458,   459,   460,   461,   462,   463,     0,   464,   465,
10495      466,  1964,   468,   469,   470,   471,   472,   473,   474,   475,
10496      476,   477,   478,     0,   479,   480,   481,   482,   483,   484,
10497      485,   486,   487,   488,   489,   490,     0,   491,   492,     0,
10498      494,   495,   496,  1965,   498,   499,   500,   501,   502,  1966,
10499      504,   505,   506,   507,   508,     0,  1967,   510,   511,   512,
10500      513,     0,   514,   515,   516,   517,   518,     0,   520,   521,
10501      522,   523,     0,   524,   525,   526,   527,   528,   529,   530,
10502      531,   532,   533,   534,   535,   536,   537,   538,     0,   539,
10503      540,  1968,   541,     0,  1969,   544,   545,   546,   547,     0,
10504      548,   549,   550,     0,     0,   551,   552,   553,   554,   555,
10505        0,   556,   557,  1970,   559,   560,   561,   562,   563,     0,
10506        0,   564,   565,   566,   567,   568,     0,     0,   569,   570,
10507      571,   572,   573,   574,   575,     0,   576,     0,   578,   579,
10508      580,   581,     0,     0,   582,     0,     0,   583,   584,   585,
10509      586,   587,   588,   589,   590,   591,   592,   593,   594,   595,
10510      596,   597,   598,   599,   600,   601,   602,   610,     0,     0,
10511        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10512        0,     0,     0,     0,   230,   231,   232,   233,   234,   235,
10513      236,   237,     0,   238,   239,   240,     0,     0,     0,     0,
10514        0,     0,     0,   241,   242,     0,   243,   244,   245,     0,
10515      247,   248,   249,   250,   251,     0,   253,   254,     0,   255,
10516      256,   257,   258,   259,   260,     0,     0,   261,   262,   263,
10517      264,   265,     0,   266,   267,   268,   269,   270,     0,     0,
10518        0,   272,   273,   274,   275,   276,     0,   278,   279,   280,
10519        0,   281,   282,   283,   284,   285,   286,   750,     0,   288,
10520      289,   290,     0,     0,     0,     0,     0,     0,     0,   292,
10521      293,   294,   295,   296,   297,   298,   299,   300,     0,   301,
10522        0,   302,   303,   304,   305,   306,   307,     0,   308,   309,
10523      310,   311,     0,     0,   312,   313,   314,   315,   316,     0,
10524      317,   318,   319,     0,   320,   321,   322,     0,   323,   324,
10525      325,   326,   327,   328,   329,   330,   331,   332,     0,   333,
10526        0,   334,   335,   336,   337,     0,   338,     0,   339,     0,
10527        0,     0,   342,   343,   344,   345,     0,   346,   347,     0,
10528      348,   349,   350,     0,   351,   352,   353,   354,   355,     0,
10529      357,   358,   359,   360,     0,   361,   362,   363,   364,   365,
10530      366,   367,     0,   368,     0,   370,   371,   372,   373,   374,
10531      375,   376,     0,   377,     0,   378,     0,     0,   381,     0,
10532      383,   384,   385,   386,   387,     0,     0,   388,   389,     0,
10533      391,     0,     0,   393,   394,   395,     0,     0,   396,   397,
10534      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
10535      408,   409,   410,   411,   412,     0,   414,   415,   416,   417,
10536      418,   419,   420,   421,   422,   423,   424,     0,   425,   426,
10537        0,   428,     0,   429,   430,   431,   432,   433,   434,     0,
10538      435,   436,     0,     0,   437,   438,   439,     0,     0,   440,
10539      441,   442,     0,   444,     0,   446,   447,   448,   449,   450,
10540      451,   452,   453,   454,   455,     0,     0,   456,   457,   458,
10541      459,   460,   461,   462,   463,     0,   464,   465,   466,   467,
10542      468,   469,   470,   471,   472,   473,   474,   475,   476,   477,
10543      478,   751,   479,   480,   481,   482,   483,   484,   485,   486,
10544      487,   488,   489,   490,     0,   491,   492,     0,   494,   495,
10545      496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
10546      506,   507,   508,   752,   509,   510,   511,   512,   513,     0,
10547      514,   515,   516,   517,   518,     0,   520,   521,   522,   523,
10548        0,   524,   525,   526,   527,   528,   529,   530,   531,   532,
10549      533,   534,   535,   536,   537,   538,     0,   539,   540,     0,
10550      541,     0,   543,   544,   545,   546,   547,     0,   548,   549,
10551      550,     0,     0,   551,   552,   553,   554,   555,     0,   556,
10552      557,   558,   559,   560,   561,   562,   563,     0,     0,   564,
10553      565,   566,   567,   568,     0,     0,   569,   570,   571,   572,
10554      573,   574,   575,     0,   576,     0,   578,   579,   580,   581,
10555        0,     0,   582,     0,     0,   583,   584,   585,   586,   587,
10556      588,   589,   590,   591,   592,   593,   594,   595,   596,   597,
10557      598,   599,   600,   601,   602,   610,     0,     0,     0,     0,
10558        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10559        0,     0,   230,   231,   232,   233,   234,   235,   236,   237,
10560      929,   238,   239,   240,     0,     0,     0,     0,     0,     0,
10561        0,   241,   242,     0,   243,   244,   245,     0,   247,   248,
10562      249,   250,   251,     0,   253,   254,     0,   255,   256,   257,
10563      258,   259,   260,     0,     0,   261,   262,   263,   264,   265,
10564        0,   266,   267,   268,   269,   270,     0,     0,     0,   272,
10565      273,   274,   275,   276,     0,   278,   279,   280,     0,   281,
10566      282,   283,   284,   285,   286,     0,     0,   288,   289,   290,
10567        0,     0,     0,     0,     0,     0,     0,   292,   293,   294,
10568      295,   296,   297,   298,   299,   300,     0,   301,     0,   302,
10569      303,   304,   305,   306,   307,     0,   308,   309,   310,   311,
10570        0,     0,   312,   313,   314,   315,   316,     0,   317,   318,
10571      319,     0,   320,   321,   322,     0,   323,   324,   325,   326,
10572      327,   328,   329,   330,   331,   332,     0,   333,     0,   334,
10573      335,   336,   337,     0,   338,     0,   339,     0,     0,     0,
10574      342,   343,   344,   345,     0,   346,   347,     0,   348,   349,
10575      350,     0,   351,   352,   353,   354,   930,     0,   357,   358,
10576      359,   360,     0,   361,   362,   363,   364,   365,   366,   367,
10577        0,   368,     0,   370,   371,   372,   373,   374,   375,   376,
10578        0,   377,     0,   378,     0,     0,   381,     0,   383,   384,
10579      385,   386,   387,     0,     0,   388,   389,     0,   391,     0,
10580        0,   393,   394,   395,     0,     0,   396,   397,   398,   399,
10581      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
10582      410,   411,   412,     0,   414,   415,   416,   417,   418,   419,
10583      420,   421,   422,   423,   424,     0,   425,   426,     0,   428,
10584        0,   429,   430,   431,   432,   433,   434,     0,   435,   436,
10585        0,   822,   437,   438,   439,     0,     0,   440,   441,   442,
10586        0,   444,     0,   446,   447,   448,   449,   450,   451,   452,
10587      453,   454,   455,     0,     0,   456,   457,   458,   459,   460,
10588      461,   462,   463,     0,   464,   465,   466,   467,   468,   469,
10589      470,   471,   472,   473,   474,   475,   476,   477,   478,     0,
10590      479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
10591      489,   490,     0,   491,   492,     0,   494,   495,   496,   497,
10592      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
10593      508,     0,   509,   510,   511,   512,   513,     0,   514,   515,
10594      516,   517,   518,     0,   520,   521,   522,   523,     0,   524,
10595      525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
10596      535,   536,   537,   538,     0,   539,   540,     0,   541,     0,
10597      543,   544,   545,   546,   547,     0,   548,   549,   550,     0,
10598        0,   551,   552,   553,   554,   555,     0,   556,   557,   558,
10599      559,   560,   561,   562,   563,     0,     0,   564,   565,   566,
10600      567,   568,     0,     0,   569,   570,   571,   572,   573,   574,
10601      575,     0,   576,     0,   578,   579,   580,   581,     0,     0,
10602      582,     0,     0,   583,   584,   585,   586,   587,   588,   589,
10603      590,   591,   592,   593,   594,   595,   596,   597,   598,   599,
10604      600,   601,   602,   610,     0,     0,     0,     0,     0,     0,
10605        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10606      230,   231,   232,   233,   234,   235,   236,   237,  3080,   238,
10607      239,   240,     0,     0,     0,     0,     0,     0,     0,   241,
10608      242,     0,   243,   244,   245,     0,   247,   248,   249,   250,
10609      251,     0,   253,   254,     0,   255,   256,   257,   258,   259,
10610      260,     0,     0,   261,   262,   263,   264,   265,     0,   266,
10611      267,   268,   269,   270,     0,     0,     0,   272,   273,   274,
10612      275,   276,     0,   278,   279,   280,     0,   281,   282,   283,
10613      284,   285,   286,     0,     0,   288,   289,   290,     0,     0,
10614        0,     0,     0,     0,     0,   292,   293,   294,   295,   296,
10615      297,   298,   299,   300,     0,   301,     0,   302,   303,   304,
10616      305,   306,   307,     0,   308,   309,   310,   311,     0,     0,
10617      312,   313,   314,   315,   316,     0,   317,   318,   319,     0,
10618      320,   321,   322,     0,   323,   324,   325,   326,   327,   328,
10619      329,   330,   331,   332,     0,   333,     0,   334,   335,   336,
10620      337,     0,   338,     0,   339,     0,     0,     0,   342,   343,
10621      344,   345,     0,   346,   347,     0,   348,   349,   350,     0,
10622      351,   352,   353,   354,   355,     0,   357,   358,   359,   360,
10623        0,   361,   362,   363,   364,   365,   366,   367,     0,   368,
10624        0,   370,   371,   372,   373,   374,   375,   376,     0,   377,
10625        0,   378,     0,     0,   381,     0,   383,   384,   385,   386,
10626      387,     0,     0,   388,   389,     0,   391,     0,     0,   393,
10627      394,   395,     0,     0,   396,   397,   398,   399,   400,   401,
10628      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
10629      412,     0,   414,   415,   416,   417,   418,   419,   420,   421,
10630      422,   423,   424,     0,   425,   426,     0,   428,     0,   429,
10631      430,   431,   432,   433,   434,     0,   435,   436,     0,     0,
10632      437,   438,   439,     0,     0,   440,   441,   442,     0,   444,
10633        0,   446,   447,   448,   449,   450,   451,   452,   453,   454,
10634      455,     0,     0,   456,   457,   458,   459,   460,   461,   462,
10635      463,     0,   464,   465,   466,   467,   468,   469,   470,   471,
10636      472,   473,   474,   475,   476,   477,   478,     0,   479,   480,
10637      481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
10638        0,   491,   492,     0,   494,   495,   496,   497,   498,   499,
10639      500,   501,   502,   503,   504,   505,   506,   507,   508,     0,
10640      509,   510,   511,   512,   513,     0,   514,   515,   516,   517,
10641      518,     0,   520,   521,   522,   523,     0,   524,   525,   526,
10642      527,   528,   529,   530,   531,   532,   533,   534,   535,   536,
10643      537,   538,     0,   539,   540,     0,   541,     0,   543,   544,
10644      545,   546,   547,     0,   548,   549,   550,     0,     0,   551,
10645      552,   553,   554,   555,     0,   556,   557,   558,   559,   560,
10646      561,   562,   563,     0,     0,   564,   565,   566,   567,   568,
10647     3081,     0,   569,   570,   571,   572,   573,   574,   575,     0,
10648      576,     0,   578,   579,   580,   581,     0,     0,   582,     0,
10649        0,   583,   584,   585,   586,   587,   588,   589,   590,   591,
10650      592,   593,   594,   595,   596,   597,   598,   599,   600,   601,
10651      602,   610,     0,     0,     0,     0,     0,     0,     0,     0,
10652        0,     0,     0,     0,     0,     0,     0,     0,   230,   231,
10653      232,   233,   234,   235,   236,   237,  3093,   238,   239,   240,
10654        0,     0,     0,     0,     0,     0,     0,   241,   242,     0,
10655      243,   244,   245,     0,   247,   248,   249,   250,   251,     0,
10656      253,   254,     0,   255,   256,   257,   258,   259,   260,     0,
10657        0,   261,   262,   263,   264,   265,     0,   266,   267,   268,
10658      269,   270,     0,     0,     0,   272,   273,   274,   275,   276,
10659        0,   278,   279,   280,     0,   281,   282,   283,   284,   285,
10660      286,     0,     0,   288,   289,   290,     0,     0,     0,     0,
10661        0,     0,     0,   292,   293,   294,   295,   296,   297,   298,
10662      299,   300,     0,   301,     0,   302,   303,   304,   305,   306,
10663      307,     0,   308,   309,   310,   311,     0,     0,   312,   313,
10664      314,   315,   316,     0,   317,   318,   319,     0,   320,   321,
10665      322,     0,   323,   324,   325,   326,   327,   328,   329,   330,
10666      331,   332,     0,   333,     0,   334,   335,   336,   337,     0,
10667      338,     0,   339,     0,     0,     0,   342,   343,   344,   345,
10668        0,   346,   347,     0,   348,   349,   350,     0,   351,   352,
10669      353,   354,   355,     0,   357,   358,   359,   360,     0,   361,
10670      362,   363,   364,   365,   366,   367,     0,   368,     0,   370,
10671      371,   372,   373,   374,   375,   376,     0,   377,     0,   378,
10672        0,     0,   381,     0,   383,   384,   385,   386,   387,     0,
10673        0,   388,   389,     0,   391,     0,     0,   393,   394,   395,
10674        0,     0,   396,   397,   398,   399,   400,   401,   402,   403,
10675      404,   405,   406,   407,   408,   409,   410,   411,   412,     0,
10676      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
10677      424,     0,   425,   426,     0,   428,     0,   429,   430,   431,
10678      432,   433,   434,     0,   435,   436,     0,     0,   437,   438,
10679      439,     0,     0,   440,   441,   442,     0,   444,     0,   446,
10680      447,   448,   449,   450,   451,   452,   453,   454,   455,     0,
10681        0,   456,   457,   458,   459,   460,   461,   462,   463,     0,
10682      464,   465,   466,   467,   468,   469,   470,   471,   472,   473,
10683      474,   475,   476,   477,   478,     0,   479,   480,   481,   482,
10684      483,   484,   485,   486,   487,   488,   489,   490,     0,   491,
10685      492,     0,   494,   495,   496,   497,   498,   499,   500,   501,
10686      502,   503,   504,   505,   506,   507,   508,     0,   509,   510,
10687      511,   512,   513,     0,   514,   515,   516,   517,   518,     0,
10688      520,   521,   522,   523,     0,   524,   525,   526,   527,   528,
10689      529,   530,   531,   532,   533,   534,   535,   536,   537,   538,
10690        0,   539,   540,     0,   541,     0,   543,   544,   545,   546,
10691      547,     0,   548,   549,   550,     0,     0,   551,   552,   553,
10692      554,   555,     0,   556,   557,   558,   559,   560,   561,   562,
10693      563,     0,     0,   564,   565,   566,   567,   568,  3094,     0,
10694      569,   570,   571,   572,   573,   574,   575,     0,   576,     0,
10695      578,   579,   580,   581,     0,     0,   582,     0,     0,   583,
10696      584,   585,   586,   587,   588,   589,   590,   591,   592,   593,
10697      594,   595,   596,   597,   598,   599,   600,   601,   602,   610,
10698        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10699        0,     0,     0,     0,     0,     0,   230,   231,   232,   233,
10700      234,   235,   236,   237,   611,   238,   239,   240,     0,     0,
10701        0,     0,     0,     0,     0,   241,   242,     0,   243,   244,
10702      245,     0,   247,   248,   249,   250,   251,     0,   253,   254,
10703        0,   255,   256,   257,   258,   259,   260,     0,     0,   261,
10704      262,   263,   264,   265,     0,   266,   267,   268,   269,   270,
10705        0,     0,     0,   272,   273,   274,   275,   276,     0,   278,
10706      279,   280,     0,   281,   282,   283,   284,   285,   286,     0,
10707        0,   288,   289,   290,     0,     0,     0,     0,     0,     0,
10708        0,   292,   293,   294,   295,   296,   297,   298,   299,   300,
10709        0,   301,     0,   302,   303,   304,   305,   306,   307,     0,
10710      308,   309,   310,   311,     0,     0,   312,   313,   314,   315,
10711      316,     0,   317,   318,   319,     0,   320,   321,   322,     0,
10712      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
10713        0,   333,     0,   334,   335,   336,   337,     0,   338,     0,
10714      339,     0,     0,     0,   342,   343,   344,   345,     0,   346,
10715      347,     0,   348,   349,   350,     0,   351,   352,   353,   354,
10716      355,     0,   357,   358,   359,   360,     0,   361,   362,   363,
10717      364,   365,   366,   367,     0,   368,     0,   370,   371,   372,
10718      373,   374,   375,   376,     0,   377,     0,   378,     0,     0,
10719      381,     0,   383,   384,   385,   386,   387,     0,     0,   388,
10720      389,     0,   391,     0,     0,   393,   394,   395,     0,     0,
10721      396,   397,   398,   399,   400,   401,   402,   403,   404,   405,
10722      406,   407,   408,   409,   410,   411,   412,     0,   414,   415,
10723      416,   417,   418,   419,   420,   421,   422,   423,   424,     0,
10724      425,   426,     0,   428,     0,   429,   430,   431,   432,   433,
10725      434,     0,   435,   436,     0,     0,   437,   438,   439,     0,
10726        0,   440,   441,   442,     0,   444,     0,   446,   447,   448,
10727      449,   450,   451,   452,   453,   454,   455,     0,     0,   456,
10728      457,   458,   459,   460,   461,   462,   463,     0,   464,   465,
10729      466,   467,   468,   469,   470,   471,   472,   473,   474,   475,
10730      476,   477,   478,     0,   479,   480,   481,   482,   483,   484,
10731      485,   486,   487,   488,   489,   490,     0,   491,   492,     0,
10732      494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
10733      504,   505,   506,   507,   508,     0,   509,   510,   511,   512,
10734      513,     0,   514,   515,   516,   517,   518,     0,   520,   521,
10735      522,   523,     0,   524,   525,   526,   527,   528,   529,   530,
10736      531,   532,   533,   534,   535,   536,   537,   538,     0,   539,
10737      540,     0,   541,     0,   543,   544,   545,   546,   547,     0,
10738      548,   549,   550,     0,     0,   551,   552,   553,   554,   555,
10739        0,   556,   557,   558,   559,   560,   561,   562,   563,     0,
10740        0,   564,   565,   566,   567,   568,     0,     0,   569,   570,
10741      571,   572,   573,   574,   575,     0,   576,     0,   578,   579,
10742      580,   581,     0,     0,   582,     0,     0,   583,   584,   585,
10743      586,   587,   588,   589,   590,   591,   592,   593,   594,   595,
10744      596,   597,   598,   599,   600,   601,   602,   610,     0,     0,
10745        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10746        0,     0,     0,     0,   230,   231,   232,   233,   234,   235,
10747      236,   237,   661,   238,   239,   240,     0,     0,     0,     0,
10748        0,     0,     0,   241,   242,     0,   243,   244,   245,     0,
10749      247,   248,   249,   250,   251,     0,   253,   254,     0,   255,
10750      256,   257,   258,   259,   260,     0,     0,   261,   262,   263,
10751      264,   265,     0,   266,   267,   268,   269,   270,     0,     0,
10752        0,   272,   273,   274,   275,   276,     0,   278,   279,   280,
10753        0,   281,   282,   283,   284,   285,   286,     0,     0,   288,
10754      289,   290,     0,     0,     0,     0,     0,     0,     0,   292,
10755      293,   294,   295,   296,   297,   298,   299,   300,     0,   301,
10756        0,   302,   303,   304,   305,   306,   307,     0,   308,   309,
10757      310,   311,     0,     0,   312,   313,   314,   315,   316,     0,
10758      317,   318,   319,     0,   320,   321,   322,     0,   323,   324,
10759      325,   326,   327,   328,   329,   330,   331,   332,     0,   333,
10760        0,   334,   335,   336,   337,     0,   338,     0,   339,     0,
10761        0,     0,   342,   343,   344,   345,     0,   346,   347,     0,
10762      348,   349,   350,     0,   351,   352,   353,   354,   355,     0,
10763      357,   358,   359,   360,     0,   361,   362,   363,   364,   365,
10764      366,   367,     0,   368,     0,   370,   371,   372,   373,   374,
10765      375,   376,     0,   377,     0,   378,     0,     0,   381,     0,
10766      383,   384,   385,   386,   387,     0,     0,   388,   389,     0,
10767      391,     0,     0,   393,   394,   395,     0,     0,   396,   397,
10768      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
10769      408,   409,   410,   411,   412,     0,   414,   415,   416,   417,
10770      418,   419,   420,   421,   422,   423,   424,     0,   425,   426,
10771        0,   428,     0,   429,   430,   431,   432,   433,   434,     0,
10772      435,   436,     0,     0,   437,   438,   439,     0,     0,   440,
10773      441,   442,     0,   444,     0,   446,   447,   448,   449,   450,
10774      451,   452,   453,   454,   455,     0,     0,   456,   457,   458,
10775      459,   460,   461,   662,   463,     0,   464,   465,   466,   467,
10776      468,   469,   470,   471,   472,   473,   474,   475,   476,   477,
10777      478,     0,   479,   480,   481,   482,   483,   484,   485,   486,
10778      487,   488,   489,   490,     0,   491,   492,     0,   494,   495,
10779      496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
10780      506,   507,   508,     0,   509,   510,   511,   512,   513,     0,
10781      514,   515,   516,   517,   518,     0,   520,   521,   522,   523,
10782        0,   524,   525,   526,   527,   528,   529,   530,   531,   532,
10783      533,   534,   535,   536,   537,   538,     0,   539,   540,     0,
10784      541,     0,   543,   544,   545,   546,   547,     0,   548,   549,
10785      550,     0,     0,   551,   552,   553,   554,   555,     0,   556,
10786      557,   558,   559,   560,   561,   562,   563,     0,     0,   564,
10787      565,   566,   567,   568,     0,     0,   569,   570,   571,   572,
10788      573,   574,   575,     0,   576,     0,   578,   579,   580,   581,
10789        0,     0,   582,     0,     0,   583,   584,   585,   586,   587,
10790      588,   589,   590,   591,   592,   593,   594,   595,   596,   597,
10791      598,   599,   600,   601,   602,   610,     0,     0,     0,     0,
10792        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10793        0,     0,   230,   231,   232,   233,   234,   235,   236,   237,
10794      782,   238,   239,   240,     0,     0,     0,     0,     0,     0,
10795        0,   241,   242,     0,   243,   244,   245,     0,   247,   248,
10796      249,   250,   251,     0,   253,   254,     0,   255,   256,   257,
10797      258,   259,   260,     0,     0,   261,   262,   263,   264,   265,
10798        0,   266,   267,   268,   269,   270,     0,     0,     0,   272,
10799      273,   274,   275,   276,     0,   278,   279,   280,     0,   281,
10800      282,   283,   284,   285,   286,     0,     0,   288,   289,   290,
10801        0,     0,     0,     0,     0,     0,     0,   292,   293,   294,
10802      295,   296,   297,   298,   299,   300,     0,   301,     0,   302,
10803      303,   304,   305,   306,   307,     0,   308,   309,   310,   311,
10804        0,     0,   312,   313,   314,   315,   316,     0,   317,   318,
10805      319,     0,   320,   321,   322,     0,   323,   324,   325,   326,
10806      327,   328,   329,   330,   331,   332,     0,   333,     0,   334,
10807      335,   336,   337,     0,   338,     0,   339,     0,     0,     0,
10808      342,   343,   344,   345,     0,   346,   347,     0,   348,   349,
10809      350,     0,   351,   352,   353,   354,   355,     0,   357,   358,
10810      359,   360,     0,   361,   362,   363,   364,   365,   366,   367,
10811        0,   368,     0,   370,   371,   372,   373,   374,   375,   376,
10812        0,   377,     0,   378,     0,     0,   381,     0,   383,   384,
10813      385,   386,   387,     0,     0,   388,   389,     0,   391,     0,
10814        0,   393,   394,   395,     0,     0,   396,   397,   398,   399,
10815      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
10816      410,   411,   412,     0,   414,   415,   416,   417,   418,   419,
10817      420,   421,   422,   423,   424,     0,   425,   426,     0,   428,
10818        0,   429,   430,   431,   432,   433,   434,     0,   435,   436,
10819        0,     0,   437,   438,   439,     0,     0,   440,   441,   442,
10820        0,   444,     0,   446,   447,   448,   449,   450,   451,   452,
10821      453,   454,   455,     0,     0,   456,   457,   458,   459,   460,
10822      461,   462,   463,     0,   464,   465,   466,   467,   468,   469,
10823      470,   471,   472,   473,   474,   475,   476,   477,   478,     0,
10824      479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
10825      489,   490,     0,   491,   492,     0,   494,   495,   496,   497,
10826      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
10827      508,     0,   509,   510,   511,   512,   783,     0,   514,   515,
10828      516,   517,   518,     0,   520,   521,   522,   523,     0,   524,
10829      525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
10830      535,   536,   537,   538,     0,   539,   540,     0,   541,     0,
10831      543,   544,   545,   546,   547,     0,   548,   784,   550,     0,
10832        0,   785,   552,   553,   554,   555,     0,   556,   557,   558,
10833      559,   560,   561,   562,   563,     0,     0,   564,   565,   566,
10834      567,   568,     0,     0,   569,   570,   571,   572,   573,   574,
10835      575,     0,   576,     0,   578,   579,   580,   581,     0,     0,
10836      582,     0,     0,   583,   584,   585,   586,   587,   588,   589,
10837      590,   591,   592,   593,   594,   595,   596,   597,   598,   599,
10838      600,   601,   602,   610,     0,     0,     0,     0,     0,     0,
10839        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10840      230,   231,   232,   233,   234,   235,   236,   237,   816,   238,
10841      239,   240,     0,     0,     0,     0,     0,     0,     0,   241,
10842      242,     0,   243,   244,   245,     0,   247,   248,   249,   250,
10843      251,     0,   253,   254,     0,   255,   256,   257,   258,   259,
10844      260,     0,     0,   261,   262,   263,   264,   265,     0,   266,
10845      267,   268,   269,   270,     0,     0,     0,   272,   273,   274,
10846      275,   276,     0,   278,   279,   280,     0,   281,   282,   283,
10847      284,   285,   286,     0,     0,   288,   289,   290,     0,     0,
10848        0,     0,     0,     0,     0,   292,   293,   294,   295,   296,
10849      297,   298,   299,   300,     0,   301,     0,   302,   303,   304,
10850      305,   306,   307,     0,   308,   309,   310,   311,     0,     0,
10851      312,   313,   314,   315,   316,     0,   317,   318,   319,     0,
10852      320,   321,   322,     0,   323,   324,   325,   326,   327,   328,
10853      329,   330,   331,   332,     0,   333,     0,   334,   335,   336,
10854      337,     0,   338,     0,   339,     0,     0,     0,   342,   343,
10855      344,   345,     0,   346,   347,     0,   348,   349,   350,     0,
10856      351,   352,   353,   354,   355,     0,   357,   358,   359,   360,
10857        0,   361,   362,   363,   364,   365,   366,   367,     0,   368,
10858        0,   370,   371,   372,   373,   374,   375,   376,     0,   377,
10859        0,   378,     0,     0,   381,     0,   383,   384,   385,   386,
10860      387,     0,     0,   388,   389,     0,   391,     0,     0,   393,
10861      394,   395,     0,     0,   396,   397,   398,   399,   400,   401,
10862      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
10863      412,     0,   414,   415,   416,   417,   418,   419,   420,   421,
10864      422,   423,   424,     0,   425,   426,     0,   428,     0,   429,
10865      430,   431,   432,   433,   434,     0,   435,   436,     0,     0,
10866      437,   438,   439,     0,     0,   440,   441,   442,     0,   444,
10867        0,   446,   447,   448,   449,   450,   451,   452,   453,   454,
10868      455,     0,     0,   456,   457,   458,   459,   460,   461,   462,
10869      463,     0,   464,   465,   466,   467,   468,   469,   470,   471,
10870      472,   473,   474,   475,   476,   477,   478,     0,   479,   480,
10871      481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
10872        0,   491,   492,     0,   494,   495,   496,   497,   498,   499,
10873      500,   501,   502,   503,   504,   505,   506,   507,   508,     0,
10874      509,   510,   511,   512,   817,     0,   514,   515,   516,   517,
10875      518,     0,   520,   521,   522,   523,     0,   524,   525,   526,
10876      527,   528,   529,   530,   531,   532,   533,   534,   535,   536,
10877      537,   538,     0,   539,   540,     0,   541,     0,   543,   544,
10878      545,   546,   547,     0,   548,   818,   550,     0,     0,   819,
10879      552,   553,   554,   555,     0,   556,   557,   558,   559,   560,
10880      561,   562,   563,     0,     0,   564,   565,   566,   567,   568,
10881        0,     0,   569,   570,   571,   572,   573,   574,   575,     0,
10882      576,     0,   578,   579,   580,   581,     0,     0,   582,     0,
10883        0,   583,   584,   585,   586,   587,   588,   589,   590,   591,
10884      592,   593,   594,   595,   596,   597,   598,   599,   600,   601,
10885      602,   610,     0,     0,     0,     0,     0,     0,     0,     0,
10886        0,     0,     0,     0,     0,     0,     0,     0,   230,   231,
10887      232,   233,   234,   235,   236,   237,     0,   238,   239,   240,
10888        0,     0,     0,     0,     0,     0,     0,   241,   242,     0,
10889      243,   244,   245,     0,   247,   248,   249,   250,   251,     0,
10890      253,   254,     0,   255,   256,   257,   258,   259,   260,     0,
10891        0,   261,   262,   263,   264,   265,     0,   266,   267,   268,
10892      269,   270,     0,     0,     0,   272,   273,   274,   275,   276,
10893        0,   278,   279,   280,     0,   281,   282,   283,   284,   285,
10894      286,     0,     0,   288,   289,   290,     0,     0,     0,     0,
10895        0,     0,     0,   292,   293,   294,   295,   296,   297,   298,
10896      299,   300,     0,   301,     0,   302,   303,   304,   305,   306,
10897      307,     0,   308,   309,   310,   311,     0,     0,   312,   313,
10898      314,   315,   316,     0,   317,   318,   319,     0,   320,   321,
10899      322,     0,   323,   324,   325,   326,   327,   328,   329,   330,
10900      331,   332,     0,   333,     0,   334,   335,   336,   337,     0,
10901      338,     0,   339,     0,     0,     0,   342,   343,   344,   345,
10902        0,   346,   347,     0,   348,   349,   350,     0,   351,   352,
10903      353,   354,   355,     0,   357,   358,   359,   360,     0,   361,
10904      362,   363,   364,   365,   366,   367,     0,   368,     0,   370,
10905      371,   372,   373,   374,   375,   376,     0,   377,     0,   378,
10906        0,     0,   381,     0,   383,   384,   385,   386,   387,     0,
10907        0,   388,   389,     0,   391,     0,     0,   393,   394,   395,
10908        0,     0,   396,   397,   398,   399,   400,   401,   402,   403,
10909      404,   405,   406,   407,   408,   409,   410,   411,   412,     0,
10910      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
10911      424,     0,   425,   426,     0,   428,     0,   429,   430,   431,
10912      432,   433,   434,     0,   435,   436,     0,   822,   437,   438,
10913      439,     0,     0,   440,   441,   442,     0,   444,     0,   446,
10914      447,   448,   449,   450,   451,   452,   453,   454,   455,     0,
10915        0,   456,   457,   458,   459,   460,   461,   462,   463,     0,
10916      464,   465,   466,   467,   468,   469,   470,   471,   472,   473,
10917      474,   475,   476,   477,   478,     0,   479,   480,   481,   482,
10918      483,   484,   485,   486,   487,   488,   489,   490,     0,   491,
10919      492,     0,   494,   495,   496,   497,   498,   499,   500,   501,
10920      502,   503,   504,   505,   506,   507,   508,     0,   509,   510,
10921      511,   512,   513,     0,   514,   515,   516,   517,   518,     0,
10922      520,   521,   522,   523,     0,   524,   525,   526,   527,   528,
10923      529,   530,   531,   532,   533,   534,   535,   536,   537,   538,
10924        0,   539,   540,     0,   541,     0,   543,   544,   545,   546,
10925      547,     0,   548,   549,   550,     0,     0,   551,   552,   553,
10926      554,   555,     0,   556,   557,   558,   559,   560,   561,   562,
10927      563,     0,     0,   564,   565,   566,   567,   568,     0,     0,
10928      569,   570,   571,   572,   573,   574,   575,     0,   576,     0,
10929      578,   579,   580,   581,     0,     0,   582,     0,     0,   583,
10930      584,   585,   586,   587,   588,   589,   590,   591,   592,   593,
10931      594,   595,   596,   597,   598,   599,   600,   601,   602,   610,
10932        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10933        0,     0,     0,     0,     0,     0,   230,   231,   232,   233,
10934      234,   235,   236,   237,   886,   238,   239,   240,     0,     0,
10935        0,     0,     0,     0,     0,   241,   242,     0,   243,   244,
10936      245,     0,   247,   248,   249,   250,   251,     0,   253,   254,
10937        0,   255,   256,   257,   258,   259,   260,     0,     0,   261,
10938      262,   263,   264,   265,     0,   266,   267,   268,   269,   270,
10939        0,     0,     0,   272,   273,   274,   275,   276,     0,   278,
10940      279,   280,     0,   281,   282,   283,   284,   285,   286,     0,
10941        0,   288,   289,   290,     0,     0,     0,     0,     0,     0,
10942        0,   292,   293,   294,   295,   296,   297,   298,   299,   300,
10943        0,   301,     0,   302,   303,   304,   305,   306,   307,     0,
10944      308,   309,   310,   311,     0,     0,   312,   313,   314,   315,
10945      316,     0,   317,   318,   319,     0,   320,   321,   322,     0,
10946      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
10947        0,   333,     0,   334,   335,   336,   337,     0,   338,     0,
10948      339,     0,     0,     0,   342,   343,   344,   345,     0,   346,
10949      347,     0,   348,   349,   350,     0,   351,   352,   353,   354,
10950      887,     0,   357,   358,   359,   360,     0,   361,   362,   363,
10951      364,   365,   366,   367,     0,   368,     0,   370,   371,   372,
10952      373,   374,   375,   376,     0,   377,     0,   378,     0,     0,
10953      381,     0,   383,   384,   385,   386,   387,     0,     0,   388,
10954      389,     0,   391,     0,     0,   393,   394,   395,     0,     0,
10955      396,   397,   398,   399,   400,   401,   402,   403,   404,   405,
10956      406,   407,   408,   409,   410,   411,   412,     0,   414,   415,
10957      416,   417,   418,   419,   420,   421,   422,   423,   424,     0,
10958      425,   426,     0,   428,     0,   429,   430,   431,   432,   433,
10959      434,     0,   435,   436,     0,     0,   437,   438,   439,     0,
10960        0,   440,   441,   442,     0,   444,     0,   446,   447,   448,
10961      449,   450,   451,   452,   453,   454,   455,     0,     0,   456,
10962      457,   458,   459,   460,   461,   462,   463,     0,   464,   465,
10963      466,   467,   468,   469,   470,   471,   472,   473,   474,   475,
10964      476,   477,   478,     0,   479,   480,   481,   482,   483,   484,
10965      485,   486,   487,   488,   489,   490,     0,   491,   492,     0,
10966      494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
10967      504,   505,   506,   507,   508,     0,   509,   510,   511,   512,
10968      513,     0,   514,   515,   516,   517,   518,     0,   520,   521,
10969      522,   523,     0,   524,   525,   526,   527,   528,   529,   530,
10970      531,   532,   533,   534,   535,   536,   537,   538,     0,   539,
10971      540,     0,   541,     0,   543,   544,   545,   546,   547,     0,
10972      548,   549,   550,     0,     0,   551,   552,   553,   554,   555,
10973        0,   556,   557,   558,   559,   560,   561,   562,   563,     0,
10974        0,   564,   565,   566,   567,   568,     0,     0,   569,   570,
10975      571,   572,   573,   574,   575,     0,   576,     0,   578,   579,
10976      580,   581,     0,     0,   582,     0,     0,   583,   584,   585,
10977      586,   587,   588,   589,   590,   591,   592,   593,   594,   595,
10978      596,   597,   598,   599,   600,   601,   602,   610,     0,     0,
10979        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10980        0,     0,     0,     0,   230,   231,   232,   233,   234,   235,
10981      236,   237,  1058,   238,   239,   240,     0,     0,     0,     0,
10982        0,     0,     0,   241,   242,     0,   243,   244,   245,     0,
10983      247,   248,   249,   250,   251,     0,   253,   254,     0,   255,
10984      256,   257,   258,   259,   260,     0,     0,   261,   262,   263,
10985      264,   265,     0,   266,   267,   268,   269,   270,     0,     0,
10986        0,   272,   273,   274,   275,   276,     0,   278,   279,   280,
10987        0,   281,   282,   283,   284,   285,   286,     0,     0,   288,
10988      289,   290,     0,     0,     0,     0,     0,     0,     0,   292,
10989      293,   294,   295,   296,   297,   298,   299,   300,     0,   301,
10990        0,   302,   303,   304,   305,   306,   307,     0,   308,   309,
10991      310,   311,     0,     0,   312,   313,   314,   315,   316,     0,
10992      317,   318,   319,     0,   320,   321,   322,     0,   323,   324,
10993      325,   326,   327,   328,   329,   330,   331,   332,     0,   333,
10994        0,   334,   335,   336,   337,     0,   338,     0,   339,     0,
10995        0,     0,   342,   343,   344,   345,     0,   346,   347,     0,
10996      348,   349,   350,     0,   351,   352,   353,   354,   355,     0,
10997      357,   358,   359,   360,     0,   361,   362,   363,   364,   365,
10998      366,   367,     0,   368,     0,   370,   371,   372,   373,   374,
10999      375,   376,     0,   377,     0,   378,     0,     0,   381,     0,
11000      383,   384,   385,   386,   387,     0,     0,   388,   389,     0,
11001      391,     0,     0,   393,   394,   395,     0,     0,   396,   397,
11002      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
11003      408,   409,   410,   411,   412,     0,   414,   415,   416,   417,
11004      418,   419,   420,   421,   422,   423,   424,     0,   425,   426,
11005        0,   428,     0,   429,   430,   431,   432,   433,   434,     0,
11006      435,   436,     0,     0,   437,   438,   439,     0,     0,   440,
11007      441,   442,     0,   444,     0,   446,   447,   448,   449,   450,
11008      451,   452,   453,   454,   455,     0,     0,   456,   457,   458,
11009      459,   460,   461,   462,   463,     0,   464,   465,   466,   467,
11010      468,   469,   470,   471,   472,   473,   474,   475,   476,   477,
11011      478,     0,   479,   480,   481,   482,   483,   484,   485,   486,
11012      487,   488,   489,   490,     0,   491,   492,     0,   494,   495,
11013      496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
11014      506,   507,   508,     0,   509,   510,   511,   512,   513,     0,
11015      514,   515,   516,   517,   518,     0,   520,   521,   522,   523,
11016        0,   524,   525,   526,   527,   528,   529,   530,   531,   532,
11017      533,   534,   535,   536,   537,   538,     0,   539,   540,     0,
11018      541,     0,   543,   544,   545,   546,   547,     0,   548,   549,
11019      550,     0,     0,   551,   552,   553,   554,   555,     0,   556,
11020      557,   558,   559,   560,   561,   562,   563,     0,     0,   564,
11021      565,   566,   567,   568,     0,     0,   569,   570,   571,   572,
11022      573,   574,   575,     0,   576,     0,   578,   579,   580,   581,
11023        0,     0,   582,     0,     0,   583,   584,   585,   586,   587,
11024      588,   589,   590,   591,   592,   593,   594,   595,   596,   597,
11025      598,   599,   600,   601,   602,   610,     0,     0,     0,     0,
11026        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11027        0,     0,   230,   231,   232,   233,   234,   235,   236,   237,
11028      782,   238,   239,   240,     0,     0,     0,     0,     0,     0,
11029        0,   241,   242,     0,   243,   244,   245,     0,   247,   248,
11030      249,   250,   251,     0,   253,   254,     0,   255,   256,   257,
11031      258,   259,   260,     0,     0,   261,   262,   263,   264,   265,
11032        0,   266,   267,   268,   269,   270,     0,     0,     0,   272,
11033      273,   274,   275,   276,     0,   278,   279,   280,     0,   281,
11034      282,   283,   284,   285,   286,     0,     0,   288,   289,   290,
11035        0,     0,     0,     0,     0,     0,     0,   292,   293,   294,
11036      295,   296,   297,   298,   299,   300,     0,   301,     0,   302,
11037      303,   304,   305,   306,   307,     0,   308,   309,   310,   311,
11038        0,     0,   312,   313,   314,   315,   316,     0,   317,   318,
11039      319,     0,   320,   321,   322,     0,   323,   324,   325,   326,
11040      327,   328,   329,   330,   331,   332,     0,   333,     0,   334,
11041      335,   336,   337,     0,   338,     0,   339,     0,     0,     0,
11042      342,   343,   344,   345,     0,   346,   347,     0,   348,   349,
11043      350,     0,   351,   352,   353,   354,   355,     0,   357,   358,
11044      359,   360,     0,   361,   362,   363,   364,   365,   366,   367,
11045        0,   368,     0,   370,   371,   372,   373,   374,   375,   376,
11046        0,   377,     0,   378,     0,     0,   381,     0,   383,   384,
11047      385,   386,   387,     0,     0,   388,   389,     0,   391,     0,
11048        0,   393,   394,   395,     0,     0,   396,   397,   398,   399,
11049      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
11050      410,   411,   412,     0,   414,   415,   416,   417,   418,   419,
11051      420,   421,   422,   423,   424,     0,   425,   426,     0,   428,
11052        0,   429,   430,   431,   432,   433,   434,     0,   435,   436,
11053        0,     0,   437,   438,   439,     0,     0,   440,   441,   442,
11054        0,   444,     0,   446,   447,   448,   449,   450,   451,   452,
11055      453,   454,   455,     0,     0,   456,   457,   458,   459,   460,
11056      461,   462,   463,     0,   464,   465,   466,   467,   468,   469,
11057      470,   471,   472,   473,   474,   475,   476,   477,   478,     0,
11058      479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
11059      489,   490,     0,   491,   492,     0,   494,   495,   496,   497,
11060      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
11061      508,     0,   509,   510,   511,   512,   513,     0,   514,   515,
11062      516,   517,   518,     0,   520,   521,   522,   523,     0,   524,
11063      525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
11064      535,   536,   537,   538,     0,   539,   540,     0,   541,     0,
11065      543,   544,   545,   546,   547,     0,   548,   549,   550,     0,
11066        0,   551,   552,   553,   554,   555,     0,   556,   557,   558,
11067      559,   560,   561,   562,   563,     0,     0,   564,   565,   566,
11068      567,   568,     0,     0,   569,   570,   571,   572,   573,   574,
11069      575,     0,   576,     0,   578,   579,   580,   581,     0,     0,
11070      582,     0,     0,   583,   584,   585,   586,   587,   588,   589,
11071      590,   591,   592,   593,   594,   595,   596,   597,   598,   599,
11072      600,   601,   602,   610,     0,     0,     0,     0,     0,     0,
11073        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11074      230,   231,   232,   233,   234,   235,   236,   237,  1203,   238,
11075      239,   240,     0,     0,     0,     0,     0,     0,     0,   241,
11076      242,     0,   243,   244,   245,     0,   247,   248,   249,   250,
11077      251,     0,   253,   254,     0,   255,   256,   257,   258,   259,
11078      260,     0,     0,   261,   262,   263,   264,   265,     0,   266,
11079      267,   268,   269,   270,     0,     0,     0,   272,   273,   274,
11080      275,   276,     0,   278,   279,   280,     0,   281,   282,   283,
11081      284,   285,   286,     0,     0,   288,   289,   290,     0,     0,
11082        0,     0,     0,     0,     0,   292,   293,   294,   295,   296,
11083      297,   298,   299,   300,     0,   301,     0,   302,   303,   304,
11084      305,   306,   307,     0,   308,   309,   310,   311,     0,     0,
11085      312,   313,   314,   315,   316,     0,   317,   318,   319,     0,
11086      320,   321,   322,     0,   323,   324,   325,   326,   327,   328,
11087      329,   330,   331,   332,     0,   333,     0,   334,   335,   336,
11088      337,     0,   338,     0,   339,     0,     0,     0,   342,   343,
11089      344,   345,     0,   346,   347,     0,   348,   349,   350,     0,
11090      351,   352,   353,   354,   355,     0,   357,   358,   359,   360,
11091        0,   361,   362,   363,   364,   365,   366,   367,     0,   368,
11092        0,   370,   371,   372,   373,   374,   375,   376,     0,   377,
11093        0,   378,     0,     0,   381,     0,   383,   384,   385,   386,
11094      387,     0,     0,   388,   389,     0,   391,     0,     0,   393,
11095      394,   395,     0,     0,   396,   397,   398,   399,   400,   401,
11096      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
11097      412,     0,   414,   415,   416,   417,   418,   419,   420,   421,
11098      422,   423,   424,     0,   425,   426,     0,   428,     0,   429,
11099      430,   431,   432,   433,   434,     0,   435,   436,     0,     0,
11100      437,   438,   439,     0,     0,   440,   441,   442,     0,   444,
11101        0,   446,   447,   448,   449,   450,   451,   452,   453,   454,
11102      455,     0,     0,   456,   457,   458,   459,   460,   461,   462,
11103      463,     0,   464,   465,   466,   467,   468,   469,   470,   471,
11104      472,   473,   474,   475,   476,   477,   478,     0,   479,   480,
11105      481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
11106        0,   491,   492,     0,   494,   495,   496,   497,   498,   499,
11107      500,   501,   502,   503,   504,   505,   506,   507,   508,     0,
11108      509,   510,   511,   512,   513,     0,   514,   515,   516,   517,
11109      518,     0,   520,   521,   522,   523,     0,   524,   525,   526,
11110      527,   528,   529,   530,   531,   532,   533,   534,   535,   536,
11111      537,   538,     0,   539,   540,     0,   541,     0,   543,   544,
11112      545,   546,   547,     0,   548,   549,   550,     0,     0,   551,
11113      552,   553,   554,   555,     0,   556,   557,   558,   559,   560,
11114      561,   562,   563,     0,     0,   564,   565,   566,   567,   568,
11115        0,     0,   569,   570,   571,   572,   573,   574,   575,     0,
11116      576,     0,   578,   579,   580,   581,     0,     0,   582,     0,
11117        0,   583,   584,   585,   586,   587,   588,   589,   590,   591,
11118      592,   593,   594,   595,   596,   597,   598,   599,   600,   601,
11119      602,   610,     0,     0,     0,     0,     0,     0,     0,     0,
11120        0,     0,     0,     0,     0,     0,     0,     0,   230,   231,
11121      232,   233,   234,   235,   236,   237,  1336,   238,   239,   240,
11122        0,     0,     0,     0,     0,     0,     0,   241,   242,     0,
11123      243,   244,   245,     0,   247,   248,   249,   250,   251,     0,
11124      253,   254,     0,   255,   256,   257,   258,   259,   260,     0,
11125        0,   261,   262,   263,   264,   265,     0,   266,   267,   268,
11126      269,   270,     0,     0,     0,   272,   273,   274,   275,   276,
11127        0,   278,   279,   280,     0,   281,   282,   283,   284,   285,
11128      286,     0,     0,   288,   289,   290,     0,     0,     0,     0,
11129        0,     0,     0,   292,   293,   294,   295,   296,   297,   298,
11130      299,   300,     0,   301,     0,   302,   303,   304,   305,   306,
11131      307,     0,   308,   309,   310,   311,     0,     0,   312,   313,
11132      314,   315,   316,     0,   317,   318,   319,     0,   320,   321,
11133      322,     0,   323,   324,   325,   326,   327,   328,   329,   330,
11134      331,   332,     0,   333,     0,   334,   335,   336,   337,     0,
11135      338,     0,   339,     0,     0,     0,   342,   343,   344,   345,
11136        0,   346,   347,     0,   348,   349,   350,     0,   351,   352,
11137      353,   354,   355,     0,   357,   358,   359,   360,     0,   361,
11138      362,   363,   364,   365,   366,   367,     0,   368,     0,   370,
11139      371,   372,   373,   374,   375,   376,     0,   377,     0,   378,
11140        0,     0,   381,     0,   383,   384,   385,   386,   387,     0,
11141        0,   388,   389,     0,   391,     0,     0,   393,   394,   395,
11142        0,     0,   396,   397,   398,   399,   400,   401,   402,   403,
11143      404,   405,   406,   407,   408,   409,   410,   411,   412,     0,
11144      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
11145      424,     0,   425,   426,     0,   428,     0,   429,   430,   431,
11146      432,   433,   434,     0,   435,   436,     0,     0,   437,   438,
11147      439,     0,     0,   440,   441,   442,     0,   444,     0,   446,
11148      447,   448,   449,   450,   451,   452,   453,   454,   455,     0,
11149        0,   456,   457,   458,   459,   460,   461,   462,   463,     0,
11150      464,   465,   466,   467,   468,   469,   470,   471,   472,   473,
11151      474,   475,   476,   477,   478,     0,   479,   480,   481,   482,
11152      483,   484,   485,   486,   487,   488,   489,   490,     0,   491,
11153      492,     0,   494,   495,   496,   497,   498,   499,   500,   501,
11154      502,   503,   504,   505,   506,   507,   508,     0,   509,   510,
11155      511,   512,   513,     0,   514,   515,   516,   517,   518,     0,
11156      520,   521,   522,   523,     0,   524,   525,   526,   527,   528,
11157      529,   530,   531,   532,   533,   534,   535,   536,   537,   538,
11158        0,   539,   540,     0,   541,     0,   543,   544,   545,   546,
11159      547,     0,   548,   549,   550,     0,     0,   551,   552,   553,
11160      554,   555,     0,   556,   557,   558,   559,   560,   561,   562,
11161      563,     0,     0,   564,   565,   566,   567,   568,     0,     0,
11162      569,   570,   571,   572,   573,   574,   575,     0,   576,     0,
11163      578,   579,   580,   581,     0,     0,   582,     0,     0,   583,
11164      584,   585,   586,   587,   588,   589,   590,   591,   592,   593,
11165      594,   595,   596,   597,   598,   599,   600,   601,   602,   610,
11166        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11167        0,     0,     0,     0,     0,     0,   230,   231,   232,   233,
11168      234,   235,   236,   237,     0,   238,   239,   240,     0,     0,
11169        0,     0,     0,     0,     0,   241,   242,     0,   243,   244,
11170      245,  1347,   247,   248,   249,   250,   251,     0,   253,   254,
11171        0,   255,   256,   257,   258,   259,   260,     0,     0,   802,
11172      262,   263,   264,  1348,     0,   266,   267,   268,   269,   270,
11173        0,     0,     0,   272,   273,   274,   275,   276,     0,   278,
11174      279,   280,     0,   281,   282,   283,   284,   285,   286,     0,
11175        0,   288,   289,   290,     0,     0,     0,     0,     0,     0,
11176        0,   292,   293,   294,   295,   296,   297,   298,   299,   300,
11177        0,   301,     0,   302,   303,   304,   305,   306,   307,     0,
11178      308,   309,   310,   311,     0,     0,   312,   313,   314,   315,
11179      316,     0,   317,   318,   319,     0,   320,   321,   322,     0,
11180      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
11181        0,   333,     0,   334,   335,   336,   337,     0,   338,     0,
11182      339,     0,     0,     0,   342,   343,   344,   345,     0,   346,
11183      347,     0,   348,   349,   350,     0,   351,   352,   353,   354,
11184      355,     0,   357,   358,   359,   360,     0,   361,   362,   363,
11185      364,   365,   366,   367,     0,   368,     0,   370,   371,   372,
11186      373,   374,   375,   376,     0,   377,     0,   378,     0,     0,
11187      381,     0,   383,   384,   385,   386,   387,     0,     0,   388,
11188      389,     0,   391,     0,     0,   393,   394,   395,     0,     0,
11189      396,   397,   398,   399,   400,   401,   402,   403,   404,   405,
11190      406,   407,   408,   409,   410,   805,   412,     0,   414,   415,
11191      416,   417,   418,   419,   420,   421,   422,   423,   424,     0,
11192      425,   426,     0,   428,     0,   429,   430,   431,   432,   433,
11193      434,     0,   435,   436,     0,     0,   437,   438,   439,     0,
11194        0,   440,   441,   442,     0,   444,     0,   446,   447,   448,
11195      449,   450,   451,   452,   453,   454,   455,     0,     0,   456,
11196      457,   458,   459,   460,   461,   462,   463,     0,   464,   465,
11197      466,   467,   468,   469,   470,   471,   472,   473,   474,   475,
11198      476,   477,   478,     0,   479,   480,   481,   482,   483,   484,
11199      485,   486,   487,   488,   489,   490,     0,   491,   492,     0,
11200      806,   495,   496,   497,   498,   499,   500,   501,   502,   807,
11201      504,   505,   506,   507,   508,     0,   509,   510,   511,   512,
11202     1340,     0,   514,   515,   516,   517,   518,     0,   520,   521,
11203      522,   523,     0,   524,   525,   526,   527,   528,   529,   530,
11204      531,   532,   533,   534,   535,   536,   537,   538,     0,   539,
11205      540,     0,   541,     0,   543,   544,   545,   546,   547,     0,
11206      548,   809,   550,     0,     0,   810,   552,   553,   554,   555,
11207        0,   556,   557,   558,   559,   560,   561,   562,   563,     0,
11208        0,   564,   565,   566,   567,   568,     0,     0,   569,   570,
11209      571,   572,   573,   574,   575,     0,   576,     0,   578,   579,
11210      580,   581,     0,     0,   582,     0,     0,   583,   584,   585,
11211      586,   587,   811,   589,   590,   591,   592,   593,   594,   595,
11212      596,   597,   598,   599,   600,   601,   602,   610,     0,     0,
11213        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11214        0,     0,     0,     0,   230,   231,   232,   233,   234,   235,
11215      236,   237,     0,   238,   239,   240,     0,     0,     0,     0,
11216        0,     0,     0,   241,   242,     0,   243,   244,   245,     0,
11217      247,   248,   249,   250,   251,     0,   253,   254,     0,   255,
11218      256,   257,   258,   259,   260,     0,     0,   261,   262,   263,
11219      264,   265,     0,   266,   267,   268,   269,   270,     0,     0,
11220        0,   272,   273,   274,   275,   276,     0,   278,   279,   280,
11221        0,   281,   282,   283,   284,   285,   286,     0,     0,   288,
11222      289,   290,     0,     0,     0,     0,     0,     0,     0,   292,
11223      293,   294,   295,   296,   297,   298,   299,   300,     0,   301,
11224        0,   302,   303,   304,   305,   306,   307,     0,   308,   309,
11225      310,   311,     0,     0,   312,   313,   314,   315,   316,     0,
11226      317,   318,   319,     0,   320,   321,   322,     0,   323,   324,
11227      325,   326,   327,   328,   329,   330,   331,   332,     0,   333,
11228        0,   334,   335,   336,   337,     0,   338,     0,   339,     0,
11229        0,     0,   342,   343,   344,   345,     0,   346,   347,     0,
11230      348,   349,   350,     0,   351,   352,   353,   354,  1459,     0,
11231      357,   358,   359,   360,     0,   361,   362,   363,   364,   365,
11232      366,   367,     0,   368,     0,   370,   371,   372,   373,   374,
11233      375,   376,     0,   377,     0,   378,     0,     0,   381,     0,
11234      383,   384,   385,   386,   387,     0,     0,   388,   389,     0,
11235      391,     0,     0,   393,   394,   395,     0,     0,   396,   397,
11236      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
11237      408,   409,   410,   411,   412,     0,   414,   415,   416,   417,
11238      418,   419,   420,   421,   422,   423,   424,     0,   425,   426,
11239        0,   428,     0,   429,   430,   431,   432,   433,   434,     0,
11240      435,   436,     0,   822,   437,   438,   439,     0,     0,   440,
11241      441,   442,     0,   444,     0,   446,   447,   448,   449,   450,
11242      451,   452,   453,   454,   455,     0,     0,   456,   457,   458,
11243      459,   460,   461,   462,   463,     0,   464,   465,   466,   467,
11244      468,   469,   470,   471,   472,   473,   474,   475,   476,   477,
11245      478,     0,   479,   480,   481,   482,   483,   484,   485,   486,
11246      487,   488,   489,   490,     0,   491,   492,     0,   494,   495,
11247      496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
11248      506,   507,   508,     0,   509,   510,   511,   512,   513,     0,
11249      514,   515,   516,   517,   518,     0,   520,   521,   522,   523,
11250        0,   524,   525,   526,   527,   528,   529,   530,   531,   532,
11251      533,   534,   535,   536,   537,   538,     0,   539,   540,     0,
11252      541,     0,   543,   544,   545,   546,   547,     0,   548,   549,
11253      550,     0,     0,   551,   552,   553,   554,   555,     0,   556,
11254      557,   558,   559,   560,   561,   562,   563,     0,     0,   564,
11255      565,   566,   567,   568,     0,     0,   569,   570,   571,   572,
11256      573,   574,   575,     0,   576,     0,   578,   579,   580,   581,
11257        0,     0,   582,     0,     0,   583,   584,   585,   586,   587,
11258      588,   589,   590,   591,   592,   593,   594,   595,   596,   597,
11259      598,   599,   600,   601,   602,   610,     0,     0,     0,     0,
11260        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11261        0,     0,   230,   231,   232,   233,   234,   235,   236,   237,
11262     1520,   238,   239,   240,     0,     0,     0,     0,     0,     0,
11263        0,   241,   242,     0,   243,   244,   245,     0,   247,   248,
11264      249,   250,   251,     0,   253,   254,     0,   255,   256,   257,
11265      258,   259,   260,     0,     0,   261,   262,   263,   264,   265,
11266        0,   266,   267,   268,   269,   270,     0,     0,     0,   272,
11267      273,   274,   275,   276,     0,   278,   279,   280,     0,   281,
11268      282,   283,   284,   285,   286,     0,     0,   288,   289,   290,
11269        0,     0,     0,     0,     0,     0,     0,   292,   293,   294,
11270      295,   296,   297,   298,   299,   300,     0,   301,     0,   302,
11271      303,   304,   305,   306,   307,     0,   308,   309,   310,   311,
11272        0,     0,   312,   313,   314,   315,   316,     0,   317,   318,
11273      319,     0,   320,   321,   322,     0,   323,   324,   325,   326,
11274      327,   328,   329,   330,   331,   332,     0,   333,     0,   334,
11275      335,   336,   337,     0,   338,     0,   339,     0,     0,     0,
11276      342,   343,   344,   345,     0,   346,   347,     0,   348,   349,
11277      350,     0,   351,   352,   353,   354,  1521,     0,   357,   358,
11278      359,   360,     0,   361,   362,   363,   364,   365,   366,   367,
11279        0,   368,     0,   370,   371,   372,   373,   374,   375,   376,
11280        0,   377,     0,   378,     0,     0,   381,     0,   383,   384,
11281      385,   386,   387,     0,     0,   388,   389,     0,   391,     0,
11282        0,   393,   394,   395,     0,     0,   396,   397,   398,   399,
11283      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
11284      410,   411,   412,     0,   414,   415,   416,   417,   418,   419,
11285      420,   421,   422,   423,   424,     0,   425,   426,     0,   428,
11286        0,   429,   430,   431,   432,   433,   434,     0,   435,   436,
11287        0,     0,   437,   438,   439,     0,     0,   440,   441,   442,
11288        0,   444,     0,   446,   447,   448,   449,   450,   451,   452,
11289      453,   454,   455,     0,     0,   456,   457,   458,   459,   460,
11290      461,   462,   463,     0,   464,   465,   466,   467,   468,   469,
11291      470,   471,   472,   473,   474,   475,   476,   477,   478,     0,
11292      479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
11293      489,   490,     0,   491,   492,     0,   494,   495,   496,   497,
11294      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
11295      508,     0,   509,   510,   511,   512,   513,     0,   514,   515,
11296      516,   517,   518,     0,   520,   521,   522,   523,     0,   524,
11297      525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
11298      535,   536,   537,   538,     0,   539,   540,     0,   541,     0,
11299      543,   544,   545,   546,   547,     0,   548,   549,   550,     0,
11300        0,   551,   552,   553,   554,   555,     0,   556,   557,   558,
11301      559,   560,   561,   562,   563,     0,     0,   564,   565,   566,
11302      567,   568,     0,     0,   569,   570,   571,   572,   573,   574,
11303      575,     0,   576,     0,   578,   579,   580,   581,     0,     0,
11304      582,     0,     0,   583,   584,   585,   586,   587,   588,   589,
11305      590,   591,   592,   593,   594,   595,   596,   597,   598,   599,
11306      600,   601,   602,   610,     0,     0,     0,     0,     0,     0,
11307        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11308      230,   231,   232,   233,   234,   235,   236,   237,     0,   238,
11309      239,   240,     0,     0,     0,     0,     0,     0,     0,   241,
11310      242,     0,   243,   244,   245,     0,   247,   248,   249,   250,
11311      251,     0,   253,   254,     0,   255,   256,   257,   258,   259,
11312      260,     0,     0,   261,   262,   263,   264,   265,     0,   266,
11313      267,   268,   269,   270,     0,     0,     0,   272,   273,   274,
11314      275,   276,     0,   278,   279,   280,     0,   281,   282,   283,
11315      284,   285,   286,     0,     0,   288,   289,   290,     0,     0,
11316        0,     0,     0,     0,     0,   292,   293,   294,   295,   296,
11317      297,   298,   299,   300,     0,   301,     0,   302,   303,   304,
11318      305,   306,   307,     0,   308,   309,   310,   311,     0,     0,
11319      312,   313,   314,   315,   316,     0,   317,   318,   319,     0,
11320      320,   321,   322,     0,   323,   324,   325,   326,   327,   328,
11321      329,   330,   331,   332,     0,   333,     0,   334,   335,   336,
11322      337,     0,   338,     0,   339,     0,     0,     0,   342,   343,
11323      344,  2879,     0,   346,   347,     0,   348,   349,   350,     0,
11324      351,   352,   353,   354,   355,     0,   357,   358,   359,   360,
11325        0,   361,   362,   363,   364,   365,   366,   367,     0,   368,
11326        0,   370,   371,   372,   373,   374,   375,   376,     0,   377,
11327        0,   378,     0,     0,   381,     0,   383,   384,   385,   386,
11328      387,     0,     0,   388,   389,     0,   391,     0,     0,   393,
11329      394,  2880,     0,     0,   396,   397,   398,   399,   400,   401,
11330      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
11331      412,     0,   414,   415,   416,   417,   418,   419,   420,   421,
11332      422,   423,   424,     0,   425,   426,     0,   428,     0,   429,
11333      430,   431,   432,   433,   434,     0,   435,   436,     0,     0,
11334      437,   438,   439,     0,     0,   440,   441,   442,     0,   444,
11335        0,   446,   447,   448,   449,   450,   451,   452,   453,   454,
11336      455,     0,     0,   456,   457,   458,   459,   460,   461,   462,
11337      463,     0,   464,   465,   466,   467,   468,   469,   470,   471,
11338      472,   473,   474,   475,   476,   477,   478,     0,   479,   480,
11339      481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
11340        0,   491,   492,     0,   494,   495,   496,   497,   498,   499,
11341      500,   501,   502,   503,   504,   505,   506,   507,   508,     0,
11342      509,   510,   511,   512,   513,     0,   514,   515,   516,   517,
11343      518,     0,   520,   521,   522,   523,     0,   524,   525,   526,
11344      527,   528,   529,   530,   531,   532,   533,   534,   535,   536,
11345      537,   538,     0,   539,   540,  2881,   541,     0,   543,  2882,
11346      545,  2883,   547,     0,   548,   549,   550,     0,     0,   551,
11347      552,   553,   554,   555,     0,   556,   557,   558,   559,   560,
11348      561,   562,   563,     0,     0,   564,   565,  2884,   567,   568,
11349        0,     0,   569,   570,   571,   572,   573,   574,   575,     0,
11350      576,     0,   578,   579,   580,   581,     0,     0,   582,     0,
11351        0,   583,   584,   585,   586,   587,   588,   589,   590,   591,
11352      592,   593,   594,   595,   596,   597,   598,   599,   600,   601,
11353      602,   610,     0,     0,   670,     0,     0,     0,     0,     0,
11354        0,     0,     0,     0,     0,     0,     0,     0,   230,   231,
11355      232,   233,   234,   235,   236,   237,     0,   238,   239,   240,
11356        0,     0,     0,     0,     0,     0,     0,   241,   242,     0,
11357      243,   244,   245,     0,   247,   248,   249,   250,   251,     0,
11358      253,   254,     0,   255,   256,   257,   258,   259,   260,     0,
11359        0,   261,   262,   263,   264,   265,     0,   266,   267,   268,
11360      269,   270,     0,     0,     0,   272,   273,   274,   275,   276,
11361        0,   278,   279,   280,     0,   281,   282,   283,   284,   285,
11362      286,     0,     0,   288,   289,   290,     0,     0,     0,     0,
11363        0,     0,     0,   292,   293,   294,   295,   296,   297,   298,
11364      299,   300,     0,   301,     0,   302,   303,   304,   305,   306,
11365      307,     0,   308,   309,   310,   311,     0,     0,   312,   313,
11366      314,   315,   316,     0,   317,   318,   319,     0,   320,   321,
11367      322,     0,   323,   324,   325,   326,   327,   328,   329,   330,
11368      331,   332,     0,   333,     0,   334,   335,   336,   337,     0,
11369      338,     0,   339,     0,     0,     0,   342,   343,   344,   345,
11370        0,   346,   347,     0,   348,   349,   350,     0,   351,   352,
11371      353,   354,   355,     0,   357,   358,   359,   360,     0,   361,
11372      362,   363,   364,   365,   366,   367,     0,   368,     0,   370,
11373      371,   372,   373,   374,   375,   376,     0,   377,     0,   378,
11374        0,     0,   381,     0,   383,   384,   385,   386,   387,     0,
11375        0,   388,   389,     0,   391,     0,     0,   393,   394,   395,
11376        0,     0,   396,   397,   398,   399,   400,   401,   402,   403,
11377      404,   405,   406,   407,   408,   409,   410,   411,   412,     0,
11378      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
11379      424,     0,   425,   426,     0,   428,     0,   429,   430,   431,
11380      432,   433,   434,     0,   435,   436,     0,     0,   437,   438,
11381      439,     0,     0,   440,   441,   442,     0,   444,     0,   446,
11382      447,   448,   449,   450,   451,   452,   453,   454,   455,     0,
11383        0,   456,   457,   458,   459,   460,   461,   462,   463,     0,
11384      464,   465,   466,   467,   468,   469,   470,   471,   472,   473,
11385      474,   475,   476,   477,   478,     0,   479,   480,   481,   482,
11386      483,   484,   485,   486,   487,   488,   489,   490,     0,   491,
11387      492,     0,   494,   495,   496,   497,   498,   499,   500,   501,
11388      502,   503,   504,   505,   506,   507,   508,     0,   509,   510,
11389      511,   512,   513,     0,   514,   515,   516,   517,   518,     0,
11390      520,   521,   522,   523,     0,   524,   525,   526,   527,   528,
11391      529,   530,   531,   532,   533,   534,   535,   536,   537,   538,
11392        0,   539,   540,     0,   541,     0,   543,   544,   545,   546,
11393      547,     0,   548,   549,   550,     0,     0,   551,   552,   553,
11394      554,   555,     0,   556,   557,   558,   559,   560,   561,   562,
11395      563,     0,     0,   564,   565,   566,   567,   568,     0,     0,
11396      569,   570,   571,   572,   573,   574,   575,     0,   576,     0,
11397      578,   579,   580,   581,     0,     0,   582,     0,     0,   583,
11398      584,   585,   586,   587,   588,   589,   590,   591,   592,   593,
11399      594,   595,   596,   597,   598,   599,   600,   601,   602,   610,
11400        0,     0,     0,     0,     0,     0,     0,   730,     0,     0,
11401        0,     0,     0,     0,     0,     0,   230,   231,   232,   233,
11402      234,   235,   236,   237,     0,   238,   239,   240,     0,     0,
11403        0,     0,     0,     0,     0,   241,   242,     0,   243,   244,
11404      245,     0,   247,   248,   249,   250,   251,     0,   253,   254,
11405        0,   255,   256,   257,   258,   259,   260,     0,     0,   261,
11406      262,   263,   264,   265,     0,   266,   267,   268,   269,   270,
11407        0,     0,     0,   272,   273,   274,   275,   276,     0,   278,
11408      279,   280,     0,   281,   282,   283,   284,   285,   286,     0,
11409        0,   288,   289,   290,     0,     0,     0,     0,     0,     0,
11410        0,   292,   293,   294,   295,   296,   297,   298,   299,   300,
11411        0,   301,     0,   302,   303,   304,   305,   306,   307,     0,
11412      308,   309,   310,   311,     0,     0,   312,   313,   314,   315,
11413      316,     0,   317,   318,   319,     0,   320,   321,   322,     0,
11414      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
11415        0,   333,     0,   334,   335,   336,   337,     0,   338,     0,
11416      339,     0,     0,     0,   342,   343,   344,   345,     0,   346,
11417      347,     0,   348,   349,   350,     0,   351,   352,   353,   354,
11418      355,     0,   357,   358,   359,   360,     0,   361,   362,   363,
11419      364,   365,   366,   367,     0,   368,     0,   370,   371,   372,
11420      373,   374,   375,   376,     0,   377,     0,   378,     0,     0,
11421      381,     0,   383,   384,   385,   386,   387,     0,     0,   388,
11422      389,     0,   391,     0,     0,   393,   394,   395,     0,     0,
11423      396,   397,   398,   399,   400,   401,   402,   403,   404,   405,
11424      406,   407,   408,   409,   410,   411,   412,     0,   414,   415,
11425      416,   417,   418,   419,   420,   421,   422,   423,   424,     0,
11426      425,   426,     0,   428,     0,   429,   430,   431,   432,   433,
11427      434,     0,   435,   436,     0,     0,   437,   438,   439,     0,
11428        0,   440,   441,   442,     0,   444,     0,   446,   447,   448,
11429      449,   450,   451,   452,   453,   454,   455,     0,     0,   456,
11430      457,   458,   459,   460,   461,   462,   463,     0,   464,   465,
11431      466,   467,   468,   469,   470,   471,   472,   473,   474,   475,
11432      476,   477,   478,     0,   479,   480,   481,   482,   483,   484,
11433      485,   486,   487,   488,   489,   490,     0,   491,   492,     0,
11434      494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
11435      504,   505,   506,   507,   508,     0,   509,   510,   511,   512,
11436      513,     0,   514,   515,   516,   517,   518,     0,   520,   521,
11437      522,   523,     0,   524,   525,   526,   527,   528,   529,   530,
11438      531,   532,   533,   534,   535,   536,   537,   538,     0,   539,
11439      540,     0,   541,     0,   543,   544,   545,   546,   547,     0,
11440      548,   549,   550,     0,     0,   551,   552,   553,   554,   555,
11441        0,   556,   557,   558,   559,   560,   561,   562,   563,     0,
11442        0,   564,   565,   566,   567,   568,     0,     0,   569,   570,
11443      571,   572,   573,   574,   575,     0,   576,     0,   578,   579,
11444      580,   581,     0,     0,   582,     0,     0,   583,   584,   585,
11445      586,   587,   588,   589,   590,   591,   592,   593,   594,   595,
11446      596,   597,   598,   599,   600,   601,   602,   610,     0,     0,
11447        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11448        0,     0,     0,     0,   230,   231,   232,   233,   234,   235,
11449      236,   237,     0,   238,   239,   240,     0,     0,     0,     0,
11450        0,  4167,     0,   241,   242,     0,   243,   244,   245,     0,
11451      247,   248,   249,   250,   251,     0,   253,   254,     0,   255,
11452      256,   257,   258,   259,   260,     0,     0,   261,   262,   263,
11453      264,   265,     0,   266,   267,   268,   269,   270,     0,     0,
11454        0,   272,   273,   274,   275,   276,     0,   278,   279,   280,
11455        0,   281,   282,   283,   284,   285,   286,     0,     0,   288,
11456      289,   290,     0,     0,     0,     0,     0,     0,     0,   292,
11457      293,   294,   295,   296,   297,   298,   299,   300,     0,   301,
11458        0,   302,   303,   304,   305,   306,   307,     0,   308,   309,
11459      310,   311,     0,     0,   312,   313,   314,   315,   316,     0,
11460      317,   318,   319,     0,   320,   321,   322,     0,   323,   324,
11461      325,   326,   327,   328,   329,   330,   331,   332,     0,   333,
11462        0,   334,   335,   336,   337,     0,   338,     0,   339,     0,
11463        0,     0,   342,   343,   344,   345,     0,   346,   347,     0,
11464      348,   349,   350,     0,   351,   352,   353,   354,   355,     0,
11465      357,   358,   359,   360,     0,   361,   362,   363,   364,   365,
11466      366,   367,     0,   368,     0,   370,   371,   372,   373,   374,
11467      375,   376,     0,   377,     0,   378,     0,     0,   381,     0,
11468      383,   384,   385,   386,   387,     0,     0,   388,   389,     0,
11469      391,     0,     0,   393,   394,   395,     0,     0,   396,   397,
11470      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
11471      408,   409,   410,   411,   412,     0,   414,   415,   416,   417,
11472      418,   419,   420,   421,   422,   423,   424,     0,   425,   426,
11473        0,   428,     0,   429,   430,   431,   432,   433,   434,     0,
11474      435,   436,     0,     0,   437,   438,   439,     0,     0,   440,
11475      441,   442,     0,   444,     0,   446,   447,   448,   449,   450,
11476      451,   452,   453,   454,   455,     0,     0,   456,   457,   458,
11477      459,   460,   461,   462,   463,     0,   464,   465,   466,   467,
11478      468,   469,   470,   471,   472,   473,   474,   475,   476,   477,
11479      478,     0,   479,   480,   481,   482,   483,   484,   485,   486,
11480      487,   488,   489,   490,     0,   491,   492,     0,   494,   495,
11481      496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
11482      506,   507,   508,     0,   509,   510,   511,   512,   513,     0,
11483      514,   515,   516,   517,   518,     0,   520,   521,   522,   523,
11484        0,   524,   525,   526,   527,   528,   529,   530,   531,   532,
11485      533,   534,   535,   536,   537,   538,     0,   539,   540,     0,
11486      541,     0,   543,   544,   545,   546,   547,     0,   548,   549,
11487      550,     0,     0,   551,   552,   553,   554,   555,     0,   556,
11488      557,   558,   559,   560,   561,   562,   563,     0,     0,   564,
11489      565,   566,   567,   568,     0,     0,   569,   570,   571,   572,
11490      573,   574,   575,     0,   576,     0,   578,   579,   580,   581,
11491        0,     0,   582,     0,     0,   583,   584,   585,   586,   587,
11492      588,   589,   590,   591,   592,   593,   594,   595,   596,   597,
11493      598,   599,   600,   601,   602,   610,     0,     0,     0,     0,
11494        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11495        0,     0,   230,   231,   232,   233,   234,   235,   236,   237,
11496        0,   238,   239,   240,     0,     0,     0,     0,     0,  4181,
11497        0,   241,   242,     0,   243,   244,   245,     0,   247,   248,
11498      249,   250,   251,     0,   253,   254,     0,   255,   256,   257,
11499      258,   259,   260,     0,     0,   261,   262,   263,   264,   265,
11500        0,   266,   267,   268,   269,   270,     0,     0,     0,   272,
11501      273,   274,   275,   276,     0,   278,   279,   280,     0,   281,
11502      282,   283,   284,   285,   286,     0,     0,   288,   289,   290,
11503        0,     0,     0,     0,     0,     0,     0,   292,   293,   294,
11504      295,   296,   297,   298,   299,   300,     0,   301,     0,   302,
11505      303,   304,   305,   306,   307,     0,   308,   309,   310,   311,
11506        0,     0,   312,   313,   314,   315,   316,     0,   317,   318,
11507      319,     0,   320,   321,   322,     0,   323,   324,   325,   326,
11508      327,   328,   329,   330,   331,   332,     0,   333,     0,   334,
11509      335,   336,   337,     0,   338,     0,   339,     0,     0,     0,
11510      342,   343,   344,   345,     0,   346,   347,     0,   348,   349,
11511      350,     0,   351,   352,   353,   354,   355,     0,   357,   358,
11512      359,   360,     0,   361,   362,   363,   364,   365,   366,   367,
11513        0,   368,     0,   370,   371,   372,   373,   374,   375,   376,
11514        0,   377,     0,   378,     0,     0,   381,     0,   383,   384,
11515      385,   386,   387,     0,     0,   388,   389,     0,   391,     0,
11516        0,   393,   394,   395,     0,     0,   396,   397,   398,   399,
11517      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
11518      410,   411,   412,     0,   414,   415,   416,   417,   418,   419,
11519      420,   421,   422,   423,   424,     0,   425,   426,     0,   428,
11520        0,   429,   430,   431,   432,   433,   434,     0,   435,   436,
11521        0,     0,   437,   438,   439,     0,     0,   440,   441,   442,
11522        0,   444,     0,   446,   447,   448,   449,   450,   451,   452,
11523      453,   454,   455,     0,     0,   456,   457,   458,   459,   460,
11524      461,   462,   463,     0,   464,   465,   466,   467,   468,   469,
11525      470,   471,   472,   473,   474,   475,   476,   477,   478,     0,
11526      479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
11527      489,   490,     0,   491,   492,     0,   494,   495,   496,   497,
11528      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
11529      508,     0,   509,   510,   511,   512,   513,     0,   514,   515,
11530      516,   517,   518,     0,   520,   521,   522,   523,     0,   524,
11531      525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
11532      535,   536,   537,   538,     0,   539,   540,     0,   541,     0,
11533      543,   544,   545,   546,   547,     0,   548,   549,   550,     0,
11534        0,   551,   552,   553,   554,   555,     0,   556,   557,   558,
11535      559,   560,   561,   562,   563,     0,     0,   564,   565,   566,
11536      567,   568,     0,     0,   569,   570,   571,   572,   573,   574,
11537      575,     0,   576,     0,   578,   579,   580,   581,     0,     0,
11538      582,     0,     0,   583,   584,   585,   586,   587,   588,   589,
11539      590,   591,   592,   593,   594,   595,   596,   597,   598,   599,
11540      600,   601,   602,   610,     0,     0,     0,     0,     0,     0,
11541        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11542      230,   231,   232,   233,   234,   235,   236,   237,     0,   238,
11543      239,   240,     0,     0,     0,     0,     0,     0,     0,   241,
11544      242,     0,   243,   244,   245,     0,   247,   248,   249,   250,
11545      251,     0,   253,   254,     0,   255,   256,   257,   258,   259,
11546      260,     0,     0,   261,   262,   263,   264,   265,     0,   266,
11547      267,   268,   269,   270,     0,     0,     0,   272,   273,   274,
11548      275,   276,     0,   278,   279,   280,     0,   281,   282,   283,
11549      284,   285,   286,     0,     0,   288,   289,   290,     0,     0,
11550        0,     0,     0,     0,     0,   292,   293,   294,   295,   296,
11551      297,   298,   299,   300,     0,   301,     0,   302,   303,   304,
11552      305,   306,   307,     0,   308,   309,   310,   311,     0,     0,
11553      312,   313,   314,   315,   316,     0,   317,   318,   319,     0,
11554      320,   321,   322,     0,   323,   324,   325,   326,   327,   328,
11555      329,   330,   331,   332,     0,   333,     0,   334,   335,   336,
11556      337,     0,   338,     0,   339,     0,     0,     0,   342,   343,
11557      344,   345,     0,   346,   347,     0,   348,   349,   350,     0,
11558      351,   352,   353,   354,   355,     0,   357,   358,   359,   360,
11559        0,   361,   362,   363,   364,   365,   366,   367,     0,   368,
11560        0,   370,   371,   372,   373,   374,   375,   376,     0,   377,
11561        0,   378,     0,     0,   381,     0,   383,   384,   385,   386,
11562      387,     0,     0,   388,   389,     0,   391,     0,     0,   393,
11563      394,   395,     0,     0,   396,   397,   398,   399,   400,   401,
11564      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
11565      412,     0,   414,   415,   416,   417,   418,   419,   420,   421,
11566      422,   423,   424,     0,   425,   426,     0,   428,     0,   429,
11567      430,   431,   432,   433,   434,     0,   435,   436,     0,     0,
11568      437,   438,   439,     0,     0,   440,   441,   442,     0,   444,
11569        0,   446,   447,   448,   449,   450,   451,   452,   453,   454,
11570      455,     0,     0,   456,   457,   458,   459,   460,   461,   462,
11571      463,     0,   464,   465,   466,   467,   468,   469,   470,   471,
11572      472,   473,   474,   475,   476,   477,   478,     0,   479,   480,
11573      481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
11574        0,   491,   492,     0,   494,   495,   496,   497,   498,   499,
11575      500,   501,   502,   503,   504,   505,   506,   507,   508,     0,
11576      509,   510,   511,   512,   513,     0,   514,   515,   516,   517,
11577      518,     0,   520,   521,   522,   523,     0,   524,   525,   526,
11578      527,   528,   529,   530,   531,   532,   533,   534,   535,   536,
11579      537,   538,     0,   539,   540,     0,   541,     0,   543,   544,
11580      545,   546,   547,     0,   548,   549,   550,     0,     0,   551,
11581      552,   553,   554,   555,     0,   556,   557,   558,   559,   560,
11582      561,   562,   563,     0,     0,   564,   565,   566,   567,   568,
11583        0,     0,   569,   570,   571,   572,   573,   574,   575,     0,
11584      576,     0,   578,   579,   580,   581,     0,     0,   582,     0,
11585        0,   583,   584,   585,   586,   587,   588,   589,   590,   591,
11586      592,   593,   594,   595,   596,   597,   598,   599,   600,   601,
11587      602,   610,     0,     0,     0,     0,     0,     0,     0,     0,
11588        0,     0,     0,     0,     0,     0,     0,     0,   230,   231,
11589      232,   233,   234,   235,   236,   237,     0,   238,   239,   240,
11590        0,     0,     0,     0,     0,     0,     0,   241,   242,     0,
11591      243,   244,   245,     0,   247,   248,   249,   250,   251,     0,
11592      253,   254,     0,   255,   256,   257,   258,   259,   260,     0,
11593        0,   261,   262,   263,   264,   265,     0,   266,   267,   268,
11594      269,   270,     0,     0,     0,   272,   273,   274,   275,   276,
11595        0,   278,   279,   280,     0,   281,   282,   283,   284,   285,
11596      286,     0,     0,   288,   289,   290,     0,     0,     0,     0,
11597        0,     0,     0,   292,   293,   294,   295,   296,   297,   298,
11598      299,   300,     0,   301,     0,   302,   303,   304,   305,   306,
11599      307,     0,   308,   309,   310,   311,     0,     0,   312,   313,
11600      314,   315,   316,     0,   317,   318,   319,     0,   320,   321,
11601      322,     0,   323,   324,   325,   326,   327,   328,   329,   330,
11602      331,   332,     0,   333,     0,   334,   335,   336,   337,     0,
11603      338,     0,   339,     0,     0,     0,   342,   343,   344,   345,
11604        0,   346,   347,     0,   348,   349,   350,     0,   351,   352,
11605      353,   354,   355,     0,   357,   358,   359,   360,     0,   361,
11606      362,   363,   364,   365,   366,   367,     0,   368,     0,   370,
11607      371,   372,   373,   374,   375,   376,     0,   377,     0,   378,
11608        0,     0,   381,     0,   383,   384,   385,   386,   387,     0,
11609        0,   388,   389,     0,   391,     0,     0,   393,   394,   395,
11610        0,     0,   396,   397,   398,   399,   400,   401,   402,   403,
11611      404,   405,   406,   407,   408,   409,   410,   411,   412,     0,
11612      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
11613      424,     0,   425,   426,     0,   428,     0,   429,   430,   431,
11614      432,   433,   434,     0,   435,   436,     0,     0,   437,   438,
11615      439,     0,     0,   440,   441,   442,     0,   444,     0,   446,
11616      447,   448,   449,   450,   451,   452,   453,   454,   455,     0,
11617        0,   456,   457,   458,   459,   460,   461,   462,   463,     0,
11618      464,   465,   466,   467,   468,   469,   470,   471,   472,   473,
11619      474,   475,   476,   477,   478,     0,   479,   480,   481,   482,
11620      483,   484,   485,   486,   487,   488,   489,   490,     0,   491,
11621      492,     0,   494,   495,   496,   497,   498,   499,   500,   501,
11622      502,   503,   504,   505,   506,   507,   508,     0,   509,   510,
11623      511,   512,   513,     0,   514,   515,   516,   517,   518,     0,
11624      520,   521,   522,   523,     0,   524,   525,   526,   527,   528,
11625      529,   530,   531,   532,   533,   534,   535,   536,   537,   538,
11626        0,   539,   540,     0,   541,     0,   543,   544,   545,   546,
11627      547,     0,   548,   549,   550,     0,     0,   768,   552,   553,
11628      554,   555,     0,   556,   557,   558,   559,   560,   561,   562,
11629      563,     0,     0,   564,   565,   566,   567,   568,     0,     0,
11630      569,   570,   571,   572,   573,   574,   575,     0,   576,     0,
11631      578,   579,   580,   581,     0,     0,   582,     0,     0,   583,
11632      584,   585,   586,   587,   588,   589,   590,   591,   592,   593,
11633      594,   595,   596,   597,   598,   599,   600,   601,   602,   610,
11634        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11635        0,     0,     0,     0,     0,     0,   230,   231,   232,   233,
11636      234,   235,   236,   237,     0,   238,   239,   240,     0,     0,
11637        0,     0,     0,     0,     0,   241,   242,     0,   243,   244,
11638      245,     0,   247,   248,   249,   250,   251,     0,   253,   254,
11639        0,   255,   256,   257,   258,   259,   260,     0,     0,   261,
11640      262,   263,   264,   265,     0,   266,   267,   268,   269,   270,
11641        0,     0,     0,   272,   273,   274,   275,   276,     0,   278,
11642      279,   280,     0,   281,   282,   283,   284,   285,   286,     0,
11643        0,   288,   289,   290,     0,     0,     0,     0,     0,     0,
11644        0,   292,   293,   294,   295,   296,   297,   298,   299,   300,
11645        0,   301,     0,   302,   303,   304,   305,   306,   307,     0,
11646      308,   309,   310,   311,     0,     0,   312,   313,   314,   315,
11647      316,     0,   317,   318,   319,     0,   320,   321,   322,     0,
11648      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
11649        0,   333,     0,   334,   335,   336,   337,     0,   338,     0,
11650      339,     0,     0,     0,   342,   343,   344,   345,     0,   346,
11651      347,     0,   348,   349,   350,     0,   351,   352,   353,   354,
11652      355,     0,   357,   358,   359,   360,     0,   361,   362,   363,
11653      364,   365,   366,   367,     0,   368,     0,   370,   371,   372,
11654      373,   374,   375,   376,     0,   377,     0,   378,     0,     0,
11655      381,     0,   383,   384,   385,   386,   387,     0,     0,   388,
11656      389,     0,   391,     0,     0,   393,   394,   395,     0,     0,
11657      396,   397,   398,   399,   400,   401,   402,   403,   404,   405,
11658      406,   407,   408,   409,   410,   411,   412,     0,   414,   415,
11659      416,   417,   418,   419,   420,   421,   422,   423,   424,     0,
11660      425,   426,     0,   428,     0,   429,   430,   431,   432,   433,
11661      434,     0,   435,   436,     0,     0,   437,   438,   439,     0,
11662        0,   440,   441,   442,     0,   444,     0,   446,   447,   448,
11663      449,   450,   451,   452,   453,   454,   455,     0,     0,   456,
11664      457,   458,   459,   460,   461,   462,   463,     0,   464,   465,
11665      466,   467,   468,   469,   470,   471,   472,   473,   474,   475,
11666      476,   477,   478,     0,   479,   480,   481,   482,   483,   484,
11667      485,   486,   487,   488,   489,   490,     0,   491,   492,     0,
11668      494,   495,   496,   497,   498,   499,   500,   501,   780,   503,
11669      504,   505,   506,   507,   508,     0,   509,   510,   511,   512,
11670      513,     0,   514,   515,   516,   517,   518,     0,   520,   521,
11671      522,   523,     0,   524,   525,   526,   527,   528,   529,   530,
11672      531,   532,   533,   534,   535,   536,   537,   538,     0,   539,
11673      540,     0,   541,     0,   543,   544,   545,   546,   547,     0,
11674      548,   549,   550,     0,     0,   551,   552,   553,   554,   555,
11675        0,   556,   557,   558,   559,   560,   561,   562,   563,     0,
11676        0,   564,   565,   566,   567,   568,     0,     0,   569,   570,
11677      571,   572,   573,   574,   575,     0,   576,     0,   578,   579,
11678      580,   581,     0,     0,   582,     0,     0,   583,   584,   585,
11679      586,   587,   588,   589,   590,   591,   592,   593,   594,   595,
11680      596,   597,   598,   599,   600,   601,   602,   610,     0,     0,
11681        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11682        0,     0,     0,     0,   230,   231,   232,   233,   234,   235,
11683      236,   237,     0,   238,   239,   240,     0,     0,     0,     0,
11684        0,     0,     0,   241,   242,     0,   243,   244,   245,     0,
11685      247,   248,   249,   250,   251,     0,   253,   254,     0,   255,
11686      256,   257,   258,   259,   260,     0,     0,   802,   262,   263,
11687      264,   265,     0,   266,   267,   268,   269,   270,     0,     0,
11688        0,   272,   273,   274,   275,   276,     0,   278,   279,   280,
11689        0,   803,   282,   283,   284,   285,   286,     0,     0,   288,
11690      289,   290,     0,     0,     0,     0,     0,     0,     0,   292,
11691      293,   294,   295,   296,   297,   298,   299,   300,     0,   301,
11692        0,   302,   303,   304,   305,   306,   307,     0,   308,   309,
11693      310,   311,     0,     0,   312,   313,   314,   315,   316,     0,
11694      317,   318,   319,     0,   320,   321,   322,     0,   323,   324,
11695      325,   326,   327,   328,   329,   330,   331,   332,     0,   333,
11696        0,   334,   335,   336,   337,     0,   338,     0,   339,     0,
11697        0,     0,   342,   343,   344,   345,     0,   346,   347,     0,
11698      348,   349,   350,     0,   351,   352,   353,   354,   355,     0,
11699      357,   358,   359,   360,     0,   361,   362,   363,   364,   365,
11700      366,   367,     0,   368,     0,   370,   371,   372,   373,   374,
11701      375,   376,     0,   377,     0,   378,     0,     0,   381,     0,
11702      383,   384,   385,   386,   387,     0,     0,   388,   389,     0,
11703      391,     0,     0,   393,   394,   804,     0,     0,   396,   397,
11704      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
11705      408,   409,   410,   805,   412,     0,   414,   415,   416,   417,
11706      418,   419,   420,   421,   422,   423,   424,     0,   425,   426,
11707        0,   428,     0,   429,   430,   431,   432,   433,   434,     0,
11708      435,   436,     0,     0,   437,   438,   439,     0,     0,   440,
11709      441,   442,     0,   444,     0,   446,   447,   448,   449,   450,
11710      451,   452,   453,   454,   455,     0,     0,   456,   457,   458,
11711      459,   460,   461,   462,   463,     0,   464,   465,   466,   467,
11712      468,   469,   470,   471,   472,   473,   474,   475,   476,   477,
11713      478,     0,   479,   480,   481,   482,   483,   484,   485,   486,
11714      487,   488,   489,   490,     0,   491,   492,     0,   806,   495,
11715      496,   497,   498,   499,   500,   501,   502,   807,   504,   505,
11716      506,   507,   508,     0,   509,   510,   511,   512,   808,     0,
11717      514,   515,   516,   517,   518,     0,   520,   521,   522,   523,
11718        0,   524,   525,   526,   527,   528,   529,   530,   531,   532,
11719      533,   534,   535,   536,   537,   538,     0,   539,   540,     0,
11720      541,     0,   543,   544,   545,   546,   547,     0,   548,   809,
11721      550,     0,     0,   810,   552,   553,   554,   555,     0,   556,
11722      557,   558,   559,   560,   561,   562,   563,     0,     0,   564,
11723      565,   566,   567,   568,     0,     0,   569,   570,   571,   572,
11724      573,   574,   575,     0,   576,     0,   578,   579,   580,   581,
11725        0,     0,   582,     0,     0,   583,   584,   585,   586,   587,
11726      811,   589,   590,   591,   592,   593,   594,   595,   596,   597,
11727      598,   599,   600,   601,   602,   610,     0,     0,     0,     0,
11728        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11729        0,     0,   230,   231,   232,   233,   234,   235,   236,   237,
11730        0,   238,   239,   240,     0,     0,     0,     0,     0,     0,
11731        0,   241,   242,     0,   243,   244,   245,     0,   247,   248,
11732      249,   250,   251,     0,   253,   254,     0,   255,   256,   257,
11733      258,   259,   260,     0,     0,   261,   262,   263,   264,   265,
11734        0,   266,   267,   268,   269,   270,     0,     0,     0,   272,
11735      273,   274,   275,   276,     0,   278,   279,   280,     0,   281,
11736      282,   283,   284,   285,   286,     0,     0,   288,   289,   290,
11737        0,     0,     0,     0,     0,     0,     0,   292,   293,   294,
11738      295,   296,   297,   298,   299,   300,     0,   301,     0,   302,
11739      303,   304,   305,   306,   307,     0,   308,   309,   310,   311,
11740        0,     0,   312,   313,   314,   315,   316,     0,   317,   318,
11741      319,     0,   320,   321,   322,     0,   323,   324,   325,   326,
11742      327,   328,   329,   330,   331,   332,     0,   333,     0,   334,
11743      335,   336,   337,     0,   338,     0,   339,     0,     0,     0,
11744      342,   343,   344,   345,     0,   346,   347,     0,   348,   349,
11745      350,     0,   351,   352,   353,   354,   355,     0,   357,   358,
11746      359,   360,     0,   361,   362,   363,   364,   365,   366,   367,
11747        0,   368,     0,   370,   371,   372,   373,   374,   375,   376,
11748        0,   377,     0,   378,     0,     0,   381,     0,   383,   384,
11749      385,   386,   387,     0,     0,   388,   389,     0,   391,     0,
11750        0,   393,   394,   395,     0,     0,   396,   397,   398,   399,
11751      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
11752      410,   411,   412,     0,   414,   415,   416,   417,   418,   419,
11753      420,   421,   422,   423,   424,     0,   425,   426,     0,   428,
11754        0,   429,   430,   431,   432,   433,   434,     0,   435,   436,
11755        0,     0,   437,   438,   439,     0,     0,   440,   441,   442,
11756        0,   444,     0,   446,   447,   448,   449,   450,   451,   452,
11757      453,   454,   455,     0,     0,   456,   457,   458,   459,   460,
11758      461,   462,   463,     0,   464,   465,   466,   467,   468,   469,
11759      470,   471,   472,   473,   474,   475,   476,   833,   478,     0,
11760      479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
11761      489,   490,     0,   491,   492,     0,   494,   495,   496,   497,
11762      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
11763      508,     0,   509,   510,   511,   512,   513,     0,   514,   515,
11764      516,   517,   518,     0,   520,   521,   522,   523,     0,   524,
11765      525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
11766      535,   536,   537,   538,     0,   539,   540,     0,   541,     0,
11767      543,   544,   545,   546,   547,     0,   548,   549,   550,     0,
11768        0,   551,   552,   553,   554,   555,     0,   556,   557,   558,
11769      559,   560,   561,   562,   563,     0,     0,   564,   565,   566,
11770      567,   568,     0,     0,   569,   570,   571,   572,   573,   574,
11771      575,     0,   576,     0,   578,   579,   580,   581,     0,     0,
11772      582,     0,     0,   583,   584,   585,   586,   587,   588,   589,
11773      590,   591,   592,   593,   594,   595,   596,   597,   598,   599,
11774      600,   601,   602,   610,     0,     0,     0,     0,     0,     0,
11775        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11776      230,   231,   232,   233,   234,   235,   236,   237,     0,   238,
11777      239,   240,     0,     0,     0,     0,     0,     0,     0,   241,
11778      242,     0,   243,   244,   245,     0,   247,   248,   249,   250,
11779      251,     0,   253,   254,     0,   255,   256,   257,   258,   259,
11780      260,     0,     0,   261,   262,   263,   264,   265,     0,   266,
11781      267,   268,   269,   270,     0,     0,     0,   272,   273,   274,
11782      275,   276,     0,   278,   279,   280,     0,   281,   282,   283,
11783      284,   285,   286,     0,     0,   288,   289,   290,     0,     0,
11784        0,     0,     0,     0,     0,   292,   293,   294,   295,   296,
11785      297,   298,   299,   300,     0,   301,     0,   302,   303,   304,
11786      305,   306,   307,     0,   308,   309,   310,   311,     0,     0,
11787      312,   313,   314,   315,   316,     0,   317,   318,   319,     0,
11788      320,   321,   322,     0,   323,   324,   325,   326,   327,   328,
11789      329,   330,   331,   332,     0,   333,     0,   334,   335,   336,
11790      337,     0,   338,     0,   339,     0,     0,     0,   342,   343,
11791      344,   345,     0,   346,   347,     0,   348,   349,   350,     0,
11792      351,   352,   353,   354,   911,     0,   357,   358,   359,   360,
11793        0,   361,   362,   363,   364,   365,   366,   367,     0,   368,
11794        0,   370,   371,   372,   373,   374,   375,   376,     0,   377,
11795        0,   378,     0,     0,   381,     0,   383,   384,   385,   386,
11796      387,     0,     0,   388,   389,     0,   391,     0,     0,   393,
11797      394,   395,     0,     0,   396,   397,   398,   399,   400,   401,
11798      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
11799      412,     0,   414,   415,   416,   417,   418,   419,   420,   421,
11800      422,   423,   424,     0,   425,   426,     0,   428,     0,   429,
11801      430,   431,   432,   433,   434,     0,   435,   436,     0,     0,
11802      437,   438,   439,     0,     0,   440,   441,   442,     0,   444,
11803        0,   446,   447,   448,   449,   450,   451,   452,   453,   454,
11804      455,     0,     0,   456,   457,   458,   459,   460,   461,   462,
11805      463,     0,   464,   465,   466,   467,   468,   469,   470,   471,
11806      472,   473,   474,   475,   476,   477,   478,     0,   479,   480,
11807      481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
11808        0,   491,   492,     0,   494,   495,   496,   497,   498,   499,
11809      500,   501,   502,   503,   504,   505,   506,   507,   508,     0,
11810      509,   510,   511,   512,   513,     0,   514,   515,   516,   517,
11811      518,     0,   520,   521,   522,   523,     0,   524,   525,   526,
11812      527,   528,   529,   530,   531,   532,   533,   534,   535,   536,
11813      537,   538,     0,   539,   540,     0,   541,     0,   543,   544,
11814      545,   546,   547,     0,   548,   549,   550,     0,     0,   551,
11815      552,   553,   554,   555,     0,   556,   557,   558,   559,   560,
11816      561,   562,   563,     0,     0,   564,   565,   566,   567,   568,
11817        0,     0,   569,   570,   571,   572,   573,   574,   575,     0,
11818      576,     0,   578,   579,   580,   581,     0,     0,   582,     0,
11819        0,   583,   584,   585,   586,   587,   588,   589,   590,   591,
11820      592,   593,   594,   595,   596,   597,   598,   599,   600,   601,
11821      602,   610,     0,     0,     0,     0,     0,     0,     0,     0,
11822        0,     0,     0,     0,     0,     0,     0,     0,   230,   231,
11823      232,   233,   234,   235,   236,   237,     0,   238,   239,   240,
11824        0,     0,     0,     0,     0,     0,     0,   241,   242,     0,
11825      243,   244,   245,     0,   247,   248,   249,   250,   251,     0,
11826      253,   254,     0,   255,   256,   257,   258,   259,   260,     0,
11827        0,   261,   262,   263,   264,   265,     0,   266,   267,   268,
11828      269,   270,     0,     0,     0,   272,   273,   274,   275,   276,
11829        0,   278,   279,   280,     0,   281,   282,   283,   284,   285,
11830      286,     0,     0,   288,   289,   290,     0,     0,     0,     0,
11831        0,     0,     0,   292,   293,   294,   295,   296,   297,   298,
11832      299,   300,     0,   301,     0,   302,   303,   304,   305,   306,
11833      307,     0,   308,   309,   310,   311,     0,     0,   312,   313,
11834      314,   315,   316,     0,   317,   318,   319,     0,   320,   321,
11835      322,     0,   323,   324,   325,   326,   327,   328,   329,   330,
11836      331,   332,     0,   333,     0,   334,   335,   336,   337,     0,
11837      338,     0,   339,     0,     0,     0,   342,   343,   344,   345,
11838        0,   346,   347,     0,   348,   349,   350,     0,   351,   352,
11839      353,   354,   921,     0,   357,   358,   359,   360,     0,   361,
11840      362,   363,   364,   365,   366,   367,     0,   368,     0,   370,
11841      371,   372,   373,   374,   375,   376,     0,   377,     0,   378,
11842        0,     0,   381,     0,   383,   384,   385,   386,   387,     0,
11843        0,   388,   389,     0,   391,     0,     0,   393,   394,   395,
11844        0,     0,   396,   397,   398,   399,   400,   401,   402,   403,
11845      404,   405,   406,   407,   408,   409,   410,   411,   412,     0,
11846      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
11847      424,     0,   425,   426,     0,   428,     0,   429,   430,   431,
11848      432,   433,   434,     0,   435,   436,     0,     0,   437,   438,
11849      439,     0,     0,   440,   441,   442,     0,   444,     0,   446,
11850      447,   448,   449,   450,   451,   452,   453,   454,   455,     0,
11851        0,   456,   457,   458,   459,   460,   461,   462,   463,     0,
11852      464,   465,   466,   467,   468,   469,   470,   471,   472,   473,
11853      474,   475,   476,   477,   478,     0,   479,   480,   481,   482,
11854      483,   484,   485,   486,   487,   488,   489,   490,     0,   491,
11855      492,     0,   494,   495,   496,   497,   498,   499,   500,   501,
11856      502,   503,   504,   505,   506,   507,   508,     0,   509,   510,
11857      511,   512,   513,     0,   514,   515,   516,   517,   518,     0,
11858      520,   521,   522,   523,     0,   524,   525,   526,   527,   528,
11859      529,   530,   531,   532,   533,   534,   535,   536,   537,   538,
11860        0,   539,   540,     0,   541,     0,   543,   544,   545,   546,
11861      547,     0,   548,   549,   550,     0,     0,   551,   552,   553,
11862      554,   555,     0,   556,   557,   558,   559,   560,   561,   562,
11863      563,     0,     0,   564,   565,   566,   567,   568,     0,     0,
11864      569,   570,   571,   572,   573,   574,   575,     0,   576,     0,
11865      578,   579,   580,   581,     0,     0,   582,     0,     0,   583,
11866      584,   585,   586,   587,   588,   589,   590,   591,   592,   593,
11867      594,   595,   596,   597,   598,   599,   600,   601,   602,   610,
11868        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11869        0,     0,     0,     0,     0,     0,   230,   231,   232,   233,
11870      234,   235,   236,   237,     0,   238,   239,   240,     0,     0,
11871        0,     0,     0,     0,     0,   241,   242,     0,   243,   244,
11872      245,     0,   247,   248,   249,   250,   251,     0,   253,   254,
11873        0,   255,   256,   257,   258,   259,   260,     0,     0,   261,
11874      262,   263,   264,   265,     0,   266,   267,   268,   269,   270,
11875        0,     0,     0,   272,   273,   274,   275,   276,     0,   278,
11876      279,   280,     0,   281,   282,   283,   284,   285,   286,     0,
11877        0,   288,   289,   290,     0,     0,     0,     0,     0,     0,
11878        0,   292,   293,   294,   295,   296,   297,   298,   299,   300,
11879        0,   301,     0,   302,   303,   304,   305,   306,   307,     0,
11880      308,   309,   310,   311,     0,     0,   312,   313,   314,   315,
11881      316,     0,   317,   318,   319,     0,   320,   321,   322,     0,
11882      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
11883        0,   333,     0,   334,   335,   336,   337,     0,   338,     0,
11884      339,     0,     0,     0,   342,   343,   344,   345,     0,   346,
11885      347,     0,   348,   349,   350,     0,   351,   352,   353,   354,
11886      924,     0,   357,   358,   359,   360,     0,   361,   362,   363,
11887      364,   365,   366,   367,     0,   368,     0,   370,   371,   372,
11888      373,   374,   375,   376,     0,   377,     0,   378,     0,     0,
11889      381,     0,   383,   384,   385,   386,   387,     0,     0,   388,
11890      389,     0,   391,     0,     0,   393,   394,   395,     0,     0,
11891      396,   397,   398,   399,   400,   401,   402,   403,   404,   405,
11892      406,   407,   408,   409,   410,   411,   412,     0,   414,   415,
11893      416,   417,   418,   419,   420,   421,   422,   423,   424,     0,
11894      425,   426,     0,   428,     0,   429,   430,   431,   432,   433,
11895      434,     0,   435,   436,     0,     0,   437,   438,   439,     0,
11896        0,   440,   441,   442,     0,   444,     0,   446,   447,   448,
11897      449,   450,   451,   452,   453,   454,   455,     0,     0,   456,
11898      457,   458,   459,   460,   461,   462,   463,     0,   464,   465,
11899      466,   467,   468,   469,   470,   471,   472,   473,   474,   475,
11900      476,   477,   478,     0,   479,   480,   481,   482,   483,   484,
11901      485,   486,   487,   488,   489,   490,     0,   491,   492,     0,
11902      494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
11903      504,   505,   506,   507,   508,     0,   509,   510,   511,   512,
11904      513,     0,   514,   515,   516,   517,   518,     0,   520,   521,
11905      522,   523,     0,   524,   525,   526,   527,   528,   529,   530,
11906      531,   532,   533,   534,   535,   536,   537,   538,     0,   539,
11907      540,     0,   541,     0,   543,   544,   545,   546,   547,     0,
11908      548,   549,   550,     0,     0,   551,   552,   553,   554,   555,
11909        0,   556,   557,   558,   559,   560,   561,   562,   563,     0,
11910        0,   564,   565,   566,   567,   568,     0,     0,   569,   570,
11911      571,   572,   573,   574,   575,     0,   576,     0,   578,   579,
11912      580,   581,     0,     0,   582,     0,     0,   583,   584,   585,
11913      586,   587,   588,   589,   590,   591,   592,   593,   594,   595,
11914      596,   597,   598,   599,   600,   601,   602,   610,     0,     0,
11915        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11916        0,     0,     0,     0,   230,   231,   232,   233,   234,   235,
11917      236,   237,     0,   238,   239,   240,     0,     0,     0,     0,
11918        0,     0,     0,   241,   242,     0,   243,   244,   245,     0,
11919      247,   248,   249,   250,   251,     0,   253,   254,     0,   255,
11920      256,   257,   258,   259,   260,     0,     0,   261,   262,   263,
11921      264,   265,     0,   266,   267,   268,   269,   270,     0,     0,
11922        0,   272,   273,   274,   275,   276,     0,   278,   279,   280,
11923        0,   281,   282,   283,   284,   285,   286,     0,     0,   288,
11924      289,   290,     0,     0,     0,     0,     0,     0,     0,   292,
11925      293,   294,   295,   296,   297,   298,   299,   300,     0,   301,
11926        0,   302,   303,   304,   305,   306,   307,     0,   308,   309,
11927      310,   311,     0,     0,   312,   313,   314,   315,   316,     0,
11928      317,   318,   319,     0,   320,   321,   322,     0,   323,   324,
11929      325,   326,   327,   328,   329,   330,   331,   332,     0,   333,
11930        0,   334,   335,   336,   337,     0,   338,     0,   339,     0,
11931        0,     0,   342,   343,   344,   345,     0,   346,   347,     0,
11932      348,   349,   350,     0,   351,   352,   353,   354,   940,     0,
11933      357,   358,   359,   360,     0,   361,   362,   363,   364,   365,
11934      366,   367,     0,   368,     0,   370,   371,   372,   373,   374,
11935      375,   376,     0,   377,     0,   378,     0,     0,   381,     0,
11936      383,   384,   385,   386,   387,     0,     0,   388,   389,     0,
11937      391,     0,     0,   393,   394,   395,     0,     0,   396,   397,
11938      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
11939      408,   409,   410,   411,   412,     0,   414,   415,   416,   417,
11940      418,   419,   420,   421,   422,   423,   424,     0,   425,   426,
11941        0,   428,     0,   429,   430,   431,   432,   433,   434,     0,
11942      435,   436,     0,     0,   437,   438,   439,     0,     0,   440,
11943      441,   442,     0,   444,     0,   446,   447,   448,   449,   450,
11944      451,   452,   453,   454,   455,     0,     0,   456,   457,   458,
11945      459,   460,   461,   462,   463,     0,   464,   465,   466,   467,
11946      468,   469,   470,   471,   472,   473,   474,   475,   476,   477,
11947      478,     0,   479,   480,   481,   482,   483,   484,   485,   486,
11948      487,   488,   489,   490,     0,   491,   492,     0,   494,   495,
11949      496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
11950      506,   507,   508,     0,   509,   510,   511,   512,   513,     0,
11951      514,   515,   516,   517,   518,     0,   520,   521,   522,   523,
11952        0,   524,   525,   526,   527,   528,   529,   530,   531,   532,
11953      533,   534,   535,   536,   537,   538,     0,   539,   540,     0,
11954      541,     0,   543,   544,   545,   546,   547,     0,   548,   549,
11955      550,     0,     0,   551,   552,   553,   554,   555,     0,   556,
11956      557,   558,   559,   560,   561,   562,   563,     0,     0,   564,
11957      565,   566,   567,   568,     0,     0,   569,   570,   571,   572,
11958      573,   574,   575,     0,   576,     0,   578,   579,   580,   581,
11959        0,     0,   582,     0,     0,   583,   584,   585,   586,   587,
11960      588,   589,   590,   591,   592,   593,   594,   595,   596,   597,
11961      598,   599,   600,   601,   602,   610,     0,     0,     0,     0,
11962        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11963        0,     0,   230,   231,   232,   233,   234,   235,   236,   237,
11964        0,   238,   239,   240,     0,     0,     0,     0,     0,     0,
11965        0,   241,   242,     0,   243,   244,   245,     0,   247,   248,
11966      249,   250,   251,     0,   253,   254,     0,   255,   256,   257,
11967      258,   259,   260,     0,     0,   261,   262,   263,   264,   265,
11968        0,   266,   267,   268,   269,   270,     0,     0,     0,   272,
11969      273,   274,   275,   276,     0,   278,   279,   280,     0,   281,
11970      282,   283,   284,   285,   286,     0,     0,   288,   289,   290,
11971        0,     0,     0,     0,     0,     0,     0,   292,   293,   294,
11972      295,   296,   297,   298,   299,   300,     0,   301,     0,   302,
11973      303,   304,   305,   306,   307,     0,   308,   309,   310,   311,
11974        0,     0,   312,   313,   314,   315,   316,     0,   317,   318,
11975      319,     0,   320,   321,   322,     0,   323,   324,   325,   326,
11976      327,   328,   329,   330,   331,   332,     0,   333,     0,   334,
11977      335,   336,   337,     0,   338,     0,   339,     0,     0,     0,
11978      342,   343,   344,   345,     0,   346,   347,     0,   348,   349,
11979      350,     0,   351,   352,   353,   354,  1007,     0,   357,   358,
11980      359,   360,     0,   361,   362,   363,   364,   365,   366,   367,
11981        0,   368,     0,   370,   371,   372,   373,   374,   375,   376,
11982        0,   377,     0,   378,     0,     0,   381,     0,   383,   384,
11983      385,   386,   387,     0,     0,   388,   389,     0,   391,     0,
11984        0,   393,   394,   395,     0,     0,   396,   397,   398,   399,
11985      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
11986      410,   411,   412,     0,   414,   415,   416,   417,   418,   419,
11987      420,   421,   422,   423,   424,     0,   425,   426,     0,   428,
11988        0,   429,   430,   431,   432,   433,   434,     0,   435,   436,
11989        0,     0,   437,   438,   439,     0,     0,   440,   441,   442,
11990        0,   444,     0,   446,   447,   448,   449,   450,   451,   452,
11991      453,   454,   455,     0,     0,   456,   457,   458,   459,   460,
11992      461,   462,   463,     0,   464,   465,   466,   467,   468,   469,
11993      470,   471,   472,   473,   474,   475,   476,   477,   478,     0,
11994      479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
11995      489,   490,     0,   491,   492,     0,   494,   495,   496,   497,
11996      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
11997      508,     0,   509,   510,   511,   512,   513,     0,   514,   515,
11998      516,   517,   518,     0,   520,   521,   522,   523,     0,   524,
11999      525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
12000      535,   536,   537,   538,     0,   539,   540,     0,   541,     0,
12001      543,   544,   545,   546,   547,     0,   548,   549,   550,     0,
12002        0,   551,   552,   553,   554,   555,     0,   556,   557,   558,
12003      559,   560,   561,   562,   563,     0,     0,   564,   565,   566,
12004      567,   568,     0,     0,   569,   570,   571,   572,   573,   574,
12005      575,     0,   576,     0,   578,   579,   580,   581,     0,     0,
12006      582,     0,     0,   583,   584,   585,   586,   587,   588,   589,
12007      590,   591,   592,   593,   594,   595,   596,   597,   598,   599,
12008      600,   601,   602,   610,     0,     0,     0,     0,     0,     0,
12009        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
12010      230,   231,   232,   233,   234,   235,   236,   237,     0,   238,
12011      239,   240,     0,     0,     0,     0,     0,     0,     0,   241,
12012      242,     0,   243,   244,   245,     0,   247,   248,   249,   250,
12013      251,     0,   253,   254,     0,   255,   256,   257,   258,   259,
12014      260,     0,     0,   261,   262,   263,   264,   265,     0,   266,
12015      267,   268,   269,   270,     0,     0,     0,   272,   273,   274,
12016      275,   276,     0,   278,   279,   280,     0,   281,   282,   283,
12017      284,   285,   286,     0,     0,   288,   289,   290,     0,     0,
12018        0,     0,     0,     0,     0,   292,   293,   294,   295,   296,
12019      297,   298,   299,   300,     0,   301,     0,   302,   303,   304,
12020      305,   306,   307,     0,   308,   309,   310,   311,     0,     0,
12021      312,   313,   314,   315,   316,     0,   317,   318,   319,     0,
12022      320,   321,   322,     0,   323,   324,   325,   326,   327,   328,
12023      329,   330,   331,   332,     0,   333,     0,   334,   335,   336,
12024      337,     0,   338,     0,   339,     0,     0,     0,   342,   343,
12025      344,   345,     0,   346,   347,     0,   348,   349,   350,     0,
12026      351,   352,   353,   354,  1013,     0,   357,   358,   359,   360,
12027        0,   361,   362,   363,   364,   365,   366,   367,     0,   368,
12028        0,   370,   371,   372,   373,   374,   375,   376,     0,   377,
12029        0,   378,     0,     0,   381,     0,   383,   384,   385,   386,
12030      387,     0,     0,   388,   389,     0,   391,     0,     0,   393,
12031      394,   395,     0,     0,   396,   397,   398,   399,   400,   401,
12032      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
12033      412,     0,   414,   415,   416,   417,   418,   419,   420,   421,
12034      422,   423,   424,     0,   425,   426,     0,   428,     0,   429,
12035      430,   431,   432,   433,   434,     0,   435,   436,     0,     0,
12036      437,   438,   439,     0,     0,   440,   441,   442,     0,   444,
12037        0,   446,   447,   448,   449,   450,   451,   452,   453,   454,
12038      455,     0,     0,   456,   457,   458,   459,   460,   461,   462,
12039      463,     0,   464,   465,   466,   467,   468,   469,   470,   471,
12040      472,   473,   474,   475,   476,   477,   478,     0,   479,   480,
12041      481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
12042        0,   491,   492,     0,   494,   495,   496,   497,   498,   499,
12043      500,   501,   502,   503,   504,   505,   506,   507,   508,     0,
12044      509,   510,   511,   512,   513,     0,   514,   515,   516,   517,
12045      518,     0,   520,   521,   522,   523,     0,   524,   525,   526,
12046      527,   528,   529,   530,   531,   532,   533,   534,   535,   536,
12047      537,   538,     0,   539,   540,     0,   541,     0,   543,   544,
12048      545,   546,   547,     0,   548,   549,   550,     0,     0,   551,
12049      552,   553,   554,   555,     0,   556,   557,   558,   559,   560,
12050      561,   562,   563,     0,     0,   564,   565,   566,   567,   568,
12051        0,     0,   569,   570,   571,   572,   573,   574,   575,     0,
12052      576,     0,   578,   579,   580,   581,     0,     0,   582,     0,
12053        0,   583,   584,   585,   586,   587,   588,   589,   590,   591,
12054      592,   593,   594,   595,   596,   597,   598,   599,   600,   601,
12055      602,   610,     0,     0,     0,     0,     0,     0,     0,     0,
12056        0,     0,     0,     0,     0,     0,     0,     0,   230,   231,
12057      232,   233,   234,   235,   236,   237,     0,   238,   239,   240,
12058        0,     0,     0,     0,     0,     0,     0,   241,   242,     0,
12059      243,   244,   245,     0,   247,   248,   249,   250,   251,     0,
12060      253,   254,     0,   255,   256,   257,   258,   259,   260,     0,
12061        0,   261,   262,   263,   264,   265,     0,   266,   267,   268,
12062      269,   270,     0,     0,     0,   272,   273,   274,   275,   276,
12063        0,   278,   279,   280,     0,   281,   282,   283,   284,   285,
12064      286,     0,     0,   288,   289,   290,     0,     0,     0,     0,
12065        0,     0,     0,   292,   293,   294,   295,   296,   297,   298,
12066      299,   300,     0,   301,     0,   302,   303,   304,   305,   306,
12067      307,     0,   308,   309,   310,   311,     0,     0,   312,   313,
12068      314,   315,   316,     0,   317,   318,   319,     0,   320,   321,
12069      322,     0,   323,   324,   325,   326,   327,   328,   329,   330,
12070      331,   332,     0,   333,     0,   334,   335,   336,   337,     0,
12071      338,     0,   339,     0,     0,     0,   342,   343,   344,   345,
12072        0,   346,   347,     0,   348,   349,   350,     0,   351,   352,
12073      353,   354,  1030,     0,   357,   358,   359,   360,     0,   361,
12074      362,   363,   364,   365,   366,   367,     0,   368,     0,   370,
12075      371,   372,   373,   374,   375,   376,     0,   377,     0,   378,
12076        0,     0,   381,     0,   383,   384,   385,   386,   387,     0,
12077        0,   388,   389,     0,   391,     0,     0,   393,   394,   395,
12078        0,     0,   396,   397,   398,   399,   400,   401,   402,   403,
12079      404,   405,   406,   407,   408,   409,   410,   411,   412,     0,
12080      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
12081      424,     0,   425,   426,     0,   428,     0,   429,   430,   431,
12082      432,   433,   434,     0,   435,   436,     0,     0,   437,   438,
12083      439,     0,     0,   440,   441,   442,     0,   444,     0,   446,
12084      447,   448,   449,   450,   451,   452,   453,   454,   455,     0,
12085        0,   456,   457,   458,   459,   460,   461,   462,   463,     0,
12086      464,   465,   466,   467,   468,   469,   470,   471,   472,   473,
12087      474,   475,   476,   477,   478,     0,   479,   480,   481,   482,
12088      483,   484,   485,   486,   487,   488,   489,   490,     0,   491,
12089      492,     0,   494,   495,   496,   497,   498,   499,   500,   501,
12090      502,   503,   504,   505,   506,   507,   508,     0,   509,   510,
12091      511,   512,   513,     0,   514,   515,   516,   517,   518,     0,
12092      520,   521,   522,   523,     0,   524,   525,   526,   527,   528,
12093      529,   530,   531,   532,   533,   534,   535,   536,   537,   538,
12094        0,   539,   540,     0,   541,     0,   543,   544,   545,   546,
12095      547,     0,   548,   549,   550,     0,     0,   551,   552,   553,
12096      554,   555,     0,   556,   557,   558,   559,   560,   561,   562,
12097      563,     0,     0,   564,   565,   566,   567,   568,     0,     0,
12098      569,   570,   571,   572,   573,   574,   575,     0,   576,     0,
12099      578,   579,   580,   581,     0,     0,   582,     0,     0,   583,
12100      584,   585,   586,   587,   588,   589,   590,   591,   592,   593,
12101      594,   595,   596,   597,   598,   599,   600,   601,   602,   610,
12102        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
12103        0,     0,     0,     0,     0,     0,   230,   231,   232,   233,
12104      234,   235,   236,   237,     0,   238,   239,   240,     0,     0,
12105        0,     0,     0,     0,     0,   241,   242,     0,   243,   244,
12106      245,     0,   247,   248,   249,   250,   251,     0,   253,   254,
12107        0,   255,   256,   257,   258,   259,   260,     0,     0,   261,
12108      262,   263,   264,   265,     0,   266,   267,   268,   269,   270,
12109        0,     0,     0,   272,   273,   274,   275,   276,     0,   278,
12110      279,   280,     0,   281,   282,   283,   284,   285,   286,     0,
12111        0,   288,   289,   290,     0,     0,     0,     0,     0,     0,
12112        0,   292,   293,   294,   295,   296,   297,   298,   299,   300,
12113        0,   301,     0,   302,   303,   304,   305,   306,   307,     0,
12114      308,   309,   310,   311,     0,     0,   312,   313,   314,   315,
12115      316,     0,   317,   318,   319,     0,   320,   321,   322,     0,
12116      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
12117        0,   333,     0,   334,   335,   336,   337,     0,   338,     0,
12118      339,     0,     0,     0,   342,   343,   344,   345,     0,   346,
12119      347,     0,   348,   349,   350,     0,   351,   352,   353,   354,
12120     1033,     0,   357,   358,   359,   360,     0,   361,   362,   363,
12121      364,   365,   366,   367,     0,   368,     0,   370,   371,   372,
12122      373,   374,   375,   376,     0,   377,     0,   378,     0,     0,
12123      381,     0,   383,   384,   385,   386,   387,     0,     0,   388,
12124      389,     0,   391,     0,     0,   393,   394,   395,     0,     0,
12125      396,   397,   398,   399,   400,   401,   402,   403,   404,   405,
12126      406,   407,   408,   409,   410,   411,   412,     0,   414,   415,
12127      416,   417,   418,   419,   420,   421,   422,   423,   424,     0,
12128      425,   426,     0,   428,     0,   429,   430,   431,   432,   433,
12129      434,     0,   435,   436,     0,     0,   437,   438,   439,     0,
12130        0,   440,   441,   442,     0,   444,     0,   446,   447,   448,
12131      449,   450,   451,   452,   453,   454,   455,     0,     0,   456,
12132      457,   458,   459,   460,   461,   462,   463,     0,   464,   465,
12133      466,   467,   468,   469,   470,   471,   472,   473,   474,   475,
12134      476,   477,   478,     0,   479,   480,   481,   482,   483,   484,
12135      485,   486,   487,   488,   489,   490,     0,   491,   492,     0,
12136      494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
12137      504,   505,   506,   507,   508,     0,   509,   510,   511,   512,
12138      513,     0,   514,   515,   516,   517,   518,     0,   520,   521,
12139      522,   523,     0,   524,   525,   526,   527,   528,   529,   530,
12140      531,   532,   533,   534,   535,   536,   537,   538,     0,   539,
12141      540,     0,   541,     0,   543,   544,   545,   546,   547,     0,
12142      548,   549,   550,     0,     0,   551,   552,   553,   554,   555,
12143        0,   556,   557,   558,   559,   560,   561,   562,   563,     0,
12144        0,   564,   565,   566,   567,   568,     0,     0,   569,   570,
12145      571,   572,   573,   574,   575,     0,   576,     0,   578,   579,
12146      580,   581,     0,     0,   582,     0,     0,   583,   584,   585,
12147      586,   587,   588,   589,   590,   591,   592,   593,   594,   595,
12148      596,   597,   598,   599,   600,   601,   602,   610,     0,     0,
12149        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
12150        0,     0,     0,     0,   230,   231,   232,   233,   234,   235,
12151      236,   237,     0,   238,   239,   240,     0,     0,     0,     0,
12152        0,     0,     0,   241,   242,     0,   243,   244,   245,     0,
12153      247,   248,   249,   250,   251,     0,   253,   254,     0,   255,
12154      256,   257,   258,   259,   260,     0,     0,   261,   262,   263,
12155      264,   265,     0,   266,   267,   268,   269,   270,     0,     0,
12156        0,   272,   273,   274,   275,   276,     0,   278,   279,   280,
12157        0,   281,   282,   283,   284,   285,   286,     0,     0,   288,
12158      289,   290,     0,     0,     0,     0,     0,     0,     0,   292,
12159      293,   294,   295,   296,   297,   298,   299,   300,     0,   301,
12160        0,   302,   303,   304,   305,   306,   307,     0,   308,   309,
12161      310,   311,     0,     0,   312,   313,   314,   315,   316,     0,
12162      317,   318,   319,     0,   320,   321,   322,     0,   323,   324,
12163      325,   326,   327,   328,   329,   330,   331,   332,     0,   333,
12164        0,   334,   335,   336,   337,     0,   338,     0,   339,     0,
12165        0,     0,   342,   343,   344,   345,     0,   346,   347,     0,
12166      348,   349,   350,     0,   351,   352,   353,   354,  1035,     0,
12167      357,   358,   359,   360,     0,   361,   362,   363,   364,   365,
12168      366,   367,     0,   368,     0,   370,   371,   372,   373,   374,
12169      375,   376,     0,   377,     0,   378,     0,     0,   381,     0,
12170      383,   384,   385,   386,   387,     0,     0,   388,   389,     0,
12171      391,     0,     0,   393,   394,   395,     0,     0,   396,   397,
12172      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
12173      408,   409,   410,   411,   412,     0,   414,   415,   416,   417,
12174      418,   419,   420,   421,   422,   423,   424,     0,   425,   426,
12175        0,   428,     0,   429,   430,   431,   432,   433,   434,     0,
12176      435,   436,     0,     0,   437,   438,   439,     0,     0,   440,
12177      441,   442,     0,   444,     0,   446,   447,   448,   449,   450,
12178      451,   452,   453,   454,   455,     0,     0,   456,   457,   458,
12179      459,   460,   461,   462,   463,     0,   464,   465,   466,   467,
12180      468,   469,   470,   471,   472,   473,   474,   475,   476,   477,
12181      478,     0,   479,   480,   481,   482,   483,   484,   485,   486,
12182      487,   488,   489,   490,     0,   491,   492,     0,   494,   495,
12183      496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
12184      506,   507,   508,     0,   509,   510,   511,   512,   513,     0,
12185      514,   515,   516,   517,   518,     0,   520,   521,   522,   523,
12186        0,   524,   525,   526,   527,   528,   529,   530,   531,   532,
12187      533,   534,   535,   536,   537,   538,     0,   539,   540,     0,
12188      541,     0,   543,   544,   545,   546,   547,     0,   548,   549,
12189      550,     0,     0,   551,   552,   553,   554,   555,     0,   556,
12190      557,   558,   559,   560,   561,   562,   563,     0,     0,   564,
12191      565,   566,   567,   568,     0,     0,   569,   570,   571,   572,
12192      573,   574,   575,     0,   576,     0,   578,   579,   580,   581,
12193        0,     0,   582,     0,     0,   583,   584,   585,   586,   587,
12194      588,   589,   590,   591,   592,   593,   594,   595,   596,   597,
12195      598,   599,   600,   601,   602,   610,     0,     0,     0,     0,
12196        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
12197        0,     0,   230,   231,   232,   233,   234,   235,   236,   237,
12198        0,   238,   239,   240,     0,     0,     0,     0,     0,     0,
12199        0,   241,   242,     0,   243,   244,   245,     0,   247,   248,
12200      249,   250,   251,     0,   253,   254,     0,   255,   256,   257,
12201      258,   259,   260,     0,     0,   261,   262,   263,   264,   265,
12202        0,   266,   267,   268,   269,   270,     0,     0,     0,   272,
12203      273,   274,   275,   276,     0,   278,   279,   280,     0,   281,
12204      282,   283,   284,   285,   286,     0,     0,   288,   289,   290,
12205        0,     0,     0,     0,     0,     0,     0,   292,   293,   294,
12206      295,   296,   297,   298,   299,   300,     0,   301,     0,   302,
12207      303,   304,   305,   306,   307,     0,   308,   309,   310,   311,
12208        0,     0,   312,   313,   314,   315,   316,     0,   317,   318,
12209      319,     0,   320,   321,   322,     0,   323,   324,   325,   326,
12210      327,   328,   329,   330,   331,   332,     0,   333,     0,   334,
12211      335,   336,   337,     0,   338,     0,   339,     0,     0,     0,
12212      342,   343,   344,   345,     0,   346,   347,     0,   348,   349,
12213      350,     0,   351,   352,   353,   354,  1071,     0,   357,   358,
12214      359,   360,     0,   361,   362,   363,   364,   365,   366,   367,
12215        0,   368,     0,   370,   371,   372,   373,   374,   375,   376,
12216        0,   377,     0,   378,     0,     0,   381,     0,   383,   384,
12217      385,   386,   387,     0,     0,   388,   389,     0,   391,     0,
12218        0,   393,   394,   395,     0,     0,   396,   397,   398,   399,
12219      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
12220      410,   411,   412,     0,   414,   415,   416,   417,   418,   419,
12221      420,   421,   422,   423,   424,     0,   425,   426,     0,   428,
12222        0,   429,   430,   431,   432,   433,   434,     0,   435,   436,
12223        0,     0,   437,   438,   439,     0,     0,   440,   441,   442,
12224        0,   444,     0,   446,   447,   448,   449,   450,   451,   452,
12225      453,   454,   455,     0,     0,   456,   457,   458,   459,   460,
12226      461,   462,   463,     0,   464,   465,   466,   467,   468,   469,
12227      470,   471,   472,   473,   474,   475,   476,   477,   478,     0,
12228      479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
12229      489,   490,     0,   491,   492,     0,   494,   495,   496,   497,
12230      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
12231      508,     0,   509,   510,   511,   512,   513,     0,   514,   515,
12232      516,   517,   518,     0,   520,   521,   522,   523,     0,   524,
12233      525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
12234      535,   536,   537,   538,     0,   539,   540,     0,   541,     0,
12235      543,   544,   545,   546,   547,     0,   548,   549,   550,     0,
12236        0,   551,   552,   553,   554,   555,     0,   556,   557,   558,
12237      559,   560,   561,   562,   563,     0,     0,   564,   565,   566,
12238      567,   568,     0,     0,   569,   570,   571,   572,   573,   574,
12239      575,     0,   576,     0,   578,   579,   580,   581,     0,     0,
12240      582,     0,     0,   583,   584,   585,   586,   587,   588,   589,
12241      590,   591,   592,   593,   594,   595,   596,   597,   598,   599,
12242      600,   601,   602,   610,     0,     0,     0,     0,     0,     0,
12243        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
12244      230,   231,   232,   233,   234,   235,   236,   237,     0,   238,
12245      239,   240,     0,     0,     0,     0,     0,     0,     0,   241,
12246      242,     0,   243,   244,   245,     0,   247,   248,   249,   250,
12247      251,     0,   253,   254,     0,   255,   256,   257,   258,   259,
12248      260,     0,     0,   261,   262,   263,   264,   265,     0,   266,
12249      267,   268,   269,   270,     0,     0,     0,   272,   273,   274,
12250      275,   276,     0,   278,   279,   280,     0,   281,   282,   283,
12251      284,   285,   286,     0,     0,   288,   289,   290,     0,     0,
12252        0,     0,     0,     0,     0,   292,   293,   294,   295,   296,
12253      297,   298,   299,   300,     0,   301,     0,   302,   303,   304,
12254      305,   306,   307,     0,   308,   309,   310,   311,     0,     0,
12255      312,   313,   314,   315,   316,     0,   317,   318,   319,     0,
12256      320,   321,   322,     0,   323,   324,   325,   326,   327,   328,
12257      329,   330,   331,   332,     0,   333,     0,   334,   335,   336,
12258      337,     0,   338,     0,   339,     0,     0,     0,   342,   343,
12259      344,   345,     0,   346,   347,     0,   348,   349,   350,     0,
12260      351,   352,   353,   354,  1135,     0,   357,   358,   359,   360,
12261        0,   361,   362,   363,   364,   365,   366,   367,     0,   368,
12262        0,   370,   371,   372,   373,   374,   375,   376,     0,   377,
12263        0,   378,     0,     0,   381,     0,   383,   384,   385,   386,
12264      387,     0,     0,   388,   389,     0,   391,     0,     0,   393,
12265      394,   395,     0,     0,   396,   397,   398,   399,   400,   401,
12266      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
12267      412,     0,   414,   415,   416,   417,   418,   419,   420,   421,
12268      422,   423,   424,     0,   425,   426,     0,   428,     0,   429,
12269      430,   431,   432,   433,   434,     0,   435,   436,     0,     0,
12270      437,   438,   439,     0,     0,   440,   441,   442,     0,   444,
12271        0,   446,   447,   448,   449,   450,   451,   452,   453,   454,
12272      455,     0,     0,   456,   457,   458,   459,   460,   461,   462,
12273      463,     0,   464,   465,   466,   467,   468,   469,   470,   471,
12274      472,   473,   474,   475,   476,   477,   478,     0,   479,   480,
12275      481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
12276        0,   491,   492,     0,   494,   495,   496,   497,   498,   499,
12277      500,   501,   502,   503,   504,   505,   506,   507,   508,     0,
12278      509,   510,   511,   512,   513,     0,   514,   515,   516,   517,
12279      518,     0,   520,   521,   522,   523,     0,   524,   525,   526,
12280      527,   528,   529,   530,   531,   532,   533,   534,   535,   536,
12281      537,   538,     0,   539,   540,     0,   541,     0,   543,   544,
12282      545,   546,   547,     0,   548,   549,   550,     0,     0,   551,
12283      552,   553,   554,   555,     0,   556,   557,   558,   559,   560,
12284      561,   562,   563,     0,     0,   564,   565,   566,   567,   568,
12285        0,     0,   569,   570,   571,   572,   573,   574,   575,     0,
12286      576,     0,   578,   579,   580,   581,     0,     0,   582,     0,
12287        0,   583,   584,   585,   586,   587,   588,   589,   590,   591,
12288      592,   593,   594,   595,   596,   597,   598,   599,   600,   601,
12289      602,   610,     0,     0,     0,     0,     0,     0,     0,     0,
12290        0,     0,     0,     0,     0,     0,     0,     0,   230,   231,
12291      232,   233,   234,   235,   236,   237,     0,   238,   239,   240,
12292        0,     0,     0,     0,     0,     0,     0,   241,   242,     0,
12293      243,   244,   245,     0,   247,   248,   249,   250,   251,     0,
12294      253,   254,     0,   255,   256,   257,   258,   259,   260,     0,
12295        0,   261,   262,   263,   264,   265,     0,   266,   267,   268,
12296      269,   270,     0,     0,     0,   272,   273,   274,   275,   276,
12297        0,   278,   279,   280,     0,   281,   282,   283,   284,   285,
12298      286,     0,     0,   288,   289,   290,     0,     0,     0,     0,
12299        0,     0,     0,   292,   293,   294,   295,   296,   297,   298,
12300      299,   300,     0,   301,     0,   302,   303,   304,   305,   306,
12301      307,     0,   308,   309,   310,   311,     0,     0,   312,   313,
12302      314,   315,   316,     0,   317,   318,   319,     0,   320,   321,
12303      322,     0,   323,   324,   325,   326,   327,   328,   329,   330,
12304      331,   332,     0,   333,     0,   334,   335,   336,   337,     0,
12305      338,     0,   339,     0,     0,     0,   342,   343,   344,   345,
12306        0,   346,   347,     0,   348,   349,   350,     0,   351,   352,
12307      353,   354,  1137,     0,   357,   358,   359,   360,     0,   361,
12308      362,   363,   364,   365,   366,   367,     0,   368,     0,   370,
12309      371,   372,   373,   374,   375,   376,     0,   377,     0,   378,
12310        0,     0,   381,     0,   383,   384,   385,   386,   387,     0,
12311        0,   388,   389,     0,   391,     0,     0,   393,   394,   395,
12312        0,     0,   396,   397,   398,   399,   400,   401,   402,   403,
12313      404,   405,   406,   407,   408,   409,   410,   411,   412,     0,
12314      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
12315      424,     0,   425,   426,     0,   428,     0,   429,   430,   431,
12316      432,   433,   434,     0,   435,   436,     0,     0,   437,   438,
12317      439,     0,     0,   440,   441,   442,     0,   444,     0,   446,
12318      447,   448,   449,   450,   451,   452,   453,   454,   455,     0,
12319        0,   456,   457,   458,   459,   460,   461,   462,   463,     0,
12320      464,   465,   466,   467,   468,   469,   470,   471,   472,   473,
12321      474,   475,   476,   477,   478,     0,   479,   480,   481,   482,
12322      483,   484,   485,   486,   487,   488,   489,   490,     0,   491,
12323      492,     0,   494,   495,   496,   497,   498,   499,   500,   501,
12324      502,   503,   504,   505,   506,   507,   508,     0,   509,   510,
12325      511,   512,   513,     0,   514,   515,   516,   517,   518,     0,
12326      520,   521,   522,   523,     0,   524,   525,   526,   527,   528,
12327      529,   530,   531,   532,   533,   534,   535,   536,   537,   538,
12328        0,   539,   540,     0,   541,     0,   543,   544,   545,   546,
12329      547,     0,   548,   549,   550,     0,     0,   551,   552,   553,
12330      554,   555,     0,   556,   557,   558,   559,   560,   561,   562,
12331      563,     0,     0,   564,   565,   566,   567,   568,     0,     0,
12332      569,   570,   571,   572,   573,   574,   575,     0,   576,     0,
12333      578,   579,   580,   581,     0,     0,   582,     0,     0,   583,
12334      584,   585,   586,   587,   588,   589,   590,   591,   592,   593,
12335      594,   595,   596,   597,   598,   599,   600,   601,   602,   610,
12336        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
12337        0,     0,     0,     0,     0,     0,   230,   231,   232,   233,
12338      234,   235,   236,   237,     0,   238,   239,   240,     0,     0,
12339        0,     0,     0,     0,     0,   241,   242,     0,   243,   244,
12340      245,     0,   247,   248,   249,   250,   251,     0,   253,   254,
12341        0,   255,   256,   257,   258,   259,   260,     0,     0,   261,
12342      262,   263,   264,   265,     0,   266,   267,   268,   269,   270,
12343        0,     0,     0,   272,   273,   274,   275,   276,     0,   278,
12344      279,   280,     0,   281,   282,   283,   284,   285,   286,     0,
12345        0,   288,   289,   290,     0,     0,     0,     0,     0,     0,
12346        0,   292,   293,   294,   295,   296,   297,   298,   299,   300,
12347        0,   301,     0,   302,   303,   304,   305,   306,   307,     0,
12348      308,   309,   310,   311,     0,     0,   312,   313,   314,   315,
12349      316,     0,   317,   318,   319,     0,   320,   321,   322,     0,
12350      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
12351        0,   333,     0,   334,   335,   336,   337,     0,   338,     0,
12352      339,     0,     0,     0,   342,   343,   344,   345,     0,   346,
12353      347,     0,   348,   349,   350,     0,   351,   352,   353,   354,
12354     1147,     0,   357,   358,   359,   360,     0,   361,   362,   363,
12355      364,   365,   366,   367,     0,   368,     0,   370,   371,   372,
12356      373,   374,   375,   376,     0,   377,     0,   378,     0,     0,
12357      381,     0,   383,   384,   385,   386,   387,     0,     0,   388,
12358      389,     0,   391,     0,     0,   393,   394,   395,     0,     0,
12359      396,   397,   398,   399,   400,   401,   402,   403,   404,   405,
12360      406,   407,   408,   409,   410,   411,   412,     0,   414,   415,
12361      416,   417,   418,   419,   420,   421,   422,   423,   424,     0,
12362      425,   426,     0,   428,     0,   429,   430,   431,   432,   433,
12363      434,     0,   435,   436,     0,     0,   437,   438,   439,     0,
12364        0,   440,   441,   442,     0,   444,     0,   446,   447,   448,
12365      449,   450,   451,   452,   453,   454,   455,     0,     0,   456,
12366      457,   458,   459,   460,   461,   462,   463,     0,   464,   465,
12367      466,   467,   468,   469,   470,   471,   472,   473,   474,   475,
12368      476,   477,   478,     0,   479,   480,   481,   482,   483,   484,
12369      485,   486,   487,   488,   489,   490,     0,   491,   492,     0,
12370      494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
12371      504,   505,   506,   507,   508,     0,   509,   510,   511,   512,
12372      513,     0,   514,   515,   516,   517,   518,     0,   520,   521,
12373      522,   523,     0,   524,   525,   526,   527,   528,   529,   530,
12374      531,   532,   533,   534,   535,   536,   537,   538,     0,   539,
12375      540,     0,   541,     0,   543,   544,   545,   546,   547,     0,
12376      548,   549,   550,     0,     0,   551,   552,   553,   554,   555,
12377        0,   556,   557,   558,   559,   560,   561,   562,   563,     0,
12378        0,   564,   565,   566,   567,   568,     0,     0,   569,   570,
12379      571,   572,   573,   574,   575,     0,   576,     0,   578,   579,
12380      580,   581,     0,     0,   582,     0,     0,   583,   584,   585,
12381      586,   587,   588,   589,   590,   591,   592,   593,   594,   595,
12382      596,   597,   598,   599,   600,   601,   602,   610,     0,     0,
12383        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
12384        0,     0,     0,     0,   230,   231,   232,   233,   234,   235,
12385      236,   237,     0,   238,   239,   240,     0,     0,     0,     0,
12386        0,     0,     0,   241,   242,     0,   243,   244,   245,     0,
12387      247,   248,   249,   250,   251,     0,   253,   254,     0,   255,
12388      256,   257,   258,   259,   260,     0,     0,   261,   262,   263,
12389      264,   265,     0,   266,   267,   268,   269,   270,     0,     0,
12390        0,   272,   273,   274,   275,   276,     0,   278,   279,   280,
12391        0,   281,   282,   283,   284,   285,   286,     0,     0,   288,
12392      289,   290,     0,     0,     0,     0,     0,     0,     0,   292,
12393      293,   294,   295,   296,   297,   298,   299,   300,     0,   301,
12394        0,   302,   303,   304,   305,   306,   307,     0,   308,   309,
12395      310,   311,     0,     0,   312,   313,   314,   315,   316,     0,
12396      317,   318,   319,     0,   320,   321,   322,     0,   323,   324,
12397      325,   326,   327,   328,   329,   330,   331,   332,     0,   333,
12398        0,   334,   335,   336,   337,     0,   338,     0,   339,     0,
12399        0,     0,   342,   343,   344,   345,     0,   346,   347,     0,
12400      348,   349,   350,     0,   351,   352,   353,   354,  1150,     0,
12401      357,   358,   359,   360,     0,   361,   362,   363,   364,   365,
12402      366,   367,     0,   368,     0,   370,   371,   372,   373,   374,
12403      375,   376,     0,   377,     0,   378,     0,     0,   381,     0,
12404      383,   384,   385,   386,   387,     0,     0,   388,   389,     0,
12405      391,     0,     0,   393,   394,   395,     0,     0,   396,   397,
12406      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
12407      408,   409,   410,   411,   412,     0,   414,   415,   416,   417,
12408      418,   419,   420,   421,   422,   423,   424,     0,   425,   426,
12409        0,   428,     0,   429,   430,   431,   432,   433,   434,     0,
12410      435,   436,     0,     0,   437,   438,   439,     0,     0,   440,
12411      441,   442,     0,   444,     0,   446,   447,   448,   449,   450,
12412      451,   452,   453,   454,   455,     0,     0,   456,   457,   458,
12413      459,   460,   461,   462,   463,     0,   464,   465,   466,   467,
12414      468,   469,   470,   471,   472,   473,   474,   475,   476,   477,
12415      478,     0,   479,   480,   481,   482,   483,   484,   485,   486,
12416      487,   488,   489,   490,     0,   491,   492,     0,   494,   495,
12417      496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
12418      506,   507,   508,     0,   509,   510,   511,   512,   513,     0,
12419      514,   515,   516,   517,   518,     0,   520,   521,   522,   523,
12420        0,   524,   525,   526,   527,   528,   529,   530,   531,   532,
12421      533,   534,   535,   536,   537,   538,     0,   539,   540,     0,
12422      541,     0,   543,   544,   545,   546,   547,     0,   548,   549,
12423      550,     0,     0,   551,   552,   553,   554,   555,     0,   556,
12424      557,   558,   559,   560,   561,   562,   563,     0,     0,   564,
12425      565,   566,   567,   568,     0,     0,   569,   570,   571,   572,
12426      573,   574,   575,     0,   576,     0,   578,   579,   580,   581,
12427        0,     0,   582,     0,     0,   583,   584,   585,   586,   587,
12428      588,   589,   590,   591,   592,   593,   594,   595,   596,   597,
12429      598,   599,   600,   601,   602,   610,     0,     0,     0,     0,
12430        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
12431        0,     0,   230,   231,   232,   233,   234,   235,   236,   237,
12432        0,   238,   239,   240,     0,     0,     0,     0,     0,     0,
12433        0,   241,   242,     0,   243,   244,   245,     0,   247,   248,
12434      249,   250,   251,     0,   253,   254,     0,   255,   256,   257,
12435      258,   259,   260,     0,     0,   261,   262,   263,   264,   265,
12436        0,   266,   267,   268,   269,   270,     0,     0,     0,   272,
12437      273,   274,   275,   276,     0,   278,   279,   280,     0,   281,
12438      282,   283,   284,   285,   286,     0,     0,   288,   289,   290,
12439        0,     0,     0,     0,     0,     0,     0,   292,   293,   294,
12440      295,   296,   297,   298,   299,   300,     0,   301,     0,   302,
12441      303,   304,   305,   306,   307,     0,   308,   309,   310,   311,
12442        0,     0,   312,   313,   314,   315,   316,     0,   317,   318,
12443      319,     0,   320,   321,   322,     0,   323,   324,   325,   326,
12444      327,   328,   329,   330,   331,   332,     0,   333,     0,   334,
12445      335,   336,   337,     0,   338,     0,   339,     0,     0,     0,
12446      342,   343,   344,   345,     0,   346,   347,     0,   348,   349,
12447      350,     0,   351,   352,   353,   354,  1153,     0,   357,   358,
12448      359,   360,     0,   361,   362,   363,   364,   365,   366,   367,
12449        0,   368,     0,   370,   371,   372,   373,   374,   375,   376,
12450        0,   377,     0,   378,     0,     0,   381,     0,   383,   384,
12451      385,   386,   387,     0,     0,   388,   389,     0,   391,     0,
12452        0,   393,   394,   395,     0,     0,   396,   397,   398,   399,
12453      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
12454      410,   411,   412,     0,   414,   415,   416,   417,   418,   419,
12455      420,   421,   422,   423,   424,     0,   425,   426,     0,   428,
12456        0,   429,   430,   431,   432,   433,   434,     0,   435,   436,
12457        0,     0,   437,   438,   439,     0,     0,   440,   441,   442,
12458        0,   444,     0,   446,   447,   448,   449,   450,   451,   452,
12459      453,   454,   455,     0,     0,   456,   457,   458,   459,   460,
12460      461,   462,   463,     0,   464,   465,   466,   467,   468,   469,
12461      470,   471,   472,   473,   474,   475,   476,   477,   478,     0,
12462      479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
12463      489,   490,     0,   491,   492,     0,   494,   495,   496,   497,
12464      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
12465      508,     0,   509,   510,   511,   512,   513,     0,   514,   515,
12466      516,   517,   518,     0,   520,   521,   522,   523,     0,   524,
12467      525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
12468      535,   536,   537,   538,     0,   539,   540,     0,   541,     0,
12469      543,   544,   545,   546,   547,     0,   548,   549,   550,     0,
12470        0,   551,   552,   553,   554,   555,     0,   556,   557,   558,
12471      559,   560,   561,   562,   563,     0,     0,   564,   565,   566,
12472      567,   568,     0,     0,   569,   570,   571,   572,   573,   574,
12473      575,     0,   576,     0,   578,   579,   580,   581,     0,     0,
12474      582,     0,     0,   583,   584,   585,   586,   587,   588,   589,
12475      590,   591,   592,   593,   594,   595,   596,   597,   598,   599,
12476      600,   601,   602,   610,     0,     0,     0,     0,     0,     0,
12477        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
12478      230,   231,   232,   233,   234,   235,   236,   237,     0,   238,
12479      239,   240,     0,     0,     0,     0,     0,     0,     0,   241,
12480      242,     0,   243,   244,   245,     0,   247,   248,   249,   250,
12481      251,     0,   253,   254,     0,   255,   256,   257,   258,   259,
12482      260,     0,     0,   802,   262,   263,   264,   265,     0,   266,
12483      267,   268,   269,   270,     0,     0,     0,   272,   273,   274,
12484      275,   276,     0,   278,   279,   280,     0,   281,   282,   283,
12485      284,   285,   286,     0,     0,   288,   289,   290,     0,     0,
12486        0,     0,     0,     0,     0,   292,   293,   294,   295,   296,
12487      297,   298,   299,   300,     0,   301,     0,   302,   303,   304,
12488      305,   306,   307,     0,   308,   309,   310,   311,     0,     0,
12489      312,   313,   314,   315,   316,     0,   317,   318,   319,     0,
12490      320,   321,   322,     0,   323,   324,   325,   326,   327,   328,
12491      329,   330,   331,   332,     0,   333,     0,   334,   335,   336,
12492      337,     0,   338,     0,   339,     0,     0,     0,   342,   343,
12493      344,   345,     0,   346,   347,     0,   348,   349,   350,     0,
12494      351,   352,   353,   354,   355,     0,   357,   358,   359,   360,
12495        0,   361,   362,   363,   364,   365,   366,   367,     0,   368,
12496        0,   370,   371,   372,   373,   374,   375,   376,     0,   377,
12497        0,   378,     0,     0,   381,     0,   383,   384,   385,   386,
12498      387,     0,     0,   388,   389,     0,   391,     0,     0,   393,
12499      394,   395,     0,     0,   396,   397,   398,   399,   400,   401,
12500      402,   403,   404,   405,   406,   407,   408,   409,   410,   805,
12501      412,     0,   414,   415,   416,   417,   418,   419,   420,   421,
12502      422,   423,   424,     0,   425,   426,     0,   428,     0,   429,
12503      430,   431,   432,   433,   434,     0,   435,   436,     0,     0,
12504      437,   438,   439,     0,     0,   440,   441,   442,     0,   444,
12505        0,   446,   447,   448,   449,   450,   451,   452,   453,   454,
12506      455,     0,     0,   456,   457,   458,   459,   460,   461,   462,
12507      463,     0,   464,   465,   466,   467,   468,   469,   470,   471,
12508      472,   473,   474,   475,   476,   477,   478,     0,   479,   480,
12509      481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
12510        0,   491,   492,     0,   806,   495,   496,   497,   498,   499,
12511      500,   501,   502,   807,   504,   505,   506,   507,   508,     0,
12512      509,   510,   511,   512,  1340,     0,   514,   515,   516,   517,
12513      518,     0,   520,   521,   522,   523,     0,   524,   525,   526,
12514      527,   528,   529,   530,   531,   532,   533,   534,   535,   536,
12515      537,   538,     0,   539,   540,     0,   541,     0,   543,   544,
12516      545,   546,   547,     0,   548,   809,   550,     0,     0,   810,
12517      552,   553,   554,   555,     0,   556,   557,   558,   559,   560,
12518      561,   562,   563,     0,     0,   564,   565,   566,   567,   568,
12519        0,     0,   569,   570,   571,   572,   573,   574,   575,     0,
12520      576,     0,   578,   579,   580,   581,     0,     0,   582,     0,
12521        0,   583,   584,   585,   586,   587,   811,   589,   590,   591,
12522      592,   593,   594,   595,   596,   597,   598,   599,   600,   601,
12523      602,   610,     0,     0,     0,     0,     0,     0,     0,     0,
12524        0,     0,     0,     0,     0,     0,     0,     0,   230,   231,
12525      232,   233,   234,   235,   236,   237,     0,   238,   239,   240,
12526        0,     0,     0,     0,     0,     0,     0,   241,   242,     0,
12527      243,   244,   245,     0,   247,   248,   249,   250,   251,     0,
12528      253,   254,     0,   255,   256,   257,   258,   259,   260,     0,
12529        0,   261,   262,   263,   264,   265,     0,   266,   267,   268,
12530      269,   270,     0,     0,     0,   272,   273,   274,   275,   276,
12531        0,   278,   279,   280,     0,   281,   282,   283,   284,   285,
12532      286,     0,     0,   288,   289,   290,     0,     0,     0,     0,
12533        0,     0,     0,   292,   293,   294,   295,   296,   297,   298,
12534      299,   300,     0,   301,     0,   302,   303,   304,   305,   306,
12535      307,     0,   308,   309,   310,   311,     0,     0,   312,   313,
12536      314,   315,   316,     0,   317,   318,   319,     0,   320,   321,
12537      322,     0,   323,   324,   325,   326,   327,   328,   329,   330,
12538      331,   332,     0,   333,     0,   334,   335,   336,   337,     0,
12539      338,     0,   339,     0,     0,     0,   342,   343,   344,   345,
12540        0,   346,   347,     0,   348,   349,   350,     0,   351,   352,
12541      353,   354,  1777,     0,   357,   358,   359,   360,     0,   361,
12542      362,   363,   364,   365,   366,   367,     0,   368,     0,   370,
12543      371,   372,   373,   374,   375,   376,     0,   377,     0,   378,
12544        0,     0,   381,     0,   383,   384,   385,   386,   387,     0,
12545        0,   388,   389,     0,   391,     0,     0,   393,   394,   395,
12546        0,     0,   396,   397,   398,   399,   400,   401,   402,   403,
12547      404,   405,   406,   407,   408,   409,   410,   411,   412,     0,
12548      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
12549      424,     0,   425,   426,     0,   428,     0,   429,   430,   431,
12550      432,   433,   434,     0,   435,   436,     0,     0,   437,   438,
12551      439,     0,     0,   440,   441,   442,     0,   444,     0,   446,
12552      447,   448,   449,   450,   451,   452,   453,   454,   455,     0,
12553        0,   456,   457,   458,   459,   460,   461,   462,   463,     0,
12554      464,   465,   466,   467,   468,   469,   470,   471,   472,   473,
12555      474,   475,   476,   477,   478,     0,   479,   480,   481,   482,
12556      483,   484,   485,   486,   487,   488,   489,   490,     0,   491,
12557      492,     0,   494,   495,   496,   497,   498,   499,   500,   501,
12558      502,   503,   504,   505,   506,   507,   508,     0,   509,   510,
12559      511,   512,   513,     0,   514,   515,   516,   517,   518,     0,
12560      520,   521,   522,   523,     0,   524,   525,   526,   527,   528,
12561      529,   530,   531,   532,   533,   534,   535,   536,   537,   538,
12562        0,   539,   540,     0,   541,     0,   543,   544,   545,   546,
12563      547,     0,   548,   549,   550,     0,     0,   551,   552,   553,
12564      554,   555,     0,   556,   557,   558,   559,   560,   561,   562,
12565      563,     0,     0,   564,   565,   566,   567,   568,     0,     0,
12566      569,   570,   571,   572,   573,   574,   575,     0,   576,     0,
12567      578,   579,   580,   581,     0,     0,   582,     0,     0,   583,
12568      584,   585,   586,   587,   588,   589,   590,   591,   592,   593,
12569      594,   595,   596,   597,   598,   599,   600,   601,   602,   610,
12570        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
12571        0,     0,     0,     0,     0,     0,   230,   231,   232,   233,
12572      234,   235,   236,   237,     0,   238,   239,   240,     0,     0,
12573        0,     0,     0,     0,     0,   241,   242,     0,   243,   244,
12574      245,     0,   247,   248,   249,   250,   251,     0,   253,   254,
12575        0,   255,   256,   257,   258,   259,   260,     0,     0,   261,
12576      262,   263,   264,   265,     0,   266,   267,   268,   269,   270,
12577        0,     0,     0,   272,   273,   274,   275,   276,     0,   278,
12578      279,   280,     0,   281,   282,   283,   284,   285,   286,     0,
12579        0,   288,   289,   290,     0,     0,     0,     0,     0,     0,
12580        0,   292,   293,   294,   295,   296,   297,   298,   299,   300,
12581        0,   301,     0,   302,   303,   304,   305,   306,   307,     0,
12582      308,   309,   310,   311,     0,     0,   312,   313,   314,   315,
12583      316,     0,   317,   318,   319,     0,   320,   321,   322,     0,
12584      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
12585        0,   333,     0,   334,   335,   336,   337,     0,   338,     0,
12586      339,     0,     0,     0,   342,   343,   344,   345,     0,   346,
12587      347,     0,   348,   349,   350,     0,   351,   352,   353,   354,
12588     1815,     0,   357,   358,   359,   360,     0,   361,   362,   363,
12589      364,   365,   366,   367,     0,   368,     0,   370,   371,   372,
12590      373,   374,   375,   376,     0,   377,     0,   378,     0,     0,
12591      381,     0,   383,   384,   385,   386,   387,     0,     0,   388,
12592      389,     0,   391,     0,     0,   393,   394,   395,     0,     0,
12593      396,   397,   398,   399,   400,   401,   402,   403,   404,   405,
12594      406,   407,   408,   409,   410,   411,   412,     0,   414,   415,
12595      416,   417,   418,   419,   420,   421,   422,   423,   424,     0,
12596      425,   426,     0,   428,     0,   429,   430,   431,   432,   433,
12597      434,     0,   435,   436,     0,     0,   437,   438,   439,     0,
12598        0,   440,   441,   442,     0,   444,     0,   446,   447,   448,
12599      449,   450,   451,   452,   453,   454,   455,     0,     0,   456,
12600      457,   458,   459,   460,   461,   462,   463,     0,   464,   465,
12601      466,   467,   468,   469,   470,   471,   472,   473,   474,   475,
12602      476,   477,   478,     0,   479,   480,   481,   482,   483,   484,
12603      485,   486,   487,   488,   489,   490,     0,   491,   492,     0,
12604      494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
12605      504,   505,   506,   507,   508,     0,   509,   510,   511,   512,
12606      513,     0,   514,   515,   516,   517,   518,     0,   520,   521,
12607      522,   523,     0,   524,   525,   526,   527,   528,   529,   530,
12608      531,   532,   533,   534,   535,   536,   537,   538,     0,   539,
12609      540,     0,   541,     0,   543,   544,   545,   546,   547,     0,
12610      548,   549,   550,     0,     0,   551,   552,   553,   554,   555,
12611        0,   556,   557,   558,   559,   560,   561,   562,   563,     0,
12612        0,   564,   565,   566,   567,   568,     0,     0,   569,   570,
12613      571,   572,   573,   574,   575,     0,   576,     0,   578,   579,
12614      580,   581,     0,     0,   582,     0,     0,   583,   584,   585,
12615      586,   587,   588,   589,   590,   591,   592,   593,   594,   595,
12616      596,   597,   598,   599,   600,   601,   602,   610,     0,     0,
12617        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
12618        0,     0,     0,     0,   230,   231,   232,   233,   234,   235,
12619      236,   237,     0,   238,   239,   240,     0,     0,     0,     0,
12620        0,     0,     0,   241,   242,     0,   243,   244,   245,     0,
12621      247,   248,   249,   250,   251,     0,   253,   254,     0,   255,
12622      256,   257,   258,   259,   260,     0,     0,   261,   262,   263,
12623      264,   265,     0,   266,   267,   268,   269,   270,     0,     0,
12624        0,   272,   273,   274,   275,   276,     0,   278,   279,   280,
12625        0,   281,   282,   283,   284,   285,   286,     0,     0,   288,
12626      289,   290,     0,     0,     0,     0,     0,     0,     0,   292,
12627      293,   294,   295,   296,   297,   298,   299,   300,     0,   301,
12628        0,   302,   303,   304,   305,   306,   307,     0,   308,   309,
12629      310,   311,     0,     0,   312,   313,   314,   315,   316,     0,
12630      317,   318,   319,     0,   320,   321,   322,     0,   323,   324,
12631      325,   326,   327,   328,   329,   330,   331,   332,     0,   333,
12632        0,   334,   335,   336,   337,     0,   338,     0,   339,     0,
12633        0,     0,   342,   343,   344,   345,     0,   346,   347,     0,
12634      348,   349,   350,     0,   351,   352,   353,   354,  1817,     0,
12635      357,   358,   359,   360,     0,   361,   362,   363,   364,   365,
12636      366,   367,     0,   368,     0,   370,   371,   372,   373,   374,
12637      375,   376,     0,   377,     0,   378,     0,     0,   381,     0,
12638      383,   384,   385,   386,   387,     0,     0,   388,   389,     0,
12639      391,     0,     0,   393,   394,   395,     0,     0,   396,   397,
12640      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
12641      408,   409,   410,   411,   412,     0,   414,   415,   416,   417,
12642      418,   419,   420,   421,   422,   423,   424,     0,   425,   426,
12643        0,   428,     0,   429,   430,   431,   432,   433,   434,     0,
12644      435,   436,     0,     0,   437,   438,   439,     0,     0,   440,
12645      441,   442,     0,   444,     0,   446,   447,   448,   449,   450,
12646      451,   452,   453,   454,   455,     0,     0,   456,   457,   458,
12647      459,   460,   461,   462,   463,     0,   464,   465,   466,   467,
12648      468,   469,   470,   471,   472,   473,   474,   475,   476,   477,
12649      478,     0,   479,   480,   481,   482,   483,   484,   485,   486,
12650      487,   488,   489,   490,     0,   491,   492,     0,   494,   495,
12651      496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
12652      506,   507,   508,     0,   509,   510,   511,   512,   513,     0,
12653      514,   515,   516,   517,   518,     0,   520,   521,   522,   523,
12654        0,   524,   525,   526,   527,   528,   529,   530,   531,   532,
12655      533,   534,   535,   536,   537,   538,     0,   539,   540,     0,
12656      541,     0,   543,   544,   545,   546,   547,     0,   548,   549,
12657      550,     0,     0,   551,   552,   553,   554,   555,     0,   556,
12658      557,   558,   559,   560,   561,   562,   563,     0,     0,   564,
12659      565,   566,   567,   568,     0,     0,   569,   570,   571,   572,
12660      573,   574,   575,     0,   576,     0,   578,   579,   580,   581,
12661        0,     0,   582,     0,     0,   583,   584,   585,   586,   587,
12662      588,   589,   590,   591,   592,   593,   594,   595,   596,   597,
12663      598,   599,   600,   601,   602,   610,     0,     0,     0,     0,
12664        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
12665        0,     0,   230,   231,   232,   233,   234,   235,   236,   237,
12666        0,   238,   239,   240,     0,     0,     0,     0,     0,     0,
12667        0,   241,   242,     0,   243,   244,   245,     0,   247,   248,
12668      249,   250,   251,     0,   253,   254,     0,   255,   256,   257,
12669      258,   259,   260,     0,     0,   261,   262,   263,   264,   265,
12670        0,   266,   267,   268,   269,   270,     0,     0,     0,   272,
12671      273,   274,   275,   276,     0,   278,   279,   280,     0,   281,
12672      282,   283,   284,   285,   286,     0,     0,   288,   289,   290,
12673        0,     0,     0,     0,     0,     0,     0,   292,   293,   294,
12674      295,   296,   297,   298,   299,   300,     0,   301,     0,   302,
12675      303,   304,   305,   306,   307,     0,   308,   309,   310,   311,
12676        0,     0,   312,   313,   314,   315,   316,     0,   317,   318,
12677      319,     0,   320,   321,   322,     0,   323,   324,   325,   326,
12678      327,   328,   329,   330,   331,   332,     0,   333,     0,   334,
12679      335,   336,   337,     0,   338,     0,   339,     0,     0,     0,
12680      342,   343,   344,   345,     0,   346,   347,     0,   348,   349,
12681      350,     0,   351,   352,   353,   354,  1888,     0,   357,   358,
12682      359,   360,     0,   361,   362,   363,   364,   365,   366,   367,
12683        0,   368,     0,   370,   371,   372,   373,   374,   375,   376,
12684        0,   377,     0,   378,     0,     0,   381,     0,   383,   384,
12685      385,   386,   387,     0,     0,   388,   389,     0,   391,     0,
12686        0,   393,   394,   395,     0,     0,   396,   397,   398,   399,
12687      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
12688      410,   411,   412,     0,   414,   415,   416,   417,   418,   419,
12689      420,   421,   422,   423,   424,     0,   425,   426,     0,   428,
12690        0,   429,   430,   431,   432,   433,   434,     0,   435,   436,
12691        0,     0,   437,   438,   439,     0,     0,   440,   441,   442,
12692        0,   444,     0,   446,   447,   448,   449,   450,   451,   452,
12693      453,   454,   455,     0,     0,   456,   457,   458,   459,   460,
12694      461,   462,   463,     0,   464,   465,   466,   467,   468,   469,
12695      470,   471,   472,   473,   474,   475,   476,   477,   478,     0,
12696      479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
12697      489,   490,     0,   491,   492,     0,   494,   495,   496,   497,
12698      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
12699      508,     0,   509,   510,   511,   512,   513,     0,   514,   515,
12700      516,   517,   518,     0,   520,   521,   522,   523,     0,   524,
12701      525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
12702      535,   536,   537,   538,     0,   539,   540,     0,   541,     0,
12703      543,   544,   545,   546,   547,     0,   548,   549,   550,     0,
12704        0,   551,   552,   553,   554,   555,     0,   556,   557,   558,
12705      559,   560,   561,   562,   563,     0,     0,   564,   565,   566,
12706      567,   568,     0,     0,   569,   570,   571,   572,   573,   574,
12707      575,     0,   576,     0,   578,   579,   580,   581,     0,     0,
12708      582,     0,     0,   583,   584,   585,   586,   587,   588,   589,
12709      590,   591,   592,   593,   594,   595,   596,   597,   598,   599,
12710      600,   601,   602,   610,     0,     0,     0,     0,     0,     0,
12711        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
12712      230,   231,   232,   233,   234,   235,   236,   237,     0,   238,
12713      239,   240,     0,     0,     0,     0,     0,     0,     0,   241,
12714      242,     0,   243,   244,   245,     0,   247,   248,   249,   250,
12715      251,     0,   253,   254,     0,   255,   256,   257,   258,   259,
12716      260,     0,     0,   261,   262,   263,   264,   265,     0,   266,
12717      267,   268,   269,   270,     0,     0,     0,   272,   273,   274,
12718      275,   276,     0,   278,   279,   280,     0,   281,   282,   283,
12719      284,   285,   286,     0,     0,   288,   289,   290,     0,     0,
12720        0,     0,     0,     0,     0,   292,   293,   294,   295,   296,
12721      297,   298,   299,   300,     0,   301,     0,   302,   303,   304,
12722      305,   306,   307,     0,   308,   309,   310,   311,     0,     0,
12723      312,   313,   314,   315,   316,     0,   317,   318,   319,     0,
12724      320,   321,   322,     0,   323,   324,   325,   326,   327,   328,
12725      329,   330,   331,   332,     0,   333,     0,   334,   335,   336,
12726      337,     0,   338,     0,   339,     0,     0,     0,   342,   343,
12727      344,   345,     0,   346,   347,     0,   348,   349,   350,     0,
12728      351,   352,   353,   354,  1890,     0,   357,   358,   359,   360,
12729        0,   361,   362,   363,   364,   365,   366,   367,     0,   368,
12730        0,   370,   371,   372,   373,   374,   375,   376,     0,   377,
12731        0,   378,     0,     0,   381,     0,   383,   384,   385,   386,
12732      387,     0,     0,   388,   389,     0,   391,     0,     0,   393,
12733      394,   395,     0,     0,   396,   397,   398,   399,   400,   401,
12734      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
12735      412,     0,   414,   415,   416,   417,   418,   419,   420,   421,
12736      422,   423,   424,     0,   425,   426,     0,   428,     0,   429,
12737      430,   431,   432,   433,   434,     0,   435,   436,     0,     0,
12738      437,   438,   439,     0,     0,   440,   441,   442,     0,   444,
12739        0,   446,   447,   448,   449,   450,   451,   452,   453,   454,
12740      455,     0,     0,   456,   457,   458,   459,   460,   461,   462,
12741      463,     0,   464,   465,   466,   467,   468,   469,   470,   471,
12742      472,   473,   474,   475,   476,   477,   478,     0,   479,   480,
12743      481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
12744        0,   491,   492,     0,   494,   495,   496,   497,   498,   499,
12745      500,   501,   502,   503,   504,   505,   506,   507,   508,     0,
12746      509,   510,   511,   512,   513,     0,   514,   515,   516,   517,
12747      518,     0,   520,   521,   522,   523,     0,   524,   525,   526,
12748      527,   528,   529,   530,   531,   532,   533,   534,   535,   536,
12749      537,   538,     0,   539,   540,     0,   541,     0,   543,   544,
12750      545,   546,   547,     0,   548,   549,   550,     0,     0,   551,
12751      552,   553,   554,   555,     0,   556,   557,   558,   559,   560,
12752      561,   562,   563,     0,     0,   564,   565,   566,   567,   568,
12753        0,     0,   569,   570,   571,   572,   573,   574,   575,     0,
12754      576,     0,   578,   579,   580,   581,     0,     0,   582,     0,
12755        0,   583,   584,   585,   586,   587,   588,   589,   590,   591,
12756      592,   593,   594,   595,   596,   597,   598,   599,   600,   601,
12757      602,   610,     0,     0,     0,     0,     0,     0,     0,     0,
12758        0,     0,     0,     0,     0,     0,     0,     0,   230,   231,
12759      232,   233,   234,   235,   236,   237,     0,   238,   239,   240,
12760        0,     0,     0,     0,     0,     0,     0,   241,   242,     0,
12761      243,   244,   245,     0,   247,   248,   249,   250,   251,     0,
12762      253,   254,     0,   255,   256,   257,   258,   259,   260,     0,
12763        0,   261,   262,   263,   264,   265,     0,   266,   267,   268,
12764      269,   270,     0,     0,     0,   272,   273,   274,   275,   276,
12765        0,   278,   279,   280,     0,   281,   282,   283,   284,   285,
12766      286,     0,     0,   288,   289,   290,     0,     0,     0,     0,
12767        0,     0,     0,   292,   293,   294,   295,   296,   297,   298,
12768      299,   300,     0,   301,     0,   302,   303,   304,   305,   306,
12769      307,     0,   308,   309,   310,   311,     0,     0,   312,   313,
12770      314,   315,   316,     0,   317,   318,   319,     0,   320,   321,
12771      322,     0,   323,   324,   325,   326,   327,   328,   329,   330,
12772      331,   332,     0,   333,     0,   334,   335,   336,   337,     0,
12773      338,     0,   339,     0,     0,     0,   342,   343,   344,   345,
12774        0,   346,   347,     0,   348,   349,   350,     0,   351,   352,
12775      353,   354,  1892,     0,   357,   358,   359,   360,     0,   361,
12776      362,   363,   364,   365,   366,   367,     0,   368,     0,   370,
12777      371,   372,   373,   374,   375,   376,     0,   377,     0,   378,
12778        0,     0,   381,     0,   383,   384,   385,   386,   387,     0,
12779        0,   388,   389,     0,   391,     0,     0,   393,   394,   395,
12780        0,     0,   396,   397,   398,   399,   400,   401,   402,   403,
12781      404,   405,   406,   407,   408,   409,   410,   411,   412,     0,
12782      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
12783      424,     0,   425,   426,     0,   428,     0,   429,   430,   431,
12784      432,   433,   434,     0,   435,   436,     0,     0,   437,   438,
12785      439,     0,     0,   440,   441,   442,     0,   444,     0,   446,
12786      447,   448,   449,   450,   451,   452,   453,   454,   455,     0,
12787        0,   456,   457,   458,   459,   460,   461,   462,   463,     0,
12788      464,   465,   466,   467,   468,   469,   470,   471,   472,   473,
12789      474,   475,   476,   477,   478,     0,   479,   480,   481,   482,
12790      483,   484,   485,   486,   487,   488,   489,   490,     0,   491,
12791      492,     0,   494,   495,   496,   497,   498,   499,   500,   501,
12792      502,   503,   504,   505,   506,   507,   508,     0,   509,   510,
12793      511,   512,   513,     0,   514,   515,   516,   517,   518,     0,
12794      520,   521,   522,   523,     0,   524,   525,   526,   527,   528,
12795      529,   530,   531,   532,   533,   534,   535,   536,   537,   538,
12796        0,   539,   540,     0,   541,     0,   543,   544,   545,   546,
12797      547,     0,   548,   549,   550,     0,     0,   551,   552,   553,
12798      554,   555,     0,   556,   557,   558,   559,   560,   561,   562,
12799      563,     0,     0,   564,   565,   566,   567,   568,     0,     0,
12800      569,   570,   571,   572,   573,   574,   575,     0,   576,     0,
12801      578,   579,   580,   581,     0,     0,   582,     0,     0,   583,
12802      584,   585,   586,   587,   588,   589,   590,   591,   592,   593,
12803      594,   595,   596,   597,   598,   599,   600,   601,   602,   610,
12804        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
12805        0,     0,     0,     0,     0,     0,   230,   231,   232,   233,
12806      234,   235,   236,   237,     0,   238,   239,   240,     0,     0,
12807        0,     0,     0,     0,     0,   241,   242,     0,   243,   244,
12808      245,     0,   247,   248,   249,   250,   251,     0,   253,   254,
12809        0,   255,   256,   257,   258,   259,   260,     0,     0,   261,
12810      262,   263,   264,   265,     0,   266,   267,   268,   269,   270,
12811        0,     0,     0,   272,   273,   274,   275,   276,     0,   278,
12812      279,   280,     0,   281,   282,   283,   284,   285,   286,     0,
12813        0,   288,   289,   290,     0,     0,     0,     0,     0,     0,
12814        0,   292,   293,   294,   295,   296,   297,   298,   299,   300,
12815        0,   301,     0,   302,   303,   304,   305,   306,   307,     0,
12816      308,   309,   310,   311,     0,     0,   312,   313,   314,   315,
12817      316,     0,   317,   318,   319,     0,   320,   321,   322,     0,
12818      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
12819        0,   333,     0,   334,   335,   336,   337,     0,   338,     0,
12820      339,     0,     0,     0,   342,   343,   344,   345,     0,   346,
12821      347,     0,   348,   349,   350,     0,   351,   352,   353,   354,
12822      355,     0,   357,   358,   359,   360,     0,   361,   362,   363,
12823      364,   365,   366,   367,     0,   368,     0,   370,   371,   372,
12824      373,   374,   375,   376,     0,   377,     0,   378,     0,     0,
12825      381,     0,   383,   384,   385,   386,   387,     0,     0,   388,
12826      389,     0,   391,     0,     0,   393,   394,   395,     0,     0,
12827      396,   397,   398,   399,   400,   401,   402,   403,   404,   405,
12828      406,   407,   408,   409,   410,   411,   412,     0,   414,   415,
12829      416,   417,   418,   419,   420,   421,   422,   423,   424,     0,
12830      425,   426,     0,   428,     0,   429,   430,   431,   432,   433,
12831      434,     0,   435,   436,     0,     0,   437,   438,   439,     0,
12832        0,   440,   441,   442,     0,   444,     0,   446,   447,   448,
12833      449,   450,   451,   452,   453,   454,   455,     0,     0,   456,
12834      457,   458,   459,   460,   461,   462,   463,     0,   464,   465,
12835      466,   467,   468,   469,   470,   471,   472,   473,   474,   475,
12836      476,   477,   478,     0,   479,   480,   481,   482,   483,   484,
12837      485,   486,   487,   488,   489,   490,     0,   491,   492,     0,
12838      494,   495,   496,   497,   498,   499,   500,   501,  1995,   503,
12839      504,   505,   506,   507,   508,     0,   509,   510,   511,   512,
12840      513,     0,   514,   515,   516,   517,   518,     0,   520,   521,
12841      522,   523,     0,   524,   525,   526,   527,   528,   529,   530,
12842      531,   532,   533,   534,   535,   536,   537,   538,     0,   539,
12843      540,     0,   541,     0,   543,   544,   545,   546,   547,     0,
12844      548,   549,   550,     0,     0,   551,   552,   553,   554,   555,
12845        0,   556,   557,   558,   559,   560,   561,   562,   563,     0,
12846        0,   564,   565,   566,   567,   568,     0,     0,   569,   570,
12847      571,   572,   573,   574,   575,     0,   576,     0,   578,   579,
12848      580,   581,     0,     0,   582,     0,     0,   583,   584,   585,
12849      586,   587,   588,   589,   590,   591,   592,   593,   594,   595,
12850      596,   597,   598,   599,   600,   601,   602,   610,     0,     0,
12851        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
12852        0,     0,     0,     0,   230,   231,   232,   233,   234,   235,
12853      236,   237,     0,   238,   239,   240,     0,     0,     0,     0,
12854        0,  2175,     0,   241,   242,     0,   243,   244,   245,     0,
12855      247,   248,   249,   250,   251,     0,   253,   254,     0,   255,
12856      256,   257,   258,   259,   260,     0,     0,   261,   262,   263,
12857      264,   265,     0,   266,   267,   268,   269,   270,     0,     0,
12858        0,   272,   273,   274,   275,   276,     0,   278,   279,   280,
12859        0,   281,   282,   283,   284,   285,   286,     0,     0,   288,
12860      289,   290,     0,     0,     0,     0,     0,     0,     0,   292,
12861      293,   294,   295,   296,   297,   298,   299,   300,     0,   301,
12862        0,   302,   303,   304,   305,   306,   307,     0,   308,   309,
12863      310,   311,     0,     0,   312,   313,   314,   315,   316,     0,
12864      317,   318,   319,     0,   320,   321,   322,     0,   323,   324,
12865      325,   326,   327,   328,   329,   330,   331,   332,     0,   333,
12866        0,   334,   335,   336,   337,     0,   338,     0,   339,     0,
12867        0,     0,   342,   343,   344,   345,     0,   346,   347,     0,
12868      348,   349,   350,     0,   351,   352,   353,   354,   355,     0,
12869      357,   358,   359,   360,     0,   361,   362,   363,   364,   365,
12870      366,   367,     0,   368,     0,   370,   371,   372,   373,   374,
12871      375,   376,     0,   377,     0,   378,     0,     0,   381,     0,
12872      383,   384,   385,   386,   387,     0,     0,   388,   389,     0,
12873      391,     0,     0,   393,   394,   395,     0,     0,   396,   397,
12874      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
12875      408,   409,   410,   411,   412,     0,   414,   415,   416,   417,
12876      418,   419,   420,   421,   422,   423,   424,     0,   425,   426,
12877        0,   428,     0,   429,   430,   431,   432,   433,   434,     0,
12878      435,   436,     0,     0,   437,   438,   439,     0,     0,   440,
12879      441,   442,     0,   444,     0,   446,   447,   448,   449,   450,
12880      451,   452,   453,   454,   455,     0,     0,   456,   457,   458,
12881      459,   460,   461,   462,   463,     0,   464,   465,   466,   467,
12882      468,   469,   470,   471,   472,   473,   474,   475,   476,   477,
12883      478,     0,   479,   480,   481,   482,   483,   484,   485,   486,
12884      487,   488,   489,   490,     0,   491,   492,     0,   494,   495,
12885      496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
12886      506,   507,   508,     0,   509,   510,   511,   512,   513,     0,
12887        0,   515,   516,   517,   518,     0,   520,   521,   522,   523,
12888        0,   524,   525,   526,   527,   528,   529,   530,   531,   532,
12889      533,   534,   535,   536,   537,   538,     0,   539,   540,     0,
12890      541,     0,   543,   544,   545,   546,   547,     0,   548,   549,
12891      550,     0,     0,   551,   552,   553,   554,   555,     0,   556,
12892      557,   558,   559,   560,   561,   562,   563,     0,     0,   564,
12893      565,   566,   567,   568,     0,     0,   569,   570,   571,   572,
12894      573,   574,   575,     0,   576,     0,   578,   579,   580,   581,
12895        0,     0,   582,     0,     0,   583,   584,   585,   586,   587,
12896      588,   589,   590,   591,   592,   593,   594,   595,   596,   597,
12897      598,   599,   600,   601,   602,   610,     0,     0,     0,     0,
12898        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
12899        0,     0,   230,   231,   232,   233,   234,   235,   236,   237,
12900        0,   238,   239,   240,     0,     0,     0,     0,     0,     0,
12901        0,   241,   242,     0,   243,   244,   245,     0,   247,   248,
12902      249,   250,   251,     0,   253,   254,     0,   255,   256,   257,
12903      258,   259,   260,     0,     0,   802,   262,   263,   264,   265,
12904        0,   266,   267,   268,   269,   270,     0,     0,     0,   272,
12905      273,   274,   275,   276,     0,   278,   279,   280,     0,   281,
12906      282,   283,   284,   285,   286,     0,     0,   288,   289,   290,
12907        0,     0,     0,     0,     0,     0,     0,   292,   293,   294,
12908      295,   296,   297,   298,   299,   300,     0,   301,     0,   302,
12909      303,   304,   305,   306,   307,     0,   308,   309,   310,   311,
12910        0,     0,   312,   313,   314,   315,   316,     0,   317,   318,
12911      319,     0,   320,   321,   322,     0,   323,   324,   325,   326,
12912      327,   328,   329,   330,   331,   332,     0,   333,     0,   334,
12913      335,   336,   337,     0,   338,     0,   339,     0,     0,     0,
12914      342,   343,   344,   345,     0,   346,   347,     0,   348,   349,
12915      350,     0,   351,   352,   353,   354,   355,     0,   357,   358,
12916      359,   360,     0,   361,   362,   363,   364,   365,   366,   367,
12917        0,   368,     0,   370,   371,   372,   373,   374,   375,   376,
12918        0,   377,     0,   378,     0,     0,   381,     0,   383,   384,
12919      385,   386,   387,     0,     0,   388,   389,     0,   391,     0,
12920        0,   393,   394,   395,     0,     0,   396,   397,   398,   399,
12921      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
12922      410,   805,   412,     0,   414,   415,   416,   417,   418,   419,
12923      420,   421,   422,   423,   424,     0,   425,   426,     0,   428,
12924        0,   429,   430,   431,   432,   433,   434,     0,   435,   436,
12925        0,     0,   437,   438,   439,     0,     0,   440,   441,   442,
12926        0,   444,     0,   446,   447,   448,   449,   450,   451,   452,
12927      453,   454,   455,     0,     0,   456,   457,   458,   459,   460,
12928      461,   462,   463,     0,   464,   465,   466,   467,   468,   469,
12929      470,   471,   472,   473,   474,   475,   476,   477,   478,     0,
12930      479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
12931      489,   490,     0,   491,   492,     0,   806,   495,   496,   497,
12932      498,   499,   500,   501,   502,   807,   504,   505,   506,   507,
12933      508,     0,   509,   510,   511,   512,  1340,     0,   514,   515,
12934      516,   517,   518,     0,   520,   521,   522,   523,     0,   524,
12935      525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
12936      535,   536,   537,   538,     0,   539,   540,     0,   541,     0,
12937     2210,   544,   545,   546,   547,     0,   548,   809,   550,     0,
12938        0,   810,   552,   553,   554,   555,     0,   556,   557,   558,
12939      559,   560,   561,   562,   563,     0,     0,   564,   565,   566,
12940      567,   568,     0,     0,   569,   570,   571,   572,   573,   574,
12941      575,     0,   576,     0,   578,   579,   580,   581,     0,     0,
12942      582,     0,     0,   583,   584,   585,   586,   587,   811,   589,
12943      590,   591,   592,   593,   594,   595,   596,   597,   598,   599,
12944      600,   601,   602,   610,     0,     0,     0,     0,     0,     0,
12945        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
12946      230,   231,   232,   233,   234,   235,   236,   237,     0,   238,
12947      239,   240,     0,     0,     0,     0,     0,     0,     0,   241,
12948      242,     0,   243,   244,   245,     0,   247,   248,   249,   250,
12949      251,     0,   253,   254,     0,   255,   256,   257,   258,   259,
12950      260,     0,     0,   802,   262,   263,   264,   265,     0,   266,
12951      267,   268,   269,   270,     0,     0,     0,   272,   273,   274,
12952      275,   276,     0,   278,   279,   280,     0,   281,   282,   283,
12953      284,   285,   286,     0,     0,   288,   289,   290,     0,     0,
12954        0,     0,     0,     0,     0,   292,   293,   294,   295,   296,
12955      297,   298,   299,   300,     0,   301,     0,   302,   303,   304,
12956      305,   306,   307,     0,   308,   309,   310,   311,     0,     0,
12957      312,   313,   314,   315,   316,     0,   317,   318,   319,     0,
12958      320,   321,   322,     0,   323,   324,   325,   326,   327,   328,
12959      329,   330,   331,   332,     0,   333,     0,   334,   335,   336,
12960      337,     0,   338,     0,   339,     0,     0,     0,   342,   343,
12961      344,   345,     0,   346,   347,     0,   348,   349,   350,     0,
12962      351,   352,   353,   354,   355,     0,   357,   358,   359,   360,
12963        0,   361,   362,   363,   364,   365,   366,   367,     0,   368,
12964        0,   370,   371,   372,   373,   374,   375,   376,     0,   377,
12965        0,   378,     0,     0,   381,     0,   383,   384,   385,   386,
12966      387,     0,     0,   388,   389,     0,   391,     0,     0,   393,
12967      394,   395,     0,     0,   396,   397,   398,   399,   400,   401,
12968      402,   403,   404,   405,   406,   407,   408,   409,   410,   805,
12969      412,     0,   414,   415,   416,   417,   418,   419,   420,   421,
12970      422,   423,   424,     0,   425,   426,     0,   428,     0,   429,
12971      430,   431,   432,   433,   434,     0,   435,   436,     0,     0,
12972      437,   438,   439,     0,     0,   440,   441,   442,     0,   444,
12973        0,   446,   447,   448,   449,   450,   451,   452,   453,   454,
12974      455,     0,     0,   456,   457,   458,   459,   460,   461,   462,
12975      463,     0,   464,   465,   466,   467,   468,   469,   470,   471,
12976      472,   473,   474,   475,   476,   477,   478,     0,   479,   480,
12977      481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
12978        0,   491,   492,     0,   806,   495,   496,   497,   498,   499,
12979      500,   501,   502,  2286,   504,   505,   506,   507,   508,     0,
12980      509,   510,   511,   512,  2287,     0,   514,   515,   516,   517,
12981      518,     0,   520,   521,   522,   523,     0,   524,   525,   526,
12982      527,   528,   529,   530,   531,   532,   533,   534,   535,   536,
12983      537,   538,     0,   539,   540,     0,   541,     0,   543,   544,
12984      545,   546,   547,     0,   548,   809,   550,     0,     0,  2288,
12985      552,   553,   554,   555,     0,   556,   557,   558,   559,   560,
12986      561,   562,   563,     0,     0,   564,   565,   566,   567,   568,
12987        0,     0,   569,   570,   571,   572,   573,   574,   575,     0,
12988      576,     0,   578,   579,   580,   581,     0,     0,   582,     0,
12989        0,   583,   584,   585,   586,   587,   811,   589,   590,   591,
12990      592,   593,   594,   595,   596,   597,   598,   599,   600,   601,
12991      602,   610,     0,     0,     0,     0,     0,     0,     0,     0,
12992        0,     0,     0,     0,     0,     0,     0,     0,   230,   231,
12993      232,   233,   234,   235,   236,   237,     0,   238,   239,   240,
12994        0,     0,     0,     0,     0,     0,     0,   241,   242,     0,
12995      243,   244,   245,     0,   247,   248,   249,   250,   251,     0,
12996      253,   254,     0,   255,   256,   257,   258,   259,   260,     0,
12997        0,   802,   262,   263,   264,   265,     0,   266,   267,   268,
12998      269,   270,     0,     0,     0,   272,   273,   274,   275,   276,
12999        0,   278,   279,   280,     0,   281,   282,   283,   284,   285,
13000      286,     0,     0,   288,   289,   290,     0,     0,     0,     0,
13001        0,     0,     0,   292,   293,   294,   295,   296,   297,   298,
13002      299,   300,     0,   301,     0,   302,   303,   304,   305,   306,
13003      307,     0,   308,   309,   310,   311,     0,     0,   312,   313,
13004      314,   315,   316,     0,   317,   318,   319,     0,   320,   321,
13005      322,     0,   323,   324,   325,   326,   327,   328,   329,   330,
13006      331,   332,     0,   333,     0,   334,   335,   336,   337,     0,
13007      338,     0,   339,     0,     0,     0,   342,   343,   344,   345,
13008        0,   346,   347,     0,   348,   349,   350,     0,   351,   352,
13009      353,   354,   355,     0,   357,   358,   359,   360,     0,   361,
13010      362,   363,   364,   365,   366,   367,     0,   368,     0,   370,
13011      371,   372,   373,   374,   375,   376,     0,   377,     0,   378,
13012        0,     0,   381,     0,   383,   384,   385,   386,   387,     0,
13013        0,   388,   389,     0,   391,     0,     0,   393,   394,   395,
13014        0,     0,   396,   397,   398,   399,   400,   401,   402,   403,
13015      404,   405,   406,   407,   408,   409,   410,   805,   412,     0,
13016      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
13017      424,     0,   425,   426,     0,   428,     0,   429,   430,   431,
13018      432,   433,   434,     0,   435,   436,     0,     0,   437,   438,
13019      439,     0,     0,   440,   441,   442,     0,   444,     0,   446,
13020      447,   448,   449,   450,   451,   452,   453,   454,   455,     0,
13021        0,   456,   457,   458,   459,   460,   461,   462,   463,     0,
13022      464,   465,   466,   467,   468,   469,   470,   471,   472,   473,
13023      474,   475,   476,   477,   478,     0,   479,   480,   481,   482,
13024      483,   484,   485,   486,   487,   488,   489,   490,     0,   491,
13025      492,     0,   806,   495,   496,   497,   498,   499,   500,   501,
13026      502,  2365,   504,   505,   506,   507,   508,     0,   509,   510,
13027      511,   512,  2287,     0,   514,   515,   516,   517,   518,     0,
13028      520,   521,   522,   523,     0,   524,   525,   526,   527,   528,
13029      529,   530,   531,   532,   533,   534,   535,   536,   537,   538,
13030        0,   539,   540,     0,   541,     0,   543,   544,   545,   546,
13031      547,     0,   548,   809,   550,     0,     0,  2288,   552,   553,
13032      554,   555,     0,   556,   557,   558,   559,   560,   561,   562,
13033      563,     0,     0,   564,   565,   566,   567,   568,     0,     0,
13034      569,   570,   571,   572,   573,   574,   575,     0,   576,     0,
13035      578,   579,   580,   581,     0,     0,   582,     0,     0,   583,
13036      584,   585,   586,   587,   811,   589,   590,   591,   592,   593,
13037      594,   595,   596,   597,   598,   599,   600,   601,   602,   610,
13038        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
13039        0,     0,     0,     0,     0,     0,   230,   231,   232,   233,
13040      234,   235,   236,   237,     0,   238,   239,   240,     0,     0,
13041        0,     0,     0,     0,     0,   241,   242,     0,   243,   244,
13042      245,     0,   247,   248,   249,   250,   251,     0,   253,   254,
13043        0,   255,   256,   257,   258,   259,   260,     0,     0,   802,
13044      262,   263,   264,   265,     0,   266,   267,   268,   269,   270,
13045        0,     0,     0,   272,   273,   274,   275,   276,     0,   278,
13046      279,   280,     0,   281,   282,   283,   284,   285,   286,     0,
13047        0,   288,   289,   290,     0,     0,     0,     0,     0,     0,
13048        0,   292,   293,   294,   295,   296,   297,   298,   299,   300,
13049        0,   301,     0,   302,   303,   304,   305,   306,   307,     0,
13050      308,   309,   310,   311,     0,     0,   312,   313,   314,   315,
13051      316,     0,   317,   318,   319,     0,   320,   321,   322,     0,
13052      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
13053        0,   333,     0,   334,   335,   336,   337,     0,   338,     0,
13054      339,     0,     0,     0,   342,   343,   344,   345,     0,   346,
13055      347,     0,   348,   349,   350,     0,   351,   352,   353,   354,
13056      355,     0,   357,   358,   359,   360,     0,   361,   362,   363,
13057      364,   365,   366,   367,     0,   368,     0,   370,   371,   372,
13058      373,   374,   375,   376,     0,   377,     0,   378,     0,     0,
13059      381,     0,   383,   384,   385,   386,   387,     0,     0,   388,
13060      389,     0,   391,     0,     0,   393,   394,   395,     0,     0,
13061      396,   397,   398,   399,   400,   401,   402,   403,   404,   405,
13062      406,   407,   408,   409,   410,   805,   412,     0,   414,   415,
13063      416,   417,   418,   419,   420,   421,   422,   423,   424,     0,
13064      425,   426,     0,   428,     0,   429,   430,   431,   432,   433,
13065      434,     0,   435,   436,     0,     0,   437,   438,   439,     0,
13066        0,   440,   441,   442,     0,   444,     0,   446,   447,   448,
13067      449,   450,   451,   452,   453,   454,   455,     0,     0,   456,
13068      457,   458,   459,   460,   461,   462,   463,     0,   464,   465,
13069      466,   467,   468,   469,   470,   471,   472,   473,   474,   475,
13070      476,   477,   478,     0,   479,   480,   481,   482,   483,   484,
13071      485,   486,   487,   488,   489,   490,     0,   491,   492,     0,
13072      806,   495,   496,   497,   498,   499,   500,   501,   502,  2382,
13073      504,   505,   506,   507,   508,     0,   509,   510,   511,   512,
13074     2287,     0,   514,   515,   516,   517,   518,     0,   520,   521,
13075      522,   523,     0,   524,   525,   526,   527,   528,   529,   530,
13076      531,   532,   533,   534,   535,   536,   537,   538,     0,   539,
13077      540,     0,   541,     0,   543,   544,   545,   546,   547,     0,
13078      548,   809,   550,     0,     0,  2288,   552,   553,   554,   555,
13079        0,   556,   557,   558,   559,   560,   561,   562,   563,     0,
13080        0,   564,   565,   566,   567,   568,     0,     0,   569,   570,
13081      571,   572,   573,   574,   575,     0,   576,     0,   578,   579,
13082      580,   581,     0,     0,   582,     0,     0,   583,   584,   585,
13083      586,   587,   811,   589,   590,   591,   592,   593,   594,   595,
13084      596,   597,   598,   599,   600,   601,   602,   610,     0,     0,
13085        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
13086        0,     0,     0,     0,   230,   231,   232,   233,   234,   235,
13087      236,   237,     0,   238,   239,   240,     0,     0,     0,     0,
13088        0,     0,     0,   241,   242,     0,   243,   244,   245,     0,
13089      247,   248,   249,   250,   251,     0,   253,   254,     0,   255,
13090      256,   257,   258,   259,   260,     0,     0,   261,   262,   263,
13091      264,   265,     0,   266,   267,   268,   269,   270,     0,     0,
13092        0,   272,   273,   274,   275,   276,     0,   278,   279,   280,
13093        0,   281,   282,   283,   284,   285,   286,     0,     0,   288,
13094      289,   290,     0,     0,     0,     0,     0,     0,     0,   292,
13095      293,   294,   295,   296,   297,   298,   299,   300,     0,   301,
13096        0,   302,   303,   304,   305,   306,   307,     0,   308,   309,
13097      310,   311,     0,     0,   312,   313,   314,   315,   316,     0,
13098      317,   318,   319,     0,   320,   321,   322,     0,   323,   324,
13099      325,   326,   327,   328,   329,   330,   331,   332,     0,   333,
13100        0,   334,   335,   336,   337,     0,   338,     0,   339,     0,
13101        0,     0,   342,   343,   344,   345,     0,   346,   347,     0,
13102      348,   349,   350,     0,   351,   352,   353,   354,  2586,     0,
13103      357,   358,   359,   360,     0,   361,   362,   363,   364,   365,
13104      366,   367,     0,   368,     0,   370,   371,   372,   373,   374,
13105      375,   376,     0,   377,     0,   378,     0,     0,   381,     0,
13106      383,   384,   385,   386,   387,     0,     0,   388,   389,     0,
13107      391,     0,     0,   393,   394,   395,     0,     0,   396,   397,
13108      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
13109      408,   409,   410,   411,   412,     0,   414,   415,   416,   417,
13110      418,   419,   420,   421,   422,   423,   424,     0,   425,   426,
13111        0,   428,     0,   429,   430,   431,   432,   433,   434,     0,
13112      435,   436,     0,     0,   437,   438,   439,     0,     0,   440,
13113      441,   442,     0,   444,     0,   446,   447,   448,   449,   450,
13114      451,   452,   453,   454,   455,     0,     0,   456,   457,   458,
13115      459,   460,   461,   462,   463,     0,   464,   465,   466,   467,
13116      468,   469,   470,   471,   472,   473,   474,   475,   476,   477,
13117      478,     0,   479,   480,   481,   482,   483,   484,   485,   486,
13118      487,   488,   489,   490,     0,   491,   492,     0,   494,   495,
13119      496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
13120      506,   507,   508,     0,   509,   510,   511,   512,   513,     0,
13121      514,   515,   516,   517,   518,     0,   520,   521,   522,   523,
13122        0,   524,   525,   526,   527,   528,   529,   530,   531,   532,
13123      533,   534,   535,   536,   537,   538,     0,   539,   540,     0,
13124      541,     0,   543,   544,   545,   546,   547,     0,   548,   549,
13125      550,     0,     0,   551,   552,   553,   554,   555,     0,   556,
13126      557,   558,   559,   560,   561,   562,   563,     0,     0,   564,
13127      565,   566,   567,   568,     0,     0,   569,   570,   571,   572,
13128      573,   574,   575,     0,   576,     0,   578,   579,   580,   581,
13129        0,     0,   582,     0,     0,   583,   584,   585,   586,   587,
13130      588,   589,   590,   591,   592,   593,   594,   595,   596,   597,
13131      598,   599,   600,   601,   602,   610,     0,     0,     0,     0,
13132        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
13133        0,     0,   230,   231,   232,   233,   234,   235,   236,   237,
13134        0,   238,   239,   240,     0,     0,     0,     0,     0,     0,
13135        0,   241,   242,     0,   243,   244,   245,     0,   247,   248,
13136      249,   250,   251,     0,   253,   254,     0,   255,   256,   257,
13137      258,   259,   260,     0,     0,   261,   262,   263,   264,   265,
13138        0,   266,   267,   268,   269,   270,     0,     0,     0,   272,
13139      273,   274,   275,   276,     0,   278,   279,   280,     0,   281,
13140      282,   283,   284,   285,   286,     0,     0,   288,   289,   290,
13141        0,     0,     0,     0,     0,     0,     0,   292,   293,   294,
13142      295,   296,   297,   298,   299,   300,     0,   301,     0,   302,
13143      303,   304,   305,   306,   307,     0,   308,   309,   310,   311,
13144        0,     0,   312,   313,   314,   315,   316,     0,   317,   318,
13145      319,     0,   320,   321,   322,     0,   323,   324,   325,   326,
13146      327,   328,   329,   330,   331,   332,     0,   333,     0,   334,
13147      335,   336,   337,     0,   338,     0,   339,     0,     0,     0,
13148      342,   343,   344,   345,     0,   346,   347,     0,   348,   349,
13149      350,     0,   351,   352,   353,   354,  2590,     0,   357,   358,
13150      359,   360,     0,   361,   362,   363,   364,   365,   366,   367,
13151        0,   368,     0,   370,   371,   372,   373,   374,   375,   376,
13152        0,   377,     0,   378,     0,     0,   381,     0,   383,   384,
13153      385,   386,   387,     0,     0,   388,   389,     0,   391,     0,
13154        0,   393,   394,   395,     0,     0,   396,   397,   398,   399,
13155      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
13156      410,   411,   412,     0,   414,   415,   416,   417,   418,   419,
13157      420,   421,   422,   423,   424,     0,   425,   426,     0,   428,
13158        0,   429,   430,   431,   432,   433,   434,     0,   435,   436,
13159        0,     0,   437,   438,   439,     0,     0,   440,   441,   442,
13160        0,   444,     0,   446,   447,   448,   449,   450,   451,   452,
13161      453,   454,   455,     0,     0,   456,   457,   458,   459,   460,
13162      461,   462,   463,     0,   464,   465,   466,   467,   468,   469,
13163      470,   471,   472,   473,   474,   475,   476,   477,   478,     0,
13164      479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
13165      489,   490,     0,   491,   492,     0,   494,   495,   496,   497,
13166      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
13167      508,     0,   509,   510,   511,   512,   513,     0,   514,   515,
13168      516,   517,   518,     0,   520,   521,   522,   523,     0,   524,
13169      525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
13170      535,   536,   537,   538,     0,   539,   540,     0,   541,     0,
13171      543,   544,   545,   546,   547,     0,   548,   549,   550,     0,
13172        0,   551,   552,   553,   554,   555,     0,   556,   557,   558,
13173      559,   560,   561,   562,   563,     0,     0,   564,   565,   566,
13174      567,   568,     0,     0,   569,   570,   571,   572,   573,   574,
13175      575,     0,   576,     0,   578,   579,   580,   581,     0,     0,
13176      582,     0,     0,   583,   584,   585,   586,   587,   588,   589,
13177      590,   591,   592,   593,   594,   595,   596,   597,   598,   599,
13178      600,   601,   602,   610,     0,     0,     0,     0,     0,     0,
13179        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
13180      230,   231,   232,   233,   234,   235,   236,   237,     0,   238,
13181      239,   240,     0,     0,     0,     0,     0,     0,     0,   241,
13182      242,     0,   243,   244,   245,     0,   247,   248,   249,   250,
13183      251,     0,   253,   254,     0,   255,   256,   257,   258,   259,
13184      260,     0,     0,   261,   262,   263,   264,   265,     0,   266,
13185      267,   268,   269,   270,     0,     0,     0,   272,   273,   274,
13186      275,   276,     0,   278,   279,   280,     0,   281,   282,   283,
13187      284,   285,   286,     0,     0,   288,   289,   290,     0,     0,
13188        0,     0,     0,     0,     0,   292,   293,   294,   295,   296,
13189      297,   298,   299,   300,     0,   301,     0,   302,   303,   304,
13190      305,   306,   307,     0,   308,   309,   310,   311,     0,     0,
13191      312,   313,   314,   315,   316,     0,   317,   318,   319,     0,
13192      320,   321,   322,     0,   323,   324,   325,   326,   327,   328,
13193      329,   330,   331,   332,     0,   333,     0,   334,   335,   336,
13194      337,     0,   338,     0,   339,     0,     0,     0,   342,   343,
13195      344,   345,     0,   346,   347,     0,   348,   349,   350,     0,
13196      351,   352,   353,   354,  2666,     0,   357,   358,   359,   360,
13197        0,   361,   362,   363,   364,   365,   366,   367,     0,   368,
13198        0,   370,   371,   372,   373,   374,   375,   376,     0,   377,
13199        0,   378,     0,     0,   381,     0,   383,   384,   385,   386,
13200      387,     0,     0,   388,   389,     0,   391,     0,     0,   393,
13201      394,   395,     0,     0,   396,   397,   398,   399,   400,   401,
13202      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
13203      412,     0,   414,   415,   416,   417,   418,   419,   420,   421,
13204      422,   423,   424,     0,   425,   426,     0,   428,     0,   429,
13205      430,   431,   432,   433,   434,     0,   435,   436,     0,     0,
13206      437,   438,   439,     0,     0,   440,   441,   442,     0,   444,
13207        0,   446,   447,   448,   449,   450,   451,   452,   453,   454,
13208      455,     0,     0,   456,   457,   458,   459,   460,   461,   462,
13209      463,     0,   464,   465,   466,   467,   468,   469,   470,   471,
13210      472,   473,   474,   475,   476,   477,   478,     0,   479,   480,
13211      481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
13212        0,   491,   492,     0,   494,   495,   496,   497,   498,   499,
13213      500,   501,   502,   503,   504,   505,   506,   507,   508,     0,
13214      509,   510,   511,   512,   513,     0,   514,   515,   516,   517,
13215      518,     0,   520,   521,   522,   523,     0,   524,   525,   526,
13216      527,   528,   529,   530,   531,   532,   533,   534,   535,   536,
13217      537,   538,     0,   539,   540,     0,   541,     0,   543,   544,
13218      545,   546,   547,     0,   548,   549,   550,     0,     0,   551,
13219      552,   553,   554,   555,     0,   556,   557,   558,   559,   560,
13220      561,   562,   563,     0,     0,   564,   565,   566,   567,   568,
13221        0,     0,   569,   570,   571,   572,   573,   574,   575,     0,
13222      576,     0,   578,   579,   580,   581,     0,     0,   582,     0,
13223        0,   583,   584,   585,   586,   587,   588,   589,   590,   591,
13224      592,   593,   594,   595,   596,   597,   598,   599,   600,   601,
13225      602,   610,     0,     0,     0,     0,     0,     0,     0,     0,
13226        0,     0,     0,     0,     0,     0,     0,     0,   230,   231,
13227      232,   233,   234,   235,   236,   237,     0,   238,   239,   240,
13228        0,     0,     0,     0,     0,     0,     0,   241,   242,     0,
13229      243,   244,   245,     0,   247,   248,   249,   250,   251,     0,
13230      253,   254,     0,   255,   256,   257,   258,   259,   260,     0,
13231        0,   261,   262,   263,   264,   265,     0,   266,   267,   268,
13232      269,   270,     0,     0,     0,   272,   273,   274,   275,   276,
13233        0,   278,   279,   280,     0,   281,   282,   283,   284,   285,
13234      286,     0,     0,   288,   289,   290,     0,     0,     0,     0,
13235        0,     0,     0,   292,   293,   294,   295,   296,   297,   298,
13236      299,   300,     0,   301,     0,   302,   303,   304,   305,   306,
13237      307,     0,   308,   309,   310,   311,     0,     0,   312,   313,
13238      314,   315,   316,     0,   317,   318,   319,     0,   320,   321,
13239      322,     0,   323,   324,   325,   326,   327,   328,   329,   330,
13240      331,   332,     0,   333,     0,   334,   335,   336,   337,     0,
13241      338,     0,   339,     0,     0,     0,   342,   343,   344,   345,
13242        0,   346,   347,     0,   348,   349,   350,     0,   351,   352,
13243      353,   354,  3000,     0,   357,   358,   359,   360,     0,   361,
13244      362,   363,   364,   365,   366,   367,     0,   368,     0,   370,
13245      371,   372,   373,   374,   375,   376,     0,   377,     0,   378,
13246        0,     0,   381,     0,   383,   384,   385,   386,   387,     0,
13247        0,   388,   389,     0,   391,     0,     0,   393,   394,   395,
13248        0,     0,   396,   397,   398,   399,   400,   401,   402,   403,
13249      404,   405,   406,   407,   408,   409,   410,   411,   412,     0,
13250      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
13251      424,     0,   425,   426,     0,   428,     0,   429,   430,   431,
13252      432,   433,   434,     0,   435,   436,     0,     0,   437,   438,
13253      439,     0,     0,   440,   441,   442,     0,   444,     0,   446,
13254      447,   448,   449,   450,   451,   452,   453,   454,   455,     0,
13255        0,   456,   457,   458,   459,   460,   461,   462,   463,     0,
13256      464,   465,   466,   467,   468,   469,   470,   471,   472,   473,
13257      474,   475,   476,   477,   478,     0,   479,   480,   481,   482,
13258      483,   484,   485,   486,   487,   488,   489,   490,     0,   491,
13259      492,     0,   494,   495,   496,   497,   498,   499,   500,   501,
13260      502,   503,   504,   505,   506,   507,   508,     0,   509,   510,
13261      511,   512,   513,     0,   514,   515,   516,   517,   518,     0,
13262      520,   521,   522,   523,     0,   524,   525,   526,   527,   528,
13263      529,   530,   531,   532,   533,   534,   535,   536,   537,   538,
13264        0,   539,   540,     0,   541,     0,   543,   544,   545,   546,
13265      547,     0,   548,   549,   550,     0,     0,   551,   552,   553,
13266      554,   555,     0,   556,   557,   558,   559,   560,   561,   562,
13267      563,     0,     0,   564,   565,   566,   567,   568,     0,     0,
13268      569,   570,   571,   572,   573,   574,   575,     0,   576,     0,
13269      578,   579,   580,   581,     0,     0,   582,     0,     0,   583,
13270      584,   585,   586,   587,   588,   589,   590,   591,   592,   593,
13271      594,   595,   596,   597,   598,   599,   600,   601,   602,   610,
13272        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
13273        0,     0,     0,     0,     0,     0,   230,   231,   232,   233,
13274      234,   235,   236,   237,     0,   238,   239,   240,     0,     0,
13275        0,     0,     0,     0,     0,   241,   242,     0,   243,   244,
13276      245,     0,   247,   248,   249,   250,   251,     0,   253,   254,
13277        0,   255,   256,   257,   258,   259,   260,     0,     0,   802,
13278      262,   263,   264,   265,     0,   266,   267,   268,   269,   270,
13279        0,     0,     0,   272,   273,   274,   275,   276,     0,   278,
13280      279,   280,     0,   281,   282,   283,   284,   285,   286,     0,
13281        0,   288,   289,   290,     0,     0,     0,     0,     0,     0,
13282        0,   292,   293,   294,   295,   296,   297,   298,   299,   300,
13283        0,   301,     0,   302,   303,   304,   305,   306,   307,     0,
13284      308,   309,   310,   311,     0,     0,   312,   313,   314,   315,
13285      316,     0,   317,   318,   319,     0,   320,   321,   322,     0,
13286      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
13287        0,   333,     0,   334,   335,   336,   337,     0,   338,     0,
13288      339,     0,     0,     0,   342,   343,   344,   345,     0,   346,
13289      347,     0,   348,   349,   350,     0,   351,   352,   353,   354,
13290      355,     0,   357,   358,   359,   360,     0,   361,   362,   363,
13291      364,   365,   366,   367,     0,   368,     0,   370,   371,   372,
13292      373,   374,   375,   376,     0,   377,     0,   378,     0,     0,
13293      381,     0,   383,   384,   385,   386,   387,     0,     0,   388,
13294      389,     0,   391,     0,     0,   393,   394,   395,     0,     0,
13295      396,   397,   398,   399,   400,   401,   402,   403,   404,   405,
13296      406,   407,   408,   409,   410,   805,   412,     0,   414,   415,
13297      416,   417,   418,   419,   420,   421,   422,   423,   424,     0,
13298      425,   426,     0,   428,     0,   429,   430,   431,   432,   433,
13299      434,     0,   435,   436,     0,     0,   437,   438,   439,     0,
13300        0,   440,   441,   442,     0,   444,     0,   446,   447,   448,
13301      449,   450,   451,   452,   453,   454,   455,     0,     0,   456,
13302      457,   458,   459,   460,   461,   462,   463,     0,   464,   465,
13303      466,   467,   468,   469,   470,   471,   472,   473,   474,   475,
13304      476,   477,   478,     0,   479,   480,   481,   482,   483,   484,
13305      485,   486,   487,   488,   489,   490,     0,   491,   492,     0,
13306      806,   495,   496,   497,   498,   499,   500,   501,   502,   807,
13307      504,   505,   506,   507,   508,     0,   509,   510,   511,   512,
13308     2287,     0,   514,   515,   516,   517,   518,     0,   520,   521,
13309      522,   523,     0,   524,   525,   526,   527,   528,   529,   530,
13310      531,   532,   533,   534,   535,   536,   537,   538,     0,   539,
13311      540,     0,   541,     0,   543,   544,   545,   546,   547,     0,
13312      548,   809,   550,     0,     0,  2288,   552,   553,   554,   555,
13313        0,   556,   557,   558,   559,   560,   561,   562,   563,     0,
13314        0,   564,   565,   566,   567,   568,     0,     0,   569,   570,
13315      571,   572,   573,   574,   575,     0,   576,     0,   578,   579,
13316      580,   581,     0,     0,   582,     0,     0,   583,   584,   585,
13317      586,   587,   811,   589,   590,   591,   592,   593,   594,   595,
13318      596,   597,   598,   599,   600,   601,   602,   610,     0,     0,
13319        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
13320        0,     0,     0,     0,   230,   231,   232,   233,   234,   235,
13321      236,   237,     0,   238,   239,   240,     0,     0,     0,     0,
13322        0,     0,     0,   241,   242,     0,   243,   244,   245,     0,
13323      247,   248,   249,   250,   251,     0,   253,   254,     0,   255,
13324      256,   257,   258,   259,   260,     0,     0,   261,   262,   263,
13325      264,   265,     0,   266,   267,   268,   269,   270,     0,     0,
13326        0,   272,   273,   274,   275,   276,     0,   278,   279,   280,
13327        0,   281,   282,   283,   284,   285,   286,     0,     0,   288,
13328      289,   290,     0,     0,     0,     0,     0,     0,     0,   292,
13329      293,   294,   295,   296,   297,   298,   299,   300,     0,   301,
13330        0,   302,   303,   304,   305,   306,   307,     0,   308,   309,
13331      310,   311,     0,     0,   312,   313,   314,   315,   316,     0,
13332      317,   318,   319,     0,   320,   321,   322,     0,   323,   324,
13333      325,   326,   327,   328,   329,   330,   331,   332,     0,   333,
13334        0,   334,   335,   336,   337,     0,   338,     0,   339,     0,
13335        0,     0,   342,   343,   344,   345,     0,   346,   347,     0,
13336      348,   349,   350,     0,   351,   352,   353,   354,  3069,     0,
13337      357,   358,   359,   360,     0,   361,   362,   363,   364,   365,
13338      366,   367,     0,   368,     0,   370,   371,   372,   373,   374,
13339      375,   376,     0,   377,     0,   378,     0,     0,   381,     0,
13340      383,   384,   385,   386,   387,     0,     0,   388,   389,     0,
13341      391,     0,     0,   393,   394,   395,     0,     0,   396,   397,
13342      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
13343      408,   409,   410,   411,   412,     0,   414,   415,   416,   417,
13344      418,   419,   420,   421,   422,   423,   424,     0,   425,   426,
13345        0,   428,     0,   429,   430,   431,   432,   433,   434,     0,
13346      435,   436,     0,     0,   437,   438,   439,     0,     0,   440,
13347      441,   442,     0,   444,     0,   446,   447,   448,   449,   450,
13348      451,   452,   453,   454,   455,     0,     0,   456,   457,   458,
13349      459,   460,   461,   462,   463,     0,   464,   465,   466,   467,
13350      468,   469,   470,   471,   472,   473,   474,   475,   476,   477,
13351      478,     0,   479,   480,   481,   482,   483,   484,   485,   486,
13352      487,   488,   489,   490,     0,   491,   492,     0,   494,   495,
13353      496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
13354      506,   507,   508,     0,   509,   510,   511,   512,   513,     0,
13355      514,   515,   516,   517,   518,     0,   520,   521,   522,   523,
13356        0,   524,   525,   526,   527,   528,   529,   530,   531,   532,
13357      533,   534,   535,   536,   537,   538,     0,   539,   540,     0,
13358      541,     0,   543,   544,   545,   546,   547,     0,   548,   549,
13359      550,     0,     0,   551,   552,   553,   554,   555,     0,   556,
13360      557,   558,   559,   560,   561,   562,   563,     0,     0,   564,
13361      565,   566,   567,   568,     0,     0,   569,   570,   571,   572,
13362      573,   574,   575,     0,   576,     0,   578,   579,   580,   581,
13363        0,     0,   582,     0,     0,   583,   584,   585,   586,   587,
13364      588,   589,   590,   591,   592,   593,   594,   595,   596,   597,
13365      598,   599,   600,   601,   602,   610,     0,     0,     0,     0,
13366        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
13367        0,     0,   230,   231,   232,   233,   234,   235,   236,   237,
13368        0,   238,   239,   240,     0,     0,     0,     0,     0,     0,
13369        0,   241,   242,     0,   243,   244,   245,     0,   247,   248,
13370      249,   250,   251,     0,   253,   254,     0,   255,   256,   257,
13371      258,   259,   260,     0,     0,   261,   262,   263,   264,   265,
13372        0,   266,   267,   268,   269,   270,     0,     0,     0,   272,
13373      273,   274,   275,   276,     0,   278,   279,   280,     0,   281,
13374      282,   283,   284,   285,   286,     0,     0,   288,   289,   290,
13375        0,     0,     0,     0,     0,     0,     0,   292,   293,   294,
13376      295,   296,   297,   298,   299,   300,     0,   301,     0,   302,
13377      303,   304,   305,   306,   307,     0,   308,   309,   310,   311,
13378        0,     0,   312,   313,   314,   315,   316,     0,   317,   318,
13379      319,     0,   320,   321,   322,     0,   323,   324,   325,   326,
13380      327,   328,   329,   330,   331,   332,     0,   333,     0,   334,
13381      335,   336,   337,     0,   338,     0,   339,     0,     0,     0,
13382      342,   343,   344,   345,     0,   346,   347,     0,   348,   349,
13383      350,     0,   351,   352,   353,   354,  3083,     0,   357,   358,
13384      359,   360,     0,   361,   362,   363,   364,   365,   366,   367,
13385        0,   368,     0,   370,   371,   372,   373,   374,   375,   376,
13386        0,   377,     0,   378,     0,     0,   381,     0,   383,   384,
13387      385,   386,   387,     0,     0,   388,   389,     0,   391,     0,
13388        0,   393,   394,   395,     0,     0,   396,   397,   398,   399,
13389      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
13390      410,   411,   412,     0,   414,   415,   416,   417,   418,   419,
13391      420,   421,   422,   423,   424,     0,   425,   426,     0,   428,
13392        0,   429,   430,   431,   432,   433,   434,     0,   435,   436,
13393        0,     0,   437,   438,   439,     0,     0,   440,   441,   442,
13394        0,   444,     0,   446,   447,   448,   449,   450,   451,   452,
13395      453,   454,   455,     0,     0,   456,   457,   458,   459,   460,
13396      461,   462,   463,     0,   464,   465,   466,   467,   468,   469,
13397      470,   471,   472,   473,   474,   475,   476,   477,   478,     0,
13398      479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
13399      489,   490,     0,   491,   492,     0,   494,   495,   496,   497,
13400      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
13401      508,     0,   509,   510,   511,   512,   513,     0,   514,   515,
13402      516,   517,   518,     0,   520,   521,   522,   523,     0,   524,
13403      525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
13404      535,   536,   537,   538,     0,   539,   540,     0,   541,     0,
13405      543,   544,   545,   546,   547,     0,   548,   549,   550,     0,
13406        0,   551,   552,   553,   554,   555,     0,   556,   557,   558,
13407      559,   560,   561,   562,   563,     0,     0,   564,   565,   566,
13408      567,   568,     0,     0,   569,   570,   571,   572,   573,   574,
13409      575,     0,   576,     0,   578,   579,   580,   581,     0,     0,
13410      582,     0,     0,   583,   584,   585,   586,   587,   588,   589,
13411      590,   591,   592,   593,   594,   595,   596,   597,   598,   599,
13412      600,   601,   602,   610,     0,     0,     0,     0,     0,     0,
13413        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
13414      230,   231,   232,   233,   234,   235,   236,   237,     0,   238,
13415      239,   240,     0,     0,     0,     0,     0,     0,     0,   241,
13416      242,     0,   243,   244,   245,     0,   247,   248,   249,   250,
13417      251,     0,   253,   254,     0,   255,   256,   257,   258,   259,
13418      260,     0,     0,   261,   262,   263,   264,   265,     0,   266,
13419      267,   268,   269,   270,     0,     0,     0,   272,   273,   274,
13420      275,   276,     0,   278,   279,   280,     0,   281,   282,   283,
13421      284,   285,   286,     0,     0,   288,   289,   290,     0,     0,
13422        0,     0,     0,     0,     0,   292,   293,   294,   295,   296,
13423      297,   298,   299,   300,     0,   301,     0,   302,   303,   304,
13424      305,   306,   307,     0,   308,   309,   310,   311,     0,     0,
13425      312,   313,   314,   315,   316,     0,   317,   318,   319,     0,
13426      320,   321,   322,     0,   323,   324,   325,   326,   327,   328,
13427      329,   330,   331,   332,     0,   333,     0,   334,   335,   336,
13428      337,     0,   338,     0,   339,     0,     0,     0,   342,   343,
13429      344,   345,     0,   346,   347,     0,   348,   349,   350,     0,
13430      351,   352,   353,   354,  3085,     0,   357,   358,   359,   360,
13431        0,   361,   362,   363,   364,   365,   366,   367,     0,   368,
13432        0,   370,   371,   372,   373,   374,   375,   376,     0,   377,
13433        0,   378,     0,     0,   381,     0,   383,   384,   385,   386,
13434      387,     0,     0,   388,   389,     0,   391,     0,     0,   393,
13435      394,   395,     0,     0,   396,   397,   398,   399,   400,   401,
13436      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
13437      412,     0,   414,   415,   416,   417,   418,   419,   420,   421,
13438      422,   423,   424,     0,   425,   426,     0,   428,     0,   429,
13439      430,   431,   432,   433,   434,     0,   435,   436,     0,     0,
13440      437,   438,   439,     0,     0,   440,   441,   442,     0,   444,
13441        0,   446,   447,   448,   449,   450,   451,   452,   453,   454,
13442      455,     0,     0,   456,   457,   458,   459,   460,   461,   462,
13443      463,     0,   464,   465,   466,   467,   468,   469,   470,   471,
13444      472,   473,   474,   475,   476,   477,   478,     0,   479,   480,
13445      481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
13446        0,   491,   492,     0,   494,   495,   496,   497,   498,   499,
13447      500,   501,   502,   503,   504,   505,   506,   507,   508,     0,
13448      509,   510,   511,   512,   513,     0,   514,   515,   516,   517,
13449      518,     0,   520,   521,   522,   523,     0,   524,   525,   526,
13450      527,   528,   529,   530,   531,   532,   533,   534,   535,   536,
13451      537,   538,     0,   539,   540,     0,   541,     0,   543,   544,
13452      545,   546,   547,     0,   548,   549,   550,     0,     0,   551,
13453      552,   553,   554,   555,     0,   556,   557,   558,   559,   560,
13454      561,   562,   563,     0,     0,   564,   565,   566,   567,   568,
13455        0,     0,   569,   570,   571,   572,   573,   574,   575,     0,
13456      576,     0,   578,   579,   580,   581,     0,     0,   582,     0,
13457        0,   583,   584,   585,   586,   587,   588,   589,   590,   591,
13458      592,   593,   594,   595,   596,   597,   598,   599,   600,   601,
13459      602,   610,     0,     0,     0,     0,     0,     0,     0,     0,
13460        0,     0,     0,     0,     0,     0,     0,     0,   230,   231,
13461      232,   233,   234,   235,   236,   237,     0,   238,   239,   240,
13462        0,     0,     0,     0,     0,     0,     0,   241,   242,     0,
13463      243,   244,   245,     0,   247,   248,   249,   250,   251,     0,
13464      253,   254,     0,   255,   256,   257,   258,   259,   260,     0,
13465        0,   261,   262,   263,   264,   265,     0,   266,   267,   268,
13466      269,   270,     0,     0,     0,   272,   273,   274,   275,   276,
13467        0,   278,   279,   280,     0,   281,   282,   283,   284,   285,
13468      286,     0,     0,   288,   289,   290,     0,     0,     0,     0,
13469        0,     0,     0,   292,   293,   294,   295,   296,   297,   298,
13470      299,   300,     0,   301,     0,   302,   303,   304,   305,   306,
13471      307,     0,   308,   309,   310,   311,     0,     0,   312,   313,
13472      314,   315,   316,     0,   317,   318,   319,     0,   320,   321,
13473      322,     0,   323,   324,   325,   326,   327,   328,   329,   330,
13474      331,   332,     0,   333,     0,   334,   335,   336,   337,     0,
13475      338,     0,   339,     0,     0,     0,   342,   343,   344,   345,
13476        0,   346,   347,     0,   348,   349,   350,     0,   351,   352,
13477      353,   354,  3230,     0,   357,   358,   359,   360,     0,   361,
13478      362,   363,   364,   365,   366,   367,     0,   368,     0,   370,
13479      371,   372,   373,   374,   375,   376,     0,   377,     0,   378,
13480        0,     0,   381,     0,   383,   384,   385,   386,   387,     0,
13481        0,   388,   389,     0,   391,     0,     0,   393,   394,   395,
13482        0,     0,   396,   397,   398,   399,   400,   401,   402,   403,
13483      404,   405,   406,   407,   408,   409,   410,   411,   412,     0,
13484      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
13485      424,     0,   425,   426,     0,   428,     0,   429,   430,   431,
13486      432,   433,   434,     0,   435,   436,     0,     0,   437,   438,
13487      439,     0,     0,   440,   441,   442,     0,   444,     0,   446,
13488      447,   448,   449,   450,   451,   452,   453,   454,   455,     0,
13489        0,   456,   457,   458,   459,   460,   461,   462,   463,     0,
13490      464,   465,   466,   467,   468,   469,   470,   471,   472,   473,
13491      474,   475,   476,   477,   478,     0,   479,   480,   481,   482,
13492      483,   484,   485,   486,   487,   488,   489,   490,     0,   491,
13493      492,     0,   494,   495,   496,   497,   498,   499,   500,   501,
13494      502,   503,   504,   505,   506,   507,   508,     0,   509,   510,
13495      511,   512,   513,     0,   514,   515,   516,   517,   518,     0,
13496      520,   521,   522,   523,     0,   524,   525,   526,   527,   528,
13497      529,   530,   531,   532,   533,   534,   535,   536,   537,   538,
13498        0,   539,   540,     0,   541,     0,   543,   544,   545,   546,
13499      547,     0,   548,   549,   550,     0,     0,   551,   552,   553,
13500      554,   555,     0,   556,   557,   558,   559,   560,   561,   562,
13501      563,     0,     0,   564,   565,   566,   567,   568,     0,     0,
13502      569,   570,   571,   572,   573,   574,   575,     0,   576,     0,
13503      578,   579,   580,   581,     0,     0,   582,     0,     0,   583,
13504      584,   585,   586,   587,   588,   589,   590,   591,   592,   593,
13505      594,   595,   596,   597,   598,   599,   600,   601,   602,   610,
13506        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
13507        0,     0,     0,     0,     0,     0,   230,   231,   232,   233,
13508      234,   235,   236,   237,     0,   238,   239,   240,     0,     0,
13509        0,     0,     0,     0,     0,   241,   242,     0,   243,   244,
13510      245,     0,   247,   248,   249,   250,   251,     0,   253,   254,
13511        0,   255,   256,   257,   258,   259,   260,     0,     0,   261,
13512      262,   263,   264,   265,     0,   266,   267,   268,   269,   270,
13513        0,     0,     0,   272,   273,   274,   275,   276,     0,   278,
13514      279,   280,     0,   281,   282,   283,   284,   285,   286,     0,
13515        0,   288,   289,   290,     0,     0,     0,     0,     0,     0,
13516        0,   292,   293,   294,   295,   296,   297,   298,   299,   300,
13517        0,   301,     0,   302,   303,   304,   305,   306,   307,     0,
13518      308,   309,   310,   311,     0,     0,   312,  3268,   314,   315,
13519      316,     0,   317,   318,   319,     0,   320,   321,   322,     0,
13520      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
13521        0,   333,     0,   334,   335,   336,   337,     0,   338,     0,
13522      339,     0,     0,     0,   342,   343,   344,   345,     0,   346,
13523      347,     0,   348,   349,   350,     0,   351,   352,   353,   354,
13524      355,     0,   357,   358,   359,   360,     0,   361,   362,   363,
13525      364,   365,   366,   367,     0,   368,     0,   370,   371,   372,
13526      373,   374,   375,   376,     0,   377,     0,   378,     0,     0,
13527      381,     0,   383,   384,   385,   386,   387,     0,     0,   388,
13528      389,     0,   391,     0,     0,   393,   394,   395,     0,     0,
13529      396,   397,   398,   399,   400,   401,   402,   403,   404,   405,
13530      406,   407,   408,   409,   410,   411,   412,     0,   414,   415,
13531      416,   417,   418,   419,   420,   421,   422,   423,   424,     0,
13532      425,   426,     0,   428,     0,   429,   430,   431,   432,   433,
13533      434,     0,   435,   436,     0,     0,   437,   438,   439,     0,
13534        0,   440,   441,   442,     0,   444,     0,   446,   447,   448,
13535      449,   450,   451,   452,   453,   454,   455,     0,     0,   456,
13536      457,   458,   459,   460,   461,   462,   463,     0,   464,   465,
13537      466,   467,   468,   469,   470,   471,   472,   473,   474,   475,
13538      476,   477,   478,     0,   479,   480,   481,   482,   483,   484,
13539      485,   486,   487,   488,   489,   490,     0,   491,   492,     0,
13540      494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
13541      504,   505,   506,   507,   508,     0,   509,   510,   511,   512,
13542      513,     0,   514,   515,   516,   517,   518,     0,   520,   521,
13543      522,   523,     0,   524,   525,   526,   527,   528,   529,   530,
13544      531,   532,   533,   534,   535,   536,   537,   538,     0,   539,
13545      540,     0,   541,     0,   543,   544,   545,   546,   547,     0,
13546      548,   549,   550,     0,     0,   551,   552,   553,   554,   555,
13547        0,   556,   557,   558,   559,   560,   561,   562,   563,     0,
13548        0,   564,   565,   566,   567,   568,     0,     0,   569,   570,
13549      571,   572,   573,   574,   575,     0,   576,     0,   578,   579,
13550      580,   581,     0,     0,   582,     0,     0,   583,   584,   585,
13551      586,   587,   588,   589,   590,   591,   592,   593,   594,   595,
13552      596,   597,   598,   599,   600,   601,   602,   610,     0,     0,
13553        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
13554        0,     0,     0,     0,   230,   231,   232,   233,   234,   235,
13555      236,   237,     0,   238,   239,   240,     0,     0,     0,     0,
13556        0,     0,     0,   241,   242,     0,   243,   244,   245,     0,
13557      247,   248,   249,   250,   251,     0,   253,   254,     0,   255,
13558      256,   257,   258,   259,   260,     0,     0,   261,   262,   263,
13559      264,   265,     0,   266,   267,   268,   269,   270,     0,     0,
13560        0,   272,   273,   274,   275,   276,     0,   278,   279,   280,
13561        0,   281,   282,   283,   284,   285,   286,     0,     0,   288,
13562      289,   290,     0,     0,     0,     0,     0,     0,     0,   292,
13563      293,   294,   295,   296,   297,   298,   299,   300,     0,   301,
13564        0,   302,   303,   304,   305,   306,   307,     0,   308,   309,
13565      310,   311,     0,     0,   312,   313,   314,   315,   316,     0,
13566      317,   318,   319,     0,   320,   321,   322,     0,   323,   324,
13567      325,   326,   327,   328,   329,   330,   331,   332,     0,   333,
13568        0,   334,   335,   336,   337,     0,   338,     0,   339,     0,
13569        0,     0,   342,   343,   344,   345,     0,   346,   347,     0,
13570      348,   349,   350,     0,   351,   352,   353,   354,  4452,     0,
13571      357,   358,   359,   360,     0,   361,   362,   363,   364,   365,
13572      366,   367,     0,   368,     0,   370,   371,   372,   373,   374,
13573      375,   376,     0,   377,     0,   378,     0,     0,   381,     0,
13574      383,   384,   385,   386,   387,     0,     0,   388,   389,     0,
13575      391,     0,     0,   393,   394,   395,     0,     0,   396,   397,
13576      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
13577      408,   409,   410,   411,   412,     0,   414,   415,   416,   417,
13578      418,   419,   420,   421,   422,   423,   424,     0,   425,   426,
13579        0,   428,     0,   429,   430,   431,   432,   433,   434,     0,
13580      435,   436,     0,     0,   437,   438,   439,     0,     0,   440,
13581      441,   442,     0,   444,     0,   446,   447,   448,   449,   450,
13582      451,   452,   453,   454,   455,     0,     0,   456,   457,   458,
13583      459,   460,   461,   462,   463,     0,   464,   465,   466,   467,
13584      468,   469,   470,   471,   472,   473,   474,   475,   476,   477,
13585      478,     0,   479,   480,   481,   482,   483,   484,   485,   486,
13586      487,   488,   489,   490,     0,   491,   492,     0,   494,   495,
13587      496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
13588      506,   507,   508,     0,   509,   510,   511,   512,   513,     0,
13589      514,   515,   516,   517,   518,     0,   520,   521,   522,   523,
13590        0,   524,   525,   526,   527,   528,   529,   530,   531,   532,
13591      533,   534,   535,   536,   537,   538,     0,   539,   540,     0,
13592      541,     0,   543,   544,   545,   546,   547,     0,   548,   549,
13593      550,     0,     0,   551,   552,   553,   554,   555,     0,   556,
13594      557,   558,   559,   560,   561,   562,   563,     0,     0,   564,
13595      565,   566,   567,   568,     0,     0,   569,   570,   571,   572,
13596      573,   574,   575,     0,   576,     0,   578,   579,   580,   581,
13597        0,     0,   582,     0,     0,   583,   584,   585,   586,   587,
13598      588,   589,   590,   591,   592,   593,   594,   595,   596,   597,
13599      598,   599,   600,   601,   602,  1073,     0,     0,     0,     0,
13600        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
13601        0,     0,   230,   231,   232,   233,   234,   235,   236,   237,
13602        0,   238,   239,   240,     0,     0,     0,     0,     0,     0,
13603        0,   241,   242,     0,   243,   244,   245,   246,   247,   248,
13604      249,     0,  1074,   252,  1075,  1076,     0,   255,   256,   257,
13605      258,   259,   260,     0,     0,   261,   262,  1077,  1078,   265,
13606        0,   266,   267,   268,   269,     0,     0,   271,     0,   272,
13607      273,   274,   275,   276,   277,   278,   279,   280,     0,   281,
13608      282,   283,   284,   285,   286,     0,   287,   288,   289,   290,
13609        0,     0,     0,   291,     0,     0,     0,   292,   293,   294,
13610      295,   296,   297,  1079,  1080,   300,     0,   301,     0,   302,
13611      303,   304,   305,   306,   307,     0,   308,   309,   310,   311,
13612        0,     0,   312,   313,  1081,   315,   316,     0,   317,   318,
13613      319,     0,   320,   321,   322,     0,   323,   324,   325,   326,
13614        0,   328,   329,   330,   331,     0,     0,   333,     0,   334,
13615      335,  1082,   337,     0,   338,     0,   339,   340,     0,   341,
13616      342,   343,   344,   345,     0,   346,     0,     0,     0,   349,
13617      350,     0,   351,   352,   353,   354,   355,   356,   357,   358,
13618      359,   360,  2183,   361,   362,   363,   364,   365,   366,   367,
13619        0,   368,   369,  2184,   371,   372,   373,   374,  1084,  1085,
13620        0,  1086,     0,   378,   379,   380,   381,   382,   383,   384,
13621      385,   386,   387,     0,     0,   388,     0,   390,   391,   392,
13622        0,   393,   394,   395,     0,     0,   396,   397,   398,   399,
13623      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
13624      410,   411,  1087,   413,  1088,   415,   416,   417,   418,   419,
13625      420,   421,     0,     0,   424,     0,   425,   426,   427,   428,
13626        0,     0,   430,  1089,   432,   433,   434,     0,   435,   436,
13627        0,     0,   437,   438,   439,     0,     0,   440,   441,  2186,
13628      443,   444,   445,     0,   447,   448,   449,   450,   451,   452,
13629      453,   454,   455,     0,     0,   456,   457,     0,   459,     0,
13630      461,   462,   463,     0,   464,   465,   466,   467,   468,   469,
13631      470,   471,   472,   473,  1090,   475,   476,   477,   478,     0,
13632      479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
13633      489,   490,     0,   491,   492,   493,   494,   495,   496,   497,
13634      498,     0,   500,   501,   502,   503,   504,   505,   506,   507,
13635      508,     0,   509,   510,   511,   512,   513,     0,   514,   515,
13636     2187,   517,   518,   519,   520,   521,  1092,   523,     0,   524,
13637      525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
13638      535,   536,     0,   538,     0,   539,   540,     0,   541,   542,
13639      543,   544,   545,   546,   547,     0,   548,  1093,  1094,     0,
13640        0,   551,   552,     0,   554,     0,     0,   556,   557,   558,
13641      559,   560,   561,   562,   563,     0,     0,   564,   565,   566,
13642      567,   568,     0,     0,   569,   570,   571,   572,   573,     0,
13643     1095,  2188,   576,   577,   578,   579,   580,   581,     0,     0,
13644      582,     0,     0,   583,   584,   585,   586,   587,   588,   610,
13645        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
13646      600,   601,   602,     0,     0,     0,   230,   231,   232,   233,
13647      234,   235,   236,   237,     0,   238,   239,   240,     0,     0,
13648        0,     0,     0,     0,     0,   241,   242,     0,   243,   244,
13649      245,     0,   247,   248,   249,   250,   251,     0,   253,   254,
13650        0,   255,   256,   257,   258,   259,   260,     0,     0,   261,
13651      262,   263,   264,   265,     0,   266,   267,   268,   269,   270,
13652        0,     0,     0,   272,   273,   274,   275,   276,     0,   278,
13653      279,   280,     0,   281,   282,   283,   284,   285,   286,     0,
13654        0,   288,   289,   290,     0,     0,     0,     0,     0,     0,
13655        0,   292,   293,   294,   295,   296,   297,   298,   299,   300,
13656        0,   301,     0,   302,   303,   304,   305,   306,   307,     0,
13657      308,   309,   310,   311,     0,     0,   312,   313,   314,   315,
13658      316,     0,   317,   318,   319,     0,   320,   321,   322,     0,
13659      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
13660        0,   333,     0,   334,   335,   336,   337,     0,   338,     0,
13661      339,     0,     0,     0,   342,   343,   344,   345,     0,   346,
13662      347,     0,   348,     0,   350,     0,   351,   352,   353,   354,
13663      355,     0,   357,   358,   359,   360,     0,   361,   362,   363,
13664      364,   365,   366,   367,     0,   368,     0,   370,   371,   372,
13665      373,   374,   375,   376,     0,   377,     0,   378,     0,     0,
13666      381,     0,   383,   384,   385,   386,   387,     0,     0,   388,
13667      389,     0,   391,     0,     0,   393,   394,   395,     0,     0,
13668      396,   397,   398,   399,   400,   401,   402,   403,   404,   405,
13669      406,   407,   408,   409,   410,   411,   412,     0,   414,   415,
13670      416,   417,   418,   419,   420,   421,   422,   423,   424,     0,
13671      425,   426,     0,   428,     0,   429,   430,   431,   432,   433,
13672      434,     0,   435,   436,     0,     0,   437,   438,   439,     0,
13673        0,   440,   441,   442,     0,   444,     0,   446,   447,   448,
13674      449,   450,   451,   452,     0,   454,   455,     0,     0,   456,
13675      457,   458,   459,   460,   461,   462,   463,     0,   464,   465,
13676      466,   467,   468,   469,   470,   471,     0,   473,   474,   475,
13677      476,   477,   478,     0,   479,   480,   481,   482,   483,   484,
13678      485,   486,   487,   488,   489,   490,     0,   491,   492,     0,
13679      494,   495,   496,   497,   498,   499,     0,   501,   502,   503,
13680      504,   505,   506,   507,   508,     0,   509,   510,   511,   512,
13681      513,     0,   514,   515,   516,   517,   518,     0,   520,   521,
13682      522,   523,     0,   524,   525,   526,   527,   528,   529,   530,
13683      531,   532,   533,   534,   535,   536,   537,   538,     0,   539,
13684      540,     0,   541,     0,   543,   544,   545,   546,   547,     0,
13685      548,   549,   550,     0,     0,   551,   552,   553,   554,   555,
13686        0,   556,   557,   558,   559,   560,   561,   562,   563,     0,
13687        0,   564,   565,   566,   567,   568,     0,     0,   569,   570,
13688      571,   572,   573,   574,   575,     0,   576,     0,   578,   579,
13689      580,   581,     0,     0,   582,     0,     0,   583,   584,   585,
13690      586,   587,   588,   589,   590,   591,   592,   593,   594,   595,
13691      596,   597,   598,   599,   600,   601,   602,  1073,     0,     0,
13692        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
13693        0,     0,     0,     0,   230,   231,   232,   233,   234,   235,
13694      236,   237,     0,   238,   239,   240,     0,     0,     0,     0,
13695        0,     0,     0,   241,   242,     0,   243,   244,   245,   246,
13696      247,   248,   249,     0,  1074,   252,  1075,  1076,     0,   255,
13697      256,   257,   258,   259,   260,     0,     0,   261,   262,  1077,
13698     1078,   265,     0,   266,   267,   268,   269,     0,     0,   271,
13699        0,   272,   273,   274,   275,   276,   277,   278,   279,   280,
13700        0,   281,   282,   283,   284,   285,   286,     0,   287,   288,
13701      289,   290,     0,     0,     0,   291,     0,     0,     0,   292,
13702      293,   294,   295,   296,   297,  1079,  1080,   300,     0,   301,
13703        0,   302,   303,   304,   305,   306,   307,     0,   308,   309,
13704      310,   311,     0,     0,   312,   313,  1081,   315,   316,     0,
13705      317,   318,   319,     0,   320,   321,   322,     0,   323,   324,
13706      325,   326,     0,   328,   329,   330,   331,     0,     0,   333,
13707        0,   334,   335,  1082,   337,     0,   338,     0,   339,   340,
13708        0,   341,   342,   343,   344,   345,     0,   346,     0,     0,
13709        0,   349,   350,     0,   351,   352,   353,   354,   355,   356,
13710      357,   358,   359,   360,     0,   361,   362,   363,   364,   365,
13711      366,   367,     0,   368,   369,     0,   371,   372,   373,   374,
13712     1084,  1085,     0,  1086,     0,   378,   379,   380,   381,   382,
13713      383,   384,   385,   386,   387,     0,     0,   388,     0,   390,
13714      391,   392,     0,   393,   394,   395,     0,     0,   396,   397,
13715      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
13716      408,   409,   410,   411,  1087,   413,  1088,   415,   416,   417,
13717      418,   419,   420,   421,     0,     0,   424,     0,   425,   426,
13718      427,   428,  2282,     0,   430,  1089,   432,   433,   434,     0,
13719      435,   436,     0,     0,   437,   438,   439,     0,     0,   440,
13720      441,     0,   443,   444,   445,     0,   447,   448,   449,   450,
13721      451,   452,   453,   454,   455,     0,     0,   456,   457,     0,
13722      459,     0,   461,   462,   463,     0,   464,   465,   466,   467,
13723      468,   469,   470,   471,   472,   473,  1090,   475,   476,   477,
13724      478,     0,   479,   480,   481,   482,   483,   484,   485,   486,
13725      487,   488,   489,   490,     0,   491,   492,   493,   494,   495,
13726      496,   497,   498,     0,   500,   501,   502,   503,   504,   505,
13727      506,   507,   508,     0,   509,   510,   511,   512,   513,     0,
13728      514,   515,  2187,   517,   518,   519,   520,   521,  1092,   523,
13729        0,   524,   525,   526,   527,   528,   529,   530,   531,   532,
13730      533,   534,   535,   536,     0,   538,     0,   539,   540,  3996,
13731      541,   542,   543,   544,   545,   546,   547,     0,   548,  1093,
13732     1094,     0,     0,   551,   552,     0,   554,     0,     0,   556,
13733      557,   558,   559,   560,   561,   562,   563,     0,     0,   564,
13734      565,   566,   567,   568,     0,     0,   569,   570,   571,   572,
13735      573,     0,  1095,     0,   576,   577,   578,   579,   580,   581,
13736        0,     0,   582,     0,     0,   583,   584,   585,   586,   587,
13737      588,  1073,     0,     0,     0,     0,     0,     0,     0,     0,
13738        0,     0,   600,   601,   602,     0,     0,     0,   230,   231,
13739      232,   233,   234,   235,   236,   237,     0,   238,   239,   240,
13740        0,     0,     0,     0,     0,     0,     0,   241,   242,     0,
13741      243,   244,   245,   246,   247,   248,   249,     0,  1074,   252,
13742     1075,  1076,     0,   255,   256,   257,   258,   259,   260,     0,
13743        0,   261,   262,  1077,  1078,   265,     0,   266,   267,   268,
13744      269,     0,     0,   271,     0,   272,   273,   274,   275,   276,
13745      277,   278,   279,   280,     0,   281,   282,   283,   284,   285,
13746      286,     0,   287,   288,   289,   290,     0,     0,     0,   291,
13747        0,     0,     0,   292,   293,   294,   295,   296,   297,  1079,
13748     1080,   300,     0,   301,     0,   302,   303,   304,   305,   306,
13749      307,     0,   308,   309,   310,   311,     0,     0,   312,   313,
13750     1081,   315,   316,     0,   317,   318,   319,     0,   320,   321,
13751      322,     0,   323,   324,   325,   326,     0,   328,   329,   330,
13752      331,     0,     0,   333,     0,   334,   335,  1082,   337,     0,
13753      338,     0,   339,   340,     0,   341,   342,   343,   344,   345,
13754        0,   346,     0,     0,     0,   349,   350,     0,   351,   352,
13755      353,   354,   355,   356,   357,   358,   359,   360,     0,   361,
13756      362,   363,   364,   365,   366,   367,     0,   368,   369,     0,
13757      371,   372,   373,   374,  1084,  1085,     0,  1086,     0,   378,
13758      379,   380,   381,   382,   383,   384,   385,   386,   387,     0,
13759        0,   388,     0,   390,   391,   392,     0,   393,   394,   395,
13760        0,     0,   396,   397,   398,   399,   400,   401,   402,   403,
13761      404,   405,   406,   407,   408,   409,   410,   411,  1087,   413,
13762     1088,   415,   416,   417,   418,   419,   420,   421,  2355,     0,
13763      424,     0,   425,   426,   427,   428,     0,     0,   430,  1089,
13764      432,   433,   434,     0,   435,   436,     0,     0,   437,   438,
13765      439,     0,     0,   440,   441,     0,   443,   444,   445,     0,
13766      447,   448,   449,   450,   451,   452,   453,   454,   455,     0,
13767        0,   456,   457,     0,   459,     0,   461,   462,   463,     0,
13768      464,   465,   466,   467,   468,   469,   470,   471,   472,   473,
13769     1090,   475,   476,   477,   478,     0,   479,   480,   481,   482,
13770      483,   484,   485,   486,   487,   488,   489,   490,     0,   491,
13771      492,   493,   494,   495,   496,   497,   498,     0,   500,   501,
13772      502,   503,   504,   505,   506,   507,   508,     0,   509,   510,
13773      511,   512,   513,     0,   514,   515,  1091,   517,   518,   519,
13774      520,   521,  1092,   523,     0,   524,   525,   526,   527,   528,
13775      529,   530,   531,   532,   533,   534,   535,   536,     0,   538,
13776        0,   539,   540,     0,   541,   542,   543,   544,   545,   546,
13777      547,     0,   548,  1093,  1094,     0,     0,   551,   552,     0,
13778      554,     0,     0,   556,   557,   558,   559,   560,   561,   562,
13779      563,     0,     0,   564,   565,   566,   567,   568,     0,     0,
13780      569,   570,   571,   572,   573,     0,  1095,     0,   576,   577,
13781      578,   579,   580,   581,     0,     0,   582,     0,     0,   583,
13782      584,   585,   586,   587,   588,  1073,     0,     0,     0,     0,
13783        0,     0,     0,     0,     0,     0,   600,   601,   602,     0,
13784        0,     0,   230,   231,   232,   233,   234,   235,   236,   237,
13785        0,   238,   239,   240,     0,     0,     0,     0,     0,     0,
13786        0,   241,   242,     0,   243,   244,   245,   246,   247,   248,
13787      249,     0,  1074,   252,  1075,  1076,     0,   255,   256,   257,
13788      258,   259,   260,     0,     0,   261,   262,  1077,  1078,   265,
13789        0,   266,   267,   268,   269,     0,     0,   271,     0,   272,
13790      273,   274,   275,   276,   277,   278,   279,   280,     0,   281,
13791      282,   283,   284,   285,   286,     0,   287,   288,   289,   290,
13792        0,     0,     0,   291,     0,     0,     0,   292,   293,   294,
13793      295,   296,   297,  1079,  1080,   300,     0,   301,     0,   302,
13794      303,   304,   305,   306,   307,     0,   308,   309,   310,   311,
13795        0,     0,   312,   313,  1081,   315,   316,     0,   317,   318,
13796      319,     0,   320,   321,   322,     0,   323,   324,   325,   326,
13797        0,   328,   329,   330,   331,     0,     0,   333,     0,   334,
13798      335,  1082,   337,     0,   338,     0,   339,   340,     0,   341,
13799      342,   343,   344,   345,     0,   346,     0,     0,     0,   349,
13800      350,     0,   351,   352,   353,   354,   355,   356,   357,   358,
13801      359,   360,     0,   361,   362,   363,   364,   365,   366,   367,
13802        0,   368,   369,     0,   371,   372,   373,   374,  1084,  1085,
13803        0,  1086,     0,   378,   379,   380,   381,   382,   383,   384,
13804      385,   386,   387,     0,     0,   388,     0,   390,   391,   392,
13805        0,   393,   394,   395,     0,     0,   396,   397,   398,   399,
13806      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
13807      410,   411,  1087,   413,  1088,   415,   416,   417,   418,   419,
13808      420,   421,  3800,     0,   424,     0,   425,   426,   427,   428,
13809        0,     0,   430,  1089,   432,   433,   434,     0,   435,   436,
13810        0,     0,   437,   438,   439,     0,     0,   440,   441,     0,
13811      443,   444,   445,     0,   447,   448,   449,   450,   451,   452,
13812      453,   454,   455,     0,     0,   456,   457,     0,   459,     0,
13813      461,   462,   463,     0,   464,   465,   466,   467,   468,   469,
13814      470,   471,   472,   473,  1090,   475,   476,   477,   478,     0,
13815      479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
13816      489,   490,     0,   491,   492,   493,   494,   495,   496,   497,
13817      498,     0,   500,   501,   502,   503,   504,   505,   506,   507,
13818      508,     0,   509,   510,   511,   512,   513,     0,   514,   515,
13819     1091,   517,   518,   519,   520,   521,  1092,   523,     0,   524,
13820      525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
13821      535,   536,     0,   538,     0,   539,   540,     0,   541,   542,
13822      543,   544,   545,   546,   547,     0,   548,  1093,  1094,     0,
13823        0,   551,   552,     0,   554,     0,     0,   556,   557,   558,
13824      559,   560,   561,   562,   563,     0,     0,   564,   565,   566,
13825      567,   568,     0,     0,   569,   570,   571,   572,   573,     0,
13826     1095,     0,   576,   577,   578,   579,   580,   581,     0,     0,
13827      582,     0,     0,   583,   584,   585,   586,   587,   588,  1073,
13828        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
13829      600,   601,   602,     0,     0,     0,   230,   231,   232,   233,
13830      234,   235,   236,   237,     0,   238,   239,   240,     0,     0,
13831        0,     0,     0,     0,     0,   241,   242,     0,   243,   244,
13832      245,   246,   247,   248,   249,     0,  1074,   252,  1075,  1076,
13833        0,   255,   256,   257,   258,   259,   260,     0,     0,   261,
13834      262,  1077,  1078,   265,     0,   266,   267,   268,   269,     0,
13835        0,   271,     0,   272,   273,   274,   275,   276,   277,   278,
13836      279,   280,     0,   281,   282,   283,   284,   285,   286,     0,
13837      287,   288,   289,   290,     0,     0,     0,   291,     0,     0,
13838        0,   292,   293,   294,   295,   296,   297,  1079,  1080,   300,
13839        0,   301,     0,   302,   303,   304,   305,   306,   307,     0,
13840      308,   309,   310,   311,     0,     0,   312,   313,  1081,   315,
13841      316,     0,   317,   318,   319,     0,   320,   321,   322,     0,
13842      323,   324,   325,   326,     0,   328,   329,   330,   331,     0,
13843        0,   333,     0,   334,   335,  1082,   337,  5368,   338,     0,
13844      339,   340,     0,   341,   342,   343,   344,   345,     0,   346,
13845        0,     0,     0,   349,   350,     0,   351,   352,   353,   354,
13846      355,   356,   357,   358,   359,   360,     0,   361,   362,   363,
13847      364,   365,   366,   367,     0,   368,   369,     0,   371,   372,
13848      373,   374,  1084,  1085,     0,  1086,     0,   378,   379,   380,
13849      381,   382,   383,   384,   385,   386,   387,     0,     0,   388,
13850        0,   390,   391,   392,     0,   393,   394,   395,     0,     0,
13851      396,   397,   398,   399,   400,   401,   402,   403,   404,   405,
13852      406,   407,   408,   409,   410,   411,  1087,   413,  1088,   415,
13853      416,   417,   418,   419,   420,   421,     0,     0,   424,     0,
13854      425,   426,   427,   428,     0,     0,   430,  1089,   432,   433,
13855      434,     0,   435,   436,     0,     0,   437,   438,   439,     0,
13856        0,   440,   441,     0,   443,   444,   445,     0,   447,   448,
13857      449,   450,   451,   452,   453,   454,   455,     0,     0,   456,
13858      457,     0,   459,     0,   461,   462,   463,     0,   464,   465,
13859      466,   467,   468,   469,   470,   471,   472,   473,  1090,   475,
13860      476,   477,   478,     0,   479,   480,   481,   482,   483,   484,
13861      485,   486,   487,   488,   489,   490,     0,   491,   492,   493,
13862      494,   495,   496,   497,   498,     0,   500,   501,   502,   503,
13863      504,   505,   506,   507,   508,     0,   509,   510,   511,   512,
13864      513,     0,   514,   515,  1091,   517,   518,   519,   520,   521,
13865     1092,   523,     0,   524,   525,   526,   527,   528,   529,   530,
13866      531,   532,   533,   534,   535,   536,     0,   538,     0,   539,
13867      540,     0,   541,   542,   543,   544,   545,   546,   547,     0,
13868      548,  1093,  1094,     0,     0,   551,   552,     0,   554,     0,
13869        0,   556,   557,   558,   559,   560,   561,   562,   563,     0,
13870        0,   564,   565,   566,   567,   568,     0,     0,   569,   570,
13871      571,   572,   573,     0,  1095,     0,   576,   577,   578,   579,
13872      580,   581,     0,     0,   582,     0,     0,   583,   584,   585,
13873      586,   587,   588,  1073,     0,     0,     0,     0,     0,     0,
13874        0,     0,     0,     0,   600,   601,   602,     0,     0,     0,
13875      230,   231,   232,   233,   234,   235,   236,   237,     0,   238,
13876      239,   240,     0,     0,     0,     0,     0,     0,     0,   241,
13877      242,     0,   243,   244,   245,   246,   247,   248,   249,     0,
13878     1074,   252,  1075,  1076,     0,   255,   256,   257,   258,   259,
13879      260,     0,     0,   261,   262,  1077,  1078,   265,     0,   266,
13880      267,   268,   269,     0,     0,   271,     0,   272,   273,   274,
13881      275,   276,   277,   278,   279,   280,     0,   281,   282,   283,
13882      284,   285,   286,     0,   287,   288,   289,   290,     0,     0,
13883        0,   291,     0,     0,     0,   292,   293,   294,   295,   296,
13884      297,  1079,  1080,   300,     0,   301,     0,   302,   303,   304,
13885      305,   306,   307,     0,   308,   309,   310,   311,     0,     0,
13886      312,   313,  1081,   315,   316,     0,   317,   318,   319,     0,
13887      320,   321,   322,     0,   323,   324,   325,   326,     0,   328,
13888      329,   330,   331,     0,     0,   333,     0,   334,   335,  1082,
13889      337,     0,   338,     0,   339,   340,     0,   341,   342,   343,
13890      344,   345,     0,   346,     0,     0,     0,   349,   350,     0,
13891      351,   352,   353,   354,  1083,   356,   357,   358,   359,   360,
13892        0,   361,   362,   363,   364,   365,   366,   367,     0,   368,
13893      369,     0,   371,   372,   373,   374,  1084,  1085,     0,  1086,
13894        0,   378,   379,   380,   381,   382,   383,   384,   385,   386,
13895      387,     0,     0,   388,     0,   390,   391,   392,     0,   393,
13896      394,   395,     0,     0,   396,   397,   398,   399,   400,   401,
13897      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
13898     1087,   413,  1088,   415,   416,   417,   418,   419,   420,   421,
13899        0,     0,   424,     0,   425,   426,   427,   428,     0,     0,
13900      430,  1089,   432,   433,   434,     0,   435,   436,     0,     0,
13901      437,   438,   439,     0,     0,   440,   441,     0,   443,   444,
13902      445,     0,   447,   448,   449,   450,   451,   452,   453,   454,
13903      455,     0,     0,   456,   457,     0,   459,     0,   461,   462,
13904      463,     0,   464,   465,   466,   467,   468,   469,   470,   471,
13905      472,   473,  1090,   475,   476,   477,   478,     0,   479,   480,
13906      481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
13907        0,   491,   492,   493,   494,   495,   496,   497,   498,     0,
13908      500,   501,   502,   503,   504,   505,   506,   507,   508,     0,
13909      509,   510,   511,   512,   513,     0,   514,   515,  1091,   517,
13910      518,   519,   520,   521,  1092,   523,     0,   524,   525,   526,
13911      527,   528,   529,   530,   531,   532,   533,   534,   535,   536,
13912        0,   538,     0,   539,   540,     0,   541,   542,   543,   544,
13913      545,   546,   547,     0,   548,  1093,  1094,     0,     0,   551,
13914      552,     0,   554,     0,     0,   556,   557,   558,   559,   560,
13915      561,   562,   563,     0,     0,   564,   565,   566,   567,   568,
13916        0,     0,   569,   570,   571,   572,   573,     0,  1095,     0,
13917      576,   577,   578,   579,   580,   581,     0,     0,   582,     0,
13918        0,   583,   584,   585,   586,   587,   588,  1073,     0,     0,
13919        0,     0,     0,     0,     0,     0,     0,     0,   600,   601,
13920      602,     0,     0,     0,   230,   231,   232,   233,   234,   235,
13921      236,   237,     0,   238,   239,   240,     0,     0,     0,     0,
13922        0,     0,     0,   241,   242,     0,   243,   244,   245,   246,
13923      247,   248,   249,     0,  1074,   252,  1075,  1076,     0,   255,
13924      256,   257,   258,   259,   260,     0,     0,   261,   262,  1077,
13925     1078,   265,     0,   266,   267,   268,   269,     0,     0,   271,
13926        0,   272,   273,   274,   275,   276,   277,   278,   279,   280,
13927        0,   281,   282,   283,   284,   285,   286,     0,   287,   288,
13928      289,   290,     0,     0,     0,   291,     0,     0,     0,   292,
13929      293,   294,   295,   296,   297,  1079,  1080,   300,     0,   301,
13930        0,   302,   303,   304,   305,   306,   307,     0,   308,   309,
13931      310,   311,     0,     0,   312,   313,  1081,   315,   316,     0,
13932      317,   318,   319,     0,   320,   321,   322,     0,   323,   324,
13933      325,   326,     0,   328,   329,   330,   331,     0,     0,   333,
13934        0,   334,   335,  1082,   337,     0,   338,     0,   339,   340,
13935        0,   341,   342,   343,   344,   345,     0,   346,     0,     0,
13936        0,   349,   350,     0,   351,   352,   353,   354,  1141,   356,
13937      357,   358,   359,   360,     0,   361,   362,   363,   364,   365,
13938      366,   367,     0,   368,   369,     0,   371,   372,   373,   374,
13939     1084,  1085,     0,  1086,     0,   378,   379,   380,   381,   382,
13940      383,   384,   385,   386,   387,     0,     0,   388,     0,   390,
13941      391,   392,     0,   393,   394,   395,     0,     0,   396,   397,
13942      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
13943      408,   409,   410,   411,  1087,   413,  1088,   415,   416,   417,
13944      418,   419,   420,   421,     0,     0,   424,     0,   425,   426,
13945      427,   428,     0,     0,   430,  1089,   432,   433,   434,     0,
13946      435,   436,     0,     0,   437,   438,   439,     0,     0,   440,
13947      441,     0,   443,   444,   445,     0,   447,   448,   449,   450,
13948      451,   452,   453,   454,   455,     0,     0,   456,   457,     0,
13949      459,     0,   461,   462,   463,     0,   464,   465,   466,   467,
13950      468,   469,   470,   471,   472,   473,  1090,   475,   476,   477,
13951      478,     0,   479,   480,   481,   482,   483,   484,   485,   486,
13952      487,   488,   489,   490,     0,   491,   492,   493,   494,   495,
13953      496,   497,   498,     0,   500,   501,   502,   503,   504,   505,
13954      506,   507,   508,     0,   509,   510,   511,   512,   513,     0,
13955      514,   515,  1091,   517,   518,   519,   520,   521,  1092,   523,
13956        0,   524,   525,   526,   527,   528,   529,   530,   531,   532,
13957      533,   534,   535,   536,     0,   538,     0,   539,   540,     0,
13958      541,   542,   543,   544,   545,   546,   547,     0,   548,  1093,
13959     1094,     0,     0,   551,   552,     0,   554,     0,     0,   556,
13960      557,   558,   559,   560,   561,   562,   563,     0,     0,   564,
13961      565,   566,   567,   568,     0,     0,   569,   570,   571,   572,
13962      573,     0,  1095,     0,   576,   577,   578,   579,   580,   581,
13963        0,     0,   582,     0,     0,   583,   584,   585,   586,   587,
13964      588,  1073,     0,     0,     0,     0,     0,     0,     0,     0,
13965        0,     0,   600,   601,   602,     0,     0,     0,   230,   231,
13966      232,   233,   234,   235,   236,   237,     0,   238,   239,   240,
13967        0,     0,     0,     0,     0,     0,     0,   241,   242,     0,
13968      243,   244,   245,   246,   247,   248,   249,     0,  1074,   252,
13969     1075,  1076,     0,   255,   256,   257,   258,   259,   260,     0,
13970        0,   261,   262,  1077,  1078,   265,     0,   266,   267,   268,
13971      269,     0,     0,   271,     0,   272,   273,   274,   275,   276,
13972      277,   278,   279,   280,     0,   281,   282,   283,   284,   285,
13973      286,     0,   287,   288,   289,   290,     0,     0,     0,   291,
13974        0,     0,     0,   292,   293,   294,   295,   296,   297,  1079,
13975     1080,   300,     0,   301,     0,   302,   303,   304,   305,   306,
13976      307,     0,   308,   309,   310,   311,     0,     0,   312,   313,
13977     1081,   315,   316,     0,   317,   318,   319,     0,   320,   321,
13978      322,     0,   323,   324,   325,   326,     0,   328,   329,   330,
13979      331,     0,     0,   333,     0,   334,   335,  1082,   337,     0,
13980      338,     0,   339,   340,     0,   341,   342,   343,   344,   345,
13981        0,   346,     0,     0,     0,   349,   350,     0,   351,   352,
13982      353,   354,   355,   356,   357,   358,   359,   360,     0,   361,
13983      362,   363,   364,   365,   366,   367,     0,   368,   369,     0,
13984      371,   372,   373,   374,  1084,  1085,     0,  1086,     0,   378,
13985      379,   380,   381,   382,   383,   384,   385,   386,   387,     0,
13986        0,   388,     0,   390,   391,   392,     0,   393,   394,   395,
13987        0,     0,   396,   397,   398,   399,   400,   401,   402,   403,
13988      404,   405,   406,   407,   408,   409,   410,   411,  1087,   413,
13989     1088,   415,   416,   417,   418,   419,   420,   421,     0,     0,
13990      424,     0,   425,   426,   427,   428,     0,     0,   430,  1089,
13991      432,   433,   434,     0,   435,   436,     0,     0,   437,   438,
13992      439,     0,     0,   440,   441,     0,   443,   444,   445,     0,
13993      447,   448,   449,   450,   451,   452,   453,   454,   455,     0,
13994        0,   456,   457,     0,   459,     0,   461,   462,   463,     0,
13995      464,   465,   466,   467,   468,   469,   470,   471,   472,   473,
13996     1090,   475,   476,   477,   478,     0,   479,   480,   481,   482,
13997      483,   484,   485,   486,   487,   488,   489,   490,     0,   491,
13998      492,   493,   494,   495,   496,   497,   498,     0,   500,   501,
13999      502,   503,   504,   505,   506,   507,   508,     0,   509,   510,
14000      511,   512,   513,     0,   514,   515,  1091,   517,   518,   519,
14001      520,   521,  1092,   523,     0,   524,   525,   526,   527,   528,
14002      529,   530,   531,   532,   533,   534,   535,   536,     0,   538,
14003        0,   539,   540,     0,   541,   542,   543,   544,   545,   546,
14004      547,     0,   548,  1093,  1094,     0,     0,   551,   552,     0,
14005      554,     0,     0,   556,   557,   558,   559,   560,   561,   562,
14006      563,     0,     0,   564,   565,   566,   567,   568,     0,     0,
14007      569,   570,   571,   572,   573,     0,  1095,     0,   576,   577,
14008      578,   579,   580,   581,     0,     0,   582,     0,     0,   583,
14009      584,   585,   586,   587,   588,  1073,     0,     0,     0,     0,
14010        0,     0,     0,     0,     0,     0,   600,   601,   602,     0,
14011        0,     0,   230,   231,   232,   233,   234,   235,   236,   237,
14012        0,   238,   239,   240,     0,     0,     0,     0,     0,     0,
14013        0,   241,   242,     0,   243,   244,   245,   246,   247,   248,
14014      249,     0,  1074,   252,  1075,  1076,     0,   255,   256,   257,
14015      258,   259,   260,     0,     0,   261,   262,  1077,  1078,   265,
14016        0,   266,   267,   268,   269,     0,     0,   271,     0,   272,
14017      273,   274,   275,   276,   277,   278,   279,   280,     0,   281,
14018      282,   283,   284,   285,   286,     0,   287,   288,   289,   290,
14019        0,     0,     0,   291,     0,     0,     0,   292,   293,   294,
14020      295,   296,   297,  1079,  1080,   300,     0,   301,     0,   302,
14021      303,   304,   305,   306,   307,     0,   308,   309,   310,   311,
14022        0,     0,   312,   313,  1081,   315,   316,     0,   317,   318,
14023      319,     0,   320,   321,   322,     0,   323,   324,   325,   326,
14024        0,   328,   329,   330,   331,     0,     0,   333,     0,   334,
14025      335,  1082,   337,     0,   338,     0,   339,   340,     0,   341,
14026      342,   343,   344,   345,     0,   346,     0,     0,     0,   349,
14027      350,     0,   351,   352,   353,   354,   355,   356,   357,   358,
14028      359,   360,     0,   361,   362,   363,   364,   365,   366,   367,
14029        0,   368,   369,     0,   371,   372,   373,   374,  1084,  1085,
14030        0,  1086,     0,   378,   379,   380,   381,   382,   383,   384,
14031      385,   386,   387,     0,     0,   388,     0,   390,   391,   392,
14032        0,   393,   394,   395,     0,     0,   396,   397,   398,   399,
14033      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
14034      410,   411,  1087,   413,  1088,   415,   416,   417,   418,   419,
14035      420,   421,     0,     0,   424,     0,   425,   426,   427,   428,
14036        0,     0,   430,  1089,   432,   433,   434,     0,   435,   436,
14037        0,     0,   437,   438,   439,     0,     0,   440,   441,     0,
14038      443,   444,   445,     0,   447,   448,   449,   450,   451,   452,
14039      453,   454,   455,     0,     0,   456,   457,     0,   459,     0,
14040      461,   462,   463,     0,   464,   465,   466,   467,   468,   469,
14041      470,   471,   472,   473,  1090,   475,   476,   477,   478,     0,
14042      479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
14043      489,   490,     0,   491,   492,   493,   494,   495,   496,   497,
14044      498,     0,   500,   501,   502,   503,   504,   505,   506,   507,
14045      508,     0,   509,   510,   511,   512,   513,     0,   514,   515,
14046     2187,   517,   518,   519,   520,   521,  1092,   523,     0,   524,
14047      525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
14048      535,   536,     0,   538,     0,   539,   540,     0,   541,   542,
14049      543,   544,   545,   546,   547,     0,   548,  1093,  1094,     0,
14050        0,   551,   552,     0,   554,     0,     0,   556,   557,   558,
14051      559,   560,   561,   562,   563,     0,     0,   564,   565,   566,
14052      567,   568,     0,     0,   569,   570,   571,   572,   573,     0,
14053     1095,     0,   576,   577,   578,   579,   580,   581,     0,     0,
14054      582,     0,     0,   583,   584,   585,   586,   587,   588,  1073,
14055        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
14056      600,   601,   602,     0,     0,     0,   230,   231,   232,   233,
14057      234,   235,   236,   237,     0,   238,   239,   240,     0,     0,
14058        0,     0,     0,     0,     0,   241,   242,     0,   243,   244,
14059      245,   246,   247,   248,   249,     0,  1074,   252,  1075,  1076,
14060        0,   255,   256,   257,   258,   259,   260,     0,     0,   261,
14061      262,  1077,  1078,   265,     0,   266,   267,   268,   269,     0,
14062        0,   271,     0,   272,   273,   274,   275,   276,   277,   278,
14063      279,   280,     0,   281,   282,   283,   284,   285,   286,     0,
14064      287,   288,   289,   290,     0,     0,     0,   291,     0,     0,
14065        0,   292,   293,   294,   295,   296,   297,  1079,  1080,   300,
14066        0,   301,     0,   302,   303,   304,   305,   306,   307,     0,
14067      308,   309,   310,   311,     0,     0,   312,   313,  1081,   315,
14068      316,     0,   317,   318,   319,     0,   320,   321,   322,     0,
14069      323,   324,   325,   326,     0,   328,   329,   330,   331,     0,
14070        0,   333,     0,   334,   335,  1082,   337,     0,   338,     0,
14071      339,   340,     0,   341,   342,   343,   344,   345,     0,   346,
14072        0,     0,     0,   349,   350,     0,   351,   352,   353,   354,
14073      355,   356,   357,   358,   359,   360,     0,   361,   362,   363,
14074      364,   365,   366,   367,     0,   368,   369,     0,   371,   372,
14075      373,   374,  1084,  1085,     0,  1086,     0,   378,   379,   380,
14076      381,   382,   383,   384,   385,   386,   387,     0,     0,   388,
14077        0,   390,   391,   392,     0,   393,   394,   395,     0,     0,
14078      396,   397,   398,   399,   400,   401,   402,   403,   404,   405,
14079      406,   407,   408,   409,   410,   411,  1087,   413,  1088,   415,
14080      416,   417,   418,   419,   420,   421,     0,     0,   424,     0,
14081      425,   426,   427,   428,     0,     0,   430,  1089,   432,   433,
14082      434,     0,   435,   436,     0,     0,   437,   438,   439,     0,
14083        0,   440,   441,     0,   443,   444,   445,     0,   447,   448,
14084      449,   450,   451,   452,   453,   454,   455,     0,     0,   456,
14085      457,     0,   459,     0,   461,   462,   463,     0,   464,   465,
14086      466,   467,   468,   469,   470,   471,   472,   473,  1090,   475,
14087      476,   477,   478,     0,   479,   480,   481,   482,   483,   484,
14088      485,   486,   487,   488,   489,   490,     0,   491,   492,   493,
14089      494,   495,   496,   497,   498,     0,   500,   501,   502,   503,
14090      504,   505,   506,   507,   508,     0,   509,   510,   511,   512,
14091      513,     0,   514,   515,     0,   517,   518,   519,   520,   521,
14092     1092,   523,     0,   524,   525,   526,   527,   528,   529,   530,
14093      531,   532,   533,   534,   535,   536,     0,   538,     0,   539,
14094      540,     0,   541,   542,   543,   544,   545,   546,   547,     0,
14095      548,  1093,  1094,     0,     0,   551,   552,     0,   554,     0,
14096        0,   556,   557,   558,   559,   560,   561,   562,   563,     0,
14097        0,   564,   565,   566,   567,   568,     0,     0,   569,   570,
14098      571,   572,   573,     0,  1095,     0,   576,   577,   578,   579,
14099      580,   581,     0,     0,   582,     0,     0,   583,   584,   585,
14100      586,   587,   588,  1073,     0,     0,     0,     0,     0,     0,
14101        0,     0,     0,     0,   600,   601,   602,     0,     0,     0,
14102      230,   231,   232,   233,   234,   235,   236,   237,     0,   238,
14103      239,   240,     0,     0,     0,     0,     0,     0,     0,   241,
14104      242,     0,   243,   244,   245,   246,   247,   248,   249,     0,
14105        0,   252,     0,     0,     0,   255,   256,   257,   258,   259,
14106      260,     0,     0,   261,   262,     0,     0,   265,     0,   266,
14107      267,   268,   269,     0,     0,   271,     0,   272,   273,   274,
14108      275,   276,   277,   278,   279,   280,     0,   281,   282,   283,
14109      284,   285,   286,     0,   287,   288,   289,   290,     0,     0,
14110        0,   291,     0,     0,     0,   292,   293,   294,   295,   296,
14111      297,     0,     0,   300,     0,   301,     0,   302,   303,   304,
14112      305,   306,   307,     0,   308,   309,   310,   311,     0,     0,
14113      312,   313,   314,   315,   316,     0,   317,   318,   319,     0,
14114      320,   321,   322,     0,   323,   324,   325,   326,     0,   328,
14115      329,   330,   331,     0,     0,   333,     0,   334,   335,     0,
14116      337,     0,   338,     0,   339,   340,     0,   341,   342,   343,
14117      344,   345,     0,   346,     0,     0,     0,   349,   350,     0,
14118      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
14119        0,   361,   362,   363,   364,   365,   366,   367,     0,   368,
14120      369,     0,   371,   372,   373,   374,     0,     0,     0,     0,
14121        0,   378,   379,   380,   381,   382,   383,   384,   385,   386,
14122      387,     0,     0,   388,     0,   390,   391,   392,     0,   393,
14123      394,   395,     0,     0,   396,   397,   398,   399,   400,   401,
14124      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
14125        0,   413,     0,   415,   416,   417,   418,   419,   420,   421,
14126        0,     0,   424,     0,   425,   426,   427,   428,     0,     0,
14127      430,     0,   432,   433,   434,     0,   435,   436,     0,     0,
14128      437,   438,   439,     0,     0,   440,   441,     0,   443,   444,
14129      445,     0,   447,   448,   449,   450,   451,   452,   453,   454,
14130      455,     0,     0,   456,   457,     0,   459,     0,   461,   462,
14131      463,     0,   464,   465,   466,   467,   468,   469,   470,   471,
14132      472,   473,     0,   475,   476,   477,   478,     0,   479,   480,
14133      481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
14134        0,   491,   492,   493,   494,   495,   496,   497,   498,     0,
14135      500,   501,   502,   503,   504,   505,   506,   507,   508,     0,
14136      509,   510,   511,   512,   513,     0,   514,   515,     0,   517,
14137      518,   519,   520,   521,     0,   523,     0,   524,   525,   526,
14138      527,   528,   529,   530,   531,   532,   533,   534,   535,   536,
14139        0,   538,     0,   539,   540,     0,   541,   542,   543,   544,
14140      545,   546,   547,     0,   548,     0,     0,     0,     0,   551,
14141      552,     0,   554,     0,     0,   556,   557,   558,   559,   560,
14142      561,   562,   563,     0,     0,   564,   565,   566,   567,   568,
14143        0,     0,   569,   570,   571,   572,   573,     0,     0,     0,
14144      576,   577,   578,   579,   580,   581,     0,     0,   582,     0,
14145        0,   583,   584,   585,   586,   587,   588,     0,     0,     0,
14146        0,     0,     0,     0,     0,     0,     0,     0,   600,   601,
14147      602
14148 };
14149 
14150 static const yytype_int16 yycheck[] =
14151 {
14152        6,   206,    37,    52,    45,   638,     0,   922,  1164,     0,
14153     1572,   671,     0,   801,     0,   950,     0,    23,   803,    25,
14154      750,   751,   752,    29,   206,  1121,   756,    21,  1091,    35,
14155       36,    37,  1445,    39,   201,   184,    42,    43,  1186,    45,
14156     1507,    47,   209,   954,   852,   212,   863,  2725,   825,   939,
14157     1491,   948,   923,  1484,  2526,    13,   192,    22,   718,     6,
14158     2598,  1094,  1036,    28,    46,  1223,  1496,  1732,   211,  2191,
14159     2192,  3073,   826,  3046,  1811,  1079,  1080,   810,  1491,   629,
14160       23,  2354,   225,  2891,  1982,  1089,  3342,  2941,  1636,  3692,
14161     3646,    18,   779,     0,    37,  2001,  3361,   671,   875,  2539,
14162     3389,  2439,  1025,  3392,  3099,  2418,  3101,     0,   888,  2701,
14163     3590,  2950,   717,  3744,    21,  3968,  3296,  3688,  1041,  3929,
14164     1010,   171,  3626,   707,  1014,  3985,  2915,  3973,   952,  1019,
14165      680,  2090,  3692,   913,  4482,  4598,  1603,  1604,   918,  1029,
14166      692,  3779,  2817,   695,  3372,  4490,   806,   186,     0,  2046,
14167       51,     0,     0,  1043,     0,  3620,  1474,  2123,  1823,  2157,
14168      186,     0,  3972,     0,     0,     8,     0,  1597,  2134,   712,
14169      830,  1422,    15,  4433,    36,    42,  4237,  1914,   694,   220,
14170      957,    43,  1072,   843,     0,     0,   192,   193,   194,   195,
14171        0,   197,   708,  2155,  1624,   201,     0,   203,  2960,   873,
14172      206,  3668,  4760,   209,  2844,  3359,   212,   849,   849,   215,
14173     4614,   217,  4616,  1369,   220,  4813,  1534,  4672,   224,  3551,
14174      226,  4481,    11,     6,     0,     0,    51,  5036,     6,     0,
14175       74,    59,   806,  1551,  4801,     0,     6,     6,    89,   913,
14176       37,  3625,    28,  3627,   918,    15,    16,     6,     6,  1253,
14177     1254,  1284,  1077,  1078,    34,  2023,  2529,     6,     0,  4714,
14178        6,     0,    13,  1088,   114,     6,    15,    16,    24,    11,
14179     1274,     6,    11,  1003,    15,    16,     6,    11,   161,  2954,
14180       13,     5,  4110,     6,    28,  3307,    28,    11,  2485,    28,
14181     2487,    42,   121,  1110,  2491,   166,  2493,  2494,     6,     6,
14182     1634,  1635,    59,  4721,  4722,  2502,  2503,  2504,  4057,  4058,
14183       28,  4060,  4061,  4062,  4063,  4064,  1437,   173,   183,    59,
14184       13,   166,    41,    74,  5012,     3,     6,    28,    81,    76,
14185      114,  3048,     6,   210,    35,   167,   114,   178,    86,    86,
14186      166,     6,   116,    41,   146,   107,     6,   166,  3986,    42,
14187       59,     5,     3,     0,     5,     6,   146,    11,     6,   273,
14188       11,    79,   273,  1050,  4746,    28,   279,   168,  2641,    87,
14189     2643,  4913,    35,    59,    21,   119,   298,   133,    59,   284,
14190      298,    74,   278,   167,   298,   284,   177,   298,   166,   620,
14191      166,   166,    60,    72,   766,   166,   107,   115,   765,    44,
14192       68,   166,   116,  5212,   349,    52,   889,   353,    44,    40,
14193     5338,  5339,  1386,   922,   190,   190,   367,  1242,  1243,   190,
14194      140,   243,   931,    28,   166,   190,   166,   166,   325,   158,
14195       13,   168,   941,   143,   267,  2888,   114,   349,   395,    38,
14196      214,   118,    24,  2378,  1269,   117,   116,   407,   190,    93,
14197       59,   190,   170,  1364,  4802,  1352,   638,   431,   447,   114,
14198      204,   394,   166,   114,   441,   183,   162,   450,    31,   145,
14199     1789,  5038,   476,  4877,    76,  4930,     5,   195,   488,   280,
14200      264,   491,    11,   714,    86,   489,  1146,   338,  2941,   263,
14201      473,     6,    55,   636,  1813,  1558,    28,   430,  4754,   642,
14202      196,    59,   491,    35,  1164,    76,   161,   689,   119,    76,
14203      487,   339,   655,   487,   186,  5203,   192,   429,   228,    86,
14204     2455,    76,  1209,   128,   123,   254,    76,  1304,   172,   320,
14205      487,   491,  5341,    76,   211,   357,   487,   450,   294,   186,
14206      373,   487,   487,   280,   214,   166,   443,   321,   259,    59,
14207       76,   133,    76,  5481,   268,  1332,   928,   188,   209,   350,
14208      927,  1166,   166,   231,   795,   487,   166,   369,  1228,   487,
14209      218,  5113,  1146,   487,   487,  1486,   487,   333,   116,   369,
14210      231,   135,   339,   488,   385,   263,   491,    13,   407,  3306,
14211      268,   487,   491,   263,   435,  4977,    31,   276,  1422,  3779,
14212      320,   375,   431,   268,   487,  5414,   190,   147,   268,   395,
14213      366,   617,  1128,   353,   491,   359,    42,   623,  1541,   625,
14214      491,   627,   487,   629,  3804,   631,   476,   407,   622,   407,
14215      339,   622,   638,   395,   622,   491,   622,   643,   622,   645,
14216      491,   485,   487,  5201,  5211,   489,   652,   431,    74,  1770,
14217       28,   321,  4132,   339,  1228,   487,  4160,   440,   339,   407,
14218      407,  4917,   487,   491,   382,   491,  1589,   385,   421,   718,
14219      676,  5480,   722,   392,   680,   376,  1192,  1567,   434,   685,
14220     1570,  1164,  5030,   689,  3940,   429,   692,  1347,    13,   695,
14221      487,   618,  1208,  3695,   392,  1355,  1356,   486,   476,  1634,
14222     1635,  1636,   442,   852,   487,   711,  4171,  1578,  1224,  1369,
14223     4175,   489,  5521,   376,   490,   490,  3981,   487,   487,   490,
14224     2993,   762,  5410,   717,  5142,   490,  3982,   485,   487,   487,
14225      339,   489,   483,  4561,   491,  1632,   478,   479,   487,   478,
14226      479,   487,  1522,  4075,   478,   479,   487,  5345,   490,  4216,
14227      483,   490,   487,  2087,   478,   479,   762,   487,   716,   765,
14228      766,   767,  1404,  1404,   487,  5332,   731,   487,   733,   974,
14229      735,   407,   452,  1347,   780,  4159,   741,  4161,   452,   487,
14230      487,   339,   491,   487,   366,   826,  4535,   480,   481,   482,
14231      483,   436,   974,   473,   800,   801,   450,   803,   804,   473,
14232      436,   840,   808,   970,  1952,   491,  3986,   487,  1482,   976,
14233      491,   718,   979,   487,   840,   856,   822,  5272,   429,   473,
14234      826,   491,  1918,   959,   478,   479,   832,   478,   479,   339,
14235     5285,   872,    22,  1641,  1377,    36,   407,  5241,   844,    27,
14236      407,  2963,  2272,  2965,   376,  4906,  4477,   429,   842,  5416,
14237      856,   842,   407,   108,   842,  5111,   842,   407,   842,  5207,
14238     5116,  1535,  2303,  1959,   407,  5210,   872,  1350,   383,   384,
14239      491,    31,  1355,  1356,  1970,    83,  1880,  4031,  1552,  3519,
14240     3193,   407,   491,   407,   890,   202,  1369,   491,  3890,   895,
14241      896,   491,   446,  3333,   211,   433,  1529,   480,   481,   482,
14242      483,   336,   745,   765,   766,   767,   446,   491,   225,     6,
14243      107,     6,  5479,   114,    59,   194,  3889,   125,  3680,  2349,
14244      166,   927,   928,  2921,  5184,   303,  2474,   119,   284,     3,
14245      107,  5386,   833,   491,    26,   842,   264,   804,  2904,   194,
14246     3962,   808,   114,  1767,   950,   951,  5206,   166,   119,   842,
14247      107,  1460,  2203,   959,  5512,    47,   146,    83,  2920,   107,
14248      107,   293,     3,   349,   970,     6,  5420,  5421,   974,    49,
14249      976,   190,   865,   979,  2292,   622,   114,   441,   178,  1462,
14250      168,   491,  4792,   361,   326,  5333,  5449,   351,   994,  1472,
14251      842,  3666,  2951,   842,   842,   278,   842,  5342,  2895,   125,
14252     3273,  3274,    24,   842,   163,   842,   842,   452,   842,   395,
14253     1016,    85,   204,  1522,   166,  3804,  2578,  1023,  1024,  2787,
14254     2788,   399,     6,   401,  2792,    83,   842,   842,   473,   431,
14255     1855,  1856,   842,   204,   366,  4008,  4596,   313,   842,  1045,
14256     1046,  1047,   487,  1049,  4647,  1051,  1052,  1053,   412,   259,
14257      178,  4689,   478,   479,   480,   481,   482,   483,   114,   259,
14258     2216,  2829,  2830,    86,   138,   927,   928,   125,   109,  5523,
14259      717,   718,  4552,   279,  4634,  3272,  1559,  5422,   353,  1562,
14260     1563,  5426,   282,   284,   273,   487,    64,  4647,   296,  2000,
14261     1820,   114,   161,  3366,   436,  4599,   268,  3951,   353,    10,
14262       59,   429,    13,   168,   273,   185,    17,    18,    19,   298,
14263      190,   133,    10,   205,    68,  1121,   395,  1123,  1124,    17,
14264       18,    19,   196,   109,  2187,   263,   128,   315,   130,   298,
14265     1057,   259,  2043,  5478,   119,   491,    24,    24,  4603,   394,
14266      395,   182,    30,  4608,   143,   259,  4611,   227,    68,  4995,
14267     1156,   278,  2087,   478,   479,   480,   481,   482,   483,   349,
14268      114,   407,     3,   351,  3617,  2596,    86,  3620,   109,    29,
14269      296,   268,  1166,   268,  3296,  5028,   336,  5522,  2089,   369,
14270     1186,  1187,  1967,  1968,  4994,  1191,  5032,  1193,  5048,   349,
14271       97,   351,   400,   840,   339,   842,   182,  5542,   395,    24,
14272     5545,   395,   243,   108,    68,   246,   363,  4472,  1214,   208,
14273     4466,   487,   487,  4502,  1220,   353,   170,  1223,   395,   204,
14274     1226,  5031,   410,   415,   144,   279,   300,     5,   416,  4231,
14275     2054,   450,   487,    11,  1240,   435,   292,   429,   296,  3692,
14276      263,   182,   318,   163,    85,   133,   133,   395,   395,   455,
14277      315,  4479,   412,  4813,  1303,   407,  2191,   243,   429,   469,
14278      246,  1744,    83,  2040,  3386,  1271,   335,   216,   175,  1929,
14279     1854,   273,   294,    83,   400,   476,   160,    24,  4273,   190,
14280      144,   259,   293,    30,   485,   284,   487,   488,   489,   194,
14281      491,   371,  1842,  1299,  1300,  1301,   137,  1303,   487,   163,
14282      259,   212,   243,   359,   125,   246,   167,   435,   133,   263,
14283      259,   333,   175,   366,   268,   125,   357,  1323,   487,   636,
14284     5353,   435,  1372,  1928,   476,   642,  1169,  1911,  1171,   366,
14285     1173,  1883,  1175,  4904,  1177,  1178,  1179,   489,   655,   395,
14286      178,  1184,   400,   279,   366,   205,  1898,  1529,   422,  1901,
14287     1389,  1390,   259,  1392,   119,  1361,   430,   311,   485,   433,
14288     4840,   279,   489,  1389,  1390,  1406,  1392,   106,   133,   280,
14289     1886,   357,   321,   327,   359,  4214,   293,   117,  1921,  2203,
14290      339,   437,   280,  2168,  1900,  1391,   133,  4686,  2021,  1395,
14291     1396,   311,    28,   234,   450,   282,   450,  1913,   147,   366,
14292     1406,  1407,  1408,  5034,  1410,   344,   294,   366,  4873,  1961,
14293      118,   487,  1964,  1965,   171,  1958,   357,   473,  1535,  1962,
14294      369,   259,   306,  1966,   423,    85,  1969,   468,  1434,   167,
14295     4729,   487,   407,   240,    10,  1552,   297,    13,   491,    32,
14296       33,    17,    18,    19,   429,   333,   186,   311,   353,   366,
14297      337,   338,  4932,   294,   491,   333,   294,  4937,  4938,  3997,
14298     4052,    34,   200,  1469,  2124,  5498,   126,   293,  1474,   294,
14299      424,  1477,   409,  2388,   231,   296,   136,   215,   366,   366,
14300      429,   344,   468,   240,  1490,  1491,   296,   225,   158,   394,
14301      395,   430,   128,  1499,   294,   333,  1502,   404,  3951,    51,
14302       93,  5104,   241,   211,   424,   244,  4276,   126,   333,  4689,
14303     2334,   372,  2435,  4283,   450,  5075,   491,   136,   216,  1166,
14304      113,   310,   310,  1529,   491,  1531,  4791,   468,  1534,   407,
14305     1457,   171,   450,   333,   156,  2359,    24,   282,   431,  2474,
14306      366,   366,  2638,   308,  5104,  1551,   487,   294,  1554,   294,
14307      220,  1557,  1593,   105,   147,   182,  2216,   398,  5114,   400,
14308      424,   259,   171,   474,   475,   476,   366,   478,   479,   480,
14309      481,   482,   483,  1579,   147,  4803,   474,   475,   476,   400,
14310      478,   479,   480,   481,   482,   483,   333,  1593,   333,  1236,
14311      400,   231,   116,   168,   487,  3501,  2420,   435,    88,  1605,
14312     1606,  1607,  1608,  1609,  3917,   343,   228,   147,   294,  1256,
14313      359,   116,  2535,  3175,  2368,  2369,   243,  1623,  2372,   366,
14314      409,   409,   231,  3961,  2448,    24,   201,   217,  1634,  1635,
14315     1636,    30,  3063,   409,   294,  2558,  2559,  2560,  2561,  3952,
14316      130,  1288,   399,   156,   401,   133,   395,  2570,   487,  5209,
14317     1543,   203,   161,   275,   117,  1548,  1303,  3779,  2438,  2209,
14318     2468,  2469,  2470,   172,   453,   453,   128,   190,   130,   329,
14319      427,   369,  2595,   333,   198,   294,   237,   453,   259,  3876,
14320      366,   190,  3804,  3880,  3881,   335,  3883,   487,   437,   169,
14321     1895,   169,   338,   733,   734,   735,  2520,   442,   738,   739,
14322      740,   450,  1838,  3440,   280,  3253,   366,   259,   748,   214,
14323     5266,  3259,  1894,  1895,   333,   228,   325,  1884,  4171,  2609,
14324      366,   359,  4175,   186,   473,  1618,  1732,   292,  1734,  1622,
14325      357,   429,   263,   284,   133,   259,   329,   268,   487,   263,
14326     1746,  1747,  1389,  1390,  3642,  1392,  4748,     0,   156,  4022,
14327      294,  4024,   333,   161,   337,  5011,  4778,   395,   263,   399,
14328     1766,   401,  3530,  3531,  3532,  3533,   359,  3197,  3536,  3537,
14329     3538,  3539,  3540,  3541,  3542,  3543,  3544,  3545,   301,  1785,
14330     2534,  5046,   294,   366,  2300,  5345,    13,   427,   319,   333,
14331      399,   407,   401,  2302,   359,  1801,  1802,  1803,  1804,   437,
14332      450,   263,   395,   355,   301,   356,   490,     5,  1814,  5037,
14333      333,   273,  3242,    11,   337,  1821,   321,  1823,   427,   359,
14334      228,   333,  5425,   473,  2374,   337,   325,  3595,  3596,  1835,
14335      395,   349,  1838,   342,   443,   450,  1842,   398,   316,  2021,
14336      337,   491,  1848,   366,   437,   450,   450,    74,   441,   487,
14337     2998,  4529,  4825,    34,   366,   395,    22,   450,  2588,  5419,
14338      476,   360,    28,   381,  3986,  5425,   427,   275,   348,   366,
14339      348,    45,   437,   489,   354,   313,   491,  1883,  1884,  2388,
14340      473,   361,   349,   361,   351,   450,   491,   491,  1894,  1895,
14341      351,   452,  1898,    67,   487,  1901,   395,   437,   474,   475,
14342      476,  3368,   478,   479,   480,   481,   482,   483,   473,  2392,
14343      450,    13,  1918,  1919,  2423,   294,   396,  2400,   396,  1925,
14344     2403,  1927,   487,  5526,   491,   166,   487,   450,  4923,   264,
14345      265,   294,  5221,   473,  1928,   333,  1977,   114,   418,  5204,
14346       42,  2601,   333,   412,   443,   412,  1952,   487,  2457,   190,
14347      473,   412,   353,  1959,   333,  1961,   272,  1992,  1964,  1965,
14348     4432,  1967,  1968,  4641,  1970,  4643,  5526,  2971,   366,   161,
14349      333,  1977,    74,   150,  4646,   366,   356,  5205,  1984,  4252,
14350     4253,   382,  4654,   106,  2808,  1991,  1992,  5009,  1982,  1995,
14351     2814,  1982,   184,  1999,  1982,  2001,  1982,  2657,  1982,  4471,
14352     2006,  2007,   443,   366,  5026,   325,   183,  2013,  2014,  2015,
14353        6,  4451,  2018,  4821,  2020,  2021,  2022,  2023,  2024,  2025,
14354     2026,  2027,  1929,  2029,   359,  2031,  2032,  2601,   452,  2035,
14355      253,  3696,  2719,  2720,   399,   161,   401,   486,   294,   162,
14356      360,  5063,   491,   218,  2050,  2051,  2052,  2053,  1991,   473,
14357      487,  2057,  2058,  2258,   277,  3523,  2062,   450,   184,  2065,
14358      395,   294,  2068,  2069,  2070,  2071,  2072,  2073,  2074,  2075,
14359     2076,  1998,  2078,   196,   242,   395,  2258,   333,  2084,  2085,
14360      473,  2087,  2890,  2657,  3552,   487,   263,  5060,  2094,  2256,
14361      116,  5347,  2259,  2260,   487,  1938,   329,  1940,   294,  1942,
14362      333,  1944,   437,  1946,    94,    93,  5334,  1950,  4421,    76,
14363      366,   488,   294,  2249,   491,   450,  5118,  2123,   241,    86,
14364      399,   244,   401,   443,  2130,   113,   412,  1167,  2134,  2135,
14365     1170,   240,  1172,   366,  1174,   161,  1176,   333,   473,  2145,
14366     1180,  3909,    94,  4596,  2961,  2688,   412,   337,  2154,  2155,
14367     4603,   333,   487,   485,   263,  4608,  2299,   489,  4611,   147,
14368     2893,   321,  2168,  5017,  5186,    26,   335,  4975,   161,  2175,
14369      366,  2177,   198,   356,   334,   143,   366,   167,  3049,   240,
14370      370,  4634,  2173,  2218,   366,  2220,    47,  5415,   156,  3751,
14371      240,   184,    86,   161,  4647,  4392,   192,  4394,  4395,  3347,
14372      265,  4398,   362,  2209,  3075,   201,   156,   452,  2691,  3357,
14373      200,   161,  2218,   209,  2220,   167,   212,  4966,  2851,  4968,
14374       37,  2128,   917,  4972,  4973,   215,  3963,   487,   473,   489,
14375     2271,  2237,   450,   259,  2377,   225,  2896,   263,    90,    56,
14376      208,   936,   487,  2249,   939,  2251,  2252,   450,   200,   194,
14377     2256,  2216,  2258,  2259,  2260,   473,  2262,   242,  2264,  1543,
14378      228,   251,  2268,   215,  1548,  2271,   278,  5269,  5524,   184,
14379      473,   283,  5021,   225,   143,   486,   488,   171,   228,   491,
14380      491,  1928,  3749,   412,  3751,   913,  2292,   156,   491,   106,
14381      918,   485,   161,   487,   359,  5103,   143,  2303,  3728,   251,
14382      194,  3742,  1619,  5325,   443,  2311,  2312,   275,   278,   156,
14383      482,  2454,  2318,   283,   161,   487,   284,   489,  3253,  3984,
14384       82,  2327,     3,  3481,  3259,   275,   278,  2368,  2369,    55,
14385      395,  2372,   143,   488,  1618,  1982,   491,   231,  1622,   208,
14386      356,   329,  2348,  4656,   450,   156,   452,  2353,  2354,    10,
14387      161,   218,    13,   343,  3784,  3015,    17,    18,    19,   228,
14388     4813,   208,  2368,  2369,   488,  3339,  2372,   491,  2374,  2375,
14389     3293,   359,   437,    34,    65,    66,   193,   482,  5380,  3412,
14390     3413,   228,   487,   487,   489,   450,  5408,   488,     5,   283,
14391      491,   343,  2398,   488,    11,  2401,   491,   208,    11,   485,
14392      237,   487,    19,   489,    85,   487,   275,   395,   473,   353,
14393     3300,   488,  2059,  2896,   491,   284,   278,   228,  2424,  2425,
14394     4873,    38,   487,   488,   241,   490,    55,   244,   275,   255,
14395      256,   257,   258,  2439,   237,  2441,  2442,   284,    15,    16,
14396      237,  3015,   259,   491,  2800,  2988,  2802,  2803,   488,   437,
14397     2415,   491,  5474,    45,   488,   423,   137,   491,   488,   349,
14398      350,   491,   450,  5465,   275,   487,  2472,  2473,  2474,  2985,
14399     2986,  3295,  2478,   284,  1791,   441,   293,   488,  2484,   431,
14400      491,   488,  1799,   443,   491,   473,  2492,   488,   488,  2495,
14401      491,   491,    82,  2534,  1811,  2501,  4769,   470,  2033,   487,
14402      359,  2036,    32,    33,  2510,   399,  2512,   401,  3975,   488,
14403      214,   488,   491,  5051,   491,   489,   353,  3341,   412,   488,
14404     2526,   338,   491,  2529,   488,  2531,  2173,   491,  2534,   281,
14405      424,   488,  2538,   427,   491,  2541,   395,  4734,   450,   488,
14406      452,  3050,   491,   360,   278,  3693,  3694,  2553,  2554,   488,
14407      353,   212,   491,   234,   423,   488,   353,  3970,   491,  3990,
14408      487,   398,   489,   380,  5017,  2571,   161,  4689,  2735,  5377,
14409     1887,  2738,   349,   350,  2741,  2581,   423,  2583,   437,   281,
14410      488,     3,  2540,   491,   399,  5263,   401,   237,   278,  2580,
14411      427,   450,   470,  2729,  4907,   398,  3326,  1914,  2627,  2628,
14412     2629,   398,  4915,    25,   488,  2611,   488,   491,   488,   491,
14413      281,   491,   423,   294,   473,   452,  3125,    45,   237,   280,
14414      301,   450,  5075,   452,   427,   470,   237,  3143,   487,   214,
14415      427,   399,  2638,   401,  2640,  2641,  2642,  2643,   488,   480,
14416      488,   491,  3302,   491,  3304,   488,  3162,   165,   491,   452,
14417      487,  5104,   333,   491,   488,   452,   337,   491,   488,    10,
14418      490,  3572,    13,    85,   349,   350,    17,    18,    19,  2851,
14419      488,   488,  2678,  3677,   485,   237,   488,   488,   489,   491,
14420      676,   487,  5490,    34,   487,   366,   349,   350,   488,   685,
14421      487,   491,   488,  4815,   488,   491,   692,   491,   488,   695,
14422      490,    37,   488,   353,   488,   491,   846,   491,   848,   237,
14423      488,  3465,   488,   491,   832,   491,   138,   398,   488,   400,
14424       56,   491,  4176,  2729,  4178,  3385,    55,  4289,  3302,  2735,
14425     3304,   488,  2738,  2915,   353,  2741,  5236,  5237,   210,  3636,
14426     2789,  3565,   353,   488,  2750,   487,   491,  5555,   398,   166,
14427      488,   488,  2758,   491,   491,   488,  5209,  2763,   491,   488,
14428      488,   454,   491,   491,  3675,  5359,  5360,   487,   190,   450,
14429      106,   489,   488,   488,   196,   491,   491,   427,   487,   398,
14430     4548,  2787,  2788,  2789,  2833,   488,  2792,   398,   491,   488,
14431      488,   353,   491,   491,  2800,  2801,  2802,  2803,    51,   487,
14432      333,  3317,   452,  3319,   190,   148,   488,  2813,   427,   491,
14433     2816,  3385,  2818,   474,   475,   476,   427,   478,   479,   480,
14434      481,   482,   483,  2829,  2830,   353,   488,  2833,   488,   491,
14435     4271,   491,   488,   452,   170,   491,   398,   487,   487,   148,
14436      488,   452,    95,   491,   489,  2851,   278,  2853,   190,  2855,
14437      488,  2857,  5324,   491,  3631,   488,   333,   193,   491,   237,
14438     3750,   212,   148,  2180,   278,   427,   488,   120,   487,   491,
14439      398,  2877,   190,   148,   488,  2881,   487,   491,   300,   148,
14440      488,  2198,  2888,   491,   137,   278,   488,  2204,   141,   491,
14441      452,  2208,  5345,   161,   488,   333,  2945,   491,  2904,   427,
14442     2882,  2883,  2884,  3720,    10,   241,  2912,    13,   244,   162,
14443      488,  3454,   165,   491,   148,   488,   488,  2234,   491,   491,
14444      226,  2927,   344,   259,   452,   487,   116,   180,   488,   280,
14445      431,   491,   278,  2580,   488,  2941,    42,   491,   242,  2945,
14446        0,  2888,  2948,    49,  2950,   488,   488,   488,   491,   491,
14447      491,   272,   488,   487,  3778,   491,  3780,   293,   128,   487,
14448      130,   237,  2279,   959,  3480,   412,  5419,   488,    74,   443,
14449      491,   393,  5425,   488,   970,   353,   491,   356,   488,  3803,
14450      976,   491,  2299,   979,   154,  2991,   488,  2993,   161,   491,
14451      488,  3862,  2998,   491,  2941,   488,  3886,   218,   491,  3823,
14452      422,   488,   338,   488,   491,   488,   491,  3490,   430,   488,
14453      488,   433,   491,   491,  2331,   268,    68,   263,    37,  3025,
14454      398,  3027,  3028,  3029,   360,   488,   488,   488,   491,   491,
14455      491,   488,   263,    93,   491,   141,   488,   487,  1156,   491,
14456     2357,   454,   488,   278,   380,   491,  2363,   488,   488,   427,
14457      491,   491,   161,  2370,   263,  1051,  1052,  1053,    45,  4122,
14458     2377,     0,   488,  2380,  3872,   491,   319,   488,    45,  2386,
14459      491,  4839,   488,  5526,   452,   491,   263,   353,   488,   185,
14460      417,   491,   263,   143,   190,   255,   256,   257,   258,  2406,
14461       85,    24,   262,   263,   294,  2412,   156,    30,   268,   443,
14462     2417,   161,   443,   273,   161,   148,   166,   314,   148,   487,
14463      487,   148,   172,  2430,  3296,   175,   440,   487,   307,   179,
14464      487,   227,   398,   474,   475,   476,  2443,   478,   479,   480,
14465      481,   482,   483,   148,    36,  3141,   148,  2454,   487,    72,
14466      454,   148,  2789,    68,   491,   148,   148,   148,   208,    74,
14467      148,   427,   148,   161,    93,   148,   128,   148,   130,   148,
14468      148,    86,   148,   148,   278,   395,    37,   487,   228,   161,
14469      226,   161,   487,   278,   280,     6,   452,     6,   161,   487,
14470      487,     6,   154,     6,   487,  1303,  2833,   487,   487,   114,
14471      487,   116,   487,   126,   487,   487,   487,   487,   487,   487,
14472      133,     6,   487,   136,   143,   487,   487,   487,     6,  2856,
14473      487,   487,   451,   487,   487,   275,   487,   156,   278,   290,
14474      487,   487,   161,   487,   284,  2872,   487,   166,   487,   162,
14475      487,   487,   210,   172,    37,    97,   175,   491,    37,   491,
14476      179,  2888,   226,   491,   414,   170,   161,  3253,   275,   161,
14477      273,   366,    64,  3259,   407,   425,   407,   353,   407,    37,
14478      442,   407,  3268,   196,   353,   371,   489,  3273,  3274,   208,
14479      407,   407,   353,   198,   228,   407,   337,  4188,    56,   476,
14480      340,   407,   407,   255,   256,   257,   258,   353,   148,   228,
14481      262,    86,  1410,  4441,  2941,   358,   268,   278,  2945,  4210,
14482      223,   273,  3308,  3309,  3310,   407,   407,   268,   122,   407,
14483     5078,   430,   398,   278,   349,   273,   298,   407,   487,  3325,
14484      407,  3804,   183,   487,    86,   491,   259,   294,   106,   122,
14485      263,   190,   148,   407,  3375,   395,   275,   431,   263,   278,
14486      273,  3347,  3348,   268,   395,   284,   431,   122,   407,   282,
14487      395,  3357,  3358,  3359,   407,   108,   122,  3363,   407,   407,
14488     3366,   294,    55,   423,    55,   471,   407,   248,   407,  3375,
14489      318,   407,   478,   479,   480,   481,   482,   483,   407,   407,
14490     3371,   407,  2699,   407,  4797,   407,   311,   447,   282,   449,
14491      450,   407,   398,   407,   407,   298,   407,   298,   407,    44,
14492     2717,   340,   327,   336,   337,    44,   212,  3398,  2725,   491,
14493      407,   488,   492,   407,   278,   193,   212,  4205,  3934,  3935,
14494      454,   212,   212,   278,  3465,   485,   212,   407,   488,   489,
14495      490,   212,   278,   366,   278,   212,   212,   407,  3444,   212,
14496      487,   417,   414,    37,   148,  4912,    26,   148,   278,   114,
14497      263,   450,   431,   425,  3603,   234,   395,   278,   148,  3465,
14498      148,   148,   273,   241,    37,   161,   244,   442,    37,   263,
14499      487,   263,  3478,   218,   263,  3481,   355,   487,    36,   405,
14500      407,   259,   487,   487,   423,   405,   407,   487,   407,  4032,
14501     4033,  4034,  4035,  4036,   407,   148,   148,  3503,   148,   424,
14502      431,   434,   431,   272,   148,   148,  3512,   407,   447,   267,
14503      449,   450,  4402,   487,  3520,   293,  3522,   485,   166,  3525,
14504      248,   485,   446,   248,  3530,  3531,  3532,  3533,    13,   491,
14505     3536,  3537,  3538,  3539,  3540,  3541,  3542,  3543,  3544,  3545,
14506      405,   487,   487,  3549,  3550,   175,   485,   157,   166,   488,
14507      489,   490,  3601,  3559,   407,  4038,   491,  3563,   409,    10,
14508      338,  3567,    13,  4196,   183,   369,  4501,   183,   208,  3575,
14509      488,  3620,  3578,   279,  3580,   491,    37,   491,   216,   431,
14510      287,    55,   360,   488,   431,    10,  3592,   216,    13,  3595,
14511     3596,    42,   353,   216,  3600,  3601,   487,  3779,    49,  3605,
14512      268,  3607,   380,   487,   268,   407,   407,   407,  3614,  3615,
14513     3616,  3617,   356,   161,  3620,  3621,   242,    42,   218,  3625,
14514     3626,  3627,  3804,    74,    49,   412,  3632,  3609,  3610,  3611,
14515     3612,   268,   278,   443,    45,   375,   278,   226,   263,     0,
14516      226,   226,   278,   407,   349,   122,   398,   278,  3642,    74,
14517      491,  3642,  3658,   333,  3642,   366,  3642,   278,  3642,   184,
14518      363,   278,   321,    37,   407,   407,  3672,   212,  3674,   284,
14519     3617,   488,   431,  3620,   431,   218,   317,   148,   273,   476,
14520      161,    37,   396,   443,  5452,  5453,  3692,  3693,  3694,   273,
14521     3696,   163,  4422,   363,   318,  3012,   148,   273,   148,   487,
14522      148,   431,   487,   450,   263,    37,   263,  3713,  3714,  3715,
14523     3716,   278,   278,   218,   181,   181,   141,   161,    37,   162,
14524      488,   470,   485,   488,  3371,   357,   246,   218,   363,   470,
14525     1848,   161,    93,   488,   185,   263,  3742,   488,   488,   190,
14526      278,   190,   454,   190,  5306,  3692,    25,   173,   190,   190,
14527      190,  3398,  4268,   491,  3760,   491,   491,   166,   407,   245,
14528      185,   487,   278,    55,   450,   190,   272,   491,  4916,   443,
14529      488,   488,   218,   395,   166,   488,   227,   487,   412,   488,
14530      488,   290,   143,   166,   299,   470,   488,   262,   488,   488,
14531      289,   488,   487,   491,   488,   156,   488,    55,  4281,   407,
14532      161,   240,   227,   487,  3986,   166,  3123,  4963,   487,   487,
14533      487,   172,   487,   236,   175,   472,  4359,  4360,   179,  4362,
14534      447,   278,   429,   437,   278,   476,   281,   447,   194,   280,
14535      148,   487,   487,   278,  4350,   407,   407,   407,   202,  1835,
14536      268,   454,  1838,   151,   407,   263,  3811,   208,   148,   282,
14537      358,  3857,   366,   148,   148,   280,  4952,  3822,  4954,   226,
14538      358,   358,   151,   194,   278,   476,   407,   228,   151,   431,
14539      228,   300,   428,   300,   151,   407,   407,   407,   382,   491,
14540      407,  1999,   122,  2001,   238,   238,  3892,  1883,  1884,  2007,
14541      238,   353,   263,   353,   407,  2013,  2014,  2015,   366,  3905,
14542      407,  3907,  1898,  3909,   407,  1901,  2024,  2025,    44,   148,
14543     3916,  2029,   407,   407,   275,  4739,  3922,   278,   353,   407,
14544      371,   353,   486,   284,   407,   407,  3932,   407,   407,   178,
14545      212,  3248,   212,  4449,   488,   488,   488,   212,   212,   488,
14546      491,  3947,   488,     3,   417,  3951,   371,   161,    45,   335,
14547      107,   488,   491,   161,  3601,  3961,    37,   148,   487,   148,
14548      161,   178,   488,   487,  3970,  1961,   476,   486,  1964,  1965,
14549     3617,   407,   431,  3620,  3980,   486,   488,   148,  3984,   340,
14550      353,   353,  4767,   353,   353,  3991,  3992,    10,  3979,   491,
14551       13,   353,   146,   431,  5150,  3642,   281,   146,   363,   212,
14552      212,   212,   212,   212,  3951,   212,   212,   212,   139,   485,
14553     5158,  5159,    13,   166,  4196,  4648,  4022,   290,  4024,    42,
14554      471,   491,   161,   488,   488,  4031,    49,   478,   479,   480,
14555      481,   482,   483,   166,   395,   488,   442,   262,   166,   447,
14556      175,   404,   473,   340,    84,   436,   471,   161,    37,   417,
14557     4858,    74,   431,   478,   479,   480,   481,   482,   483,   218,
14558     4066,   407,   423,    55,   488,   487,   148,   488,  4701,   488,
14559      487,   491,  4078,   488,   487,   491,   431,   202,   398,   382,
14560      487,   170,   417,   407,    10,   151,   447,    13,   449,   450,
14561      358,    17,    18,    19,   407,   407,   353,   407,   407,   353,
14562      488,   488,  4108,   488,   333,  4111,   487,   450,    34,    55,
14563      398,   437,    10,  4119,  4120,    13,   161,  5052,   141,    74,
14564     4126,  4127,   278,  3440,   485,  4131,   148,   488,   489,   490,
14565      107,  4137,   212,   417,  4140,  4141,   488,   212,   212,  4145,
14566     4146,  3458,   212,   487,    42,  4151,  4152,  4153,  4154,  4155,
14567     5298,    49,   216,  4159,  4160,  4161,   197,  4163,  4164,   487,
14568      407,  4167,   185,   454,   491,  4171,  3483,   190,   278,  4175,
14569      328,   488,    37,   276,  4690,  4181,    74,   491,   298,   278,
14570        3,   487,   417,   407,   491,   487,   491,   488,   486,   363,
14571     4196,   172,   107,   166,  4229,   212,   166,    55,   488,  4205,
14572      448,   488,   488,  4209,   227,   448,   487,   290,  4214,   215,
14573      488,   288,   215,   397,   285,   491,  4207,  4208,   488,   488,
14574      487,   487,   487,  4229,  4171,    55,  4232,   179,  4175,   488,
14575      273,   404,   476,   166,   417,   407,    74,   191,  5394,   196,
14576      184,   184,   268,   141,   268,   476,  4252,  4253,   450,    55,
14577      398,    68,   407,  2249,  5169,   491,   407,   280,   491,   148,
14578     2256,  1096,   407,  2259,  2260,  4271,   151,   407,  1396,   488,
14579      212,   487,   121,   168,   166,   114,    37,   190,   273,   431,
14580     4286,  1116,    37,   487,   363,   431,   212,   185,   263,  4949,
14581      163,  1126,   190,   161,   363,  1130,    55,   273,    80,  1134,
14582      450,  1136,   398,  4963,  3951,    37,   450,  1142,     6,   166,
14583     4275,   278,   487,  1148,   161,   199,  1151,   281,   166,   210,
14584     4285,   487,   487,  4866,  5148,   436,   379,   488,   488,   227,
14585     4336,   449,  3979,   298,  4877,   215,    86,   129,   278,   327,
14586      487,    10,   407,    37,    13,   487,   487,   148,   371,   148,
14587      488,   488,   407,   487,   280,  4361,   161,   487,   487,    37,
14588      487,   487,   268,   487,   487,   239,   194,   488,   487,   363,
14589     4376,   487,   148,    42,   107,    37,   134,   282,   446,   488,
14590       49,   417,   280,   488,   377,  5115,   377,    55,    37,    77,
14591      491,   398,   487,   487,   487,   487,   487,   436,   183,   431,
14592      398,   161,   487,   259,  4410,    74,  3723,   278,   398,     6,
14593      488,   155,   454,  4956,   487,   487,   147,    68,   350,   350,
14594     4426,  5245,   281,    68,   129,   450,  4432,   435,   487,   450,
14595      487,   436,    37,   491,   324,  4441,  2554,   366,   166,   398,
14596      196,   268,   134,   278,   278,   363,    37,    37,   471,   487,
14597     4456,   191,   281,   487,   168,   478,   479,   480,   481,   482,
14598      483,   281,   168,  4469,   491,  4471,  4648,   447,   488,   487,
14599       55,   407,   141,   371,   488,   386,   119,  4468,   429,  5112,
14600     4963,     6,   349,   349,   488,   363,   144,   487,   285,   334,
14601     5150,   487,    23,  2611,   192,    34,  4701,   268,   407,  4505,
14602      487,   487,   166,   201,   202,   487,   491,  4689,   491,   147,
14603       77,   209,   349,   211,   212,   377,   185,   286,   487,  4701,
14604      450,   190,  3839,   377,  4171,  3842,   450,   225,  4175,   168,
14605     1621,   168,   881,  4700,  2538,  2896,  1356,  2423,   842,  3075,
14606     2342,  3778,  4548,  5086,  3753,  5289,  2449,  2508,   474,   475,
14607      476,  3287,   478,   479,   480,   481,   482,   483,   227,  4742,
14608     4207,  4208,  5148,  5394,  3932,  4797,  4766,  2992,  2678,  5268,
14609     4412,  4577,  4578,   471,  4647,  4581,  5383,  4744,  5178,  5177,
14610      478,   479,   480,   481,   482,   483,  5309,  5419,  3980,  2996,
14611     4596,  3965,  5122,  4599,  3923,  2523,  3100,  4603,  2523,  3773,
14612     3337,   923,  4608,  3948,  4773,  4611,  4612,  2517,  4614,  4782,
14613     4616,   280,  4618,  4619,  3349,  4450,  5559,  5396,  4759,  5541,
14614       24,  3295,  3988,  4703,  5322,  1780,    30,  3944,  4634,  5289,
14615     4636,  4935,  5131,    28,  4706,  4041,  4903,  5487,  1193,    43,
14616     1826,  4647,  4648,  4649,  2192,  4651,  3963,  3990,  2970,  4596,
14617     1824,  1835,  5052,  5477,  1894,   705,  4603,   672,  1985,  1985,
14618     3229,  4608,  3803,  1986,  4611,  2448,  3341,  3823,    72,  5350,
14619     5529,  2789,  4011,  4013,  1441,   843,  2124,  2135,   821,  1929,
14620     4630,  4209,  5262,  2801,  3672,  2171,  1333,  4634,  2912,  2927,
14621     2145,  3635,  5254,  1376,  4700,  4701,  5097,     3,  4193,  2170,
14622     4647,  3620,   371,  4160,    10,  4177,  4874,    13,  3617,  5075,
14623     1399,    17,    18,    19,  5074,  2833,  1398,  5541,  3673,  5535,
14624      124,  3617,   126,  5367,  4041,  1401,  5244,  5456,    34,   133,
14625     1859,    37,   136,  2729,  5394,  5559,    42,  1406,  4744,  2735,
14626     4842,  4747,  2738,    49,  3567,  2741,  4622,  5257,  2082,  2856,
14627     5258,  2759,  2085,  4759,  2478,  2854,  4762,    -1,   162,  2877,
14628       -1,  4767,    -1,  4769,    -1,    -1,    -1,    -1,    74,    -1,
14629     4776,  4812,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14630     4771,    -1,    -1,    -1,  4627,    -1,    -1,  4793,    -1,    -1,
14631       -1,  4797,   196,    -1,  4800,    -1,    -1,    -1,    -1,    -1,
14632       -1,    -1,   471,    -1,    -1,  4811,  4812,  4813,    -1,   478,
14633      479,   480,   481,   482,   483,    -1,    -1,    -1,  4809,    -1,
14634       -1,  4468,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14635       -1,    -1,    -1,  4839,  4883,    -1,  4842,    -1,  4844,    -1,
14636       -1,    10,    -1,    -1,    13,    -1,    -1,    -1,    17,    18,
14637       19,    -1,    -1,    -1,    -1,   259,    -1,  4863,    -1,   263,
14638       -1,    -1,    -1,  4869,    -1,    34,  4813,  4873,    -1,   273,
14639       -1,  4877,    -1,    42,    -1,    -1,    -1,  4883,   282,   185,
14640       49,    -1,    -1,    -1,   190,    -1,  4892,    -1,    -1,    -1,
14641      294,    -1,  2888,    -1,    -1,  2023,    -1,    -1,    -1,    -1,
14642       -1,    -1,    -1,  2031,    -1,    74,   212,   213,  4914,    -1,
14643     4916,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14644       -1,   227,    -1,    -1,    -1,    -1,  4873,    -1,    -1,   333,
14645     5112,    -1,   336,   337,    -1,    -1,  4942,    -1,   636,    -1,
14646       -1,  4947,  4948,    -1,   642,  2941,  4952,  4953,  4954,  4955,
14647       -1,    -1,    -1,    -1,    -1,    -1,  4603,   655,    -1,    -1,
14648      266,  4608,   366,    -1,  4611,    -1,    -1,    -1,    -1,    -1,
14649       -1,    -1,    -1,   671,   280,    -1,    -1,   283,   676,  4985,
14650       -1,    -1,    -1,   681,    -1,    -1,  4992,   685,   686,    -1,
14651       -1,  4308,    -1,    -1,   692,    -1,   694,   695,    -1,    -1,
14652       -1,    -1,    -1,  4320,    -1,    -1,    -1,    -1,  5014,   707,
14653      708,  5017,    -1,    -1,    -1,    -1,   185,  2145,    -1,    -1,
14654      718,   190,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14655      434,    -1,    -1,    -1,    -1,    -1,  5027,    -1,    -1,    -1,
14656       -1,    -1,    -1,   212,   213,    -1,    -1,    -1,    -1,    -1,
14657       -1,    -1,    58,    -1,  1889,    -1,    -1,    -1,   227,    -1,
14658       -1,    -1,  1897,    -1,    -1,   371,  5072,    -1,    -1,  5075,
14659     5017,    -1,  5078,    -1,    -1,    -1,  5082,    -1,    -1,    -1,
14660       -1,    -1,  1917,  5089,    -1,    -1,    92,  5093,    -1,  5095,
14661       -1,  5097,    -1,    -1,    -1,    -1,    -1,   266,  5104,    -1,
14662       -1,    -1,   800,   801,    -1,    -1,  5112,    -1,   806,  5276,
14663     5101,   280,    -1,    -1,   283,    -1,    -1,  5123,    -1,    -1,
14664       -1,    -1,    -1,    -1,  4771,    -1,    -1,    -1,  5075,    -1,
14665       -1,    -1,   830,    -1,   832,    -1,    -1,    -1,    -1,    -1,
14666       -1,    -1,    -1,    -1,    -1,   843,   152,    10,    -1,    -1,
14667       13,    -1,  5158,  5159,    17,    18,    19,  5104,    -1,    -1,
14668       -1,    -1,  4809,    -1,    -1,   471,    -1,    -1,   474,   475,
14669      476,    34,   478,   479,   480,   481,   482,   483,    -1,    -1,
14670       -1,   187,    -1,  5189,  5351,  5352,    -1,    -1,    -1,    -1,
14671     5196,    -1,    -1,    -1,  5200,    -1,    -1,    10,    -1,    -1,
14672       13,    -1,   371,  5209,    17,    18,    19,    -1,    -1,    -1,
14673       -1,    10,  4529,    -1,    13,    -1,    -1,   223,    -1,    -1,
14674       -1,    -1,    -1,    -1,    37,    -1,  4873,    -1,    -1,  5235,
14675     5236,  5237,    -1,    -1,    -1,  5241,  4883,    -1,  5244,    -1,
14676       -1,    -1,    -1,    42,    -1,    -1,    -1,    -1,  5254,    -1,
14677       49,  5257,   950,   951,   952,    -1,  5262,   263,    -1,    -1,
14678       -1,   959,  5209,    -1,    -1,    -1,    -1,    -1,   966,    -1,
14679     5276,    -1,   970,    -1,    -1,    74,    -1,    -1,   976,    -1,
14680       -1,   979,    -1,    -1,    -1,  5291,    -1,  2122,    -1,   295,
14681       -1,    10,  5298,   991,    13,   301,    -1,    -1,    17,    18,
14682       19,    -1,   471,    -1,    -1,   474,   475,   476,  1006,   478,
14683      479,   480,   481,   482,   483,    -1,    -1,    -1,  5324,   488,
14684       -1,    -1,   491,  5329,  4641,    -1,  4643,    -1,    -1,  5335,
14685       -1,   337,  5323,   339,    -1,   341,    -1,    -1,    -1,  5345,
14686       -1,    -1,   141,    -1,   350,  5351,  5352,  5353,    -1,   212,
14687       -1,    -1,   358,  1051,  1052,  1053,  5350,  5363,    -1,  5350,
14688      366,  5367,  5350,    -1,  5350,    -1,  5350,    -1,    10,    -1,
14689     5017,    13,   378,    -1,    -1,    17,    18,    19,    -1,  5428,
14690     5027,   387,  5388,    -1,    -1,   391,   185,    -1,    -1,    -1,
14691       -1,   190,    -1,  1091,  5561,  5562,    -1,    -1,  5345,   212,
14692       -1,    -1,    -1,    -1,    -1,    22,    -1,  3525,    -1,    -1,
14693       -1,    28,    -1,  5419,  5420,  5421,    -1,   280,    -1,  5425,
14694       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   227,    -1,
14695     1128,    -1,    -1,    -1,  5428,    -1,    -1,  5428,    -1,   445,
14696     5428,  3559,  5428,    -1,  5428,    -1,  5452,  5453,  1146,    -1,
14697       -1,    -1,    -1,    -1,  5101,    -1,    -1,  5463,  1156,    -1,
14698       -1,    -1,  5468,    -1,    -1,    -1,  1164,   280,    -1,    -1,
14699       -1,    -1,  5419,    -1,    -1,    -1,    -1,    -1,  5425,    -1,
14700       -1,   280,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3607,
14701       -1,    -1,  5498,   212,  1192,    -1,    -1,    -1,    -1,    -1,
14702       -1,    -1,  5508,    -1,    -1,    -1,    -1,    -1,  1206,    -1,
14703     1208,    -1,    -1,    -1,    -1,    -1,    -1,  5523,    -1,    -1,
14704     5526,    -1,    -1,    -1,    -1,    -1,  1224,    -1,    -1,  5535,
14705     1228,    -1,    -1,  5539,    -1,  5529,    -1,    -1,  5529,    -1,
14706       -1,  5529,  1240,  5529,    -1,  5529,    -1,    -1,    -1,    -1,
14707       10,    -1,    -1,    13,    -1,  5561,  5562,    17,    18,    19,
14708       -1,   280,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14709      212,    -1,   371,  1271,    34,    -1,    -1,    -1,    -1,  5526,
14710       -1,    -1,    42,    -1,    -1,    -1,    -1,    -1,    -1,    49,
14711       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14712       -1,  1299,  1300,  1301,    -1,  1303,    -1,    -1,    -1,    -1,
14713       -1,   474,   475,   476,    74,   478,   479,   480,   481,   482,
14714      483,  3617,    -1,    -1,  3620,  1323,    -1,    -1,    -1,    -1,
14715       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   280,    24,
14716       -1,    -1,    -1,    -1,    -1,    30,    -1,    -1,    -1,  1347,
14717       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1355,  1356,  2787,
14718     2788,   474,   475,   476,  2792,   478,   479,   480,   481,   482,
14719      483,  1369,   471,    -1,    -1,    -1,  5323,    -1,    -1,   478,
14720      479,   480,   481,   482,   483,    -1,    -1,    72,    -1,    -1,
14721       -1,    -1,    -1,  1391,    -1,    -1,  3692,  1395,  1396,    -1,
14722       -1,  2829,  2830,  5350,    -1,    -1,    -1,    -1,    -1,    -1,
14723       -1,    -1,  1410,    -1,    -1,    -1,    -1,    -1,  1416,    -1,
14724       -1,    -1,    -1,    37,  1422,   185,    10,    -1,    -1,    13,
14725      190,    -1,    -1,    17,    18,    19,    -1,    -1,    -1,    -1,
14726       -1,   126,    56,    -1,    -1,    -1,    -1,    -1,   133,    -1,
14727       34,   136,   212,   213,    -1,   474,   475,   476,    42,   478,
14728      479,   480,   481,   482,   483,    49,    -1,   227,    -1,    -1,
14729       -1,  2606,    -1,    -1,    -1,    -1,    -1,   162,    -1,  2614,
14730       -1,  5428,    -1,    -1,    -1,    -1,  1484,    -1,    -1,    -1,
14731       74,    -1,   106,   107,    -1,    -1,    -1,    -1,    -1,  2634,
14732      114,    -1,    -1,    -1,    -1,    -1,   266,    -1,    -1,  2644,
14733       -1,   196,  2647,    -1,  2649,  2650,    -1,    -1,  2653,    -1,
14734      280,    -1,    -1,   283,  2659,    -1,  2661,  1525,    -1,  2664,
14735       -1,    -1,   474,   475,   476,    -1,   478,   479,   480,   481,
14736      482,   483,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14737       -1,    -1,    -1,    -1,    -1,    -1,   170,    -1,    -1,    -1,
14738     1558,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14739       -1,    -1,    -1,    -1,   259,    -1,    -1,    -1,   263,   193,
14740       -1,    -1,  5529,    -1,    -1,    -1,    -1,    -1,   273,    -1,
14741       -1,    -1,  2727,    -1,    -1,    -1,    -1,   282,    -1,    -1,
14742       -1,   185,    -1,    -1,    -1,    -1,   190,    -1,    -1,   294,
14743       -1,   371,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14744       -1,  1619,    -1,    -1,    -1,    -1,    -1,   241,   212,   213,
14745      244,    -1,    -1,    -1,    -1,    24,  1634,  1635,  1636,    -1,
14746       -1,    30,    -1,   227,    -1,   259,  5263,    -1,   333,   263,
14747       -1,   336,   337,    -1,    43,  3951,    -1,    -1,    -1,    -1,
14748       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14749       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   293,
14750       -1,   366,   266,    72,    -1,    -1,    -1,    -1,    -1,    -1,
14751     4108,    -1,    -1,    -1,    -1,    -1,   280,    -1,    -1,   283,
14752       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14753       -1,   471,    -1,    -1,   474,   475,   476,    -1,   478,   479,
14754      480,   481,   482,   483,   338,    -1,    -1,    -1,    -1,    -1,
14755       -1,   491,    -1,    -1,    -1,   124,    -1,   126,    -1,  1737,
14756       -1,    -1,    -1,    -1,   133,    -1,   360,   136,    -1,   434,
14757       -1,    -1,    -1,    -1,    -1,    -1,  1754,    -1,    -1,    -1,
14758       -1,    -1,    -1,    -1,    -1,    -1,   380,    -1,   382,  1767,
14759       -1,   385,    -1,   162,  1772,    -1,    -1,    -1,    -1,    -1,
14760       -1,    -1,    -1,    -1,    -1,    -1,    -1,   371,    -1,    -1,
14761       -1,    -1,    -1,  1791,    -1,    -1,    -1,    -1,    -1,    -1,
14762       -1,  1799,    -1,    -1,    -1,    -1,    -1,   196,    -1,    -1,
14763       -1,    -1,    -1,  1811,   731,    -1,   733,    -1,   735,    -1,
14764       -1,    -1,    -1,    -1,   741,   742,   743,    -1,    -1,    -1,
14765     1828,    -1,    -1,    -1,    -1,    -1,    -1,  1835,    -1,    -1,
14766     1838,    -1,    -1,  1841,    -1,    -1,    -1,    -1,    -1,    -1,
14767     1848,    -1,    -1,    -1,    -1,    -1,  1854,    -1,    -1,    -1,
14768       -1,    -1,    -1,    -1,    -1,    -1,  3001,    -1,  1866,    -1,
14769      259,    -1,    -1,   487,   263,  4171,    -1,    -1,    -1,  4175,
14770       -1,    -1,    -1,    -1,   273,  1883,  1884,   471,  1886,  1887,
14771      474,   475,   476,   282,   478,   479,   480,   481,   482,   483,
14772     1898,    -1,  1900,  1901,    -1,   294,    -1,   491,    -1,    -1,
14773       -1,    -1,  1910,  1911,    -1,  1913,  1914,    -1,    -1,    -1,
14774       -1,    -1,    -1,    -1,    -1,    -1,    10,    -1,    -1,    13,
14775       -1,  1929,    -1,    17,    18,    19,    -1,    -1,    -1,    -1,
14776       -1,    -1,    -1,    -1,   333,    -1,    -1,   336,   337,  3084,
14777       -1,  3086,    -1,    -1,    -1,    -1,    -1,    -1,    42,    -1,
14778       -1,    -1,    -1,  1961,    -1,    49,  1964,  1965,    -1,    -1,
14779       -1,    -1,   889,    -1,    -1,    -1,    -1,   366,    -1,    -1,
14780       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14781       74,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14782       -1,  1999,    -1,  2001,    -1,    -1,    -1,    -1,  2006,  2007,
14783       -1,    -1,    -1,    -1,    -1,  2013,  2014,  2015,    -1,    -1,
14784     2018,    -1,  2020,    -1,  2022,  2023,  2024,  2025,  2026,  2027,
14785       -1,  2029,    -1,  2031,  2032,    -1,    -1,  2035,  4456,    -1,
14786       -1,    -1,    -1,    -1,    -1,   434,    -1,    -1,    -1,    -1,
14787       -1,  2049,  2050,  2051,  2052,  2053,  2054,    -1,    -1,    -1,
14788     2058,    -1,    -1,    -1,  2062,    -1,    -1,  2065,    -1,    -1,
14789     2068,  2069,  2070,  2071,  2072,  2073,  2074,  2075,  2076,    -1,
14790     2078,    -1,    -1,    -1,    -1,    -1,    -1,  2085,    -1,  2087,
14791     3225,    -1,    -1,    -1,    -1,    -1,  3231,    -1,    -1,    -1,
14792       -1,   185,  3530,  3531,  3532,  3533,   190,    -1,  3536,  3537,
14793     3538,  3539,  3540,  3541,  3542,  3543,  3544,  3545,    -1,    -1,
14794       -1,    -1,    -1,    -1,    -1,    -1,  2124,    -1,    -1,    -1,
14795     4426,    -1,  2130,    -1,    -1,  3563,    -1,    -1,    -1,    -1,
14796       -1,    -1,    -1,   227,    -1,    -1,    -1,  2145,    -1,    -1,
14797       -1,    -1,    -1,    -1,    -1,    -1,  2154,  2155,    -1,    -1,
14798       -1,    -1,    -1,    -1,    -1,    -1,    -1,  3595,  3596,    -1,
14799       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14800       -1,    -1,  2180,    -1,    -1,    -1,    -1,    -1,    -1,  2187,
14801       -1,    -1,    -1,  2191,  2192,    -1,   280,    -1,    -1,    -1,
14802     2198,    -1,    -1,    -1,    -1,  2203,  2204,    -1,    -1,    -1,
14803     2208,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2216,    -1,
14804       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14805       -1,    -1,    -1,    -1,    -1,    22,  2234,    -1,    -1,  2237,
14806       27,    -1,    -1,    -1,    -1,    -1,    -1,  1164,    -1,    -1,
14807       -1,  2249,    -1,    -1,    -1,  2253,    -1,    -1,  2256,    -1,
14808       -1,  2259,  2260,    -1,    -1,    -1,    -1,    -1,    -1,  2267,
14809       -1,    -1,    -1,    -1,    -1,    62,    -1,    -1,    -1,    -1,
14810       -1,  2279,    -1,    -1,    -1,    -1,    -1,   371,    75,    -1,
14811       -1,    -1,    -1,  3428,    -1,  3430,    -1,  3432,    -1,    -1,
14812     4596,  2299,  2300,    90,    -1,    -1,  3441,  4603,    -1,    -1,
14813     2308,    -1,  4608,    -1,    37,  4611,  4612,    -1,    -1,    17,
14814       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    26,    -1,
14815       -1,    -1,  2330,  2331,    -1,    58,  2334,    -1,  4634,    -1,
14816       -1,    -1,    -1,    -1,   131,    -1,    -1,  3482,    -1,    -1,
14817       -1,  4647,    -1,    -1,    -1,   142,    -1,    -1,    -1,  2357,
14818       -1,  2359,    -1,    -1,    -1,  2363,    -1,    -1,    -1,    92,
14819       -1,    -1,  2370,    -1,    -1,    -1,   163,    10,    -1,  2377,
14820       13,   168,  2380,    -1,    17,    18,    19,   471,  2386,    -1,
14821      474,   475,   476,    -1,   478,   479,   480,   481,   482,   483,
14822       -1,    34,    -1,    -1,  4700,    -1,    -1,    -1,  2406,    42,
14823       -1,    -1,    -1,    -1,  2412,    -1,    49,    -1,    -1,  2417,
14824       -1,    -1,  2420,    -1,    -1,    -1,  4844,    -1,    -1,   152,
14825       -1,    -1,  2430,  1350,    -1,    -1,    -1,    -1,  1355,  1356,
14826       -1,    74,    -1,    -1,    -1,  2443,    -1,    -1,  4744,    -1,
14827     2448,    -1,  1369,   240,    -1,    -1,  2454,    -1,    -1,    -1,
14828       -1,    -1,    -1,    -1,   187,  4883,    27,    -1,    -1,    -1,
14829       -1,    -1,    -1,    -1,  2472,  2473,  2474,    -1,    -1,    -1,
14830     2478,  3909,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14831       -1,    -1,    -1,   280,    -1,   218,    -1,    -1,    -1,    -1,
14832      223,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14833       -1,    -1,  2510,  2511,    -1,    76,    -1,  4813,    -1,    -1,
14834       -1,    -1,  2520,    -1,    -1,    -1,    -1,   314,   315,  4947,
14835     4948,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14836      263,    -1,    -1,    -1,    -1,  1462,    -1,   108,    -1,    -1,
14837       -1,    -1,   185,    -1,    -1,  1472,  2554,   190,    -1,    -1,
14838      347,    -1,    -1,    -1,    -1,    -1,   353,    -1,    -1,    -1,
14839      131,    -1,   295,   360,    -1,    -1,   363,  4873,   301,   212,
14840      213,   142,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14841       -1,    -1,    -1,    -1,   227,  2593,    -1,    -1,  2596,  1516,
14842     1517,    -1,   163,  2601,    -1,    -1,    -1,   168,   395,    -1,
14843       -1,    -1,    -1,  2611,   337,   402,    -1,    -1,   341,    -1,
14844       -1,    -1,    -1,   410,    -1,    -1,    -1,   350,    -1,    -1,
14845      417,    -1,    -1,   266,    -1,   358,    -1,    -1,    -1,    -1,
14846       -1,    -1,  1559,   366,    -1,  1562,  1563,   280,    -1,    -1,
14847      283,    -1,    -1,    -1,  5072,   378,   443,    24,   219,  2657,
14848       -1,    -1,    -1,    30,   387,    -1,    -1,    -1,   391,    -1,
14849       -1,  5089,    -1,    -1,    -1,  5093,    43,  5095,    -1,   240,
14850       -1,    -1,    -1,  4111,    -1,    -1,    -1,   410,    -1,    -1,
14851       -1,    -1,    -1,    -1,    -1,    -1,  4992,    -1,    -1,    -1,
14852       -1,  2699,    -1,    -1,    -1,    72,    -1,    -1,    -1,    -1,
14853       -1,    -1,    -1,    -1,    -1,    -1,    -1,  2715,    -1,  2717,
14854       -1,  5017,   445,    -1,    -1,    -1,   449,  2725,    -1,    -1,
14855       -1,  2729,    -1,    -1,  2732,  4163,    -1,  2735,   371,    -1,
14856     2738,    -1,    -1,  2741,    -1,    -1,    -1,    -1,    -1,  2747,
14857       -1,    -1,    -1,   314,   315,    -1,    -1,   318,    -1,   126,
14858     2758,    -1,    -1,    -1,    -1,  2763,   133,    -1,    -1,   136,
14859       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5075,
14860       -1,    -1,    -1,   344,    -1,    -1,   347,    -1,    -1,  2787,
14861     2788,  2789,   353,    -1,  2792,   162,    -1,    -1,    -1,   360,
14862       -1,    -1,  2800,  2801,  2802,  2803,    -1,    -1,  5104,    -1,
14863     2808,    -1,    -1,    -1,    -1,  2813,  2814,    -1,  2816,    -1,
14864     2818,    -1,    -1,    -1,    -1,    -1,    -1,  1744,   389,   196,
14865       -1,  2829,  2830,    -1,   395,  2833,    -1,   398,   471,    -1,
14866       -1,   474,   475,   476,    -1,   478,   479,   480,   481,   482,
14867      483,    -1,    -1,   486,    -1,  2853,   417,  2855,    -1,  2857,
14868       -1,    10,    -1,    -1,    13,    -1,    -1,    -1,    17,    18,
14869       19,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2877,
14870       -1,    -1,   443,    -1,    -1,    34,    -1,    -1,    -1,    -1,
14871     2888,  4026,   259,    42,    -1,  4030,   263,    -1,  2896,    -1,
14872       49,    -1,    -1,    -1,    -1,    -1,   273,    -1,    -1,    -1,
14873       -1,    -1,    -1,  5209,  2912,   282,    -1,    -1,    -1,    -1,
14874       -1,   619,    -1,    -1,    -1,    74,    -1,   294,    -1,  2927,
14875       -1,    -1,    -1,    -1,    -1,  1852,    -1,    -1,    -1,    -1,
14876       -1,    -1,    -1,  2941,    -1,  1862,    -1,  1864,    -1,    -1,
14877       -1,    -1,    -1,  1870,    -1,    -1,    -1,    -1,    -1,    -1,
14878     1877,    -1,  2960,    -1,    -1,  2963,   333,  2965,    -1,   336,
14879      337,    -1,  2970,   671,   672,    -1,    -1,    -1,    -1,    -1,
14880     5276,    -1,    -1,    -1,    -1,    -1,    -1,  2985,  2986,    -1,
14881       -1,    -1,    -1,  2991,    -1,    -1,    -1,    -1,    -1,   366,
14882       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14883       -1,    -1,    -1,    -1,  3012,    -1,    -1,  3015,    -1,    -1,
14884       -1,  3019,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14885       -1,    -1,    -1,  5329,    -1,    -1,   185,    -1,    -1,    -1,
14886     3038,   190,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5345,
14887     5468,    -1,    -1,    -1,    -1,  5351,  5352,    -1,    -1,    -1,
14888       -1,    -1,    -1,   212,   213,  3063,    -1,   434,    -1,    -1,
14889      768,    58,    -1,    -1,    -1,    -1,    -1,    -1,   227,    -1,
14890       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14891       -1,    -1,  2009,  2010,    -1,    -1,   794,    -1,    -1,  2016,
14892     2017,  3099,  3100,  3101,   802,    92,    -1,   805,   806,   807,
14893       -1,    -1,    -1,  4248,    -1,    -1,    -1,   266,    -1,    -1,
14894     4548,    -1,    -1,  5419,    -1,  3123,    -1,    -1,  2045,  5425,
14895       -1,   280,    -1,    -1,   283,  3133,    -1,  3135,    -1,    -1,
14896       -1,    -1,    -1,    -1,    -1,  3143,    -1,    -1,    -1,    -1,
14897       -1,    -1,    -1,    -1,    -1,    -1,    -1,  4292,  4293,    -1,
14898       -1,    -1,    -1,    37,  3162,   152,    -1,    10,    -1,    -1,
14899       13,    -1,    -1,    -1,    17,    18,    19,    -1,    -1,    -1,
14900       -1,    -1,    -1,    -1,    58,    -1,    -1,    -1,    -1,    -1,
14901       -1,    34,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    42,
14902      187,    -1,    -1,    -1,    -1,    -1,    49,    -1,    -1,    -1,
14903       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    92,    -1,
14904       -1,    -1,   371,    -1,    -1,    -1,    -1,    -1,  3226,    -1,
14905     5526,    74,    -1,    -1,    -1,    -1,   223,  2154,  2155,    -1,
14906       -1,    -1,    -1,  5539,    -1,    -1,    -1,  4382,  4383,    -1,
14907     3248,    10,    -1,    -1,    13,  3253,    -1,    -1,    17,    18,
14908       19,  3259,    -1,    -1,    -1,  5561,  5562,    -1,    -1,  3267,
14909       -1,    -1,   259,    -1,    -1,    34,   263,    -1,   152,    -1,
14910       -1,    -1,    -1,    42,    -1,    -1,    -1,    -1,    -1,    -1,
14911       49,    -1,    -1,    -1,    -1,    -1,    -1,  3295,  3296,  2216,
14912       -1,    -1,    -1,    -1,  3302,    -1,  3304,   294,   295,    -1,
14913       -1,    -1,    -1,   187,   301,    74,    -1,    -1,    -1,  3317,
14914       -1,  3319,   471,    -1,    -1,   474,   475,   476,    -1,   478,
14915      479,   480,   481,   482,   483,    -1,    -1,    -1,    -1,   488,
14916       -1,    -1,   185,  3341,   218,    -1,   333,   190,    -1,   223,
14917      337,    -1,    -1,    -1,   341,    -1,    -1,    -1,    -1,    -1,
14918       -1,    -1,    -1,   350,    -1,    -1,    -1,  3365,    -1,   212,
14919      213,   358,    -1,  4508,    -1,    -1,    -1,  4512,  4513,   366,
14920       -1,    -1,    -1,    -1,   227,    -1,    -1,  3385,  3386,   263,
14921       -1,   378,    -1,  4528,  2311,    -1,    -1,    -1,    -1,    -1,
14922      387,    -1,  3400,    -1,   391,    -1,    -1,    -1,    -1,    -1,
14923       -1,  4839,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14924       -1,   295,    -1,   266,    -1,    -1,   185,   301,    -1,    -1,
14925       -1,   190,    -1,    -1,    -1,  4863,    -1,   280,    -1,    -1,
14926      283,    -1,  3440,    -1,    -1,    -1,    -1,    -1,  1146,    -1,
14927       -1,    -1,    -1,   212,   213,    -1,    -1,    -1,   445,    -1,
14928     3458,    -1,    -1,   337,    -1,    -1,  1164,   341,   227,    -1,
14929       -1,    -1,    -1,    -1,    -1,  2392,   350,    -1,    -1,    -1,
14930       -1,    -1,  3480,  2400,   358,  3483,  2403,    -1,    -1,    -1,
14931       -1,    -1,   366,    -1,    -1,    -1,    -1,    -1,  2415,    -1,
14932     1198,    -1,    -1,    -1,   378,  3503,    24,   266,  3506,    -1,
14933       -1,    -1,    30,   387,  3512,    -1,    -1,   391,    -1,    -1,
14934       -1,   280,  3520,    -1,  3522,    -1,    -1,  3525,   371,    -1,
14935     1228,  3529,  3530,  3531,  3532,  3533,   410,    -1,  3536,  3537,
14936     3538,  3539,  3540,  3541,  3542,  3543,  3544,  3545,    -1,    -1,
14937       -1,  3549,  3550,    -1,    72,    -1,  3554,    -1,    -1,    -1,
14938       -1,  3559,    -1,    -1,    -1,  3563,    -1,  3565,    -1,  3567,
14939       -1,   445,    -1,    -1,    -1,   449,    -1,  3575,    -1,    -1,
14940     3578,    -1,  3580,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14941       -1,    -1,  3590,    -1,  3592,    -1,    -1,  3595,  3596,    -1,
14942       -1,    -1,  3600,  3601,    -1,    -1,    -1,  1305,   126,  3607,
14943       -1,    -1,   371,    -1,    -1,   133,  1314,    -1,   136,  3617,
14944       -1,    -1,  3620,    -1,    -1,    -1,    -1,    -1,   471,    -1,
14945     1328,   474,   475,   476,  3632,   478,   479,   480,   481,   482,
14946      483,    -1,    -1,    -1,   162,   488,    -1,    -1,    -1,  1347,
14947     5078,    -1,  1350,  1351,    -1,    -1,    -1,  1355,  1356,    -1,
14948     3658,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14949       -1,  1369,    -1,    -1,    -1,    -1,  3674,    -1,   196,    -1,
14950       -1,    -1,  3680,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14951       -1,    -1,    -1,    -1,  3692,    -1,    -1,    -1,    -1,    -1,
14952     4835,    -1,    -1,    -1,    -1,    -1,    -1,  2624,  2625,    -1,
14953       -1,    -1,   471,  2630,    -1,   474,   475,   476,    -1,   478,
14954      479,   480,   481,   482,   483,  3723,    -1,    -1,    -1,    -1,
14955       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14956       -1,   259,    -1,    -1,    -1,   263,    -1,    -1,    -1,    -1,
14957       -1,    -1,    -1,    -1,    -1,   273,    -1,    -1,    -1,    -1,
14958       -1,    -1,    -1,    -1,   282,    -1,    -1,    -1,    -1,    -1,
14959     4905,    -1,    -1,    -1,  2691,  3773,   294,    -1,    -1,    -1,
14960     3778,  3779,  3780,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14961       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14962       -1,    -1,    -1,    -1,    -1,  3803,  3804,    -1,    -1,    -1,
14963       -1,    -1,    -1,    -1,    -1,   333,  5244,    -1,   336,   337,
14964       -1,    -1,    -1,  4958,    -1,  3823,    -1,    -1,    -1,     0,
14965       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14966       -1,  3839,    -1,    -1,  3842,    -1,    -1,    -1,   366,    20,
14967       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    30,
14968       -1,    32,    33,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14969       -1,    -1,    -1,    -1,    -1,    -1,    -1,    48,  1576,    -1,
14970       -1,    -1,    -1,    -1,    -1,  1583,    57,    -1,    -1,    -1,
14971       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    69,    -1,
14972       71,    72,    -1,    -1,    -1,    -1,    -1,    78,    -1,    80,
14973       -1,  3909,    -1,    -1,    -1,    -1,   434,    -1,    -1,    -1,
14974       91,    -1,    93,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14975       -1,    -1,    -1,    -1,    -1,  5363,  3934,  3935,    -1,   110,
14976     3938,    -1,   113,    -1,    -1,    -1,  3944,    -1,    -1,    -1,
14977       -1,    -1,    -1,  3951,    -1,    -1,   127,    -1,   129,    -1,
14978       -1,    -1,   133,    -1,    -1,  3963,    10,    -1,   139,    13,
14979       -1,    -1,    -1,    17,    18,    19,   147,  2894,   149,  2896,
14980       -1,    -1,    -1,    -1,    -1,   156,    -1,    -1,  3986,    -1,
14981       34,    -1,  3990,  3991,  3992,    -1,    -1,    -1,    42,    -1,
14982       -1,   172,  2919,  2920,    -1,    49,    -1,    -1,    -1,    -1,
14983       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   189,    -1,
14984       -1,    -1,    -1,    -1,  5452,  5453,    -1,    -1,    -1,    -1,
14985       74,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14986       -1,    -1,    24,  4041,    -1,    -1,    -1,    -1,    30,    -1,
14987       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   229,   230,
14988       -1,    -1,    -1,    -1,   235,    -1,    -1,    -1,  4066,    -1,
14989       -1,    -1,    -1,    -1,    -1,    -1,   247,    -1,    -1,    -1,
14990     4078,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14991       72,    -1,    -1,    -1,   265,    -1,  1794,    -1,    -1,    -1,
14992     1798,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14993     4108,    -1,    -1,  4111,    -1,    -1,    -1,    -1,    -1,    -1,
14994       -1,  4119,  4120,    -1,  4122,    -1,    -1,    -1,  4126,  4127,
14995      301,    -1,    -1,  4131,  4132,    -1,    -1,    -1,   309,  4137,
14996       -1,   185,  4140,  4141,   126,    -1,   190,  4145,    -1,    -1,
14997       -1,   133,   323,  4151,   136,    -1,    -1,    -1,   329,   330,
14998       -1,   332,    -1,    -1,    -1,  4163,   337,    -1,   212,   213,
14999       -1,   342,    -1,  4171,   345,    -1,    -1,  4175,    -1,    -1,
15000      162,   352,    -1,   227,    -1,    -1,    -1,   358,   359,    -1,
15001       -1,    -1,    -1,    -1,    -1,   366,    -1,    -1,    -1,   370,
15002       -1,    -1,    -1,    -1,    -1,    -1,    -1,  4205,    -1,   380,
15003       -1,    -1,    -1,    -1,   196,    -1,    -1,    -1,    -1,    -1,
15004       -1,    -1,   266,    -1,   395,    -1,    -1,    -1,    -1,    -1,
15005       -1,    -1,    -1,    -1,  4232,    -1,   280,    -1,    -1,   283,
15006       -1,    -1,    -1,  5378,   415,    -1,    -1,    -1,    -1,    -1,
15007       -1,    -1,  4250,    -1,    -1,   426,    -1,    -1,    -1,    -1,
15008       -1,   432,    -1,    -1,    -1,    10,   437,    -1,    13,    -1,
15009     4268,    -1,    17,    18,    19,  4273,    -1,   259,    -1,   450,
15010       -1,   263,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    34,
15011       -1,   273,    -1,  4291,    -1,    -1,    -1,    42,    -1,    -1,
15012      282,    -1,   473,    -1,    49,    -1,    -1,    -1,    -1,    -1,
15013     4308,    -1,   294,    -1,  2012,  4313,   487,    -1,    -1,   490,
15014       -1,    -1,  4320,    -1,    -1,    -1,    -1,   371,    -1,    74,
15015       -1,    -1,    58,    -1,    -1,    -1,    -1,    22,  4336,    -1,
15016       -1,    -1,    27,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15017       -1,   333,  4350,    -1,   336,   337,    -1,    -1,    -1,    -1,
15018       -1,    10,    -1,    -1,    13,    -1,    92,    -1,    17,    18,
15019       19,    -1,    -1,    -1,    -1,    -1,    -1,    62,    -1,  3296,
15020       -1,    -1,    -1,  4381,   366,    34,    -1,    -1,    -1,    -1,
15021       75,    -1,    -1,    42,    -1,    -1,    -1,    -1,    -1,    -1,
15022       49,    -1,    -1,  3320,    -1,    90,  2104,    -1,    -1,    -1,
15023       -1,    -1,  4410,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15024       -1,    -1,    -1,   108,    -1,    74,   152,   471,  4426,    -1,
15025      474,   475,   476,    -1,   478,   479,   480,   481,   482,   483,
15026      185,    -1,    -1,    -1,   488,   190,   131,    -1,    -1,    -1,
15027       -1,  4449,   434,    -1,    -1,    -1,    -1,   142,  4456,    -1,
15028       -1,   187,    -1,    -1,    -1,    -1,   151,   212,   213,    -1,
15029       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   163,    -1,
15030       -1,    -1,   227,   168,    -1,    -1,    -1,    -1,    -1,    -1,
15031      175,    -1,  3409,    -1,    -1,    -1,    -1,   223,    -1,    -1,
15032       -1,    -1,    -1,  4501,    -1,  4503,    -1,    -1,    -1,   194,
15033       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2216,    -1,
15034       -1,   266,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15035       -1,  4529,    -1,   259,    -1,   280,   185,   263,   283,    -1,
15036       -1,   190,    24,    -1,    -1,    -1,    -1,    -1,    30,    -1,
15037     4548,    -1,    -1,    -1,  4552,   240,    -1,    -1,    -1,    -1,
15038       -1,    -1,    -1,   212,   213,    -1,    -1,    -1,   294,   295,
15039       -1,    -1,    -1,  3490,    -1,   301,    -1,    -1,   227,  4577,
15040     4578,    -1,    -1,  4581,    -1,    -1,    -1,    -1,  2286,    -1,
15041       72,    -1,    -1,    -1,    -1,   280,    -1,    -1,  4596,    -1,
15042       -1,    -1,    -1,    -1,    -1,  4603,    -1,   333,   293,    -1,
15043     4608,   337,    -1,  4611,  4612,   341,    -1,   266,    -1,   304,
15044     4618,  4619,    -1,    -1,   350,    -1,   371,    -1,    -1,   314,
15045      315,   280,   358,   318,   283,    -1,  4634,    -1,  4636,    -1,
15046      366,    -1,    -1,  4641,   126,  4643,    -1,    -1,    -1,  4647,
15047       -1,   133,   378,    -1,   136,    -1,    -1,    -1,    -1,   344,
15048       -1,   387,   347,    24,    -1,   391,   351,  2365,   353,    30,
15049       -1,    -1,    -1,    -1,    -1,   360,    -1,    -1,   363,    -1,
15050      162,    -1,    -1,    -1,  2382,    -1,    -1,    -1,    -1,    -1,
15051       -1,  4689,  4690,    -1,    -1,    -1,    -1,   382,    -1,    -1,
15052       -1,    -1,  4700,    -1,   389,    -1,    -1,    -1,    -1,    -1,
15053      395,    72,    -1,   398,   196,    -1,    -1,   402,    -1,   445,
15054       -1,    -1,   371,    -1,    -1,   410,   471,   412,    -1,   474,
15055      475,   476,   417,   478,   479,   480,   481,   482,   483,    -1,
15056       -1,  4739,    -1,   488,    10,   430,  4744,    13,  2446,    -1,
15057       -1,    17,    18,    19,    -1,    -1,    -1,    -1,   443,    -1,
15058       -1,    -1,    -1,    -1,    -1,   126,    -1,    -1,    34,    -1,
15059       -1,    -1,   133,    -1,    -1,   136,    42,   259,    -1,    -1,
15060       -1,   263,    -1,    49,  2482,    -1,    -1,  2485,    -1,  2487,
15061       -1,   273,    -1,  2491,    -1,  2493,  2494,    -1,    -1,    -1,
15062      282,   162,    -1,    -1,  2502,  2503,  2504,    -1,    74,    -1,
15063       -1,    -1,   294,    -1,    -1,  4813,    -1,  4815,    -1,    -1,
15064       -1,    -1,   471,    -1,    -1,   474,   475,   476,    -1,   478,
15065      479,   480,   481,   482,   483,   196,    -1,    -1,    -1,   488,
15066       10,  4839,  4840,    13,  4842,    -1,  4844,    17,    18,    19,
15067       -1,   333,    -1,    -1,   336,   337,    -1,    -1,    -1,  2557,
15068       -1,    -1,  3779,    -1,    34,  4863,    -1,    -1,    -1,    -1,
15069       -1,  4869,    42,    -1,    -1,  4873,    -1,    -1,    -1,    49,
15070       -1,  4879,    -1,    -1,   366,  4883,    -1,  3804,    -1,    -1,
15071       -1,  2589,    -1,    -1,  3811,    -1,    -1,    -1,   259,    -1,
15072       -1,    -1,   263,  2601,    74,  3822,    10,    -1,    -1,    13,
15073       -1,    -1,   273,    17,    18,    19,    -1,    -1,    -1,   185,
15074       -1,   282,    -1,    -1,   190,  4923,    -1,    -1,    -1,    -1,
15075       34,    -1,    -1,   294,  4932,    -1,    -1,    -1,    42,  4937,
15076     4938,    -1,    -1,    -1,  4942,    49,   212,   213,    -1,  4947,
15077     4948,  4949,   434,    -1,    -1,    -1,    -1,    -1,    -1,  2657,
15078       -1,   227,    -1,    -1,    -1,  4963,    -1,    -1,    -1,    -1,
15079       74,    -1,   333,    -1,    -1,   336,   337,    -1,    -1,    -1,
15080     3897,  3898,    -1,    -1,     8,    -1,    -1,  4985,    -1,    -1,
15081       14,    15,    -1,    -1,  4992,    -1,    20,    -1,    22,    -1,
15082      266,    -1,    -1,    -1,    28,   366,    -1,    31,    -1,    -1,
15083       24,    -1,    -1,    -1,   280,   185,    30,   283,    -1,  5017,
15084      190,    -1,    -1,    -1,    -1,    -1,    50,    51,    -1,    -1,
15085       -1,    -1,    -1,    -1,    -1,    -1,    -1,   193,   194,    -1,
15086       -1,   197,   212,   213,    -1,    -1,    -1,    -1,    -1,    -1,
15087       -1,    -1,    -1,    -1,  5052,  5053,    -1,   227,    72,    -1,
15088       -1,   217,    -1,    -1,    -1,    -1,    -1,    -1,   224,  3986,
15089       -1,    -1,    -1,   434,  5072,    -1,    -1,  5075,    -1,    -1,
15090     5078,   185,    -1,    -1,    -1,    -1,   190,    -1,    -1,    -1,
15091       -1,  5089,    -1,    -1,    -1,  5093,   266,  5095,    -1,  5097,
15092       -1,    -1,    -1,    -1,    -1,   371,  5104,    -1,   212,   213,
15093      280,    -1,   126,   283,    -1,    -1,    -1,    -1,    -1,   133,
15094       -1,  4038,   136,   227,    -1,  5123,    -1,    -1,    -1,    -1,
15095       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15096       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   162,    -1,
15097     5148,    -1,  5150,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15098       -1,    -1,   266,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15099       -1,    -1,    -1,    -1,    -1,   199,   280,    -1,    -1,   283,
15100       -1,    -1,   196,   207,    -1,    -1,   210,    -1,    -1,   213,
15101      214,    -1,   216,    -1,   218,    -1,    -1,   221,  2896,   223,
15102       -1,   371,  5200,    -1,    -1,   471,    -1,    -1,   474,   475,
15103      476,  5209,   478,   479,   480,   481,   482,   483,    -1,    -1,
15104       -1,    -1,   488,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15105       -1,    -1,    -1,    -1,    -1,    -1,    -1,  5235,  5236,  5237,
15106       -1,    -1,    -1,    -1,    -1,   259,  5244,  5245,    -1,   263,
15107     5248,    -1,    -1,    -1,    -1,    -1,  5254,    -1,    -1,   273,
15108       -1,    -1,    -1,    -1,    -1,  5263,    -1,   371,   282,    -1,
15109       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5276,    -1,
15110      294,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15111       -1,  5289,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15112       -1,   471,    -1,    -1,   474,   475,   476,    -1,   478,   479,
15113      480,   481,   482,   483,    -1,    -1,    -1,  3015,   488,   333,
15114       -1,    24,   336,   337,    -1,    -1,    -1,    30,    -1,    -1,
15115       -1,  5329,    -1,    -1,    -1,    -1,    -1,  5335,    -1,    -1,
15116       -1,    -1,    -1,    -1,    -1,    -1,    -1,  5345,    -1,    -1,
15117       -1,    -1,   366,  5351,  5352,  5353,    -1,    -1,  4275,    -1,
15118       -1,    -1,    -1,    -1,  4281,  5363,    -1,   471,  4285,    72,
15119      474,   475,   476,    -1,   478,   479,   480,   481,   482,   483,
15120       -1,    -1,    -1,    -1,   488,    -1,    -1,    -1,    -1,    -1,
15121       -1,    -1,    -1,    -1,  4311,  4312,  5394,    -1,    -1,  4316,
15122     4317,    -1,    -1,    -1,    -1,    -1,    -1,  3105,    -1,    -1,
15123       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15124      434,  5419,    -1,   126,    -1,    -1,    -1,  5425,    -1,    -1,
15125      133,    -1,    -1,   136,    -1,    -1,    -1,    -1,    -1,    -1,
15126       -1,    -1,    -1,    -1,    10,    -1,    -1,    13,    -1,    -1,
15127       -1,    17,    18,    19,  5452,  5453,    -1,    -1,    -1,   162,
15128       -1,    -1,  3160,    -1,    -1,  5463,    -1,    -1,    34,   625,
15129     5468,   627,    -1,    -1,    -1,   631,    42,    -1,    -1,  5477,
15130       -1,    -1,    -1,    49,    -1,    -1,    -1,    -1,    -1,   645,
15131       -1,    -1,   681,   196,    -1,    -1,   652,    -1,    -1,    -1,
15132     5498,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    -1,
15133     5508,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   707,    -1,
15134       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5526,    -1,
15135     3228,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15136       -1,  5539,    -1,  5541,    -1,    -1,    -1,    -1,    -1,    -1,
15137       -1,    -1,    -1,    -1,    -1,    -1,   259,    -1,    -1,    -1,
15138      263,  5559,    -1,  5561,  5562,    -1,    -1,    -1,    -1,    -1,
15139      273,    -1,    -1,    -1,  3272,    -1,    -1,    -1,    -1,   282,
15140       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3286,  3287,
15141       -1,   294,    -1,    -1,    -1,    -1,    -1,    -1,  3296,    -1,
15142       -1,    -1,    -1,    -1,  3302,    -1,  3304,    -1,    -1,   633,
15143       -1,    -1,    -1,    -1,    -1,    -1,   640,   641,    -1,   185,
15144      644,    -1,   646,   647,   190,    -1,    -1,   651,    -1,    -1,
15145      333,    -1,    -1,   336,   337,    -1,    -1,    -1,   662,    -1,
15146       -1,    -1,    -1,    -1,    -1,    -1,   212,   213,    -1,    -1,
15147       -1,    -1,  3350,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15148       -1,   227,    -1,   366,    -1,    -1,    -1,    -1,    -1,    -1,
15149       -1,    -1,    -1,    -1,    -1,    -1,    -1,   701,    -1,   703,
15150       -1,    -1,    -1,    -1,    -1,    -1,  3384,  3385,    -1,   713,
15151       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15152      266,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15153       -1,    -1,    -1,    -1,   280,    -1,    -1,   283,    -1,    -1,
15154       -1,   745,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15155       -1,   434,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   895,
15156      896,    -1,    -1,    -1,    -1,    -1,    10,    -1,    -1,    13,
15157       -1,    -1,    -1,    17,    18,    19,    -1,    -1,    -1,    -1,
15158       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15159       34,    -1,  4689,    -1,    -1,    -1,    -1,   966,    42,    10,
15160       -1,    -1,    13,    -1,    -1,    49,    17,    18,    19,    -1,
15161       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15162       -1,    -1,   991,    34,    -1,   371,    -1,    -1,    -1,   833,
15163       74,    42,    -1,    -1,    -1,    -1,    -1,  1006,    49,    -1,
15164       -1,    -1,    -1,    -1,    -1,    -1,    10,    -1,    -1,    13,
15165       -1,    -1,    -1,    17,    18,    19,    -1,    -1,   994,    -1,
15166       -1,    -1,    -1,    74,    -1,   869,    -1,    -1,    -1,    -1,
15167       34,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    42,    -1,
15168       -1,    -1,    -1,    -1,    -1,    49,    -1,  1023,  1024,    -1,
15169       -1,    -1,    -1,    -1,    -1,    -1,  3574,    -1,    -1,    -1,
15170       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15171       74,    -1,    -1,  1049,    -1,    -1,    -1,    -1,    -1,    -1,
15172       -1,    -1,    -1,    -1,    -1,   471,    -1,    -1,   474,   475,
15173      476,    -1,   478,   479,   480,   481,   482,   483,   942,    -1,
15174       -1,   185,   488,    -1,    -1,    10,   190,    -1,    13,    -1,
15175       -1,    -1,    17,    18,    19,    -1,    -1,    -1,    -1,   963,
15176       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   212,   213,
15177       -1,   975,    -1,    -1,   185,    -1,   980,    42,    -1,   190,
15178       -1,    -1,    -1,   227,    49,    -1,   990,  1123,  1124,    -1,
15179       -1,   995,    -1,    -1,    -1,    -1,   201,   202,    -1,    -1,
15180     1004,   212,   213,    -1,   209,  1009,   211,   212,  1012,    74,
15181       -1,    -1,    -1,    -1,    -1,    -1,   227,    -1,    -1,    -1,
15182      225,   185,   266,    -1,    -1,    -1,   190,    -1,    -1,    -1,
15183       -1,    -1,    -1,    -1,    -1,    -1,   280,  1206,    -1,   283,
15184       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   212,   213,
15185     1054,    -1,    -1,    -1,    -1,   266,    -1,    -1,    -1,    -1,
15186       -1,    58,    -1,   227,    -1,    -1,  4963,    -1,    -1,   280,
15187       -1,    -1,   283,    -1,    -1,    -1,    -1,    -1,    -1,    10,
15188       -1,    -1,    13,    -1,    -1,    -1,    17,    18,    19,    -1,
15189       -1,    -1,    -1,    -1,    -1,    92,    -1,    -1,    -1,    -1,
15190       -1,  3779,   266,    34,    -1,    -1,    -1,    -1,    -1,    -1,
15191       -1,    42,    -1,    -1,    -1,    -1,   280,    -1,    49,   283,
15192      185,    -1,    -1,    -1,    -1,   190,  3804,   371,    -1,    -1,
15193       -1,    -1,    -1,    -1,  3812,    -1,    -1,  3815,    -1,  3817,
15194       -1,    -1,    -1,    74,    -1,    -1,    -1,   212,   213,    -1,
15195       -1,    -1,    -1,    -1,    -1,   152,    -1,    -1,    -1,    -1,
15196      371,    -1,   227,    -1,    -1,  1169,    -1,  1171,    -1,  1173,
15197       -1,  1175,    -1,  1177,  1178,  1179,    -1,    -1,    -1,    -1,
15198     1184,    -1,  3860,    -1,    -1,    10,    -1,    -1,    13,    -1,
15199      187,  1195,    17,    18,    19,    -1,    -1,    -1,  3876,    -1,
15200       -1,   266,  3880,  3881,    -1,  3883,    -1,   371,    -1,    34,
15201       -1,  1215,    -1,    -1,    -1,   280,    -1,    42,    -1,    -1,
15202       -1,    -1,    -1,    -1,    49,    -1,   223,   471,    -1,    -1,
15203      474,   475,   476,    -1,   478,   479,   480,   481,   482,   483,
15204       -1,    -1,    -1,  5140,   488,    -1,    -1,    -1,    -1,    74,
15205       -1,    -1,    -1,    -1,   185,    -1,    -1,    -1,    -1,   190,
15206      471,    -1,   259,   474,   475,   476,   263,   478,   479,   480,
15207      481,   482,   483,    -1,    -1,    -1,    -1,   488,    -1,    -1,
15208       -1,   212,   213,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15209       -1,    -1,    -1,    -1,    -1,    -1,   227,   294,   295,    -1,
15210       -1,    -1,    -1,    -1,   301,  3983,   371,   471,  3986,    -1,
15211      474,   475,   476,    -1,   478,   479,   480,   481,   482,   483,
15212       -1,    -1,    -1,    -1,   488,    -1,    -1,    -1,    -1,    -1,
15213       -1,    -1,    -1,    -1,    -1,   266,   333,    -1,    -1,    -1,
15214      337,  1477,    -1,    -1,   341,    -1,    -1,    -1,    -1,   280,
15215       -1,    -1,   283,   350,    -1,    -1,  1525,    -1,    -1,    -1,
15216      185,   358,    -1,    -1,    -1,   190,  1502,    -1,    -1,   366,
15217       -1,    -1,  1376,    -1,    -1,    -1,    -1,    -1,  4056,  4057,
15218     4058,   378,  4060,  4061,  4062,  4063,  4064,   212,   213,    -1,
15219      387,    -1,    -1,    -1,   391,    -1,    -1,    -1,    -1,    -1,
15220       -1,    -1,   227,    -1,    -1,    -1,   471,    -1,    -1,   474,
15221      475,   476,    -1,   478,   479,   480,   481,   482,   483,    -1,
15222       10,    -1,    -1,    13,    -1,    -1,    -1,    17,    18,    19,
15223       -1,   636,    -1,    -1,    -1,    -1,    -1,   642,    -1,    -1,
15224      371,   266,    -1,  1579,    34,    -1,    -1,    -1,   445,    -1,
15225      655,    -1,    42,    -1,  1458,   280,    -1,    -1,   283,    49,
15226       -1,    -1,    -1,    -1,    -1,    -1,   671,    -1,    -1,  1605,
15227     1606,  1607,  1608,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15228      685,   686,    -1,    -1,    74,    -1,    -1,   692,    -1,   694,
15229      695,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15230       -1,    -1,    -1,   708,    -1,    -1,    -1,    -1,    -1,    -1,
15231       -1,    -1,    -1,   718,  4192,    -1,  4194,    -1,    -1,    -1,
15232       -1,    -1,    -1,    -1,    -1,    -1,  1530,    -1,    -1,    -1,
15233       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15234      471,    -1,    -1,   474,   475,   476,   371,   478,   479,   480,
15235      481,   482,   483,    -1,    -1,    -1,    -1,   488,    -1,    -1,
15236       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1737,    -1,
15237       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15238     5477,    -1,    -1,    -1,    -1,  1754,    -1,    -1,    -1,    -1,
15239       -1,    -1,    -1,    -1,    -1,   185,    -1,    -1,    -1,    -1,
15240      190,   806,    -1,  1772,    -1,    -1,    -1,    -1,    -1,    -1,
15241     1746,  1747,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15242       -1,    -1,   212,   213,    -1,   830,    -1,    -1,    -1,    -1,
15243     1766,    -1,    -1,    -1,    -1,    -1,    -1,   227,   843,    -1,
15244       -1,    -1,    -1,    -1,  5541,    -1,   471,    -1,    -1,   474,
15245      475,   476,    -1,   478,   479,   480,   481,   482,   483,  1828,
15246       -1,    -1,  5559,   488,    -1,  1801,  1802,  1803,  1804,    -1,
15247       -1,    -1,  1841,    -1,    -1,    -1,   266,    -1,    -1,    -1,
15248       -1,    -1,    -1,    -1,    -1,  1854,    -1,    -1,    -1,    -1,
15249      280,    -1,    -1,   283,    -1,    -1,    -1,  1866,    -1,    -1,
15250       -1,  4379,  4380,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15251       -1,    -1,    -1,    -1,  4392,    -1,  4394,  4395,    -1,    -1,
15252     4398,    -1,    10,    -1,    -1,    13,    -1,    -1,    -1,    17,
15253       18,    19,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15254       -1,  1910,  1911,    -1,    -1,    -1,    34,   952,    -1,    -1,
15255       -1,    -1,    -1,    -1,    42,    -1,    -1,    -1,    -1,    -1,
15256       -1,    49,    -1,    -1,    -1,   970,    -1,    -1,    -1,    -1,
15257       -1,   976,  1776,    -1,   979,    -1,    -1,    -1,    -1,    -1,
15258       -1,   371,    -1,  1919,  4462,    -1,    74,    -1,    -1,  1925,
15259       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15260       -1,    -1,    -1,    -1,    -1,    24,    -1,    -1,    -1,    -1,
15261       -1,    30,    -1,    -1,    -1,    -1,    -1,    -1,    37,    -1,
15262       -1,    -1,  4500,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15263       -1,    -1,    -1,    -1,    -1,    -1,    -1,    56,    -1,    -1,
15264       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15265       -1,    -1,    -1,    72,    -1,    -1,    -1,  4535,    -1,    -1,
15266       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15267       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15268     2049,   471,    -1,    -1,   474,   475,   476,   106,   478,   479,
15269      480,   481,   482,   483,    -1,    -1,    -1,   185,   488,  1903,
15270       -1,  1905,   190,    -1,    -1,    -1,    -1,   126,    -1,    -1,
15271       -1,    -1,    -1,    -1,   133,    -1,    -1,   136,  1922,    -1,
15272     1924,  2057,    -1,  1128,   212,   213,    -1,    -1,    -1,    -1,
15273       -1,    -1,    -1,    -1,  1938,    -1,  1940,    -1,  1942,   227,
15274     1944,  1146,  1946,   162,    -1,    -1,  1950,    -1,    -1,    -1,
15275       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1164,
15276       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15277       -1,    -1,    -1,    -1,   193,    -1,    -1,   196,   266,    -1,
15278       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1192,    -1,    -1,
15279       -1,    -1,   280,    -1,    -1,   283,    -1,    -1,    -1,    -1,
15280       -1,    -1,    -1,  1208,    -1,    -1,    -1,    -1,    -1,    -1,
15281       -1,  4689,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1224,
15282       -1,    -1,   241,  1228,    -1,   244,    -1,    -1,    -1,    -1,
15283       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15284      259,    -1,    -1,    -1,   263,    -1,    -1,    -1,    -1,    -1,
15285       -1,    -1,    -1,    -1,   273,    -1,  4734,    -1,    -1,    -1,
15286       -1,    -1,    -1,   282,    -1,  4743,    -1,    -1,    -1,    -1,
15287       10,    -1,    -1,    13,   293,   294,    -1,    17,    18,    19,
15288       -1,    -1,    -1,   371,  2253,    -1,    -1,    -1,    10,    -1,
15289       -1,    13,    -1,    -1,    34,    17,    18,    19,  2267,    -1,
15290       -1,    -1,    42,    -1,    -1,    -1,    -1,    -1,    -1,    49,
15291       -1,    -1,    -1,    -1,   333,  2251,  2252,   336,   337,   338,
15292       42,    -1,    -1,    -1,    -1,    -1,  2262,    49,  2264,    -1,
15293       -1,    -1,  2268,    -1,    74,    -1,    -1,    -1,    -1,  2308,
15294       -1,   360,  1347,    -1,    -1,    -1,    -1,   366,    -1,    -1,
15295     1355,  1356,    74,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15296       -1,   380,    -1,    -1,  1369,    -1,    -1,    -1,    -1,    -1,
15297       -1,    -1,    -1,    -1,    -1,    -1,    -1,  2181,  2182,    -1,
15298       -1,    -1,    -1,   471,    -1,    -1,   474,   475,   476,    -1,
15299      478,   479,   480,   481,   482,   483,  2200,  2201,    -1,    -1,
15300      488,  2205,  2206,    -1,    -1,    -1,  2210,    -1,    -1,    -1,
15301       -1,    -1,    -1,    -1,    -1,   434,    -1,  1422,    -1,    -1,
15302     2224,    -1,    -1,    -1,    -1,    -1,    -1,  2231,    -1,    -1,
15303       -1,  2235,  2236,    -1,    -1,  2239,  2240,    -1,    -1,    -1,
15304       -1,    -1,  2246,    -1,    -1,   185,    -1,    -1,    -1,    -1,
15305      190,    -1,    -1,    -1,    -1,    -1,    -1,  2261,    -1,  2263,
15306       -1,    -1,  2398,   185,    -1,  2401,    -1,    -1,   190,    -1,
15307       -1,    -1,   212,   213,    -1,    -1,    -1,  2281,    -1,    -1,
15308       -1,    -1,  2286,    -1,    -1,  4963,    -1,   227,    -1,  4967,
15309      212,   213,    -1,    -1,    -1,    -1,    -1,  2301,    -1,    -1,
15310       -1,    -1,    -1,    -1,    -1,   227,  2310,    -1,    -1,  2313,
15311       -1,  2315,  2316,  2317,    -1,    -1,    -1,    -1,  2322,  2323,
15312       -1,    -1,    -1,    -1,    -1,    -1,   266,    -1,  2332,    -1,
15313       -1,    -1,    -1,  2337,    -1,    -1,    -1,  2341,    -1,    -1,
15314      280,    -1,  2511,   283,   266,    -1,    -1,    -1,  2484,    -1,
15315       -1,    -1,    -1,    -1,  2358,    -1,  2492,    -1,   280,  2495,
15316     2364,  2365,    -1,    -1,    -1,  2501,    -1,  2371,    -1,    -1,
15317       -1,    -1,    -1,    -1,    -1,    -1,  2512,  2381,  2382,    -1,
15318       -1,    -1,    -1,  2387,    -1,    -1,    -1,    -1,    -1,    -1,
15319       -1,    -1,    -1,    -1,    -1,  2399,    -1,    -1,  2402,    -1,
15320       -1,    -1,    -1,  2407,    -1,    -1,    -1,    -1,    -1,  2413,
15321     2414,    -1,    -1,    -1,  1619,  2419,    -1,  2553,  2422,    -1,
15322       -1,    -1,  2426,  2427,  2428,  2429,    -1,  2431,    -1,    -1,
15323       -1,   371,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15324     2444,  2445,    -1,  2447,    -1,  2581,   203,    -1,    -1,   371,
15325       -1,    -1,    -1,    -1,  2458,  2459,  2460,    10,   215,    -1,
15326       13,    -1,    -1,    -1,    17,    18,    19,    -1,    -1,   226,
15327       -1,    -1,  5150,    -1,    -1,    -1,  5154,    -1,  5156,    -1,
15328       -1,    34,  5160,  5161,    -1,    -1,    -1,    -1,    -1,    42,
15329       -1,    -1,    -1,    -1,    -1,    -1,    49,    -1,    -1,    -1,
15330       -1,    -1,    -1,    -1,  2640,    -1,  2642,    -1,    -1,    -1,
15331       -1,    -1,    -1,    -1,    -1,    -1,    -1,  2521,    -1,    -1,
15332       -1,    74,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15333       -1,   471,    -1,    -1,   474,   475,   476,    -1,   478,   479,
15334      480,   481,   482,   483,    -1,  2549,  2715,    -1,   488,   471,
15335       -1,    -1,   474,   475,   476,    -1,   478,   479,   480,   481,
15336      482,   483,  1767,  2732,    -1,    -1,    -1,    -1,    -1,    -1,
15337       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2747,    -1,
15338       -1,    -1,    -1,    -1,    -1,    -1,  1791,    -1,    -1,    -1,
15339       -1,    -1,    -1,    -1,  1799,    -1,    -1,    -1,    -1,    -1,
15340       -1,    -1,    -1,    -1,    -1,    -1,  1811,    -1,    -1,    -1,
15341       -1,    -1,    -1,    -1,  2750,    -1,    -1,    -1,    -1,    -1,
15342       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15343       -1,    -1,   185,    -1,    -1,    -1,    -1,   190,    -1,    -1,
15344       -1,    10,    -1,    -1,    13,    -1,    -1,    -1,    17,    18,
15345       19,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   212,
15346      213,    -1,    -1,    -1,    -1,    34,    -1,    -1,    -1,    -1,
15347       -1,    -1,    -1,    42,   227,    -1,    -1,    -1,  1883,  1884,
15348       49,  1886,  1887,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15349       -1,    -1,    -1,  1898,    -1,  1900,  1901,    -1,    -1,    -1,
15350       -1,    -1,    -1,    -1,    -1,    74,    -1,    -1,  1913,  1914,
15351       -1,    -1,    -1,   266,    -1,    -1,  5394,    -1,    -1,    -1,
15352       -1,    -1,    -1,    -1,  1929,    -1,    -1,   280,    -1,    -1,
15353      283,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15354       -1,    -1,    -1,    -1,    -1,    -1,    -1,  2751,    -1,    -1,
15355       -1,    -1,    -1,    -1,    -1,    -1,  1961,    -1,    -1,  1964,
15356     1965,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15357       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15358       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15359       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5477,
15360       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15361       -1,    -1,    -1,    -1,    -1,    -1,   185,    -1,   371,    -1,
15362       -1,   190,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15363       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15364       -1,    -1,    -1,   212,   213,    -1,    -1,    -1,    -1,  2054,
15365     3019,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   227,    -1,
15366      617,    -1,    -1,  5541,    -1,    -1,   623,    -1,    -1,  3038,
15367       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15368       -1,  5559,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3025,
15369       -1,  3027,  3028,  3029,    -1,    -1,    -1,   266,    -1,    -1,
15370       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15371       -1,   280,    -1,    -1,   283,    -1,    -1,    -1,   471,  2124,
15372       -1,   474,   475,   476,    -1,   478,   479,   480,   481,   482,
15373      483,    -1,    -1,    -1,    -1,   488,    -1,    -1,    -1,    -1,
15374       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15375       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15376       -1,    -1,    -1,    -1,  3133,    -1,  3135,    -1,    -1,    -1,
15377       -1,    -1,    -1,    -1,    -1,  2180,    -1,    -1,    -1,    -1,
15378       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15379       -1,    -1,    -1,  2198,    -1,    -1,    -1,    -1,  2203,  2204,
15380       -1,    -1,   371,  2208,    -1,    -1,    -1,    -1,    -1,  3013,
15381       -1,  2216,    -1,  3017,    -1,    -1,    -1,    -1,    -1,  3023,
15382       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2234,
15383       -1,    -1,    -1,    -1,    -1,    -1,    -1,  3041,  3042,    -1,
15384       -1,    -1,  3046,    -1,    -1,    -1,   803,  3051,  3052,  3053,
15385       -1,  2256,    -1,    -1,  2259,  2260,    -1,  3226,    -1,    -1,
15386       -1,    -1,    -1,    -1,    -1,   822,    -1,    -1,    -1,    -1,
15387       -1,    -1,    -1,    -1,  2279,    -1,    -1,    -1,    -1,    -1,
15388       -1,    -1,    -1,  3087,  3088,  3089,  3090,   844,    -1,    -1,
15389       -1,    -1,    -1,    -1,  2299,  2300,    -1,    -1,  3267,    -1,
15390       -1,    -1,   471,    -1,    -1,   474,   475,   476,    -1,   478,
15391      479,   480,   481,   482,   483,    -1,    -1,    -1,    -1,   488,
15392     3124,    -1,  3126,  3127,  3128,  2330,  2331,    10,    -1,  2334,
15393       13,    -1,  3268,   890,    17,    18,    19,    -1,    -1,    -1,
15394       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15395       -1,    34,  2357,    -1,  2359,    -1,    -1,    -1,  2363,    42,
15396       -1,    -1,    -1,    -1,    -1,  2370,    49,    -1,    -1,    -1,
15397       10,    -1,  2377,    13,    -1,  2380,    -1,    17,    18,    19,
15398       -1,  2386,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15399       10,    74,    -1,    13,    34,    -1,  3365,    17,    18,    19,
15400       -1,  2406,    42,    -1,    -1,    -1,    -1,  2412,    -1,    49,
15401       -1,    -1,  2417,    -1,    34,  2420,    -1,    -1,    38,    -1,
15402       -1,    -1,    42,    -1,    -1,  2430,    -1,    -1,    -1,    49,
15403       -1,  3400,    -1,    -1,    74,    -1,  3240,    -1,  2443,    -1,
15404       -1,    -1,    -1,  2448,    -1,  3249,    -1,    -1,    -1,  2454,
15405       -1,    -1,    -1,    -1,    74,    -1,    -1,    -1,    -1,  1016,
15406       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15407       -1,    -1,    -1,    -1,    -1,    -1,  3280,    -1,    -1,    -1,
15408       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1045,  1046,
15409     1047,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3303,
15410       -1,    -1,   185,   123,    -1,    -1,    -1,   190,  3444,    -1,
15411       -1,    -1,    -1,    -1,    -1,  2520,    -1,    -1,    -1,    -1,
15412       -1,   161,    -1,    -1,    -1,    -1,   166,    -1,    -1,   212,
15413      213,    -1,    -1,    -1,    -1,    -1,    -1,  3506,    -1,    -1,
15414       -1,    -1,    -1,    -1,   227,   185,    -1,    -1,    -1,    -1,
15415      190,  3355,    -1,    -1,    -1,    -1,  3360,    -1,    -1,    -1,
15416     3529,    -1,    -1,    -1,    -1,   185,    -1,    -1,    -1,    -1,
15417      190,    -1,   212,   213,    -1,    -1,    -1,    -1,    -1,    -1,
15418       -1,    -1,    -1,   266,    -1,  3554,    -1,   227,    -1,    -1,
15419     3394,    -1,   212,   213,    -1,    -1,  2601,   280,    -1,    -1,
15420      283,    -1,    -1,    -1,    -1,    -1,    -1,   227,    -1,    -1,
15421       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15422       -1,  3590,    -1,    -1,    -1,    -1,   266,    -1,    -1,    -1,
15423       -1,    -1,    -1,  3437,  1191,  3439,    -1,    -1,    -1,    -1,
15424      280,    -1,    -1,   283,    -1,    -1,   266,    -1,    -1,    -1,
15425      202,    -1,  2657,    -1,    -1,    -1,    -1,  1214,    -1,   211,
15426      280,    -1,    -1,   283,    -1,    -1,  1223,    -1,    -1,    -1,
15427       -1,    -1,    -1,   225,    -1,  3479,    -1,    -1,    -1,    -1,
15428       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   371,    -1,
15429       -1,    -1,    -1,    -1,  2699,    -1,    -1,    -1,    -1,    -1,
15430       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15431       -1,    -1,  2717,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15432     2725,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15433     2735,   371,    -1,  2738,    -1,    -1,  2741,    -1,    -1,    -1,
15434       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15435       -1,   371,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15436       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15437       -1,    -1,    -1,    -1,    -1,    -1,    -1,  3713,  3714,  3715,
15438     3716,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   471,    -1,
15439       -1,   474,   475,   476,    -1,   478,   479,   480,   481,   482,
15440      483,    -1,    -1,  2808,  1361,   488,    -1,    -1,    -1,  2814,
15441       -1,   431,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15442       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15443       -1,   471,    -1,    -1,   474,   475,   476,    -1,   478,   479,
15444      480,   481,   482,   483,    -1,    -1,    -1,    -1,    -1,    -1,
15445     1407,   471,    -1,    -1,   474,   475,   476,    -1,   478,   479,
15446      480,   481,   482,   483,    -1,    -1,    -1,    -1,    -1,    -1,
15447       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15448       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15449       -1,  2896,    -1,    -1,    -1,  3699,    -1,  3701,    -1,    -1,
15450       -1,    -1,    -1,    -1,  3708,    -1,    -1,    -1,    -1,    -1,
15451       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15452     3724,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15453       -1,    -1,  3736,  1490,    -1,    -1,  3740,    -1,    -1,    -1,
15454       -1,    -1,  1499,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15455       -1,    -1,    -1,    -1,  3758,    -1,  3892,    -1,    -1,    -1,
15456       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3938,
15457       -1,  3907,  3776,    -1,  1531,    -1,    -1,  3781,    -1,    -1,
15458     2985,  2986,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15459       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1554,    -1,    -1,
15460     1557,    -1,  3806,    -1,    -1,    -1,  3810,  3012,    -1,    -1,
15461     3015,    -1,    -1,    -1,  3818,  3819,  3820,  3821,    -1,    -1,
15462       -1,    -1,    -1,  3827,  3828,  3829,  3830,    -1,    -1,    -1,
15463     3834,  3835,    -1,    -1,    -1,    -1,  3840,  3841,    -1,  3843,
15464     3844,  3845,  3846,  3847,  3848,  3849,    -1,    -1,    -1,    -1,
15465       -1,    -1,  1609,    -1,    -1,  3859,    -1,    -1,    -1,  3863,
15466     3864,  3865,  3866,    -1,    -1,    -1,  1623,    -1,    -1,    -1,
15467       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15468       -1,    -1,    -1,    -1,   636,  3889,    -1,    -1,    -1,    -1,
15469      642,    -1,    -1,    -1,  3099,  3100,  3101,    -1,    -1,    -1,
15470       -1,    -1,    -1,   655,  3908,    -1,    -1,    -1,    -1,    -1,
15471       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3123,   671,
15472       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15473       -1,    -1,    -1,    -1,   686,    -1,    10,    -1,  3143,    13,
15474       -1,    -1,   694,    17,    18,    19,    -1,    -1,    -1,    -1,
15475       -1,    -1,    -1,    -1,    -1,    -1,   708,  3162,    -1,    -1,
15476       34,    -1,    -1,  4132,    -1,    -1,   718,    -1,    42,    -1,
15477       -1,    -1,    -1,    -1,    -1,    49,    -1,  1734,    -1,    -1,
15478       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15479       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15480       74,    -1,    -1,    -1,  4008,    -1,    -1,    -1,    -1,    -1,
15481       -1,    -1,    -1,    10,    -1,    -1,    13,    -1,    -1,    -1,
15482       17,    18,    19,    -1,    -1,    -1,    -1,    -1,  1785,    -1,
15483       -1,    -1,    -1,    -1,    -1,    -1,    -1,    34,    -1,    -1,
15484       -1,  4045,    -1,  3248,    -1,    42,    -1,    -1,    -1,    -1,
15485       -1,    -1,    49,    -1,   806,    -1,    -1,  1814,    -1,    -1,
15486       -1,    -1,    -1,    -1,  1821,    -1,    -1,    -1,    -1,    -1,
15487       -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,   830,    -1,
15488       -1,  4250,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15489     3295,   843,    -1,    -1,    -1,    -1,    -1,  3302,    -1,  3304,
15490       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15491       -1,   185,  3317,    -1,  3319,    -1,   190,    -1,    -1,    -1,
15492       -1,    -1,  4291,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15493       -1,    -1,    -1,    -1,    -1,    -1,  3341,    -1,   212,   213,
15494       -1,    -1,    -1,    -1,  4313,    -1,    -1,    -1,    -1,    -1,
15495       -1,    -1,    -1,   227,    -1,    -1,    -1,    -1,    -1,    -1,
15496       -1,    -1,    -1,   160,    -1,    -1,    -1,    -1,    -1,    -1,
15497     1927,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15498     3385,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   185,    -1,
15499       -1,    -1,   266,   190,    -1,    -1,    -1,    -1,    -1,    -1,
15500      952,    -1,    -1,    -1,    -1,    -1,   280,    -1,    -1,   283,
15501     1967,  1968,  4381,    -1,    -1,   212,   213,    -1,    -1,    -1,
15502       -1,    -1,    -1,    -1,    -1,  4361,    -1,  1984,    -1,    -1,
15503      227,    -1,    -1,    -1,   308,  3440,    -1,    -1,    -1,    -1,
15504     4376,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15505       -1,    -1,    -1,  3458,  4258,    -1,    -1,    -1,  4262,  4263,
15506     4264,  4265,    -1,    -1,    -1,  4269,    -1,    -1,    -1,   266,
15507       -1,    -1,    -1,    -1,    -1,  3480,    -1,    -1,  3483,    -1,
15508       -1,    -1,    -1,   280,    -1,    -1,   283,    -1,    -1,    -1,
15509       -1,    -1,    -1,    -1,    -1,    -1,    -1,   371,    -1,  4303,
15510     4304,  4305,  4306,  4307,    -1,  4309,  4310,    -1,    -1,   306,
15511       -1,    -1,    -1,    -1,   388,    -1,    -1,  4321,  4322,    -1,
15512       -1,    -1,    -1,    -1,    -1,    -1,    -1,  2084,    -1,    -1,
15513       -1,    -1,    -1,  4469,  4503,    -1,    -1,  2094,    -1,    -1,
15514       -1,    -1,    -1,    -1,    -1,    -1,    -1,  4351,    -1,    -1,
15515       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15516     3565,    -1,    -1,    -1,    -1,    -1,  2123,    -1,    -1,    -1,
15517       -1,    -1,    -1,    -1,   371,    -1,  1128,  2134,  2135,    -1,
15518       -1,    -1,    -1,  4552,    -1,    -1,    -1,    -1,    -1,    -1,
15519       -1,    -1,    -1,    -1,  1146,    -1,    -1,   471,    -1,    -1,
15520      474,   475,   476,    -1,   478,   479,   480,   481,   482,   483,
15521       -1,  2168,  1164,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15522       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15523       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15524     1192,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15525       -1,  4455,    -1,    -1,    -1,    -1,  1208,    -1,    -1,    -1,
15526       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15527       -1,    -1,  1224,    -1,   471,    -1,  1228,   474,   475,   476,
15528       -1,   478,   479,   480,   481,   482,   483,    -1,    -1,    -1,
15529       -1,    -1,    -1,    -1,    -1,    -1,    -1,    24,    -1,    -1,
15530       -1,    -1,    -1,    30,    -1,    -1,    -1,    -1,    -1,    -1,
15531       37,  4515,    -1,  4649,    -1,  4651,    -1,    -1,  3723,    -1,
15532       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    56,
15533       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15534       -1,    -1,    -1,    -1,    -1,    72,    -1,    -1,    -1,    -1,
15535       -1,    -1,    -1,    -1,    -1,  2312,    -1,    -1,    10,    -1,
15536       -1,    13,    -1,    -1,    -1,    17,    18,    19,  3773,    -1,
15537     2327,    -1,    -1,  3778,    -1,  3780,    -1,    -1,    -1,   106,
15538       -1,    -1,    34,    -1,    -1,    37,    -1,    -1,    -1,    -1,
15539       42,  2348,    -1,    -1,    -1,  1347,    -1,    49,  3803,   126,
15540       -1,    -1,    -1,  1355,  1356,    -1,   133,    -1,    -1,   136,
15541       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1369,  3823,    -1,
15542       -1,    -1,    74,  4627,    -1,    -1,    -1,    -1,    -1,    -1,
15543       -1,    -1,    -1,    -1,  3839,   162,    -1,  3842,    -1,    -1,
15544       10,    -1,    -1,    13,    -1,    -1,    -1,    17,    18,    19,
15545       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15546      681,    -1,    -1,    -1,    34,    -1,   193,  2424,  2425,   196,
15547     1422,  4840,    42,    -1,    -1,  4811,    -1,    -1,    -1,    49,
15548       -1,    -1,    -1,    -1,    -1,    -1,   707,  4691,    -1,    -1,
15549       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15550       -1,    -1,    -1,    -1,    74,    -1,  4710,    -1,    -1,    -1,
15551     4879,  4715,  4716,    -1,   241,    -1,    -1,   244,    -1,    -1,
15552       -1,  4725,    -1,    -1,    -1,    -1,    -1,    -1,  4732,  3934,
15553     3935,    -1,   259,   185,    -1,    -1,   263,    -1,   190,  3944,
15554       -1,    -1,    -1,    -1,    -1,    -1,   273,    -1,    -1,    -1,
15555       -1,    -1,    -1,    -1,    -1,   282,    -1,    -1,  3963,    -1,
15556      212,   213,    -1,  4932,  4768,    -1,   293,   294,  4937,  4938,
15557       -1,    -1,    -1,    -1,  2531,   227,    -1,    -1,    -1,    -1,
15558       -1,    -1,    -1,    -1,  4788,    -1,  4790,    -1,    -1,    -1,
15559       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15560       -1,  4805,    -1,    -1,    -1,    -1,   333,    -1,    -1,   336,
15561      337,   338,    -1,    -1,   266,   185,    -1,  4953,    -1,  4955,
15562      190,  4825,    -1,    -1,    -1,    -1,    -1,    -1,   280,  4833,
15563       -1,   283,    -1,   360,    -1,    -1,  4041,    -1,    -1,   366,
15564       -1,    -1,   212,   213,    -1,    -1,    -1,    -1,    -1,    -1,
15565       -1,    -1,    -1,   380,   800,   801,    -1,   227,    -1,    -1,
15566       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1619,    -1,    10,
15567       -1,    -1,    13,    -1,    -1,    -1,    17,    18,    19,    -1,
15568       -1,    -1,    -1,    -1,  5053,    -1,    -1,    -1,    -1,    -1,
15569       -1,    -1,    -1,    34,  4898,    -1,   266,    -1,    -1,    -1,
15570       -1,    42,    -1,    -1,    -1,    -1,    -1,   434,    49,    -1,
15571      280,    -1,    -1,   283,    -1,  4919,    -1,    -1,    -1,   371,
15572       -1,    -1,    -1,    -1,    -1,    -1,    -1,  4931,    -1,   950,
15573       -1,    -1,   302,    74,    -1,    -1,    -1,    -1,    -1,    -1,
15574       -1,    -1,    -1,    -1,    -1,   966,    -1,    10,    -1,    -1,
15575       13,    -1,    -1,    -1,    17,    18,    19,    -1,    -1,    -1,
15576       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15577      991,    34,    -1,    -1,    37,    -1,    -1,    -1,    -1,    42,
15578       -1,    -1,    -1,    -1,    -1,  1006,    49,    -1,    -1,    -1,
15579       -1,    -1,  4996,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15580       -1,   371,    -1,    -1,   950,   951,    -1,    -1,    -1,    -1,
15581       -1,    74,    -1,    -1,    -1,  1767,    -1,    -1,    -1,   471,
15582       -1,    -1,   474,   475,   476,   166,   478,   479,   480,   481,
15583      482,   483,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1791,
15584       -1,    -1,    -1,    -1,   185,    -1,    -1,  1799,    -1,   190,
15585       -1,    -1,    -1,  5189,    -1,    -1,  5060,    -1,    -1,  1811,
15586       -1,    -1,    -1,  4268,    -1,    -1,    -1,    -1,  4273,    -1,
15587     1091,   212,   213,    -1,    -1,    -1,    -1,    -1,    -1,  5248,
15588       -1,    -1,    -1,    -1,    -1,    -1,   227,    -1,    -1,    -1,
15589       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15590       -1,   471,    -1,  4308,   474,   475,   476,    -1,   478,   479,
15591      480,   481,   482,   483,    -1,  4320,  5120,    -1,    -1,    -1,
15592       -1,    -1,   185,    -1,  2881,   266,    -1,   190,    -1,    -1,
15593       -1,  5135,    -1,    -1,  1886,  1887,    -1,    -1,    -1,   280,
15594       -1,    -1,   283,    -1,    -1,  4350,    -1,  2904,  1900,   212,
15595      213,    -1,    -1,    -1,    -1,  5291,    -1,    -1,    -1,    -1,
15596       -1,  1913,  1914,    -1,   227,    -1,    -1,    -1,    -1,    -1,
15597       -1,    -1,    -1,    -1,    -1,  5179,    -1,  1929,    -1,    -1,
15598       -1,    -1,    -1,    -1,    -1,  1206,    -1,    -1,    -1,    -1,
15599     5194,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15600       -1,    -1,    -1,   266,    -1,    -1,    -1,    -1,    -1,    -1,
15601       -1,    -1,    -1,    -1,    -1,    -1,    -1,   280,    -1,    -1,
15602      283,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15603      371,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15604       -1,    -1,    -1,    -1,  4449,    -1,    -1,    -1,    -1,    -1,
15605       -1,    -1,  5388,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15606       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15607       -1,  5275,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15608       -1,    -1,    -1,    -1,  5420,  5421,    -1,    -1,    -1,    -1,
15609       -1,    -1,    -1,    -1,  1240,    -1,    -1,    -1,    -1,    -1,
15610       -1,    -1,  2054,    -1,    -1,    -1,    -1,    -1,   371,    -1,
15611       -1,    -1,    -1,    -1,    -1,  5319,    -1,    -1,    -1,    10,
15612       -1,    -1,    13,    -1,  4529,  1271,    17,    18,    19,    -1,
15613      471,    -1,    -1,   474,   475,   476,    -1,   478,   479,   480,
15614      481,   482,   483,    34,    -1,    -1,    37,    -1,    -1,    -1,
15615       -1,    42,    -1,  1299,  1300,  1301,    -1,  1303,    49,    -1,
15616       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15617       -1,    -1,  2124,    -1,    -1,    -1,    -1,  1323,    -1,    -1,
15618       -1,    -1,    -1,    74,  3141,    -1,    -1,  5523,    -1,    -1,
15619       -1,    -1,    -1,    -1,    -1,  1416,    -1,    -1,    -1,    -1,
15620       -1,    -1,    -1,  5407,    -1,    -1,    -1,    -1,   471,    -1,
15621       -1,   474,   475,   476,    -1,   478,   479,   480,   481,   482,
15622      483,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2180,    -1,
15623       -1,    -1,    -1,    -1,    -1,    -1,  4641,    -1,  4643,    -1,
15624       -1,    -1,    -1,    -1,    -1,  1391,  2198,    -1,    -1,  1395,
15625     1396,  2203,  2204,    -1,    -1,    -1,  2208,    -1,    -1,    -1,
15626       -1,    -1,    -1,  1484,  2216,    -1,    -1,    -1,    -1,    -1,
15627       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15628       -1,    -1,  2234,    -1,    -1,  4690,    -1,    -1,    -1,    -1,
15629       -1,    -1,    -1,    -1,   185,  4700,    -1,    -1,    -1,   190,
15630       -1,    -1,    -1,    -1,  1525,    -1,    -1,    -1,    -1,    -1,
15631       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15632       -1,   212,   213,    -1,    -1,    -1,    -1,  2279,    -1,   681,
15633       -1,    -1,    -1,    -1,  4739,    -1,   227,  1558,    -1,  4744,
15634       -1,    -1,    -1,    -1,    -1,    -1,    -1,  2299,  2300,    -1,
15635       -1,  3308,  3309,  3310,    -1,   707,    -1,   681,    -1,    -1,
15636       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3325,    -1,
15637       -1,    -1,    -1,    -1,    -1,   266,    -1,    -1,  2330,  2331,
15638       -1,    -1,  2334,   707,    -1,    -1,    -1,    -1,    -1,   280,
15639       -1,  3348,   283,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15640       -1,  3358,  3359,    -1,    -1,  2357,  3363,  2359,    -1,    -1,
15641       -1,  2363,    -1,  1634,  1635,  1636,    -1,    -1,  2370,    -1,
15642       -1,    -1,    -1,    -1,    -1,  2377,    -1,    -1,  2380,    -1,
15643       -1,    -1,    -1,    -1,  2386,    -1,    -1,    -1,    -1,    -1,
15644       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15645       -1,    -1,    -1,    -1,  2406,    -1,    -1,    -1,    -1,    -1,
15646     2412,    -1,    -1,    -1,    -1,  2417,    -1,    -1,  2420,    -1,
15647       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2430,    -1,
15648      371,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1634,  1635,
15649     1636,  2443,    -1,    -1,    -1,    -1,  2448,    -1,    -1,    -1,
15650       -1,    -1,  2454,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15651       -1,    -1,    -1,    -1,    -1,    -1,  1737,    -1,  4923,    -1,
15652       -1,  3478,    -1,    -1,  3481,    -1,    -1,    -1,    -1,    -1,
15653       -1,    -1,    -1,  1754,    -1,    -1,    -1,    -1,    -1,    -1,
15654       -1,    -1,    -1,    -1,  4949,    -1,    -1,    -1,    -1,    -1,
15655       -1,  1772,    -1,    -1,    -1,    -1,    -1,    -1,  4963,    -1,
15656       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2520,    -1,
15657       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15658      471,    -1,    -1,   474,   475,   476,    -1,   478,   479,   480,
15659      481,   482,   483,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15660       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1828,    -1,    -1,
15661       -1,    -1,    -1,    -1,   966,    -1,    -1,    -1,    -1,    -1,
15662     1841,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15663       -1,    -1,    -1,  1854,    -1,    -1,    -1,    -1,    -1,   991,
15664       -1,    -1,   966,    -1,    10,  1866,    -1,    13,    -1,  2601,
15665       -1,    17,    18,    19,  1006,    -1,    -1,  3614,  3615,  3616,
15666       -1,    -1,    -1,    -1,    -1,    -1,    -1,   991,    34,    -1,
15667       -1,    -1,    -1,    -1,    -1,    -1,    42,    -1,    -1,    -1,
15668       -1,    -1,  1006,    49,    -1,    -1,    -1,    -1,    -1,  1910,
15669     1911,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15670       -1,    -1,    -1,    -1,    -1,  2657,    -1,    -1,    74,    -1,
15671       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15672       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15673       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1091,
15674       -1,    -1,    -1,  5148,    -1,  5150,    -1,  2699,    -1,    -1,
15675       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15676       -1,    -1,    -1,    -1,    -1,  2717,    -1,  1091,    -1,    -1,
15677       -1,    -1,    -1,  2725,    10,    -1,    -1,    13,    -1,    -1,
15678       -1,    17,    18,    19,    -1,    -1,    -1,    -1,    -1,    -1,
15679       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    34,    -1,
15680       -1,    37,    -1,    -1,    -1,    -1,    42,    -1,    -1,    -1,
15681       -1,    -1,    -1,    49,    -1,    -1,    -1,    -1,    -1,   185,
15682       -1,    -1,    -1,    -1,   190,    -1,    -1,    -1,  2049,    -1,
15683       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    -1,
15684     5245,    -1,    -1,    -1,    -1,    -1,   212,   213,    -1,    -1,
15685       -1,    -1,    -1,    -1,  1206,    -1,  2808,    -1,  5263,    -1,
15686     2006,   227,  2814,    -1,    -1,    -1,  2087,    -1,    -1,    -1,
15687       -1,  5276,  2018,    -1,  2020,    -1,  2022,    -1,    -1,  2025,
15688     2026,  2027,  1206,    -1,  5289,    -1,  2032,    -1,    -1,  2035,
15689       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15690      266,    -1,    -1,    -1,  2050,  2051,  2052,  2053,    -1,    -1,
15691       -1,    -1,  2058,    -1,   280,    -1,  2062,   283,    -1,  2065,
15692       -1,    -1,  2068,  2069,  2070,  2071,  2072,  2073,  2074,  2075,
15693     2076,    -1,  2078,    -1,    -1,    -1,    -1,    -1,    -1,  2085,
15694       -1,  2087,    -1,    -1,  2896,    -1,  5351,  5352,  3905,   185,
15695       -1,    -1,    -1,    -1,   190,    -1,    -1,    -1,    -1,  3916,
15696       -1,    -1,    -1,    -1,    -1,    -1,  2187,    -1,    -1,    -1,
15697     2191,  2192,    -1,    -1,    -1,    -1,   212,   213,    -1,    -1,
15698       -1,    -1,    -1,    -1,  2130,    -1,    -1,    -1,    -1,  5394,
15699     3947,   227,    -1,    -1,    -1,    -1,    -1,    -1,  1350,    -1,
15700       -1,    -1,    -1,    -1,    -1,   371,    -1,    -1,  2154,  2155,
15701       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15702       -1,    -1,    -1,  3980,    -1,    -1,    -1,    -1,    -1,    -1,
15703      266,    -1,  2253,  2985,  2986,    -1,    -1,   403,    -1,    -1,
15704       -1,    -1,    -1,    -1,   280,    -1,  2267,   283,    -1,    -1,
15705       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15706     3012,    -1,    -1,  3015,  1416,    -1,    -1,    -1,    -1,    -1,
15707       -1,    -1,  5477,    -1,  4031,    -1,    -1,    -1,    -1,    -1,
15708       -1,    -1,    -1,    -1,    -1,    -1,    -1,  2308,    -1,    -1,
15709       -1,  2237,  1416,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15710       -1,    -1,    -1,    -1,    -1,   471,    -1,    -1,   474,   475,
15711      476,    -1,   478,   479,   480,   481,   482,   483,    -1,    -1,
15712       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15713       -1,    -1,  1484,    -1,    -1,   371,  5541,    -1,    -1,    -1,
15714       -1,    -1,    -1,    -1,    -1,    -1,    -1,  3099,  3100,  3101,
15715       -1,    -1,    -1,    -1,  5559,    -1,  5561,  5562,    -1,   681,
15716     1484,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15717       -1,  3123,    -1,  1525,    -1,    -1,    -1,    -1,    -1,    -1,
15718       -1,    -1,    -1,    -1,    -1,   707,    -1,    -1,    -1,    -1,
15719       -1,  3143,    -1,    -1,    -1,  4152,  4153,  4154,  4155,    -1,
15720       -1,  1525,    -1,    -1,    -1,    -1,  1558,    -1,    -1,    -1,
15721     3162,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15722       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15723       -1,    -1,    -1,    -1,  1558,   471,    -1,    -1,   474,   475,
15724      476,    -1,   478,   479,   480,   481,   482,   483,    -1,    10,
15725       -1,    -1,    13,  2474,    -1,    -1,    17,    18,    19,    -1,
15726       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15727       -1,    -1,    -1,    34,    -1,    -1,    -1,    -1,    -1,    -1,
15728       -1,    42,    -1,    -1,    -1,    -1,    -1,    -1,    49,    -1,
15729     2511,    -1,    -1,    -1,    -1,    -1,  3248,    -1,    -1,    -1,
15730       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15731       -1,    -1,    -1,    74,    -1,    -1,    -1,    -1,    -1,    -1,
15732       -1,    -1,    -1,    -1,    -1,    -1,  2472,  2473,  2474,    -1,
15733       -1,    -1,  2478,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15734       -1,    -1,    -1,  3295,    -1,    -1,    -1,    -1,    -1,    -1,
15735     3302,    -1,  3304,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15736       -1,    -1,    -1,    -1,  2510,  3317,    -1,  3319,    -1,    -1,
15737       -1,    -1,  2593,    -1,    -1,  2596,    -1,    -1,    -1,    -1,
15738       -1,    -1,    -1,    -1,    -1,  1737,    -1,    -1,    -1,  3341,
15739       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15740       -1,    -1,  1754,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15741       -1,    -1,    -1,  1737,    -1,    -1,    -1,    -1,    -1,    -1,
15742     1772,    -1,    -1,    -1,   185,    -1,    -1,    -1,    -1,   190,
15743     1754,    -1,    -1,  3385,    -1,    -1,    -1,    -1,    -1,    -1,
15744       -1,    -1,    -1,    -1,   966,    -1,    -1,    -1,  1772,    -1,
15745       -1,   212,   213,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15746       -1,    -1,    -1,    -1,    -1,    -1,   227,    -1,    -1,   991,
15747       -1,    -1,    -1,    -1,    -1,    -1,  1828,    -1,    -1,    -1,
15748       -1,    -1,    -1,    -1,  1006,    -1,    -1,    -1,  3440,  1841,
15749       -1,    -1,    -1,    -1,  2715,    -1,    -1,    -1,    -1,    -1,
15750       -1,    -1,  1854,    -1,  1828,   266,  3458,    -1,    -1,    -1,
15751       -1,  2732,    -1,    -1,  1866,    -1,    -1,  1841,    -1,   280,
15752       -1,    -1,   283,    -1,    -1,    -1,  2747,    -1,  3480,    -1,
15753     1854,  3483,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15754       -1,    -1,  1866,    -1,    -1,    -1,    -1,    -1,  4505,    -1,
15755       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1910,  1911,
15756       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1091,
15757       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15758       -1,    -1,    -1,    -1,    -1,    -1,  1910,  1911,    -1,    -1,
15759       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15760       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15761      371,    -1,  2758,  3565,    -1,    -1,    -1,  2763,    -1,    -1,
15762       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15763       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15764       -1,    -1,    -1,  2789,    -1,    -1,    -1,    -1,    -1,    -1,
15765       -1,    -1,    -1,    -1,  2800,    -1,  2802,  2803,    -1,    -1,
15766       -1,    -1,    -1,    -1,    -1,    -1,    -1,  2813,    -1,    -1,
15767     2816,    -1,  2818,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15768       -1,    -1,    -1,    -1,  1206,    -1,    -1,    -1,    -1,    -1,
15769       -1,    -1,    -1,    -1,    -1,    -1,    -1,  2049,    -1,    -1,
15770       -1,    -1,    -1,    -1,    -1,    -1,    -1,  2853,    -1,  2855,
15771      471,  2857,    -1,   474,   475,   476,    -1,   478,   479,   480,
15772      481,   482,   483,    -1,    -1,  2049,    -1,    -1,    -1,    -1,
15773       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2960,
15774       -1,    -1,  2963,    -1,  2965,    -1,    -1,    -1,    -1,  2970,
15775       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15776       -1,    -1,    -1,    -1,    -1,    -1,  2912,    -1,    -1,    -1,
15777       -1,  3723,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15778       -1,  2927,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15779     4747,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3019,    -1,
15780       -1,    -1,    -1,    -1,    -1,  4762,    -1,    -1,    -1,    -1,
15781     4767,    -1,    -1,    -1,    -1,    -1,    -1,  3038,    -1,    -1,
15782       -1,  3773,    -1,    -1,    -1,    -1,  3778,    -1,  3780,    -1,
15783       -1,    -1,    22,    -1,    -1,  2187,  4793,    -1,    -1,  2191,
15784     2192,    -1,  3063,    -1,    -1,  2991,    -1,    -1,    -1,    39,
15785       -1,  3803,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15786       -1,    -1,    -1,  2187,    -1,    -1,    -1,  2191,  2192,    -1,
15787       -1,  3823,    62,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15788       -1,    -1,    -1,    -1,    -1,    75,    -1,  3839,    -1,    -1,
15789     3842,    -1,    -1,    -1,  1416,    -1,    86,    -1,    -1,    -1,
15790       90,  2253,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15791       -1,    -1,  3133,    -1,  3135,  2267,    -1,    -1,   108,    -1,
15792       -1,    -1,    -1,    -1,   114,    -1,    -1,    -1,    -1,  2253,
15793       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15794       -1,   131,    -1,  2267,    -1,    -1,    -1,    -1,    -1,    -1,
15795       -1,    -1,   142,    -1,    -1,    -1,  2308,  4914,    -1,    -1,
15796       -1,   151,  1484,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15797       -1,    -1,    -1,   163,    -1,    -1,    -1,    -1,    -1,    -1,
15798       -1,   171,  3934,  3935,  2308,   175,    -1,    -1,    -1,    -1,
15799      681,    -1,  3944,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15800       -1,    -1,    -1,  1525,   194,  3226,    -1,    -1,    -1,    -1,
15801       -1,  3963,    -1,    -1,    -1,    -1,   707,    -1,    -1,    -1,
15802       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15803       -1,    -1,  3253,    -1,    -1,    -1,  1558,    -1,  3259,    -1,
15804       -1,   231,    -1,    -1,    -1,    -1,  3267,    -1,    -1,    -1,
15805      240,    -1,    -1,    -1,    -1,    -1,    -1,  5014,    -1,    -1,
15806       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15807       -1,    -1,    -1,    -1,    -1,  3296,    -1,    -1,    -1,    -1,
15808       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4041,
15809      280,    -1,    -1,   283,    -1,    -1,    -1,    -1,    -1,    -1,
15810       -1,    -1,    -1,    -1,    -1,    -1,    -1,  3253,    -1,    -1,
15811       -1,    -1,    -1,  3259,   304,    -1,    -1,    -1,    -1,    -1,
15812       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   318,    -1,
15813       -1,    -1,    -1,    -1,    -1,   325,    -1,    -1,    -1,    -1,
15814       -1,    -1,    -1,    -1,  3365,    -1,    -1,    -1,    -1,    -1,
15815       -1,    -1,    -1,    -1,   344,    -1,    -1,    -1,    -1,  2511,
15816       -1,    -1,    -1,   353,    -1,  3386,    -1,    -1,    -1,    -1,
15817      360,    -1,    -1,   363,    -1,    -1,    -1,    -1,    -1,  3400,
15818       -1,    -1,    -1,    -1,    -1,    -1,    -1,  2511,    -1,    -1,
15819       -1,    -1,   382,    -1,    -1,    -1,    -1,    -1,    -1,   389,
15820       -1,    -1,    -1,    -1,    -1,   395,    -1,    -1,   398,   399,
15821       -1,   401,   402,    -1,    -1,  1737,    -1,    -1,    -1,    -1,
15822       -1,    -1,   412,    -1,    -1,    -1,    -1,   417,    -1,    -1,
15823       -1,    -1,  1754,    -1,   424,    -1,    -1,   427,    -1,    -1,
15824      430,  2593,    -1,    -1,  2596,    -1,    -1,    -1,    -1,    -1,
15825     1772,    -1,    -1,   443,    -1,    -1,    -1,    -1,    -1,    -1,
15826       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2593,
15827       -1,    -1,  2596,    -1,    -1,   966,    -1,    -1,    -1,    -1,
15828       -1,    -1,    -1,    -1,    -1,  3506,    -1,    -1,    -1,    -1,
15829       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15830      991,    -1,    -1,    -1,    -1,    -1,  1828,    -1,  3529,    -1,
15831       -1,    -1,    -1,    -1,    -1,  1006,  4268,    -1,    -1,  1841,
15832       -1,  4273,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15833       -1,    -1,  1854,  3554,    -1,    -1,    -1,    -1,    -1,    -1,
15834       -1,    -1,    -1,    -1,  1866,    -1,    -1,    -1,    -1,    -1,
15835       -1,    -1,    -1,    -1,    -1,    -1,  4308,  3503,    -1,    -1,
15836       -1,    -1,    -1,  2715,    -1,    -1,  3512,    -1,  4320,  3590,
15837       -1,    -1,    -1,    -1,  3520,    -1,  3522,    -1,    -1,    -1,
15838     2732,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1910,  1911,
15839       -1,  2715,    -1,    -1,    -1,  2747,    -1,    -1,  4350,    -1,
15840     1091,    -1,    -1,  3549,  3550,    -1,    -1,    -1,  2732,    -1,
15841       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15842       -1,  3567,    -1,  2747,    -1,    -1,    -1,    -1,    -1,  3575,
15843       22,    -1,  3578,    -1,  3580,    27,    -1,    -1,    -1,    -1,
15844       -1,    -1,    -1,    -1,    -1,    -1,  3592,    -1,    -1,    -1,
15845       -1,    -1,    -1,    -1,  3600,  3601,    -1,    -1,    -1,  3680,
15846       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15847       62,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15848       -1,    -1,    -1,    75,    76,    -1,  3632,    -1,    -1,    -1,
15849       -1,    -1,    -1,    -1,    86,    -1,    -1,  4449,    90,    -1,
15850       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15851       -1,    -1,  3658,    -1,    -1,  1206,   108,    -1,    -1,    -1,
15852       -1,    -1,    -1,    -1,    -1,    -1,    -1,  2049,  3674,    -1,
15853       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   131,
15854       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15855      142,    27,    -1,    -1,    -1,    -1,    -1,    -1,  3779,   151,
15856       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15857       -1,   163,    -1,    -1,    -1,    -1,   168,  4529,    -1,    -1,
15858       -1,    -1,    -1,  3804,    -1,    -1,    -1,    -1,    -1,    -1,
15859       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    75,
15860      681,    -1,   194,    -1,    -1,    -1,    -1,    -1,  2960,    -1,
15861       -1,  2963,    -1,  2965,    90,    -1,    -1,    -1,  2970,    -1,
15862       -1,    -1,    -1,    -1,    -1,    -1,   707,   219,    -1,    -1,
15863       -1,    -1,   108,    -1,    -1,    -1,  2960,    -1,   114,  2963,
15864       -1,  2965,    -1,    -1,    -1,    -1,  2970,    -1,   240,    -1,
15865       -1,    -1,    -1,    -1,    -1,   131,    -1,    -1,    -1,    -1,
15866       -1,    -1,    -1,    -1,    -1,  2187,   142,  3019,    -1,  2191,
15867     2192,    -1,    -1,    -1,    -1,   151,    -1,    -1,    -1,    -1,
15868       -1,    -1,    -1,    -1,    -1,    -1,  3038,   163,   280,  4641,
15869       -1,  4643,   168,    -1,    -1,  3019,    -1,    -1,    -1,   175,
15870       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15871       -1,  3063,   304,    -1,  3038,    -1,    -1,  3938,   194,    -1,
15872       -1,    -1,   314,   315,    -1,  1416,   318,    -1,    -1,    -1,
15873       -1,  2253,    -1,    -1,    -1,    -1,    -1,    -1,  4690,  3063,
15874       -1,    -1,    -1,   219,    -1,  2267,    -1,    -1,    -1,    -1,
15875       -1,    -1,   344,    -1,    -1,   347,    -1,    -1,    -1,   351,
15876       -1,   353,    -1,    -1,   240,  3986,    -1,    -1,   360,  3990,
15877       -1,   363,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15878       -1,  3133,    -1,  3135,    -1,    -1,  2308,  4739,    -1,    -1,
15879      382,    -1,    -1,  1484,    -1,    -1,    -1,   389,    -1,    -1,
15880       -1,    -1,    -1,   395,   280,    -1,   398,    -1,    -1,  3133,
15881      402,  3135,    -1,    -1,    -1,    -1,    -1,    -1,   410,    -1,
15882      412,    -1,    -1,    -1,    -1,   417,    -1,    -1,   304,    -1,
15883       -1,    -1,    -1,    -1,  1525,    -1,    -1,    -1,   314,   315,
15884       -1,    -1,   318,    -1,    -1,  3991,  3992,    -1,    -1,    -1,
15885       -1,   443,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15886       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1558,   344,    -1,
15887       -1,   347,    -1,    -1,  3226,   351,    -1,   353,    -1,    -1,
15888       -1,    -1,    -1,    -1,   360,   966,    -1,   363,    -1,    -1,
15889       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15890       -1,  4122,  3226,    -1,    -1,    -1,   382,    -1,    -1,    -1,
15891      991,  4132,    -1,   389,    -1,  3267,    -1,    -1,   394,   395,
15892     4066,    -1,   398,    -1,    -1,  1006,   402,    -1,    -1,    -1,
15893       -1,    -1,  4078,    -1,    -1,    -1,   412,    -1,    -1,    -1,
15894       -1,   417,    -1,  3267,  3296,    -1,    -1,    -1,    -1,    -1,
15895       -1,    -1,    -1,    -1,   430,    -1,    -1,    -1,    -1,    -1,
15896       -1,    -1,    -1,    -1,    -1,    -1,    -1,   443,    -1,    -1,
15897       -1,  4923,  3296,  4119,  4120,    -1,    -1,    -1,    -1,    -1,
15898     4126,  4127,    -1,    -1,    -1,  4131,    -1,    -1,    -1,  2511,
15899       -1,  4137,   681,    -1,  4140,  4141,    -1,  4949,    -1,  4145,
15900       -1,    -1,    -1,    -1,    -1,  4151,    -1,    -1,    -1,    -1,
15901     1091,  4963,    -1,  3365,    -1,    -1,    -1,    -1,   707,    -1,
15902       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4250,
15903       -1,    -1,    -1,    -1,  3386,    -1,    -1,    -1,    -1,    -1,
15904       -1,  3365,    -1,    -1,    -1,    -1,  1737,    -1,  3400,    -1,
15905       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4205,
15906       -1,    -1,  3386,  1754,    -1,    -1,    -1,    -1,    -1,    -1,
15907     4291,  2593,    -1,    -1,  2596,    -1,  3400,    -1,    -1,    -1,
15908       -1,  1772,    -1,    -1,    -1,    -1,  4232,    -1,    -1,    -1,
15909       -1,    -1,  4313,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15910       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15911       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15912       -1,    -1,    -1,    -1,    -1,  1206,    -1,    -1,    -1,    -1,
15913       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1828,    -1,    -1,
15914       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15915     1841,    -1,    -1,    -1,  3506,    -1,    -1,    -1,    -1,    -1,
15916     4381,    -1,    -1,  1854,    -1,    -1,    -1,    -1,    -1,    -1,
15917       -1,    -1,    -1,    -1,    -1,  1866,    -1,  3529,    -1,    -1,
15918       -1,    -1,  3506,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15919     4336,    -1,    -1,  2715,    -1,    -1,  5148,    -1,  5150,    -1,
15920       -1,    -1,  3554,    -1,    -1,  3529,    -1,    -1,    -1,    -1,
15921     2732,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1910,
15922     1911,    -1,    -1,    -1,    -1,  2747,    -1,    -1,    -1,    -1,
15923     3554,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3590,    -1,
15924       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15925       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15926       -1,    -1,    -1,    -1,  4410,    -1,  3590,    -1,    -1,    -1,
15927       -1,    -1,    -1,    -1,    -1,    -1,    -1,   966,    -1,    -1,
15928     4501,    -1,  4503,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15929       -1,    -1,    -1,  5245,    -1,    -1,    -1,    -1,    -1,    -1,
15930       -1,    -1,   991,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15931       -1,  5263,    -1,    -1,    -1,    -1,    -1,  1006,    -1,    -1,
15932       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3680,    -1,
15933       -1,  4552,    -1,    -1,    -1,  1416,    -1,  5289,    -1,    -1,
15934       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15935       -1,    -1,    -1,    -1,    -1,    -1,  3680,    -1,  2049,    -1,
15936       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15937       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15938       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15939       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15940       -1,    -1,  1091,  1484,    -1,    -1,    -1,    -1,    -1,    -1,
15941       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15942       -1,    -1,    -1,    -1,    -1,    -1,    -1,  3779,    -1,    -1,
15943       -1,  4577,  4578,    -1,    -1,  4581,    -1,    -1,  2960,    -1,
15944       -1,  2963,  5394,  2965,  1525,    -1,    -1,    -1,  2970,    -1,
15945       -1,    -1,  3804,    -1,    -1,  3779,    -1,    -1,    -1,    -1,
15946       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4689,    -1,
15947       -1,    -1,  4618,  4619,    -1,    -1,    -1,  1558,    -1,    -1,
15948     3804,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15949     4636,    -1,    -1,    -1,    -1,    -1,  2187,  3019,    -1,    -1,
15950     2191,  2192,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15951       -1,    -1,    -1,    -1,    -1,    -1,  3038,  1206,    -1,    -1,
15952       -1,    -1,    -1,    -1,    -1,  5477,    -1,    -1,    -1,    -1,
15953       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15954       -1,  3063,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15955       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15956       -1,    -1,  2253,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15957       -1,    -1,    -1,    -1,    -1,    -1,  2267,    -1,    -1,    -1,
15958       -1,    -1,    -1,    -1,    -1,    -1,  3938,    -1,    -1,  5541,
15959      681,    -1,    -1,    -1,  4815,    -1,    -1,    -1,    -1,    -1,
15960       -1,    -1,    -1,    -1,    -1,    -1,    -1,  5559,    -1,    -1,
15961       -1,  3133,    -1,  3135,  3938,    -1,   707,  2308,    -1,  4840,
15962       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15963       -1,    -1,    -1,    -1,  3986,    -1,    -1,    -1,  3990,    -1,
15964       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15965       -1,    -1,    -1,    -1,    -1,    -1,  1737,    -1,  4879,    -1,
15966       -1,    -1,  3986,    -1,    -1,    -1,  3990,    -1,    -1,    -1,
15967       -1,    -1,    -1,  1754,    -1,    -1,    -1,    -1,    -1,    -1,
15968       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15969       -1,  1772,    -1,    -1,    -1,    -1,  4842,    -1,    -1,    -1,
15970       -1,    -1,    -1,    -1,  3226,    -1,    -1,    -1,    -1,    -1,
15971       -1,  4932,    -1,    -1,    -1,    -1,  4937,  4938,    -1,    -1,
15972       -1,    -1,    -1,  4869,    -1,    -1,    -1,  1416,    -1,    -1,
15973       -1,    -1,    -1,    -1,    -1,    -1,    -1,  4883,    -1,    -1,
15974       -1,    -1,    -1,    -1,    -1,  3267,    -1,  1828,    -1,    -1,
15975       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15976     1841,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15977     4122,    -1,    -1,  1854,  3296,    -1,    -1,    -1,    -1,    -1,
15978     4132,    -1,    -1,    -1,    -1,  1866,    -1,    -1,    -1,    -1,
15979       -1,    -1,    -1,    -1,    -1,  1484,  4942,    -1,  4122,    -1,
15980       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4132,    -1,
15981       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15982     2511,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1910,
15983     1911,  5052,  5053,    -1,    -1,    -1,  1525,    -1,    -1,  4985,
15984       -1,    -1,    -1,  3365,    -1,    -1,    -1,    -1,    -1,    -1,
15985       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15986       -1,    -1,    -1,    -1,  3386,    -1,    -1,    -1,    -1,  1558,
15987       -1,    -1,    -1,    -1,    -1,   966,    -1,    -1,  3400,    -1,
15988       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15989       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4250,    -1,
15990      991,    -1,  2593,    -1,    -1,  2596,    -1,    -1,    -1,    -1,
15991       -1,    -1,    -1,    -1,    -1,  1006,    -1,    -1,    -1,    -1,
15992       -1,    -1,    -1,    -1,    -1,    -1,  4250,    -1,    -1,    -1,
15993       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4291,
15994       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15995       -1,  5097,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15996       -1,  4313,    -1,    -1,    -1,    -1,    -1,  4291,  2049,    -1,
15997       -1,    -1,    -1,    -1,    -1,    -1,    -1,  5123,    -1,    -1,
15998       -1,    -1,    -1,    -1,  3506,    -1,    -1,    -1,    -1,  4313,
15999       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16000     1091,    -1,    -1,    -1,    -1,    -1,    -1,  3529,    -1,    -1,
16001       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16002       -1,    -1,    -1,    -1,  2715,    -1,    -1,  5248,    -1,  4381,
16003       -1,    -1,  3554,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16004       -1,  2732,    -1,    -1,    -1,    -1,    -1,    -1,  1737,    -1,
16005       -1,    -1,    -1,    -1,  5200,    -1,  2747,  4381,    -1,    -1,
16006       -1,    -1,    -1,    -1,    -1,  1754,    -1,    -1,  3590,    -1,
16007       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16008       -1,    -1,    -1,  1772,    -1,    -1,    -1,    -1,    -1,  5235,
16009     5236,  5237,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16010       -1,    -1,    -1,    -1,    -1,    -1,  2187,    -1,  5254,    -1,
16011     2191,  2192,    -1,    -1,    -1,  1206,    -1,    -1,    -1,    -1,
16012       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16013       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1828,
16014       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16015       -1,  4503,  1841,    -1,    -1,    -1,    -1,    -1,  3680,    -1,
16016       -1,    -1,    -1,    -1,    -1,  1854,    -1,    -1,    -1,    -1,
16017       -1,    -1,  2253,    -1,    -1,    -1,    -1,  1866,    -1,  4503,
16018       -1,    -1,    -1,    -1,    -1,    -1,  2267,    -1,    -1,  5335,
16019       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16020     4552,    -1,    -1,    -1,    -1,    -1,    -1,  5353,    -1,    -1,
16021       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16022       -1,  1910,  1911,    -1,    -1,    -1,    -1,  2308,  4552,    -1,
16023       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16024       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16025       -1,    -1,    -1,    -1,    -1,    -1,    -1,  3779,    -1,    -1,
16026       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2960,
16027       -1,    -1,  2963,    -1,  2965,    -1,    -1,    -1,    -1,  2970,
16028       -1,    -1,  3804,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16029       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16030       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16031       -1,    -1,    -1,    -1,    -1,    -1,    -1,  5463,    -1,    -1,
16032       -1,    -1,    -1,    -1,    -1,  1416,    -1,    -1,  3019,    -1,
16033       -1,    -1,    -1,    -1,    -1,    -1,    -1,  4689,    -1,    -1,
16034       -1,    -1,    -1,    -1,    -1,    -1,    -1,  3038,    -1,    -1,
16035       -1,    -1,  5498,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16036     2049,    -1,  5508,    -1,    -1,  4689,    -1,    -1,    -1,    -1,
16037       -1,    -1,  3063,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16038       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16039       -1,    -1,    -1,  1484,    -1,    -1,    -1,    -1,    -1,    -1,
16040       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16041       -1,    -1,    -1,    -1,    -1,    -1,  3938,    -1,    -1,    -1,
16042       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16043     2511,    -1,    -1,    -1,  1525,    -1,    -1,    -1,    -1,    -1,
16044       -1,    -1,  3133,    -1,  3135,    -1,    -1,    -1,    -1,    -1,
16045       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16046       -1,    -1,    -1,  4815,  3986,    -1,    -1,  1558,  3990,    -1,
16047       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16048       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4840,    -1,
16049       -1,  4815,    -1,    -1,    -1,    -1,    -1,    -1,  2187,    -1,
16050       -1,    -1,  2191,  2192,    -1,    -1,    -1,    -1,    -1,    -1,
16051       -1,    -1,  2593,    -1,    -1,  2596,  4840,    -1,    -1,    -1,
16052       -1,    -1,    -1,    -1,    -1,    -1,    -1,  4879,    -1,    -1,
16053       -1,    -1,    -1,    -1,    -1,  3226,    -1,    -1,    -1,    -1,
16054       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16055       -1,    -1,    -1,    -1,    -1,  4879,    -1,    -1,    -1,    -1,
16056       -1,    -1,    -1,    -1,  2253,    -1,    -1,    -1,    -1,    -1,
16057       -1,    -1,    -1,    -1,    -1,    -1,  3267,    -1,  2267,    -1,
16058     4932,    -1,    -1,    -1,    -1,  4937,  4938,    -1,    -1,    -1,
16059       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16060     4122,    -1,    -1,    -1,    -1,  3296,    -1,    -1,  4932,    -1,
16061     4132,    -1,    -1,  4937,  4938,    -1,    -1,    -1,    -1,  2308,
16062       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16063       -1,    -1,    -1,    -1,  2715,    -1,    -1,    -1,    -1,    -1,
16064       -1,    -1,    -1,    -1,    -1,    -1,  1737,    -1,    -1,    -1,
16065       -1,  2732,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16066       -1,    -1,    -1,  1754,    -1,    -1,  2747,    -1,    -1,    -1,
16067       -1,    -1,    -1,    -1,  3365,    -1,    -1,    -1,    -1,    -1,
16068       -1,  1772,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16069       -1,    -1,    -1,    -1,    -1,  3386,    -1,    -1,    -1,    -1,
16070       -1,  5053,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3400,
16071       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16072       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4250,  5053,
16073       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1828,    -1,    -1,
16074       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16075     1841,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16076       -1,    -1,    -1,  1854,    -1,    -1,    -1,    -1,    -1,  4291,
16077       -1,    -1,    -1,    -1,    -1,  1866,    -1,    -1,    -1,    -1,
16078       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16079       -1,  4313,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16080       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16081       -1,    -1,    -1,    -1,    -1,  3506,    -1,    -1,    -1,  1910,
16082     1911,    -1,  2511,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16083       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3529,    -1,
16084       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16085       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1315,  4381,
16086       -1,    -1,    -1,  3554,    -1,    -1,    -1,    -1,    -1,    -1,
16087       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2960,
16088       -1,    -1,  2963,    -1,  2965,    -1,    -1,    -1,    -1,  2970,
16089       -1,    -1,    -1,    -1,    -1,    -1,  5248,    -1,    -1,  3590,
16090       -1,    -1,    -1,    -1,  2593,    -1,    -1,  2596,    -1,    -1,
16091       -1,    -1,    -1,    -1,    -1,    -1,  1373,    -1,    -1,    -1,
16092       -1,    -1,    -1,    -1,  5248,    -1,    -1,    -1,    -1,    -1,
16093       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3019,    -1,
16094       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16095       -1,    -1,    -1,    -1,    -1,    -1,    -1,  3038,  2049,    -1,
16096       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16097       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16098       -1,  4503,  3063,    -1,    -1,    -1,    -1,    -1,    -1,  3680,
16099       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16100       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16101       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16102       -1,    -1,    -1,    -1,    -1,    -1,  2715,    -1,    -1,    -1,
16103     4552,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16104       -1,    -1,    -1,  2732,    -1,    -1,    -1,    -1,    -1,    -1,
16105       -1,    -1,  3133,    -1,  3135,    -1,    -1,    -1,  2747,    -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,  3779,    -1,
16109       -1,    -1,    -1,    -1,    -1,    -1,  2187,    -1,    -1,    -1,
16110     2191,  2192,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16111       -1,    -1,    -1,  3804,    -1,    -1,    -1,    -1,    -1,    -1,
16112       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16113       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16114       -1,    -1,    -1,    -1,    -1,  3226,    -1,    -1,    -1,    -1,
16115       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16116       -1,    -1,  2253,    -1,    -1,    -1,    -1,  4689,    -1,    -1,
16117       -1,    -1,    -1,    -1,    -1,    -1,  2267,    -1,    -1,    -1,
16118       -1,    -1,    -1,  1640,    -1,    -1,  3267,  1644,    -1,    -1,
16119       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16120       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16121       -1,    -1,    -1,    -1,    -1,  3296,    -1,  2308,    -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,  3938,    -1,    -1,
16125       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16126       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16127       -1,  2960,    -1,    -1,  2963,    -1,  2965,    -1,    -1,    -1,
16128       -1,  2970,    -1,    -1,  3365,    -1,    -1,    -1,    -1,    -1,
16129       -1,    -1,    -1,  4815,    -1,  3986,    -1,    -1,    -1,  3990,
16130       -1,    -1,    -1,    -1,    -1,  3386,    -1,    -1,    -1,    -1,
16131       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4840,  3400,
16132       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16133     3019,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16134       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3038,
16135       -1,    -1,    -1,    -1,    -1,    -1,    -1,  4879,    -1,    -1,
16136       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16137       -1,    -1,    -1,    -1,  3063,    -1,    -1,    -1,    -1,    -1,
16138       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16139       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16140       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16141     4932,    -1,    -1,    -1,    -1,  4937,  4938,    -1,    -1,    -1,
16142     2511,    -1,    -1,    -1,    -1,  3506,    -1,    -1,    -1,    -1,
16143       -1,  4122,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16144       -1,  4132,    -1,    -1,  3133,    -1,  3135,    -1,  3529,    -1,
16145       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16146       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16147       -1,    -1,    -1,  3554,    -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,  2593,    -1,    -1,  2596,    -1,    -1,    -1,  3590,
16151       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16152       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16153       -1,  5053,    -1,    -1,    -1,    -1,    -1,  3226,    -1,    -1,
16154       -1,    -1,    -1,    -1,    -1,    -1,    -1,  2004,    -1,    -1,
16155       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4250,
16156       -1,    -1,  2019,    -1,    -1,    -1,  2023,    -1,    -1,    -1,
16157       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3267,    -1,
16158     2037,  2038,  2039,    -1,  2041,    -1,    -1,    -1,    -1,    -1,
16159       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3680,
16160     4291,    -1,    -1,    -1,    -1,    -1,    -1,  3296,    -1,    -1,
16161       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16162       -1,    -1,  4313,    -1,  2715,    -1,  2083,    -1,    -1,    -1,
16163       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16164       -1,  2732,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16165       -1,    -1,    -1,    -1,    -1,    -1,  2747,    -1,    -1,    -1,
16166       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16167       -1,    -1,    -1,    -1,    -1,    -1,  3365,    -1,    -1,    -1,
16168       -1,    -1,    -1,    -1,  2141,    -1,    -1,    -1,    -1,    -1,
16169     4381,    -1,    -1,    -1,    -1,    -1,  2153,  3386,  3779,    -1,
16170       -1,  2158,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16171       -1,  3400,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16172       -1,    -1,    -1,  3804,    -1,    -1,  5248,    -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,    -1,    -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,    -1,    -1,    -1,    -1,    -1,    -1,
16179       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16180       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16181       -1,    -1,  4503,    -1,    -1,    -1,    -1,  3506,    -1,    -1,
16182       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16183       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16184     3529,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16185       -1,    -1,    -1,    -1,    -1,    -1,    -1,  3938,    -1,    -1,
16186       -1,  4552,    -1,    -1,    -1,  3554,    -1,    -1,    -1,  2960,
16187       -1,    -1,  2963,    -1,  2965,    -1,    -1,    -1,    -1,  2970,
16188       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16189       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16190       -1,  3590,    -1,    -1,    -1,  3986,    -1,    -1,    -1,  3990,
16191       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16192       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3019,    -1,
16193       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16194       -1,    -1,    -1,    -1,    -1,    -1,    -1,  3038,    -1,    -1,
16195       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16196       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16197       -1,    -1,  3063,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16198       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16199       -1,  3680,    -1,    -1,    -1,    -1,    -1,    -1,  4689,    -1,
16200       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16201       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16202       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16203       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16204       -1,  4122,  3133,    -1,  3135,    -1,    -1,    -1,    -1,    -1,
16205       -1,  4132,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16206       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16207       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16208       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16209     3779,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16210       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16211       -1,    -1,    -1,    -1,    -1,  3804,    -1,    -1,    -1,    -1,
16212       -1,    -1,    -1,    -1,  4815,    -1,    -1,    -1,    -1,    -1,
16213       -1,    -1,    -1,    -1,    -1,  3226,    -1,    -1,    -1,    -1,
16214       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4840,
16215       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16216       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4250,
16217       -1,    -1,    -1,    -1,    -1,    -1,  3267,    -1,    -1,    -1,
16218       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4879,    -1,
16219       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16220       -1,    -1,    -1,    -1,    -1,  3296,    -1,    -1,    -1,    -1,
16221     4291,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16222       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16223       -1,    -1,  4313,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16224       -1,  4932,    -1,    -1,    -1,    -1,  4937,  4938,    -1,  3938,
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,  3365,    -1,    -1,    -1,    -1,    -1,
16228       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16229       -1,    -1,    -1,    -1,    -1,  3386,    -1,  3986,    -1,    -1,
16230     4381,  3990,    -1,    -1,  2761,    -1,    -1,    -1,    -1,  3400,
16231       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16232       -1,    -1,    -1,    -1,  2781,  2782,    -1,  2784,    -1,    -1,
16233     2787,  2788,    -1,  2790,    -1,  2792,    -1,    -1,    -1,  2796,
16234       -1,    -1,  2799,    -1,    -1,    -1,    -1,  2804,    -1,    -1,
16235       -1,    -1,    -1,  2810,    -1,    -1,    -1,    -1,  2815,    -1,
16236       -1,    -1,  5053,    -1,    -1,  2822,  2823,  2824,  2825,    -1,
16237       -1,    -1,  2829,  2830,    -1,  2832,    -1,    -1,    -1,    -1,
16238       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16239       -1,    -1,    -1,  2850,    -1,  2852,    -1,    -1,    -1,    -1,
16240       -1,    -1,  2859,  2860,  2861,  2862,  2863,  2864,  2865,  2866,
16241     2867,  2868,    -1,    -1,    -1,  3506,    -1,    -1,    -1,    -1,
16242       -1,    -1,  4503,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16243       -1,    -1,    -1,  4122,    -1,    -1,    -1,    -1,  3529,    -1,
16244       -1,    -1,    -1,  4132,    -1,    -1,    -1,    -1,  2905,    -1,
16245       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16246       -1,    -1,    -1,  3554,    -1,    -1,    -1,    -1,    -1,    -1,
16247       -1,  4552,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16248       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16249       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3590,
16250       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16251       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16252       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16253       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16254       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3006,
16255       -1,    -1,    -1,    -1,    -1,    -1,    -1,  5248,    -1,    -1,
16256       -1,  4250,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16257       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16258       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3680,
16259       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16260       -1,    -1,  4291,    -1,    -1,    -1,    -1,    -1,  4689,    -1,
16261       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16262       -1,    -1,    -1,    -1,  4313,    -1,    -1,    -1,    -1,    -1,
16263       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16264       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16265       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16266       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16267       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16268       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3779,    -1,
16269       -1,    -1,  4381,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16270       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16271       -1,    -1,    -1,  3804,    -1,    -1,    -1,    -1,    -1,    -1,
16272       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16273       -1,    -1,    -1,    -1,  4815,    -1,    -1,    -1,    -1,    -1,
16274       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16275       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4840,
16276       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
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,  4879,    -1,
16280     3257,  3258,    -1,    -1,    -1,  3262,    -1,    -1,    -1,    -1,
16281       -1,    -1,    -1,    -1,  4503,    -1,    -1,    -1,    -1,    -1,
16282       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16283       -1,    -1,    -1,    -1,  3291,    -1,    -1,    -1,    -1,    -1,
16284       -1,    -1,    -1,    -1,    -1,    -1,    -1,  3938,    -1,    -1,
16285       -1,  4932,    -1,    -1,    -1,    -1,  4937,  4938,    -1,    -1,
16286       -1,    -1,    -1,  4552,    -1,    -1,    -1,    -1,    -1,    -1,
16287       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16288       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16289       -1,    -1,    -1,    -1,    -1,  3986,    -1,    -1,    -1,  3990,
16290       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16291       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16292       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16293       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16294       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16295       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16296       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16297       -1,    -1,  5053,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16298       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16299       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16300     4689,    -1,    -1,    -1,    -1,    -1,    -1,    -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,  4122,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16304       -1,  4132,    -1,    -1,    -1,  3502,    -1,    -1,    -1,    -1,
16305       -1,  3508,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16306       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3526,
16307     3527,    -1,    -1,  3530,  3531,  3532,  3533,    -1,    -1,  3536,
16308     3537,  3538,  3539,  3540,  3541,  3542,  3543,  3544,  3545,  3546,
16309       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16310       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16311       -1,  3568,    -1,    -1,  3571,    -1,  3573,    -1,    -1,  3576,
16312     3577,    -1,    -1,    -1,    -1,    -1,  4815,    -1,    -1,    -1,
16313       -1,    -1,    -1,    -1,    -1,    -1,    -1,  3594,  3595,  3596,
16314     3597,    -1,  3599,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16315       -1,  4840,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4250,
16316       -1,    -1,    -1,    -1,    -1,    -1,    -1,  5248,    -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     4879,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16320     4291,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16321       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16322       -1,    -1,  4313,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16323       -1,    -1,  3689,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16324       -1,    -1,    -1,  4932,    -1,    -1,    -1,    -1,  4937,  4938,
16325       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16326       -1,    -1,    -1,    -1,    -1,    -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     4381,    -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       -1,    -1,    -1,    -1,  5053,    -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,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16341       -1,    -1,  4503,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16342       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16343       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16344       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16345       -1,    -1,  3909,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16346       -1,  4552,    -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,    -1,    -1,    -1,
16350       -1,    -1,    -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,    -1,    -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,  5248,
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,    -1,
16359       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4689,    -1,
16360       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16361     4067,    -1,    -1,    -1,  4071,    -1,  4073,  4074,    -1,    -1,
16362       -1,    -1,    -1,  4080,  4081,  4082,  4083,    -1,    -1,    -1,
16363       -1,  4088,  4089,  4090,  4091,  4092,  4093,  4094,  4095,  4096,
16364     4097,  4098,  4099,    -1,    -1,    -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,  4125,    -1,
16367       -1,  4128,    -1,  4130,    -1,    -1,    -1,    -1,  4135,    -1,
16368       -1,  4138,  4139,    -1,    -1,  4142,  4143,    -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,  4815,    -1,    -1,    -1,    -1,    -1,
16373       -1,    -1,  4189,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16374       -1,    -1,    -1,    -1,    -1,    -1,    -1,  4204,    -1,  4840,
16375       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16376     4217,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16377       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16378       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4879,    -1,
16379       -1,    -1,    -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,    -1,    -1,    -1,    -1,    -1,
16382       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16383       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16384       -1,  4932,    -1,    -1,    -1,    -1,  4937,  4938,    -1,    -1,
16385       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -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,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -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,  4413,    -1,    -1,    -1,
16396       -1,    -1,  5053,    -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,    -1,    -1,    -1,    -1,    -1,    -1,
16400       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16401       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16402       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16403       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16404       -1,  4498,  4499,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16405       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16406       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16407       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16408       -1,    -1,    -1,    -1,  4541,    -1,    -1,    -1,    -1,    -1,
16409     4547,  4548,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16410       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4565,    -1,
16411     4567,    -1,    -1,    -1,  4571,  4572,  4573,    -1,    -1,  4576,
16412       -1,    -1,  4579,  4580,    -1,    -1,    -1,  4584,    -1,    -1,
16413       -1,  4588,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16414       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16415       -1,    -1,    -1,    -1,    -1,    -1,    -1,  5248,    -1,    -1,
16416       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16417       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16418       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4645,    -1,
16419       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16420       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16421       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16422       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16423       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16424       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16425       -1,    -1,    -1,    -1,  4711,    -1,    -1,    -1,    -1,    -1,
16426       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16427       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16428       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16429       -1,    -1,  4749,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16430       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16431       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16432       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16433       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16434       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16435       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16436       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16437       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16438       -1,  4838,  4839,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16439       -1,    -1,    -1,    -1,    -1,    -1,  4853,  4854,  4855,    -1,
16440       -1,    -1,    -1,    -1,    -1,    -1,  4863,    -1,    -1,    -1,
16441       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16442       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16443       -1,    -1,    -1,  4890,  4891,    -1,    -1,    -1,    -1,    -1,
16444       -1,    -1,    -1,    -1,    -1,  4902,    -1,    -1,    -1,    -1,
16445       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16446       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16447       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16448       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16449       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16450       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16451       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16452       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16453       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16454       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16455       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16456       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16457       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16458       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16459       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16460       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5065,    -1,
16461       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16462       -1,  5078,    -1,    -1,  5081,    -1,    -1,    -1,  5085,    -1,
16463       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16464       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16465       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16466       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16467       -1,    -1,    -1,    -1,    -1,    -1,    -1,  5134,    -1,    -1,
16468       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16469       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16470       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16471       -1,    -1,    -1,    -1,  5171,    -1,    -1,    -1,    -1,    -1,
16472       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16473       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16474       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16475       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16476       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16477       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16478       -1,    -1,    -1,    -1,    -1,  5242,    -1,  5244,    -1,    -1,
16479       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16480       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16481       -1,    -1,    -1,    -1,    -1,    -1,    -1,  5274,    -1,    -1,
16482       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16483       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16484       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16485       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16486       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16487       -1,  5328,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16488       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16489       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5356,
16490       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16491       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16492       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16493       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16494       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16495       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16496     5417,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16497       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16498       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16499       -1,    -1,    -1,    -1,    -1,  5452,  5453,    -1,    -1,    -1,
16500       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16501       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16502       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16503       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16504       -1,    -1,    -1,    -1,    -1,    -1,    -1,  5504,  5505,    -1,
16505       -1,    -1,  5509,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16506       -1,    -1,    -1,     3,    -1,     5,     6,    -1,     8,     9,
16507       10,    11,    12,    -1,    -1,    -1,    -1,    -1,    -1,  5536,
16508       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
16509       30,    31,    -1,    -1,    -1,    -1,    36,    -1,    -1,    39,
16510       40,    -1,    42,    43,    44,    45,    46,    47,    48,    49,
16511       50,    51,    52,    53,    -1,    55,    56,    57,    58,    59,
16512       60,    61,    62,    63,    64,    65,    66,    67,    -1,    69,
16513       70,    71,    72,    73,    -1,    75,    -1,    77,    78,    79,
16514       80,    81,    82,    83,    84,    85,    -1,    87,    88,    89,
16515       90,    91,    92,    -1,    94,    95,    96,    97,    98,    99,
16516      100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
16517      110,   111,   112,   113,   114,   115,    -1,   117,   118,   119,
16518      120,   121,   122,    -1,   124,   125,   126,   127,   128,    -1,
16519      130,   131,   132,   133,   134,    -1,   136,   137,   138,    -1,
16520      140,   141,   142,    -1,   144,   145,   146,   147,   148,   149,
16521      150,   151,   152,   153,   154,   155,    -1,   157,   158,   159,
16522      160,    -1,   162,    -1,   164,   165,    -1,   167,   168,   169,
16523      170,   171,    -1,   173,   174,    -1,   176,   177,   178,    -1,
16524      180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
16525       -1,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
16526      200,   201,   202,   203,   204,   205,   206,   207,    -1,   209,
16527       -1,   211,   212,   213,   214,   215,   216,   217,   218,   219,
16528      220,    -1,    -1,   223,   224,   225,   226,   227,    -1,   229,
16529      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
16530      240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
16531      250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
16532      260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
16533      270,   271,   272,   273,   274,    -1,   276,   277,    -1,    -1,
16534      280,   281,   282,    -1,    -1,   285,   286,   287,   288,   289,
16535      290,   291,   292,   293,   294,   295,   296,   297,   298,   299,
16536      300,    -1,    -1,   303,   304,   305,   306,   307,   308,   309,
16537      310,    -1,   312,   313,   314,   315,   316,   317,   318,   319,
16538      320,   321,   322,   323,   324,   325,   326,    -1,   328,   329,
16539      330,   331,   332,   333,   334,   335,   336,   337,   338,   339,
16540       -1,   341,   342,   343,   344,   345,   346,   347,   348,   349,
16541      350,   351,   352,   353,   354,   355,   356,   357,   358,    -1,
16542      360,   361,   362,   363,   364,   365,   366,   367,   368,   369,
16543      370,   371,   372,   373,   374,   375,    -1,   377,   378,   379,
16544      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
16545      390,   391,    -1,   393,   394,    -1,   396,   397,   398,   399,
16546      400,   401,   402,    -1,   404,   405,   406,    -1,    -1,   409,
16547      410,   411,   412,   413,   414,   415,   416,   417,   418,   419,
16548      420,   421,   422,    -1,   424,   425,   426,   427,   428,   429,
16549      430,    -1,   432,   433,   434,   435,   436,   437,   438,   439,
16550      440,   441,   442,   443,   444,   445,    -1,    -1,   448,    -1,
16551       -1,   451,   452,   453,   454,   455,   456,   457,   458,   459,
16552      460,   461,   462,   463,   464,   465,   466,   467,   468,   469,
16553      470,   471,    -1,    -1,    -1,    -1,    -1,    -1,   478,   479,
16554      480,    -1,    -1,    -1,    -1,    -1,    -1,   487,   488,     3,
16555       -1,     5,     6,    -1,     8,     9,    10,    11,    12,    -1,
16556       -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
16557       24,    25,    26,    27,    -1,    29,    30,    31,    -1,    -1,
16558       -1,    -1,    36,    -1,    -1,    39,    40,    -1,    42,    43,
16559       44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
16560       -1,    55,    56,    57,    58,    59,    60,    61,    62,    63,
16561       64,    65,    66,    67,    -1,    69,    70,    71,    72,    73,
16562       -1,    75,    -1,    77,    78,    79,    80,    81,    82,    83,
16563       84,    85,    -1,    87,    88,    89,    90,    91,    92,    -1,
16564       94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
16565      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
16566      114,   115,    -1,   117,   118,   119,   120,   121,   122,    -1,
16567      124,   125,   126,   127,    -1,    -1,   130,   131,   132,   133,
16568      134,    -1,   136,   137,   138,    -1,   140,   141,   142,    -1,
16569      144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
16570      154,   155,    -1,   157,   158,   159,   160,    -1,   162,    -1,
16571      164,   165,    -1,   167,   168,   169,   170,   171,    -1,   173,
16572      174,    -1,   176,   177,   178,    -1,   180,   181,   182,   183,
16573      184,   185,   186,   187,   188,   189,    -1,   191,   192,   193,
16574      194,   195,   196,   197,    -1,   199,   200,   201,   202,   203,
16575      204,   205,   206,   207,    -1,   209,    -1,   211,   212,   213,
16576      214,   215,   216,   217,   218,   219,   220,    -1,    -1,   223,
16577      224,   225,   226,   227,    -1,   229,   230,   231,   232,   233,
16578      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
16579      244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
16580      254,   255,   256,   257,   258,   259,   260,   261,   262,   263,
16581      264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
16582      274,    -1,   276,   277,    -1,    -1,   280,   281,   282,    -1,
16583       -1,   285,   286,   287,   288,   289,   290,   291,   292,   293,
16584      294,   295,   296,   297,   298,   299,   300,    -1,    -1,   303,
16585      304,   305,   306,   307,   308,   309,   310,    -1,   312,   313,
16586      314,   315,   316,   317,   318,   319,   320,   321,   322,   323,
16587      324,   325,   326,    -1,   328,   329,   330,   331,   332,   333,
16588      334,   335,   336,   337,   338,   339,    -1,   341,   342,   343,
16589      344,   345,   346,   347,   348,   349,   350,   351,   352,   353,
16590      354,   355,   356,   357,   358,   359,   360,   361,   362,   363,
16591      364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
16592      374,   375,    -1,   377,   378,   379,   380,   381,   382,   383,
16593      384,   385,   386,   387,   388,   389,   390,   391,    -1,   393,
16594      394,   395,   396,   397,   398,   399,   400,   401,   402,    -1,
16595      404,   405,   406,    -1,    -1,   409,   410,   411,   412,   413,
16596      414,   415,   416,   417,   418,   419,   420,   421,   422,    -1,
16597      424,   425,   426,   427,   428,   429,   430,    -1,   432,   433,
16598      434,   435,   436,   437,   438,    -1,   440,   441,   442,   443,
16599      444,   445,    -1,    -1,   448,    -1,   450,   451,   452,   453,
16600      454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
16601      464,   465,   466,   467,   468,   469,   470,   471,    -1,   473,
16602       -1,    -1,    -1,    -1,   478,   479,    -1,    -1,    -1,    -1,
16603       -1,    -1,    -1,   487,   488,     3,    -1,     5,     6,    -1,
16604        8,     9,    10,    11,    12,    -1,    -1,    -1,    -1,    -1,
16605       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
16606       -1,    29,    30,    31,    -1,    -1,    -1,    -1,    36,    -1,
16607       -1,    39,    40,    -1,    42,    43,    44,    45,    46,    47,
16608       48,    49,    50,    51,    52,    53,    -1,    55,    56,    57,
16609       58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
16610       -1,    69,    70,    71,    72,    73,    -1,    75,    -1,    77,
16611       78,    79,    80,    81,    82,    83,    84,    85,    -1,    87,
16612       88,    89,    90,    91,    92,    -1,    94,    95,    96,    97,
16613       98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
16614      108,   109,   110,   111,   112,   113,   114,   115,    -1,   117,
16615      118,   119,   120,   121,   122,    -1,   124,   125,   126,   127,
16616       -1,    -1,   130,   131,   132,   133,   134,    -1,   136,   137,
16617      138,    -1,   140,   141,   142,    -1,   144,   145,   146,   147,
16618      148,   149,   150,   151,   152,   153,   154,   155,    -1,   157,
16619      158,   159,   160,    -1,   162,    -1,   164,   165,    -1,   167,
16620      168,   169,   170,   171,    -1,   173,   174,    -1,   176,   177,
16621      178,    -1,   180,   181,   182,   183,   184,   185,   186,   187,
16622      188,   189,    -1,   191,   192,   193,   194,   195,   196,   197,
16623       -1,   199,   200,   201,   202,   203,   204,   205,   206,   207,
16624       -1,   209,    -1,   211,   212,   213,   214,   215,   216,   217,
16625      218,   219,   220,    -1,    -1,   223,   224,   225,   226,   227,
16626       -1,   229,   230,   231,   232,   233,   234,   235,   236,   237,
16627      238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
16628      248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
16629      258,   259,   260,   261,   262,   263,   264,   265,   266,   267,
16630      268,   269,   270,   271,   272,   273,   274,    -1,   276,   277,
16631       -1,    -1,   280,   281,   282,    -1,    -1,   285,   286,   287,
16632      288,   289,   290,   291,   292,   293,   294,   295,   296,   297,
16633      298,   299,   300,    -1,    -1,   303,   304,   305,   306,   307,
16634      308,   309,   310,    -1,   312,   313,   314,   315,   316,   317,
16635      318,   319,   320,   321,   322,   323,   324,   325,   326,    -1,
16636      328,   329,   330,   331,   332,   333,   334,   335,   336,   337,
16637      338,   339,    -1,   341,   342,   343,   344,   345,   346,   347,
16638      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
16639      358,    -1,   360,   361,   362,   363,   364,   365,   366,   367,
16640      368,   369,   370,   371,   372,   373,   374,   375,    -1,   377,
16641      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
16642      388,   389,   390,   391,    -1,   393,   394,    -1,   396,   397,
16643      398,   399,   400,   401,   402,    -1,   404,   405,   406,    -1,
16644       -1,   409,   410,   411,   412,   413,   414,   415,   416,   417,
16645      418,   419,   420,   421,   422,    -1,   424,   425,   426,   427,
16646      428,   429,   430,    -1,   432,   433,   434,   435,   436,   437,
16647      438,    -1,   440,   441,   442,   443,   444,   445,    -1,    -1,
16648      448,    -1,    -1,   451,   452,   453,   454,   455,   456,   457,
16649      458,   459,   460,   461,   462,   463,   464,   465,   466,   467,
16650      468,   469,   470,   471,    -1,    -1,    -1,    -1,    -1,    -1,
16651      478,   479,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   487,
16652      488,     3,    -1,     5,     6,    -1,     8,     9,    10,    11,
16653       12,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,
16654       22,    23,    24,    25,    26,    27,    -1,    29,    30,    31,
16655       -1,    -1,    -1,    -1,    36,    -1,    -1,    39,    40,    -1,
16656       42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
16657       52,    53,    -1,    55,    56,    57,    58,    59,    60,    61,
16658       62,    63,    64,    65,    66,    67,    -1,    69,    70,    71,
16659       72,    73,    -1,    75,    -1,    77,    78,    79,    80,    81,
16660       82,    83,    84,    85,    -1,    87,    88,    89,    90,    91,
16661       92,    -1,    94,    95,    96,    97,    98,    99,   100,   101,
16662      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
16663      112,   113,   114,   115,    -1,   117,   118,   119,   120,   121,
16664      122,    -1,   124,   125,   126,   127,    -1,    -1,   130,   131,
16665      132,   133,   134,    -1,   136,   137,   138,    -1,   140,   141,
16666      142,    -1,   144,   145,   146,   147,   148,   149,   150,   151,
16667      152,   153,   154,   155,    -1,   157,   158,   159,   160,    -1,
16668      162,    -1,   164,   165,    -1,   167,   168,   169,   170,   171,
16669       -1,   173,   174,    -1,   176,   177,   178,    -1,   180,   181,
16670      182,   183,   184,   185,   186,   187,   188,   189,    -1,   191,
16671      192,   193,   194,   195,   196,   197,    -1,   199,   200,   201,
16672      202,   203,   204,   205,   206,   207,    -1,   209,    -1,   211,
16673      212,   213,   214,   215,   216,   217,   218,   219,   220,    -1,
16674       -1,   223,   224,   225,   226,   227,    -1,   229,   230,   231,
16675      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
16676      242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
16677      252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
16678      262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
16679      272,   273,   274,    -1,   276,   277,    -1,    -1,   280,   281,
16680      282,    -1,    -1,   285,   286,   287,   288,   289,   290,   291,
16681      292,   293,   294,   295,   296,   297,   298,   299,   300,    -1,
16682       -1,   303,   304,   305,   306,   307,   308,   309,   310,    -1,
16683      312,   313,   314,   315,   316,   317,   318,   319,   320,   321,
16684      322,   323,   324,   325,   326,    -1,   328,   329,   330,   331,
16685      332,   333,   334,   335,   336,   337,   338,   339,    -1,   341,
16686      342,   343,   344,   345,   346,   347,   348,   349,   350,   351,
16687      352,   353,   354,   355,   356,   357,   358,    -1,   360,   361,
16688      362,   363,   364,   365,   366,   367,   368,   369,   370,   371,
16689      372,   373,   374,   375,    -1,   377,   378,   379,   380,   381,
16690      382,   383,   384,   385,   386,   387,   388,   389,   390,   391,
16691       -1,   393,   394,    -1,   396,   397,   398,   399,   400,   401,
16692      402,    -1,   404,   405,   406,    -1,    -1,   409,   410,   411,
16693      412,   413,   414,   415,   416,   417,   418,   419,   420,   421,
16694      422,    -1,   424,   425,   426,   427,   428,   429,   430,    -1,
16695      432,   433,   434,   435,   436,   437,   438,    -1,   440,   441,
16696      442,   443,   444,   445,    -1,    -1,   448,    -1,    -1,   451,
16697      452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
16698      462,   463,   464,   465,   466,   467,   468,   469,   470,   471,
16699       -1,    -1,    -1,    -1,    -1,    -1,   478,   479,    -1,    -1,
16700       -1,    -1,    -1,    -1,    -1,   487,   488,     3,    -1,     5,
16701        6,    -1,     8,     9,    10,    11,    12,    -1,    -1,    -1,
16702       -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
16703       26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,
16704       36,    -1,    -1,    39,    40,    -1,    42,    43,    44,    45,
16705       46,    47,    48,    49,    50,    51,    52,    53,    -1,    55,
16706       56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
16707       66,    67,    -1,    69,    70,    71,    72,    73,    -1,    75,
16708       -1,    77,    78,    79,    80,    81,    82,    83,    84,    85,
16709       -1,    87,    88,    89,    90,    91,    92,    -1,    94,    95,
16710       96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
16711      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
16712       -1,   117,   118,   119,   120,   121,   122,    -1,   124,   125,
16713      126,   127,    -1,    -1,   130,   131,   132,   133,   134,    -1,
16714      136,   137,   138,    -1,   140,   141,   142,    -1,   144,   145,
16715      146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
16716       -1,   157,   158,   159,   160,    -1,   162,    -1,   164,   165,
16717       -1,   167,   168,   169,   170,   171,    -1,   173,   174,    -1,
16718      176,   177,   178,    -1,   180,   181,   182,   183,   184,   185,
16719      186,   187,   188,   189,    -1,   191,   192,   193,   194,   195,
16720      196,   197,    -1,   199,   200,   201,   202,   203,   204,   205,
16721      206,   207,    -1,   209,    -1,   211,   212,   213,   214,   215,
16722      216,   217,   218,   219,   220,    -1,    -1,   223,   224,   225,
16723      226,   227,    -1,   229,   230,   231,   232,   233,   234,   235,
16724      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
16725      246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
16726      256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
16727      266,   267,   268,   269,   270,   271,   272,   273,   274,    -1,
16728      276,   277,    -1,    -1,   280,   281,   282,    -1,    -1,   285,
16729      286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
16730      296,   297,   298,   299,   300,    -1,    -1,   303,   304,   305,
16731      306,   307,   308,   309,   310,    -1,   312,   313,   314,   315,
16732      316,   317,   318,   319,   320,   321,   322,   323,   324,   325,
16733      326,    -1,   328,   329,   330,   331,   332,   333,   334,   335,
16734      336,   337,   338,   339,    -1,   341,   342,   343,   344,   345,
16735      346,   347,   348,   349,   350,   351,   352,   353,   354,   355,
16736      356,   357,   358,    -1,   360,   361,   362,   363,   364,   365,
16737      366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
16738       -1,   377,   378,   379,   380,   381,   382,   383,   384,   385,
16739      386,   387,   388,   389,   390,   391,    -1,   393,   394,    -1,
16740      396,   397,   398,   399,   400,   401,   402,    -1,   404,   405,
16741      406,    -1,    -1,   409,   410,   411,   412,   413,   414,   415,
16742      416,   417,   418,   419,   420,   421,   422,    -1,   424,   425,
16743      426,   427,   428,   429,   430,    -1,   432,   433,   434,   435,
16744      436,   437,   438,    -1,   440,   441,   442,   443,   444,   445,
16745       -1,    -1,   448,    -1,    -1,   451,   452,   453,   454,   455,
16746      456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
16747      466,   467,   468,   469,   470,   471,     3,    -1,    -1,    -1,
16748       -1,    -1,   478,   479,    -1,    -1,    -1,    -1,    -1,    -1,
16749       -1,   487,   488,    20,    21,    22,    23,    24,    25,    26,
16750       27,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,
16751       37,    -1,    39,    40,    -1,    42,    43,    44,    -1,    46,
16752       47,    48,    49,    50,    -1,    52,    53,    -1,    55,    56,
16753       57,    58,    59,    60,    -1,    -1,    63,    64,    65,    66,
16754       67,    -1,    69,    70,    71,    72,    73,    -1,    -1,    -1,
16755       77,    78,    79,    80,    81,    -1,    83,    84,    85,    -1,
16756       87,    88,    89,    90,    91,    92,    -1,    94,    95,    96,
16757       97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,   106,
16758      107,   108,   109,   110,   111,   112,   113,    -1,   115,    -1,
16759      117,   118,   119,   120,   121,   122,    -1,   124,   125,   126,
16760      127,    -1,    -1,   130,   131,   132,   133,   134,    -1,   136,
16761      137,   138,    -1,   140,   141,   142,    -1,   144,   145,   146,
16762      147,   148,   149,   150,   151,   152,   153,    -1,   155,    -1,
16763      157,   158,   159,   160,    -1,   162,    -1,   164,    -1,    -1,
16764      167,   168,   169,   170,   171,    -1,   173,   174,    -1,   176,
16765      177,   178,    -1,   180,   181,   182,   183,   184,    -1,   186,
16766      187,   188,   189,    -1,   191,   192,   193,   194,   195,   196,
16767      197,    -1,   199,   200,   201,   202,   203,   204,   205,   206,
16768      207,    -1,   209,    -1,   211,    -1,    -1,   214,   215,   216,
16769      217,   218,   219,   220,    -1,    -1,   223,   224,   225,   226,
16770       -1,    -1,   229,   230,   231,    -1,    -1,   234,   235,   236,
16771      237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
16772      247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
16773      257,   258,   259,   260,   261,   262,    -1,   264,   265,    -1,
16774      267,    -1,   269,   270,   271,   272,   273,   274,    -1,   276,
16775      277,    -1,    -1,   280,   281,   282,    -1,    -1,   285,   286,
16776      287,    -1,   289,    -1,   291,   292,   293,   294,   295,   296,
16777      297,   298,   299,   300,    -1,    -1,   303,   304,   305,   306,
16778      307,   308,   309,   310,    -1,   312,   313,   314,   315,   316,
16779      317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
16780       -1,   328,   329,   330,   331,   332,   333,   334,   335,   336,
16781      337,   338,   339,    -1,   341,   342,   343,   344,   345,   346,
16782      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
16783      357,   358,    -1,   360,   361,   362,   363,   364,    -1,   366,
16784      367,   368,   369,   370,    -1,   372,   373,   374,   375,    -1,
16785      377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
16786      387,   388,   389,   390,   391,    -1,   393,   394,    -1,   396,
16787       -1,   398,   399,   400,   401,   402,    -1,   404,   405,   406,
16788       -1,    -1,   409,   410,   411,   412,   413,    -1,   415,   416,
16789      417,   418,   419,   420,   421,   422,    -1,    -1,   425,   426,
16790      427,   428,   429,    -1,    -1,   432,   433,   434,   435,   436,
16791      437,   438,    -1,   440,    -1,   442,   443,   444,   445,    -1,
16792       -1,   448,    -1,    -1,   451,   452,   453,   454,   455,   456,
16793      457,   458,   459,   460,   461,   462,   463,   464,   465,   466,
16794      467,   468,   469,   470,    -1,     3,    -1,    -1,    -1,    -1,
16795       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16796       -1,   488,    20,    21,    22,    23,    24,    25,    26,    27,
16797       -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,
16798       -1,    39,    40,    -1,    42,    43,    44,    45,    46,    47,
16799       48,    -1,    50,    51,    52,    53,    -1,    55,    56,    57,
16800       58,    59,    60,    -1,    -1,    63,    64,    65,    66,    67,
16801       -1,    69,    70,    71,    72,    -1,    -1,    75,    -1,    77,
16802       78,    79,    80,    81,    82,    83,    84,    85,    -1,    87,
16803       88,    89,    90,    91,    92,    -1,    94,    95,    96,    97,
16804       -1,    -1,    -1,   101,    -1,    -1,    -1,   105,   106,   107,
16805      108,   109,   110,   111,   112,   113,    -1,   115,    -1,   117,
16806      118,   119,   120,   121,   122,    -1,   124,   125,   126,   127,
16807       -1,    -1,   130,   131,   132,   133,   134,    -1,   136,   137,
16808      138,    -1,   140,   141,   142,    -1,   144,   145,   146,   147,
16809       -1,   149,   150,   151,   152,    -1,    -1,   155,    -1,   157,
16810      158,   159,   160,    -1,   162,    -1,   164,   165,    -1,   167,
16811      168,   169,   170,   171,    -1,   173,    -1,    -1,    -1,   177,
16812      178,    -1,   180,   181,   182,   183,   184,   185,   186,   187,
16813      188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
16814       -1,   199,   200,   201,   202,   203,   204,   205,   206,   207,
16815       -1,   209,    -1,   211,   212,   213,   214,   215,   216,   217,
16816      218,   219,   220,    -1,    -1,   223,    -1,   225,   226,   227,
16817       -1,   229,   230,   231,    -1,    -1,   234,   235,   236,   237,
16818      238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
16819      248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
16820      258,   259,    -1,    -1,   262,    -1,   264,   265,   266,   267,
16821       -1,    -1,   270,   271,   272,   273,   274,    -1,   276,   277,
16822       -1,    -1,   280,   281,   282,    -1,    -1,   285,   286,   287,
16823      288,   289,   290,    -1,   292,   293,   294,   295,   296,   297,
16824      298,   299,   300,    -1,    -1,   303,   304,    -1,   306,    -1,
16825      308,   309,   310,    -1,   312,   313,   314,   315,   316,   317,
16826      318,   319,   320,   321,   322,   323,   324,   325,   326,    -1,
16827      328,   329,   330,   331,   332,   333,   334,   335,   336,   337,
16828      338,   339,    -1,   341,   342,   343,   344,   345,   346,   347,
16829      348,    -1,   350,   351,   352,   353,   354,   355,   356,   357,
16830      358,    -1,   360,   361,   362,   363,   364,    -1,   366,   367,
16831      368,   369,   370,   371,   372,   373,   374,   375,    -1,   377,
16832      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
16833      388,   389,    -1,   391,    -1,   393,   394,    -1,   396,   397,
16834      398,   399,   400,   401,   402,    -1,   404,   405,   406,    -1,
16835       -1,   409,   410,    -1,   412,    -1,    -1,   415,   416,   417,
16836      418,   419,   420,   421,   422,    -1,    -1,   425,   426,   427,
16837      428,   429,    -1,    -1,   432,   433,   434,   435,   436,    -1,
16838      438,   439,   440,   441,   442,   443,   444,   445,    -1,    -1,
16839      448,    -1,    -1,   451,   452,   453,   454,   455,   456,     3,
16840       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16841      468,   469,   470,    -1,    -1,    -1,    20,    21,    22,    23,
16842       24,    25,    26,    27,    -1,    29,    30,    31,    -1,    -1,
16843      488,    -1,    -1,    -1,    -1,    39,    40,    -1,    42,    43,
16844       44,    45,    46,    47,    48,    -1,    50,    51,    52,    53,
16845       -1,    55,    56,    57,    58,    59,    60,    -1,    -1,    63,
16846       64,    65,    66,    67,    -1,    69,    70,    71,    72,    -1,
16847       -1,    75,    -1,    77,    78,    79,    80,    81,    82,    83,
16848       84,    85,    -1,    87,    88,    89,    90,    91,    92,    -1,
16849       94,    95,    96,    97,    -1,    -1,    -1,   101,    -1,    -1,
16850       -1,   105,   106,   107,   108,   109,   110,   111,   112,   113,
16851       -1,   115,    -1,   117,   118,   119,   120,   121,   122,    -1,
16852      124,   125,   126,   127,    -1,    -1,   130,   131,   132,   133,
16853      134,    -1,   136,   137,   138,    -1,   140,   141,   142,    -1,
16854      144,   145,   146,   147,    -1,   149,   150,   151,   152,    -1,
16855       -1,   155,    -1,   157,   158,   159,   160,    -1,   162,    -1,
16856      164,   165,    -1,   167,   168,   169,   170,   171,    -1,   173,
16857       -1,    -1,    -1,   177,   178,    -1,   180,   181,   182,   183,
16858      184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
16859      194,   195,   196,   197,    -1,   199,   200,   201,   202,   203,
16860      204,   205,   206,   207,    -1,   209,    -1,   211,   212,   213,
16861      214,   215,   216,   217,   218,   219,   220,    -1,    -1,   223,
16862       -1,   225,   226,   227,    -1,   229,   230,   231,    -1,    -1,
16863      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
16864      244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
16865      254,   255,   256,   257,   258,   259,    -1,    -1,   262,    -1,
16866      264,   265,   266,   267,    -1,    -1,   270,   271,   272,   273,
16867      274,    -1,   276,   277,    -1,    -1,   280,   281,   282,    -1,
16868       -1,   285,   286,   287,   288,   289,   290,    -1,   292,   293,
16869      294,   295,   296,   297,   298,   299,   300,    -1,    -1,   303,
16870      304,    -1,   306,    -1,   308,   309,   310,    -1,   312,   313,
16871      314,   315,   316,   317,   318,   319,   320,   321,   322,   323,
16872      324,   325,   326,    -1,   328,   329,   330,   331,   332,   333,
16873      334,   335,   336,   337,   338,   339,    -1,   341,   342,   343,
16874      344,   345,   346,   347,   348,    -1,   350,   351,   352,   353,
16875      354,   355,   356,   357,   358,    -1,   360,   361,   362,   363,
16876      364,    -1,   366,   367,   368,   369,   370,   371,   372,   373,
16877      374,   375,    -1,   377,   378,   379,   380,   381,   382,   383,
16878      384,   385,   386,   387,   388,   389,    -1,   391,    -1,   393,
16879      394,    -1,   396,   397,   398,   399,   400,   401,   402,    -1,
16880      404,   405,   406,    -1,    -1,   409,   410,    -1,   412,    -1,
16881       -1,   415,   416,   417,   418,   419,   420,   421,   422,    -1,
16882       -1,   425,   426,   427,   428,   429,    -1,    -1,   432,   433,
16883      434,   435,   436,    -1,   438,   439,   440,   441,   442,   443,
16884      444,   445,    -1,    -1,   448,    -1,    -1,   451,   452,   453,
16885      454,   455,   456,     3,    -1,     5,     6,    -1,     8,     9,
16886       10,    11,    12,    -1,   468,   469,   470,    -1,    -1,    -1,
16887       20,    21,    22,    23,    24,    25,    26,    27,    -1,    29,
16888       30,    31,    -1,    -1,   488,    -1,    36,    -1,    -1,    39,
16889       40,    -1,    42,    43,    44,    45,    46,    47,    48,    49,
16890       50,    51,    52,    53,    -1,    55,    56,    57,    58,    59,
16891       60,    61,    62,    63,    64,    65,    66,    67,    -1,    69,
16892       70,    71,    72,    73,    -1,    75,    -1,    77,    78,    79,
16893       80,    81,    82,    83,    84,    85,    -1,    87,    88,    89,
16894       90,    91,    92,    -1,    94,    95,    96,    97,    98,    99,
16895      100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
16896      110,   111,   112,   113,   114,   115,    -1,   117,   118,   119,
16897      120,   121,   122,    -1,   124,   125,   126,   127,    -1,    -1,
16898      130,   131,   132,   133,   134,    -1,   136,   137,   138,    -1,
16899      140,   141,   142,    -1,   144,   145,   146,   147,   148,   149,
16900      150,   151,   152,   153,   154,   155,    -1,   157,   158,   159,
16901      160,    -1,   162,    -1,   164,   165,    -1,   167,   168,   169,
16902      170,   171,    -1,   173,   174,    -1,   176,   177,   178,    -1,
16903      180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
16904       -1,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
16905      200,   201,   202,   203,   204,   205,   206,   207,    -1,   209,
16906       -1,   211,   212,   213,   214,   215,   216,   217,   218,   219,
16907      220,    -1,    -1,   223,   224,   225,   226,   227,    -1,   229,
16908      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
16909      240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
16910      250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
16911      260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
16912      270,   271,   272,   273,   274,    -1,   276,   277,    -1,    -1,
16913      280,   281,   282,    -1,    -1,   285,   286,   287,   288,   289,
16914      290,   291,   292,   293,   294,   295,   296,   297,   298,   299,
16915      300,    -1,    -1,   303,   304,   305,   306,   307,   308,   309,
16916      310,    -1,   312,   313,   314,   315,   316,   317,   318,   319,
16917      320,   321,   322,   323,   324,   325,   326,    -1,   328,   329,
16918      330,   331,   332,   333,   334,   335,   336,   337,   338,   339,
16919       -1,   341,   342,   343,   344,   345,   346,   347,   348,   349,
16920      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
16921      360,   361,   362,   363,   364,   365,   366,   367,   368,   369,
16922      370,   371,   372,   373,   374,   375,    -1,   377,   378,   379,
16923      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
16924      390,   391,    -1,   393,   394,   395,   396,   397,   398,   399,
16925      400,   401,   402,    -1,   404,   405,   406,    -1,    -1,   409,
16926      410,   411,   412,   413,   414,   415,   416,   417,   418,   419,
16927      420,   421,   422,    -1,   424,   425,   426,   427,   428,   429,
16928      430,    -1,   432,   433,   434,   435,   436,   437,   438,    -1,
16929      440,   441,   442,   443,   444,   445,    -1,    -1,   448,    -1,
16930      450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
16931      460,   461,   462,   463,   464,   465,   466,   467,   468,   469,
16932      470,   471,    -1,   473,    -1,    -1,    -1,    -1,   478,   479,
16933       -1,    -1,    -1,     3,    -1,     5,     6,   487,     8,     9,
16934       10,    11,    12,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16935       20,    21,    22,    23,    24,    25,    26,    27,    -1,    29,
16936       30,    31,    -1,    -1,    -1,    -1,    36,    -1,    -1,    39,
16937       40,    -1,    42,    43,    44,    45,    46,    47,    48,    49,
16938       50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
16939       60,    61,    62,    63,    64,    65,    66,    67,    -1,    69,
16940       70,    71,    72,    73,    -1,    75,    -1,    77,    78,    79,
16941       80,    81,    82,    83,    84,    85,    -1,    87,    88,    89,
16942       90,    91,    92,    -1,    94,    95,    96,    97,    98,    99,
16943      100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
16944      110,   111,   112,   113,   114,   115,    -1,   117,   118,   119,
16945      120,   121,   122,    -1,   124,   125,   126,   127,    -1,    -1,
16946      130,   131,   132,   133,   134,    -1,   136,   137,   138,    -1,
16947      140,   141,   142,    -1,   144,   145,   146,   147,   148,   149,
16948      150,   151,   152,   153,   154,   155,    -1,   157,   158,   159,
16949      160,    -1,   162,    -1,   164,   165,   166,   167,   168,   169,
16950      170,   171,    -1,   173,   174,    -1,   176,   177,   178,    -1,
16951      180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
16952       -1,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
16953      200,   201,   202,   203,   204,   205,   206,   207,    -1,   209,
16954       -1,   211,   212,   213,   214,   215,   216,   217,   218,   219,
16955      220,    -1,   222,   223,   224,   225,   226,   227,    -1,   229,
16956      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
16957      240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
16958      250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
16959      260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
16960      270,   271,   272,   273,   274,    -1,   276,   277,    -1,    -1,
16961      280,   281,   282,    -1,    -1,   285,   286,   287,   288,   289,
16962      290,   291,   292,   293,   294,   295,   296,   297,   298,   299,
16963      300,    -1,    -1,   303,   304,   305,   306,   307,   308,   309,
16964      310,    -1,   312,   313,   314,   315,   316,   317,   318,   319,
16965      320,   321,   322,   323,   324,   325,   326,    -1,   328,   329,
16966      330,   331,   332,   333,   334,   335,   336,   337,   338,   339,
16967       -1,   341,   342,   343,   344,   345,   346,   347,   348,   349,
16968      350,   351,   352,   353,   354,   355,   356,   357,   358,    -1,
16969      360,   361,   362,   363,   364,   365,   366,   367,   368,   369,
16970      370,   371,   372,   373,   374,   375,    -1,   377,   378,   379,
16971      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
16972      390,   391,    -1,   393,   394,    -1,   396,   397,   398,   399,
16973      400,   401,   402,    -1,   404,   405,   406,    -1,   408,   409,
16974      410,   411,   412,   413,   414,   415,   416,   417,   418,   419,
16975      420,   421,   422,    -1,   424,   425,   426,   427,   428,   429,
16976      430,    -1,   432,   433,   434,   435,   436,   437,   438,    -1,
16977      440,   441,   442,   443,   444,   445,    -1,    -1,   448,    -1,
16978       -1,   451,   452,   453,   454,   455,   456,   457,   458,   459,
16979      460,   461,   462,   463,   464,   465,   466,   467,   468,   469,
16980      470,   471,    -1,    -1,    -1,    -1,    -1,    -1,   478,   479,
16981       -1,    -1,    -1,     3,    -1,     5,     6,   487,     8,     9,
16982       10,    11,    12,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16983       20,    21,    22,    23,    24,    25,    26,    27,    -1,    29,
16984       30,    31,    -1,    -1,    -1,    -1,    36,    -1,    -1,    39,
16985       40,    -1,    42,    43,    44,    45,    46,    47,    48,    49,
16986       50,    51,    52,    53,    -1,    55,    56,    57,    58,    59,
16987       60,    61,    62,    63,    64,    65,    66,    67,    -1,    69,
16988       70,    71,    72,    73,    -1,    75,    -1,    77,    78,    79,
16989       80,    81,    82,    83,    84,    85,    -1,    87,    88,    89,
16990       90,    91,    92,    -1,    94,    95,    96,    97,    98,    99,
16991      100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
16992      110,   111,   112,   113,   114,   115,    -1,   117,   118,   119,
16993      120,   121,   122,    -1,   124,   125,   126,   127,    -1,    -1,
16994      130,   131,   132,   133,   134,    -1,   136,   137,   138,    -1,
16995      140,   141,   142,    -1,   144,   145,   146,   147,   148,   149,
16996      150,   151,   152,   153,   154,   155,    -1,   157,   158,   159,
16997      160,    -1,   162,    -1,   164,   165,    -1,   167,   168,   169,
16998      170,   171,    -1,   173,   174,    -1,   176,   177,   178,    -1,
16999      180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
17000       -1,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
17001      200,   201,   202,   203,   204,   205,   206,   207,    -1,   209,
17002       -1,   211,   212,   213,   214,   215,   216,   217,   218,   219,
17003      220,    -1,    -1,   223,   224,   225,   226,   227,    -1,   229,
17004      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
17005      240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
17006      250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
17007      260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
17008      270,   271,   272,   273,   274,    -1,   276,   277,    -1,    -1,
17009      280,   281,   282,    -1,    -1,   285,   286,   287,   288,   289,
17010      290,   291,   292,   293,   294,   295,   296,   297,   298,   299,
17011      300,    -1,    -1,   303,   304,   305,   306,   307,   308,   309,
17012      310,    -1,   312,   313,   314,   315,   316,   317,   318,   319,
17013      320,   321,   322,   323,   324,   325,   326,    -1,   328,   329,
17014      330,   331,   332,   333,   334,   335,   336,   337,   338,   339,
17015       -1,   341,   342,   343,   344,   345,   346,   347,   348,   349,
17016      350,   351,   352,   353,   354,   355,   356,   357,   358,    -1,
17017      360,   361,   362,   363,   364,   365,   366,   367,   368,   369,
17018      370,   371,   372,   373,   374,   375,    -1,   377,   378,   379,
17019      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
17020      390,   391,    -1,   393,   394,    -1,   396,   397,   398,   399,
17021      400,   401,   402,    -1,   404,   405,   406,    -1,    -1,   409,
17022      410,   411,   412,   413,   414,   415,   416,   417,   418,   419,
17023      420,   421,   422,    -1,   424,   425,   426,   427,   428,   429,
17024      430,    -1,   432,   433,   434,   435,   436,   437,   438,    -1,
17025      440,   441,   442,   443,   444,   445,    -1,    -1,   448,    -1,
17026       -1,   451,   452,   453,   454,   455,   456,   457,   458,   459,
17027      460,   461,   462,   463,   464,   465,   466,   467,   468,   469,
17028      470,   471,    -1,    -1,    -1,    -1,    -1,    -1,   478,   479,
17029       -1,    -1,    -1,    -1,    -1,   485,   486,   487,     3,    -1,
17030        5,     6,    -1,     8,     9,    10,    11,    12,    -1,    -1,
17031       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
17032       25,    26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,
17033       -1,    36,    -1,    -1,    39,    40,    -1,    42,    43,    44,
17034       45,    46,    47,    48,    49,    50,    51,    52,    53,    -1,
17035       55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
17036       65,    66,    67,    -1,    69,    70,    71,    72,    73,    -1,
17037       75,    -1,    77,    78,    79,    80,    81,    82,    83,    84,
17038       85,    -1,    87,    88,    89,    90,    91,    92,    -1,    94,
17039       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
17040      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
17041      115,    -1,   117,   118,   119,   120,   121,   122,    -1,   124,
17042      125,   126,   127,    -1,    -1,   130,   131,   132,   133,   134,
17043       -1,   136,   137,   138,    -1,   140,   141,   142,    -1,   144,
17044      145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
17045      155,    -1,   157,   158,   159,   160,    -1,   162,    -1,   164,
17046      165,    -1,   167,   168,   169,   170,   171,    -1,   173,   174,
17047       -1,   176,   177,   178,    -1,   180,   181,   182,   183,   184,
17048      185,   186,   187,   188,   189,    -1,   191,   192,   193,   194,
17049      195,   196,   197,    -1,   199,   200,   201,   202,   203,   204,
17050      205,   206,   207,    -1,   209,    -1,   211,   212,   213,   214,
17051      215,   216,   217,   218,   219,   220,    -1,    -1,   223,   224,
17052      225,   226,   227,    -1,   229,   230,   231,   232,   233,   234,
17053      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
17054      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
17055      255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
17056      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
17057       -1,   276,   277,    -1,    -1,   280,   281,   282,    -1,    -1,
17058      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
17059      295,   296,   297,   298,   299,   300,    -1,    -1,   303,   304,
17060      305,   306,   307,   308,   309,   310,    -1,   312,   313,   314,
17061      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
17062      325,   326,    -1,   328,   329,   330,   331,   332,   333,   334,
17063      335,   336,   337,   338,   339,    -1,   341,   342,   343,   344,
17064      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
17065      355,   356,   357,   358,    -1,   360,   361,   362,   363,   364,
17066      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
17067      375,    -1,   377,   378,   379,   380,   381,   382,   383,   384,
17068      385,   386,   387,   388,   389,   390,   391,    -1,   393,   394,
17069       -1,   396,   397,   398,   399,   400,   401,   402,    -1,   404,
17070      405,   406,    -1,    -1,   409,   410,   411,   412,   413,   414,
17071      415,   416,   417,   418,   419,   420,   421,   422,    -1,   424,
17072      425,   426,   427,   428,   429,   430,    -1,   432,   433,   434,
17073      435,   436,   437,   438,    -1,   440,   441,   442,   443,   444,
17074      445,    -1,    -1,   448,    -1,    -1,   451,   452,   453,   454,
17075      455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
17076      465,   466,   467,   468,   469,   470,   471,    -1,    -1,    -1,
17077       -1,    -1,    -1,   478,   479,   480,    -1,    -1,     3,    -1,
17078        5,     6,   487,     8,     9,    10,    11,    12,    -1,    -1,
17079       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
17080       25,    26,    27,    28,    29,    30,    31,    -1,    -1,    -1,
17081       -1,    36,    -1,    -1,    39,    40,    -1,    42,    43,    44,
17082       45,    46,    47,    48,    49,    50,    51,    52,    53,    -1,
17083       55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
17084       65,    66,    67,    -1,    69,    70,    71,    72,    73,    -1,
17085       75,    -1,    77,    78,    79,    80,    81,    82,    83,    84,
17086       85,    -1,    87,    88,    89,    90,    91,    92,    -1,    94,
17087       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
17088      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
17089      115,    -1,   117,   118,   119,   120,   121,   122,    -1,   124,
17090      125,   126,   127,    -1,    -1,   130,   131,   132,   133,   134,
17091       -1,   136,   137,   138,    -1,   140,   141,   142,    -1,   144,
17092      145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
17093      155,    -1,   157,   158,   159,   160,    -1,   162,    -1,   164,
17094      165,    -1,   167,   168,   169,   170,   171,    -1,   173,   174,
17095       -1,   176,   177,   178,    -1,   180,   181,   182,   183,   184,
17096      185,   186,   187,   188,   189,    -1,   191,   192,   193,   194,
17097      195,   196,   197,    -1,   199,   200,   201,   202,   203,   204,
17098      205,   206,   207,    -1,   209,    -1,   211,   212,   213,   214,
17099      215,   216,   217,   218,   219,   220,    -1,    -1,   223,   224,
17100      225,   226,   227,    -1,   229,   230,   231,   232,   233,   234,
17101      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
17102      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
17103      255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
17104      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
17105       -1,   276,   277,    -1,    -1,   280,   281,   282,    -1,    -1,
17106      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
17107      295,   296,   297,   298,   299,   300,    -1,    -1,   303,   304,
17108      305,   306,   307,   308,   309,   310,    -1,   312,   313,   314,
17109      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
17110      325,   326,    -1,   328,   329,   330,   331,   332,   333,   334,
17111      335,   336,   337,   338,   339,    -1,   341,   342,   343,   344,
17112      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
17113      355,   356,   357,   358,    -1,   360,   361,   362,   363,   364,
17114      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
17115      375,    -1,   377,   378,   379,   380,   381,   382,   383,   384,
17116      385,   386,   387,   388,   389,   390,   391,    -1,   393,   394,
17117       -1,   396,   397,   398,   399,   400,   401,   402,    -1,   404,
17118      405,   406,    -1,    -1,   409,   410,   411,   412,   413,   414,
17119      415,   416,   417,   418,   419,   420,   421,   422,    -1,   424,
17120      425,   426,   427,   428,   429,   430,    -1,   432,   433,   434,
17121      435,   436,   437,   438,    -1,   440,   441,   442,   443,   444,
17122      445,    -1,    -1,   448,    -1,    -1,   451,   452,   453,   454,
17123      455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
17124      465,   466,   467,   468,   469,   470,   471,    -1,    -1,    -1,
17125       -1,    -1,    -1,   478,   479,    -1,    -1,    -1,     3,    -1,
17126        5,     6,   487,     8,     9,    10,    11,    12,    -1,    -1,
17127       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
17128       25,    26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,
17129       -1,    36,    -1,    -1,    39,    40,    -1,    42,    43,    44,
17130       45,    46,    47,    48,    49,    50,    51,    52,    53,    -1,
17131       55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
17132       65,    66,    67,    -1,    69,    70,    71,    72,    73,    -1,
17133       75,    -1,    77,    78,    79,    80,    81,    82,    83,    84,
17134       85,    -1,    87,    88,    89,    90,    91,    92,    -1,    94,
17135       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
17136      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
17137      115,    -1,   117,   118,   119,   120,   121,   122,    -1,   124,
17138      125,   126,   127,    -1,    -1,   130,   131,   132,   133,   134,
17139       -1,   136,   137,   138,    -1,   140,   141,   142,    -1,   144,
17140      145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
17141      155,    -1,   157,   158,   159,   160,    -1,   162,    -1,   164,
17142      165,    -1,   167,   168,   169,   170,   171,    -1,   173,   174,
17143       -1,   176,   177,   178,    -1,   180,   181,   182,   183,   184,
17144      185,   186,   187,   188,   189,    -1,   191,   192,   193,   194,
17145      195,   196,   197,    -1,   199,   200,   201,   202,   203,   204,
17146      205,   206,   207,    -1,   209,    -1,   211,   212,   213,   214,
17147      215,   216,   217,   218,   219,   220,    -1,    -1,   223,   224,
17148      225,   226,   227,    -1,   229,   230,   231,   232,   233,   234,
17149      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
17150      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
17151      255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
17152      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
17153       -1,   276,   277,    -1,    -1,   280,   281,   282,    -1,    -1,
17154      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
17155      295,   296,   297,   298,   299,   300,    -1,    -1,   303,   304,
17156      305,   306,   307,   308,   309,   310,    -1,   312,   313,   314,
17157      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
17158      325,   326,    -1,   328,   329,   330,   331,   332,   333,   334,
17159      335,   336,   337,   338,   339,    -1,   341,   342,   343,   344,
17160      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
17161      355,   356,   357,   358,    -1,   360,   361,   362,   363,   364,
17162      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
17163      375,    -1,   377,   378,   379,   380,   381,   382,   383,   384,
17164      385,   386,   387,   388,   389,   390,   391,    -1,   393,   394,
17165       -1,   396,   397,   398,   399,   400,   401,   402,    -1,   404,
17166      405,   406,    -1,    -1,   409,   410,   411,   412,   413,   414,
17167      415,   416,   417,   418,   419,   420,   421,   422,    -1,   424,
17168      425,   426,   427,   428,   429,   430,    -1,   432,   433,   434,
17169      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
17170      445,    -1,    -1,   448,    -1,    -1,   451,   452,   453,   454,
17171      455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
17172      465,   466,   467,   468,   469,   470,   471,    -1,    -1,    -1,
17173       -1,    -1,    -1,   478,   479,    -1,    -1,    -1,     3,    -1,
17174        5,     6,   487,     8,     9,    10,    11,    12,    -1,    -1,
17175       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
17176       25,    26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,
17177       -1,    36,    -1,    -1,    39,    40,    -1,    42,    43,    44,
17178       45,    46,    47,    48,    49,    50,    51,    52,    53,    -1,
17179       55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
17180       65,    66,    67,    -1,    69,    70,    71,    72,    73,    -1,
17181       75,    -1,    77,    78,    79,    80,    81,    82,    83,    84,
17182       85,    -1,    87,    88,    89,    90,    91,    92,    -1,    94,
17183       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
17184      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
17185      115,    -1,   117,   118,   119,   120,   121,   122,    -1,   124,
17186      125,   126,   127,    -1,    -1,   130,   131,   132,   133,   134,
17187       -1,   136,   137,   138,    -1,   140,   141,   142,    -1,   144,
17188      145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
17189      155,    -1,   157,   158,   159,   160,    -1,   162,    -1,   164,
17190      165,   166,   167,   168,   169,   170,   171,    -1,   173,   174,
17191       -1,   176,   177,   178,    -1,   180,   181,   182,   183,   184,
17192      185,   186,   187,   188,   189,    -1,   191,   192,   193,   194,
17193      195,   196,   197,    -1,   199,   200,   201,   202,   203,   204,
17194      205,   206,   207,    -1,   209,    -1,   211,   212,   213,   214,
17195      215,   216,   217,   218,   219,   220,    -1,    -1,   223,   224,
17196      225,   226,   227,    -1,   229,   230,   231,   232,   233,   234,
17197      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
17198      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
17199      255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
17200      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
17201       -1,   276,   277,    -1,    -1,   280,   281,   282,    -1,    -1,
17202      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
17203      295,   296,   297,   298,   299,   300,    -1,    -1,   303,   304,
17204      305,   306,   307,   308,   309,   310,    -1,   312,   313,   314,
17205      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
17206      325,   326,    -1,   328,   329,   330,   331,   332,   333,   334,
17207      335,   336,   337,   338,   339,    -1,   341,   342,   343,   344,
17208      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
17209      355,   356,   357,   358,    -1,   360,   361,   362,   363,   364,
17210      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
17211      375,    -1,   377,   378,   379,   380,   381,   382,   383,   384,
17212      385,   386,   387,   388,   389,   390,   391,    -1,   393,   394,
17213       -1,   396,   397,   398,   399,   400,   401,   402,    -1,   404,
17214      405,   406,    -1,    -1,   409,   410,   411,   412,   413,   414,
17215      415,   416,   417,   418,   419,   420,   421,   422,    -1,   424,
17216      425,   426,   427,   428,   429,   430,    -1,   432,   433,   434,
17217      435,   436,   437,   438,    -1,   440,   441,   442,   443,   444,
17218      445,    -1,    -1,   448,    -1,    -1,   451,   452,   453,   454,
17219      455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
17220      465,   466,   467,   468,   469,   470,   471,    -1,    -1,    -1,
17221       -1,    -1,    -1,   478,   479,    -1,    -1,    -1,     3,    -1,
17222        5,     6,   487,     8,     9,    10,    11,    12,    -1,    -1,
17223       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
17224       25,    26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,
17225       -1,    36,    -1,    -1,    39,    40,    -1,    42,    43,    44,
17226       45,    46,    47,    48,    49,    50,    51,    52,    53,    -1,
17227       55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
17228       65,    66,    67,    -1,    69,    70,    71,    72,    73,    -1,
17229       75,    -1,    77,    78,    79,    80,    81,    82,    83,    84,
17230       85,    -1,    87,    88,    89,    90,    91,    92,    -1,    94,
17231       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
17232      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
17233      115,    -1,   117,   118,   119,   120,   121,   122,    -1,   124,
17234      125,   126,   127,    -1,    -1,   130,   131,   132,   133,   134,
17235       -1,   136,   137,   138,    -1,   140,   141,   142,    -1,   144,
17236      145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
17237      155,    -1,   157,   158,   159,   160,    -1,   162,    -1,   164,
17238      165,    -1,   167,   168,   169,   170,   171,    -1,   173,   174,
17239       -1,   176,   177,   178,    -1,   180,   181,   182,   183,   184,
17240      185,   186,   187,   188,   189,    -1,   191,   192,   193,   194,
17241      195,   196,   197,    -1,   199,   200,   201,   202,   203,   204,
17242      205,   206,   207,    -1,   209,    -1,   211,   212,   213,   214,
17243      215,   216,   217,   218,   219,   220,    -1,    -1,   223,   224,
17244      225,   226,   227,    -1,   229,   230,   231,   232,   233,   234,
17245      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
17246      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
17247      255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
17248      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
17249       -1,   276,   277,    -1,    -1,   280,   281,   282,    -1,    -1,
17250      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
17251      295,   296,   297,   298,   299,   300,    -1,    -1,   303,   304,
17252      305,   306,   307,   308,   309,   310,    -1,   312,   313,   314,
17253      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
17254      325,   326,    -1,   328,   329,   330,   331,   332,   333,   334,
17255      335,   336,   337,   338,   339,    -1,   341,   342,   343,   344,
17256      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
17257      355,   356,   357,   358,    -1,   360,   361,   362,   363,   364,
17258      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
17259      375,    -1,   377,   378,   379,   380,   381,   382,   383,   384,
17260      385,   386,   387,   388,   389,   390,   391,    -1,   393,   394,
17261       -1,   396,   397,   398,   399,   400,   401,   402,    -1,   404,
17262      405,   406,    -1,    -1,   409,   410,   411,   412,   413,   414,
17263      415,   416,   417,   418,   419,   420,   421,   422,    -1,   424,
17264      425,   426,   427,   428,   429,   430,    -1,   432,   433,   434,
17265      435,   436,   437,   438,    -1,   440,   441,   442,   443,   444,
17266      445,    -1,    -1,   448,    -1,    -1,   451,   452,   453,   454,
17267      455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
17268      465,   466,   467,   468,   469,   470,   471,    -1,    -1,    -1,
17269       -1,    -1,    -1,   478,   479,    -1,    -1,    -1,     3,    -1,
17270        5,     6,   487,     8,     9,    10,    11,    12,    -1,    -1,
17271       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
17272       25,    26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,
17273       -1,    36,    -1,    -1,    39,    40,    -1,    42,    43,    44,
17274       45,    46,    47,    48,    49,    50,    51,    52,    53,    -1,
17275       55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
17276       65,    66,    67,    -1,    69,    70,    71,    72,    73,    -1,
17277       75,    -1,    77,    78,    79,    80,    81,    82,    83,    84,
17278       85,    -1,    87,    88,    89,    90,    91,    92,    -1,    94,
17279       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
17280      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
17281      115,    -1,   117,   118,   119,   120,   121,   122,    -1,   124,
17282      125,   126,   127,    -1,    -1,   130,   131,   132,   133,   134,
17283       -1,   136,   137,   138,    -1,   140,   141,   142,    -1,   144,
17284      145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
17285      155,    -1,   157,   158,   159,   160,    -1,   162,    -1,   164,
17286      165,    -1,   167,   168,   169,   170,   171,    -1,   173,   174,
17287       -1,   176,   177,   178,    -1,   180,   181,   182,   183,   184,
17288      185,   186,   187,   188,   189,    -1,   191,   192,   193,   194,
17289      195,   196,   197,    -1,   199,   200,   201,   202,   203,   204,
17290      205,   206,   207,    -1,   209,    -1,   211,   212,   213,   214,
17291      215,   216,   217,   218,   219,   220,    -1,    -1,   223,   224,
17292      225,   226,   227,    -1,   229,   230,   231,   232,   233,   234,
17293      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
17294      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
17295      255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
17296      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
17297       -1,   276,   277,    -1,    -1,   280,   281,   282,    -1,    -1,
17298      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
17299      295,   296,   297,   298,   299,   300,    -1,    -1,   303,   304,
17300      305,   306,   307,   308,   309,   310,    -1,   312,   313,   314,
17301      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
17302      325,   326,    -1,   328,   329,   330,   331,   332,   333,   334,
17303      335,   336,   337,   338,   339,    -1,   341,   342,   343,   344,
17304      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
17305      355,   356,   357,   358,    -1,   360,   361,   362,   363,   364,
17306      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
17307      375,    -1,   377,   378,   379,   380,   381,   382,   383,   384,
17308      385,   386,   387,   388,   389,   390,   391,    -1,   393,   394,
17309       -1,   396,   397,   398,   399,   400,   401,   402,    -1,   404,
17310      405,   406,    -1,    -1,   409,   410,   411,   412,   413,   414,
17311      415,   416,   417,   418,   419,   420,   421,   422,    -1,   424,
17312      425,   426,   427,   428,   429,   430,    -1,   432,   433,   434,
17313      435,   436,   437,   438,    -1,   440,   441,   442,   443,   444,
17314      445,    -1,    -1,   448,    -1,    -1,   451,   452,   453,   454,
17315      455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
17316      465,   466,   467,   468,   469,   470,   471,    -1,    -1,    -1,
17317       -1,    -1,    -1,   478,   479,    -1,    -1,    -1,     3,    -1,
17318        5,     6,   487,     8,     9,    10,    11,    12,    -1,    -1,
17319       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
17320       25,    26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,
17321       -1,    36,    -1,    -1,    39,    40,    -1,    42,    43,    44,
17322       45,    46,    47,    48,    49,    50,    51,    52,    53,    -1,
17323       55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
17324       65,    66,    67,    -1,    69,    70,    71,    72,    73,    -1,
17325       75,    -1,    77,    78,    79,    80,    81,    82,    83,    84,
17326       85,    -1,    87,    88,    89,    90,    91,    92,    -1,    94,
17327       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
17328      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
17329      115,    -1,   117,   118,   119,   120,   121,   122,    -1,   124,
17330      125,   126,   127,    -1,    -1,   130,   131,   132,   133,   134,
17331       -1,   136,   137,   138,    -1,   140,   141,   142,    -1,   144,
17332      145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
17333      155,    -1,   157,   158,   159,   160,    -1,   162,    -1,   164,
17334      165,    -1,   167,   168,   169,   170,   171,    -1,   173,   174,
17335       -1,   176,   177,   178,    -1,   180,   181,   182,   183,   184,
17336      185,   186,   187,   188,   189,    -1,   191,   192,   193,   194,
17337      195,   196,   197,    -1,   199,   200,   201,   202,   203,   204,
17338      205,   206,   207,    -1,   209,    -1,   211,   212,   213,   214,
17339      215,   216,   217,   218,   219,   220,    -1,    -1,   223,   224,
17340      225,   226,   227,    -1,   229,   230,   231,   232,   233,   234,
17341      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
17342      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
17343      255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
17344      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
17345       -1,   276,   277,    -1,    -1,   280,   281,   282,    -1,    -1,
17346      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
17347      295,   296,   297,   298,   299,   300,    -1,    -1,   303,   304,
17348      305,   306,   307,   308,   309,   310,    -1,   312,   313,   314,
17349      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
17350      325,   326,    -1,   328,   329,   330,   331,   332,   333,   334,
17351      335,   336,   337,   338,   339,    -1,   341,   342,   343,   344,
17352      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
17353      355,   356,   357,   358,    -1,   360,   361,   362,   363,   364,
17354      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
17355      375,    -1,   377,   378,   379,   380,   381,   382,   383,   384,
17356      385,   386,   387,   388,   389,   390,   391,    -1,   393,   394,
17357       -1,   396,   397,   398,   399,   400,   401,   402,    -1,   404,
17358      405,   406,    -1,    -1,   409,   410,   411,   412,   413,   414,
17359      415,   416,   417,   418,   419,   420,   421,   422,    -1,   424,
17360      425,   426,   427,   428,   429,   430,    -1,   432,   433,   434,
17361      435,   436,   437,   438,    -1,   440,   441,   442,   443,   444,
17362      445,    -1,    -1,   448,    -1,    -1,   451,   452,   453,   454,
17363      455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
17364      465,   466,   467,   468,   469,   470,   471,    -1,    -1,    -1,
17365       -1,    -1,    -1,   478,   479,    -1,    -1,    -1,     3,    -1,
17366        5,     6,   487,     8,     9,    10,    11,    12,    -1,    -1,
17367       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
17368       25,    26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,
17369       -1,    36,    -1,    -1,    39,    40,    -1,    42,    43,    44,
17370       45,    46,    47,    48,    49,    50,    51,    52,    53,    -1,
17371       55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
17372       65,    66,    67,    -1,    69,    70,    71,    72,    73,    -1,
17373       75,    -1,    77,    78,    79,    80,    81,    82,    83,    84,
17374       85,    -1,    87,    88,    89,    90,    91,    92,    -1,    94,
17375       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
17376      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
17377      115,    -1,   117,   118,   119,   120,   121,   122,    -1,   124,
17378      125,   126,   127,    -1,    -1,   130,   131,   132,   133,   134,
17379       -1,   136,   137,   138,    -1,   140,   141,   142,    -1,   144,
17380      145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
17381      155,    -1,   157,   158,   159,   160,    -1,   162,    -1,   164,
17382      165,    -1,   167,   168,   169,   170,   171,    -1,   173,   174,
17383       -1,   176,   177,   178,    -1,   180,   181,   182,   183,   184,
17384      185,   186,   187,   188,   189,    -1,   191,   192,   193,   194,
17385      195,   196,   197,    -1,   199,   200,   201,   202,   203,   204,
17386      205,   206,   207,    -1,   209,    -1,   211,   212,   213,   214,
17387      215,   216,   217,   218,   219,   220,    -1,    -1,   223,   224,
17388      225,   226,   227,    -1,   229,   230,   231,   232,   233,   234,
17389      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
17390      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
17391      255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
17392      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
17393       -1,   276,   277,    -1,    -1,   280,   281,   282,    -1,    -1,
17394      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
17395      295,   296,   297,   298,   299,   300,    -1,    -1,   303,   304,
17396      305,   306,   307,   308,   309,   310,    -1,   312,   313,   314,
17397      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
17398      325,   326,    -1,   328,   329,   330,   331,   332,   333,   334,
17399      335,   336,   337,   338,   339,    -1,   341,   342,   343,   344,
17400      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
17401      355,   356,   357,   358,    -1,   360,   361,   362,   363,   364,
17402      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
17403      375,    -1,   377,   378,   379,   380,   381,   382,   383,   384,
17404      385,   386,   387,   388,   389,   390,   391,    -1,   393,   394,
17405       -1,   396,   397,   398,   399,   400,   401,   402,    -1,   404,
17406      405,   406,    -1,    -1,   409,   410,   411,   412,   413,   414,
17407      415,   416,   417,   418,   419,   420,   421,   422,    -1,   424,
17408      425,   426,   427,   428,   429,   430,    -1,   432,   433,   434,
17409      435,   436,   437,   438,    -1,   440,   441,   442,   443,   444,
17410      445,    -1,    -1,   448,    -1,    -1,   451,   452,   453,   454,
17411      455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
17412      465,   466,   467,   468,   469,   470,   471,    -1,    -1,    -1,
17413       -1,    -1,    -1,   478,   479,    -1,    -1,    -1,     3,    -1,
17414        5,     6,   487,     8,     9,    10,    11,    12,    -1,    -1,
17415       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
17416       25,    26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,
17417       -1,    36,    -1,    -1,    39,    40,    -1,    42,    43,    44,
17418       45,    46,    47,    48,    49,    50,    51,    52,    53,    -1,
17419       55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
17420       65,    66,    67,    -1,    69,    70,    71,    72,    73,    -1,
17421       75,    -1,    77,    78,    79,    80,    81,    82,    83,    84,
17422       85,    -1,    87,    88,    89,    90,    91,    92,    -1,    94,
17423       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
17424      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
17425      115,    -1,   117,   118,   119,   120,   121,   122,    -1,   124,
17426      125,   126,   127,    -1,    -1,   130,   131,   132,   133,   134,
17427       -1,   136,   137,   138,    -1,   140,   141,   142,    -1,   144,
17428      145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
17429      155,    -1,   157,   158,   159,   160,    -1,   162,    -1,   164,
17430      165,    -1,   167,   168,   169,   170,   171,    -1,   173,   174,
17431       -1,   176,   177,   178,    -1,   180,   181,   182,   183,   184,
17432      185,   186,   187,   188,   189,    -1,   191,   192,   193,   194,
17433      195,   196,   197,    -1,   199,   200,   201,   202,   203,   204,
17434      205,   206,   207,    -1,   209,    -1,   211,   212,   213,   214,
17435      215,   216,   217,   218,   219,   220,    -1,    -1,   223,   224,
17436      225,   226,   227,    -1,   229,   230,   231,   232,   233,   234,
17437      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
17438      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
17439      255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
17440      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
17441       -1,   276,   277,    -1,    -1,   280,   281,   282,    -1,    -1,
17442      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
17443      295,   296,   297,   298,   299,   300,    -1,    -1,   303,   304,
17444      305,   306,   307,   308,   309,   310,    -1,   312,   313,   314,
17445      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
17446      325,   326,    -1,   328,   329,   330,   331,   332,   333,   334,
17447      335,   336,   337,   338,   339,    -1,   341,   342,   343,   344,
17448      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
17449      355,   356,   357,   358,    -1,   360,   361,   362,   363,   364,
17450      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
17451      375,    -1,   377,   378,   379,   380,   381,   382,   383,   384,
17452      385,   386,   387,   388,   389,   390,   391,    -1,   393,   394,
17453       -1,   396,   397,   398,   399,   400,   401,   402,    -1,   404,
17454      405,   406,    -1,    -1,   409,   410,   411,   412,   413,   414,
17455      415,   416,   417,   418,   419,   420,   421,   422,    -1,   424,
17456      425,   426,   427,   428,   429,   430,    -1,   432,   433,   434,
17457      435,   436,   437,   438,    -1,   440,   441,   442,   443,   444,
17458      445,    -1,    -1,   448,    -1,    -1,   451,   452,   453,   454,
17459      455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
17460      465,   466,   467,   468,   469,   470,   471,    -1,    -1,    -1,
17461       -1,    -1,    -1,   478,   479,    -1,    -1,    -1,     3,    -1,
17462        5,     6,   487,     8,     9,    10,    11,    12,    -1,    -1,
17463       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
17464       25,    26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,
17465       -1,    36,    -1,    -1,    39,    40,    -1,    42,    43,    44,
17466       45,    46,    47,    48,    49,    50,    51,    52,    53,    -1,
17467       55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
17468       65,    66,    67,    -1,    69,    70,    71,    72,    73,    -1,
17469       75,    -1,    77,    78,    79,    80,    81,    82,    83,    84,
17470       85,    -1,    87,    88,    89,    90,    91,    92,    -1,    94,
17471       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
17472      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
17473      115,    -1,   117,   118,   119,   120,   121,   122,    -1,   124,
17474      125,   126,   127,    -1,    -1,   130,   131,   132,   133,   134,
17475       -1,   136,   137,   138,    -1,   140,   141,   142,    -1,   144,
17476      145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
17477      155,    -1,   157,   158,   159,   160,    -1,   162,    -1,   164,
17478      165,    -1,   167,   168,   169,   170,   171,    -1,   173,   174,
17479       -1,   176,   177,   178,    -1,   180,   181,   182,   183,   184,
17480      185,   186,   187,   188,   189,    -1,   191,   192,   193,   194,
17481      195,   196,   197,    -1,   199,   200,   201,   202,   203,   204,
17482      205,   206,   207,    -1,   209,    -1,   211,   212,   213,   214,
17483      215,   216,   217,   218,   219,   220,    -1,    -1,   223,   224,
17484      225,   226,   227,    -1,   229,   230,   231,   232,   233,   234,
17485      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
17486      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
17487      255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
17488      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
17489       -1,   276,   277,    -1,    -1,   280,   281,   282,    -1,    -1,
17490      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
17491      295,   296,   297,   298,   299,   300,    -1,    -1,   303,   304,
17492      305,   306,   307,   308,   309,   310,    -1,   312,   313,   314,
17493      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
17494      325,   326,    -1,   328,   329,   330,   331,   332,   333,   334,
17495      335,   336,   337,   338,   339,    -1,   341,   342,   343,   344,
17496      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
17497      355,   356,   357,   358,    -1,   360,   361,   362,   363,   364,
17498      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
17499      375,    -1,   377,   378,   379,   380,   381,   382,   383,   384,
17500      385,   386,   387,   388,   389,   390,   391,    -1,   393,   394,
17501       -1,   396,   397,   398,   399,   400,   401,   402,    -1,   404,
17502      405,   406,    -1,    -1,   409,   410,   411,   412,   413,   414,
17503      415,   416,   417,   418,   419,   420,   421,   422,    -1,   424,
17504      425,   426,   427,   428,   429,   430,    -1,   432,   433,   434,
17505      435,   436,   437,   438,    -1,   440,   441,   442,   443,   444,
17506      445,    -1,    -1,   448,    -1,    -1,   451,   452,   453,   454,
17507      455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
17508      465,   466,   467,   468,   469,   470,   471,    -1,    -1,    -1,
17509       -1,    -1,    -1,   478,   479,    -1,    -1,    -1,     3,    -1,
17510        5,     6,   487,     8,     9,    10,    11,    12,    -1,    -1,
17511       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
17512       25,    26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,
17513       -1,    36,    -1,    -1,    39,    40,    -1,    42,    43,    44,
17514       45,    46,    47,    48,    49,    50,    51,    52,    53,    -1,
17515       55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
17516       65,    66,    67,    -1,    69,    70,    71,    72,    73,    -1,
17517       75,    -1,    77,    78,    79,    80,    81,    82,    83,    84,
17518       85,    -1,    87,    88,    89,    90,    91,    92,    -1,    94,
17519       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
17520      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
17521      115,    -1,   117,   118,   119,   120,   121,   122,    -1,   124,
17522      125,   126,   127,    -1,    -1,   130,   131,   132,   133,   134,
17523       -1,   136,   137,   138,    -1,   140,   141,   142,    -1,   144,
17524      145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
17525      155,    -1,   157,   158,   159,   160,    -1,   162,    -1,   164,
17526      165,    -1,   167,   168,   169,   170,   171,    -1,   173,   174,
17527       -1,   176,   177,   178,    -1,   180,   181,   182,   183,   184,
17528      185,   186,   187,   188,   189,    -1,   191,   192,   193,   194,
17529      195,   196,   197,    -1,   199,   200,   201,   202,   203,   204,
17530      205,   206,   207,    -1,   209,    -1,   211,   212,   213,   214,
17531      215,   216,   217,   218,   219,   220,    -1,    -1,   223,   224,
17532      225,   226,   227,    -1,   229,   230,   231,   232,   233,   234,
17533      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
17534      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
17535      255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
17536      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
17537       -1,   276,   277,    -1,    -1,   280,   281,   282,    -1,    -1,
17538      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
17539      295,   296,   297,   298,   299,   300,    -1,    -1,   303,   304,
17540      305,   306,   307,   308,   309,   310,    -1,   312,   313,   314,
17541      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
17542      325,   326,    -1,   328,   329,   330,   331,   332,   333,   334,
17543      335,   336,   337,   338,   339,    -1,   341,   342,   343,   344,
17544      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
17545      355,   356,   357,   358,    -1,   360,   361,   362,   363,   364,
17546      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
17547      375,    -1,   377,   378,   379,   380,   381,   382,   383,   384,
17548      385,   386,   387,   388,   389,   390,   391,    -1,   393,   394,
17549       -1,   396,   397,   398,   399,   400,   401,   402,    -1,   404,
17550      405,   406,    -1,    -1,   409,   410,   411,   412,   413,   414,
17551      415,   416,   417,   418,   419,   420,   421,   422,    -1,   424,
17552      425,   426,   427,   428,   429,   430,    -1,   432,   433,   434,
17553      435,   436,   437,   438,    -1,   440,   441,   442,   443,   444,
17554      445,    -1,    -1,   448,    -1,    -1,   451,   452,   453,   454,
17555      455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
17556      465,   466,   467,   468,   469,   470,   471,    -1,    -1,    -1,
17557       -1,    -1,    -1,   478,   479,    -1,    -1,    -1,     3,    -1,
17558        5,     6,   487,     8,     9,    10,    11,    12,    -1,    -1,
17559       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
17560       25,    26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,
17561       -1,    36,    -1,    -1,    39,    40,    -1,    42,    43,    44,
17562       45,    46,    47,    48,    49,    50,    51,    52,    53,    -1,
17563       55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
17564       65,    66,    67,    -1,    69,    70,    71,    72,    73,    -1,
17565       75,    -1,    77,    78,    79,    80,    81,    82,    83,    84,
17566       85,    -1,    87,    88,    89,    90,    91,    92,    -1,    94,
17567       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
17568      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
17569      115,    -1,   117,   118,   119,   120,   121,   122,    -1,   124,
17570      125,   126,   127,    -1,    -1,   130,   131,   132,   133,   134,
17571       -1,   136,   137,   138,    -1,   140,   141,   142,    -1,   144,
17572      145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
17573      155,    -1,   157,   158,   159,   160,    -1,   162,    -1,   164,
17574      165,    -1,   167,   168,   169,   170,   171,    -1,   173,   174,
17575       -1,   176,   177,   178,    -1,   180,   181,   182,   183,   184,
17576      185,   186,   187,   188,   189,    -1,   191,   192,   193,   194,
17577      195,   196,   197,    -1,   199,   200,   201,   202,   203,   204,
17578      205,   206,   207,    -1,   209,    -1,   211,   212,   213,   214,
17579      215,   216,   217,   218,   219,   220,    -1,    -1,   223,   224,
17580      225,   226,   227,    -1,   229,   230,   231,   232,   233,   234,
17581      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
17582      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
17583      255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
17584      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
17585       -1,   276,   277,    -1,    -1,   280,   281,   282,    -1,    -1,
17586      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
17587      295,   296,   297,   298,   299,   300,    -1,    -1,   303,   304,
17588      305,   306,   307,   308,   309,   310,    -1,   312,   313,   314,
17589      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
17590      325,   326,    -1,   328,   329,   330,   331,   332,   333,   334,
17591      335,   336,   337,   338,   339,    -1,   341,   342,   343,   344,
17592      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
17593      355,   356,   357,   358,    -1,   360,   361,   362,   363,   364,
17594      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
17595      375,    -1,   377,   378,   379,   380,   381,   382,   383,   384,
17596      385,   386,   387,   388,   389,   390,   391,    -1,   393,   394,
17597       -1,   396,   397,   398,   399,   400,   401,   402,    -1,   404,
17598      405,   406,    -1,    -1,   409,   410,   411,   412,   413,   414,
17599      415,   416,   417,   418,   419,   420,   421,   422,    -1,   424,
17600      425,   426,   427,   428,   429,   430,    -1,   432,   433,   434,
17601      435,   436,   437,   438,    -1,   440,   441,   442,   443,   444,
17602      445,    -1,    -1,   448,    -1,    -1,   451,   452,   453,   454,
17603      455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
17604      465,   466,   467,   468,   469,   470,   471,    -1,    -1,    -1,
17605       -1,    -1,    -1,   478,   479,    -1,    -1,    -1,     3,    -1,
17606        5,     6,   487,     8,     9,    10,    11,    12,    -1,    -1,
17607       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
17608       25,    26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,
17609       -1,    36,    -1,    -1,    39,    40,    -1,    42,    43,    44,
17610       45,    46,    47,    48,    49,    50,    51,    52,    53,    -1,
17611       55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
17612       65,    66,    67,    -1,    69,    70,    71,    72,    73,    -1,
17613       75,    -1,    77,    78,    79,    80,    81,    82,    83,    84,
17614       85,    -1,    87,    88,    89,    90,    91,    92,    -1,    94,
17615       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
17616      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
17617      115,    -1,   117,   118,   119,   120,   121,   122,    -1,   124,
17618      125,   126,   127,    -1,    -1,   130,   131,   132,   133,   134,
17619       -1,   136,   137,   138,    -1,   140,   141,   142,    -1,   144,
17620      145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
17621      155,    -1,   157,   158,   159,   160,    -1,   162,    -1,   164,
17622      165,    -1,   167,   168,   169,   170,   171,    -1,   173,   174,
17623       -1,   176,   177,   178,    -1,   180,   181,   182,   183,   184,
17624      185,   186,   187,   188,   189,    -1,   191,   192,   193,   194,
17625      195,   196,   197,    -1,   199,   200,   201,   202,   203,   204,
17626      205,   206,   207,    -1,   209,    -1,   211,   212,   213,   214,
17627      215,   216,   217,   218,   219,   220,    -1,    -1,   223,   224,
17628      225,   226,   227,    -1,   229,   230,   231,   232,   233,   234,
17629      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
17630      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
17631      255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
17632      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
17633       -1,   276,   277,    -1,    -1,   280,   281,   282,    -1,    -1,
17634      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
17635      295,   296,   297,   298,   299,   300,    -1,    -1,   303,   304,
17636      305,   306,   307,   308,   309,   310,    -1,   312,   313,   314,
17637      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
17638      325,   326,    -1,   328,   329,   330,   331,   332,   333,   334,
17639      335,   336,   337,   338,   339,    -1,   341,   342,   343,   344,
17640      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
17641      355,   356,   357,   358,    -1,   360,   361,   362,   363,   364,
17642      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
17643      375,    -1,   377,   378,   379,   380,   381,   382,   383,   384,
17644      385,   386,   387,   388,   389,   390,   391,    -1,   393,   394,
17645       -1,   396,   397,   398,   399,   400,   401,   402,    -1,   404,
17646      405,   406,    -1,    -1,   409,   410,   411,   412,   413,   414,
17647      415,   416,   417,   418,   419,   420,   421,   422,    -1,   424,
17648      425,   426,   427,   428,   429,   430,    -1,   432,   433,   434,
17649      435,   436,   437,   438,    -1,   440,   441,   442,   443,   444,
17650      445,    -1,    -1,   448,    -1,    -1,   451,   452,   453,   454,
17651      455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
17652      465,   466,   467,   468,   469,   470,   471,    -1,    -1,    -1,
17653       -1,    -1,    -1,   478,   479,    -1,    -1,    -1,     3,    -1,
17654        5,     6,   487,     8,     9,    10,    11,    12,    -1,    -1,
17655       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
17656       25,    26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,
17657       -1,    36,    -1,    -1,    39,    40,    -1,    42,    43,    44,
17658       45,    46,    47,    48,    49,    50,    51,    52,    53,    -1,
17659       55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
17660       65,    66,    67,    -1,    69,    70,    71,    72,    73,    -1,
17661       75,    -1,    77,    78,    79,    80,    81,    82,    83,    84,
17662       85,    -1,    87,    88,    89,    90,    91,    92,    -1,    94,
17663       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
17664      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
17665      115,    -1,   117,   118,   119,   120,   121,   122,    -1,   124,
17666      125,   126,   127,    -1,    -1,   130,   131,   132,   133,   134,
17667       -1,   136,   137,   138,    -1,   140,   141,   142,    -1,   144,
17668      145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
17669      155,    -1,   157,   158,   159,   160,    -1,   162,    -1,   164,
17670      165,    -1,   167,   168,   169,   170,   171,    -1,   173,   174,
17671       -1,   176,   177,   178,    -1,   180,   181,   182,   183,   184,
17672      185,   186,   187,   188,   189,    -1,   191,   192,   193,   194,
17673      195,   196,   197,    -1,   199,   200,   201,   202,   203,   204,
17674      205,   206,   207,    -1,   209,    -1,   211,   212,   213,   214,
17675      215,   216,   217,   218,   219,   220,    -1,    -1,   223,   224,
17676      225,   226,   227,    -1,   229,   230,   231,   232,   233,   234,
17677      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
17678      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
17679      255,   256,   257,   258,   259,   260,   261,   262,    -1,   264,
17680      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
17681       -1,   276,   277,    -1,    -1,   280,   281,   282,    -1,    -1,
17682      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
17683      295,   296,   297,   298,   299,   300,    -1,    -1,   303,   304,
17684      305,   306,   307,   308,   309,   310,    -1,   312,   313,   314,
17685      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
17686      325,   326,    -1,   328,   329,   330,   331,   332,   333,   334,
17687      335,   336,   337,   338,   339,    -1,   341,   342,   343,   344,
17688      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
17689      355,   356,   357,   358,    -1,   360,   361,   362,   363,   364,
17690      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
17691      375,    -1,   377,   378,   379,   380,   381,   382,   383,   384,
17692      385,   386,   387,   388,   389,   390,   391,    -1,   393,   394,
17693       -1,   396,   397,   398,   399,   400,   401,   402,    -1,   404,
17694      405,   406,    -1,    -1,   409,   410,   411,   412,   413,   414,
17695      415,   416,   417,   418,   419,   420,   421,   422,    -1,    -1,
17696      425,   426,   427,   428,   429,   430,    -1,   432,   433,   434,
17697      435,   436,   437,   438,    -1,   440,   441,   442,   443,   444,
17698      445,    -1,    -1,   448,    -1,    -1,   451,   452,   453,   454,
17699      455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
17700      465,   466,   467,   468,   469,   470,    -1,    -1,    -1,    -1,
17701       -1,    -1,    -1,   478,   479,    -1,    -1,    -1,     3,    -1,
17702        5,     6,   487,     8,     9,    10,    11,    12,    -1,    -1,
17703       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
17704       25,    26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,
17705       -1,    36,    -1,    -1,    39,    40,    -1,    42,    43,    44,
17706       45,    46,    47,    48,    49,    50,    51,    52,    53,    -1,
17707       55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
17708       65,    66,    67,    -1,    69,    70,    71,    72,    73,    -1,
17709       75,    -1,    77,    78,    79,    80,    81,    82,    83,    84,
17710       85,    -1,    87,    88,    89,    90,    91,    92,    -1,    94,
17711       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
17712      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
17713      115,    -1,   117,   118,   119,   120,   121,   122,    -1,   124,
17714      125,   126,   127,    -1,    -1,   130,   131,   132,   133,   134,
17715       -1,   136,   137,   138,    -1,   140,   141,   142,    -1,   144,
17716      145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
17717      155,    -1,   157,   158,   159,   160,    -1,   162,    -1,   164,
17718      165,    -1,   167,   168,   169,   170,   171,    -1,   173,   174,
17719       -1,   176,   177,   178,    -1,   180,   181,   182,   183,   184,
17720      185,   186,   187,   188,   189,    -1,   191,   192,   193,   194,
17721      195,   196,   197,    -1,   199,   200,   201,   202,   203,   204,
17722      205,   206,   207,    -1,   209,    -1,   211,    -1,    -1,   214,
17723      215,   216,   217,   218,   219,   220,    -1,    -1,   223,   224,
17724      225,   226,   227,    -1,   229,   230,   231,   232,   233,   234,
17725      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
17726      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
17727      255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
17728      265,    -1,   267,   268,   269,   270,   271,   272,   273,   274,
17729       -1,   276,   277,    -1,    -1,   280,   281,   282,    -1,    -1,
17730      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
17731      295,   296,   297,   298,   299,   300,    -1,    -1,   303,   304,
17732      305,   306,   307,   308,   309,   310,    -1,   312,   313,   314,
17733      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
17734      325,   326,    -1,   328,   329,   330,   331,   332,   333,   334,
17735      335,   336,   337,   338,   339,    -1,   341,   342,   343,   344,
17736      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
17737      355,   356,   357,   358,    -1,   360,   361,   362,   363,   364,
17738      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
17739      375,    -1,   377,   378,   379,   380,   381,   382,   383,   384,
17740      385,   386,   387,   388,   389,   390,   391,    -1,   393,   394,
17741       -1,   396,   397,   398,   399,   400,   401,   402,    -1,   404,
17742      405,   406,    -1,    -1,   409,   410,   411,   412,   413,   414,
17743      415,   416,   417,   418,   419,   420,   421,   422,    -1,   424,
17744      425,   426,   427,   428,   429,   430,    -1,   432,   433,   434,
17745      435,   436,   437,   438,    -1,   440,   441,   442,   443,   444,
17746      445,    -1,    -1,   448,    -1,    -1,   451,   452,   453,   454,
17747      455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
17748      465,   466,   467,   468,   469,   470,   471,    -1,    -1,    -1,
17749       -1,    -1,    -1,   478,   479,    -1,    -1,    -1,     3,    -1,
17750        5,     6,   487,     8,     9,    10,    11,    12,    -1,    -1,
17751       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
17752       25,    26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,
17753       -1,    36,    -1,    -1,    39,    40,    -1,    42,    43,    44,
17754       45,    46,    47,    48,    49,    50,    51,    52,    53,    -1,
17755       55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
17756       65,    66,    67,    -1,    69,    70,    71,    72,    73,    -1,
17757       75,    -1,    77,    78,    79,    80,    81,    82,    83,    84,
17758       85,    -1,    87,    88,    89,    90,    91,    92,    -1,    94,
17759       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
17760      105,   106,   107,   108,   109,   110,   111,   112,   113,    -1,
17761      115,    -1,   117,   118,   119,   120,   121,   122,    -1,   124,
17762      125,   126,   127,    -1,    -1,   130,   131,   132,   133,   134,
17763       -1,   136,   137,   138,    -1,   140,   141,   142,    -1,   144,
17764      145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
17765      155,    -1,   157,   158,   159,   160,    -1,   162,    -1,   164,
17766      165,    -1,   167,   168,   169,   170,   171,    -1,   173,   174,
17767       -1,   176,   177,   178,    -1,   180,   181,   182,   183,   184,
17768      185,   186,   187,   188,   189,    -1,   191,   192,   193,   194,
17769      195,   196,   197,    -1,   199,   200,   201,   202,   203,   204,
17770      205,   206,   207,    -1,   209,    -1,   211,   212,   213,   214,
17771      215,   216,   217,   218,   219,   220,    -1,    -1,   223,   224,
17772      225,   226,   227,    -1,   229,   230,   231,   232,   233,   234,
17773      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
17774      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
17775      255,   256,   257,   258,   259,   260,   261,   262,    -1,   264,
17776      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
17777       -1,   276,   277,    -1,    -1,   280,   281,   282,    -1,    -1,
17778      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
17779      295,   296,   297,   298,   299,   300,    -1,    -1,   303,   304,
17780      305,   306,   307,   308,   309,   310,    -1,   312,   313,   314,
17781      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
17782      325,   326,    -1,   328,   329,   330,   331,   332,   333,   334,
17783      335,   336,   337,   338,   339,    -1,   341,   342,   343,   344,
17784      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
17785      355,   356,   357,   358,    -1,   360,   361,   362,   363,   364,
17786      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
17787      375,    -1,   377,   378,   379,   380,   381,   382,   383,   384,
17788      385,   386,   387,   388,   389,   390,   391,    -1,   393,   394,
17789       -1,   396,   397,   398,   399,   400,   401,   402,    -1,   404,
17790      405,   406,    -1,    -1,   409,   410,   411,   412,   413,   414,
17791      415,   416,   417,   418,   419,   420,   421,   422,    -1,    -1,
17792      425,   426,   427,   428,   429,   430,    -1,   432,   433,   434,
17793      435,   436,   437,   438,    -1,   440,   441,   442,   443,   444,
17794      445,    -1,    -1,   448,    -1,    -1,   451,   452,   453,   454,
17795      455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
17796      465,   466,   467,   468,   469,   470,    -1,    -1,    -1,    -1,
17797       -1,    -1,    -1,   478,   479,     3,    -1,     5,     6,    -1,
17798        8,     9,   487,    11,    12,    -1,    -1,    -1,    -1,    -1,
17799       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
17800       -1,    29,    30,    31,    -1,    -1,    -1,    -1,    36,    -1,
17801       -1,    39,    40,    -1,    42,    43,    44,    45,    46,    47,
17802       48,    49,    50,    51,    52,    53,    -1,    55,    56,    57,
17803       58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
17804       -1,    69,    70,    71,    72,    73,    -1,    75,    -1,    77,
17805       78,    79,    80,    81,    82,    83,    84,    85,    -1,    87,
17806       88,    89,    90,    91,    92,    -1,    94,    95,    96,    97,
17807       98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
17808      108,   109,   110,   111,   112,   113,    -1,   115,    -1,   117,
17809      118,   119,   120,   121,   122,    -1,   124,   125,   126,   127,
17810       -1,    -1,   130,   131,   132,   133,   134,    -1,   136,   137,
17811      138,    -1,   140,   141,   142,    -1,   144,   145,   146,   147,
17812      148,   149,   150,   151,   152,   153,   154,   155,    -1,   157,
17813      158,   159,   160,    -1,   162,    -1,   164,   165,    -1,   167,
17814      168,   169,   170,   171,    -1,   173,   174,    -1,   176,   177,
17815      178,    -1,   180,   181,   182,   183,   184,   185,   186,   187,
17816      188,   189,    -1,   191,   192,   193,   194,   195,   196,   197,
17817       -1,   199,   200,   201,   202,   203,   204,   205,   206,   207,
17818       -1,   209,    -1,   211,   212,   213,   214,   215,   216,   217,
17819      218,   219,   220,    -1,    -1,   223,   224,   225,   226,   227,
17820       -1,   229,   230,   231,   232,   233,   234,   235,   236,   237,
17821      238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
17822      248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
17823      258,   259,   260,   261,   262,    -1,   264,   265,   266,   267,
17824      268,   269,   270,   271,   272,   273,   274,    -1,   276,   277,
17825       -1,    -1,   280,   281,   282,    -1,    -1,   285,   286,   287,
17826      288,   289,   290,   291,   292,   293,   294,   295,   296,   297,
17827      298,   299,   300,    -1,    -1,   303,   304,   305,   306,   307,
17828      308,   309,   310,    -1,   312,   313,   314,   315,   316,   317,
17829      318,   319,   320,   321,   322,   323,   324,   325,   326,    -1,
17830      328,   329,   330,   331,   332,   333,   334,   335,   336,   337,
17831      338,   339,    -1,   341,   342,   343,   344,   345,   346,   347,
17832      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
17833      358,    -1,   360,   361,   362,   363,   364,   365,   366,   367,
17834      368,   369,   370,   371,   372,   373,   374,   375,    -1,   377,
17835      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
17836      388,   389,   390,   391,    -1,   393,   394,    -1,   396,   397,
17837      398,   399,   400,   401,   402,    -1,   404,   405,   406,    -1,
17838       -1,   409,   410,   411,   412,   413,   414,   415,   416,   417,
17839      418,   419,   420,   421,   422,    -1,    -1,   425,   426,   427,
17840      428,   429,   430,    -1,   432,   433,   434,   435,   436,   437,
17841      438,    -1,   440,   441,   442,   443,   444,   445,    -1,    -1,
17842      448,    -1,    -1,   451,   452,   453,   454,   455,   456,   457,
17843      458,   459,   460,   461,   462,   463,   464,   465,   466,   467,
17844      468,   469,   470,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
17845      478,   479,    -1,    -1,    -1,     3,    -1,     5,     6,   487,
17846        8,     9,    10,    11,    12,    -1,    -1,    -1,    -1,    -1,
17847       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
17848       -1,    29,    30,    31,    -1,    -1,    -1,    -1,    36,    -1,
17849       -1,    39,    40,    -1,    42,    43,    44,    45,    46,    47,
17850       48,    49,    50,    51,    52,    53,    -1,    55,    56,    57,
17851       58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
17852       -1,    69,    70,    71,    72,    73,    -1,    75,    -1,    77,
17853       78,    79,    80,    81,    82,    83,    84,    85,    -1,    87,
17854       88,    89,    90,    91,    92,    -1,    94,    95,    96,    97,
17855       98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
17856      108,   109,   110,   111,   112,   113,    -1,   115,    -1,   117,
17857      118,   119,   120,   121,   122,    -1,   124,   125,   126,   127,
17858       -1,    -1,   130,   131,   132,   133,   134,    -1,   136,   137,
17859      138,    -1,   140,   141,   142,    -1,   144,   145,   146,   147,
17860      148,   149,   150,   151,   152,   153,   154,   155,    -1,   157,
17861      158,   159,   160,    -1,   162,    -1,   164,   165,    -1,   167,
17862      168,   169,   170,   171,    -1,   173,   174,    -1,   176,   177,
17863      178,    -1,   180,   181,   182,   183,   184,   185,   186,   187,
17864      188,   189,    -1,   191,   192,   193,   194,   195,   196,   197,
17865       -1,   199,   200,   201,   202,   203,   204,   205,   206,   207,
17866       -1,   209,    -1,   211,    -1,   213,   214,   215,   216,   217,
17867      218,   219,   220,    -1,    -1,   223,   224,   225,   226,   227,
17868       -1,   229,   230,   231,   232,   233,   234,   235,   236,   237,
17869      238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
17870      248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
17871      258,   259,   260,   261,   262,    -1,   264,   265,   266,   267,
17872      268,   269,   270,   271,   272,   273,   274,    -1,   276,   277,
17873       -1,    -1,   280,   281,   282,    -1,    -1,   285,   286,   287,
17874      288,   289,   290,   291,   292,   293,   294,   295,   296,   297,
17875      298,   299,   300,    -1,    -1,   303,   304,   305,   306,   307,
17876      308,   309,   310,    -1,   312,   313,   314,   315,   316,   317,
17877      318,   319,   320,   321,   322,   323,   324,   325,   326,    -1,
17878      328,   329,   330,   331,   332,   333,   334,   335,   336,   337,
17879      338,   339,    -1,   341,   342,   343,   344,   345,   346,   347,
17880      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
17881      358,    -1,   360,   361,   362,   363,   364,   365,   366,   367,
17882      368,   369,   370,   371,   372,   373,   374,   375,    -1,   377,
17883      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
17884      388,   389,   390,   391,    -1,   393,   394,    -1,   396,   397,
17885      398,   399,   400,   401,   402,    -1,   404,   405,   406,    -1,
17886       -1,   409,   410,   411,   412,   413,   414,   415,   416,   417,
17887      418,   419,   420,   421,   422,    -1,    -1,   425,   426,   427,
17888      428,   429,   430,    -1,   432,   433,   434,   435,   436,   437,
17889      438,    -1,   440,   441,   442,   443,   444,   445,    -1,    -1,
17890      448,    -1,    -1,   451,   452,   453,   454,   455,   456,   457,
17891      458,   459,   460,   461,   462,   463,   464,   465,   466,   467,
17892      468,   469,   470,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
17893      478,   479,     3,    -1,     5,     6,    -1,     8,     9,   487,
17894       11,    12,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,
17895       21,    22,    23,    24,    25,    26,    27,    -1,    29,    30,
17896       31,    -1,    -1,    -1,    -1,    36,    -1,    -1,    39,    40,
17897       -1,    42,    43,    44,    45,    46,    47,    48,    49,    50,
17898       51,    52,    53,    -1,    55,    56,    57,    58,    59,    60,
17899       61,    62,    63,    64,    65,    66,    67,    -1,    69,    70,
17900       71,    72,    73,    -1,    75,    -1,    77,    78,    79,    80,
17901       81,    82,    83,    84,    85,    -1,    87,    88,    89,    90,
17902       91,    92,    -1,    94,    95,    96,    97,    98,    99,   100,
17903      101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
17904      111,   112,   113,    -1,   115,    -1,   117,   118,   119,   120,
17905      121,   122,    -1,   124,   125,   126,   127,    -1,    -1,   130,
17906      131,   132,   133,   134,    -1,   136,   137,   138,    -1,   140,
17907      141,   142,    -1,   144,   145,   146,   147,   148,   149,   150,
17908      151,   152,   153,   154,   155,    -1,   157,   158,   159,   160,
17909       -1,   162,    -1,   164,   165,    -1,   167,   168,   169,   170,
17910      171,    -1,   173,   174,    -1,   176,   177,   178,    -1,   180,
17911      181,   182,   183,   184,   185,   186,   187,   188,   189,    -1,
17912      191,   192,   193,   194,   195,   196,   197,    -1,   199,   200,
17913      201,   202,   203,   204,   205,   206,   207,    -1,   209,    -1,
17914      211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
17915       -1,    -1,   223,   224,   225,   226,   227,    -1,   229,   230,
17916      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
17917      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
17918      251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
17919      261,   262,    -1,   264,   265,   266,   267,   268,   269,   270,
17920      271,   272,   273,   274,    -1,   276,   277,    -1,    -1,   280,
17921      281,   282,    -1,    -1,   285,   286,   287,   288,   289,   290,
17922      291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
17923       -1,    -1,   303,   304,   305,   306,   307,   308,   309,   310,
17924       -1,   312,   313,   314,   315,   316,   317,   318,   319,   320,
17925      321,   322,   323,   324,   325,   326,    -1,   328,   329,   330,
17926      331,   332,   333,   334,   335,   336,   337,   338,   339,    -1,
17927      341,   342,   343,   344,   345,   346,   347,   348,   349,   350,
17928      351,   352,   353,   354,   355,   356,   357,   358,    -1,   360,
17929      361,   362,   363,   364,   365,   366,   367,   368,   369,   370,
17930      371,   372,   373,   374,   375,    -1,   377,   378,   379,   380,
17931      381,   382,   383,   384,   385,   386,   387,   388,   389,   390,
17932      391,    -1,   393,   394,    -1,   396,   397,   398,   399,   400,
17933      401,   402,    -1,   404,   405,   406,    -1,    -1,   409,   410,
17934      411,   412,   413,   414,   415,   416,   417,   418,   419,   420,
17935      421,   422,    -1,    -1,   425,   426,   427,   428,   429,   430,
17936       -1,   432,   433,   434,   435,   436,   437,   438,    -1,   440,
17937      441,   442,   443,   444,   445,    -1,    -1,   448,    -1,    -1,
17938      451,   452,   453,   454,   455,   456,   457,   458,   459,   460,
17939      461,   462,   463,   464,   465,   466,   467,   468,   469,   470,
17940        3,    -1,     5,     6,    -1,     8,     9,    -1,    11,    12,
17941       -1,    -1,    -1,    -1,    -1,    -1,   487,    20,    21,    22,
17942       23,    24,    25,    26,    27,    -1,    29,    30,    31,    -1,
17943       -1,    -1,    -1,    36,    -1,    -1,    39,    40,    -1,    42,
17944       43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
17945       53,    -1,    55,    56,    57,    58,    59,    60,    61,    62,
17946       63,    64,    65,    66,    67,    -1,    69,    70,    71,    72,
17947       73,    -1,    75,    -1,    77,    78,    79,    80,    81,    82,
17948       83,    84,    85,    -1,    87,    88,    89,    90,    91,    92,
17949       -1,    94,    95,    96,    97,    98,    99,   100,   101,   102,
17950      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
17951      113,    -1,   115,    -1,   117,   118,   119,   120,   121,   122,
17952       -1,   124,   125,   126,   127,    -1,    -1,   130,   131,   132,
17953      133,   134,    -1,   136,   137,   138,    -1,   140,   141,   142,
17954       -1,   144,   145,   146,   147,   148,   149,   150,   151,   152,
17955      153,   154,   155,    -1,   157,   158,   159,   160,    -1,   162,
17956       -1,   164,   165,    -1,   167,   168,   169,   170,   171,    -1,
17957      173,   174,    -1,   176,   177,   178,    -1,   180,   181,   182,
17958      183,   184,   185,   186,   187,   188,   189,    -1,   191,   192,
17959      193,   194,   195,   196,   197,    -1,   199,   200,   201,   202,
17960      203,   204,   205,   206,   207,    -1,   209,    -1,   211,   212,
17961      213,   214,   215,   216,   217,   218,   219,   220,    -1,    -1,
17962      223,   224,   225,   226,   227,    -1,   229,   230,   231,   232,
17963      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
17964      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
17965      253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
17966       -1,   264,   265,   266,   267,   268,   269,   270,   271,   272,
17967      273,   274,    -1,   276,   277,    -1,    -1,   280,   281,   282,
17968       -1,    -1,   285,   286,   287,   288,   289,   290,   291,   292,
17969      293,   294,   295,   296,   297,   298,   299,   300,    -1,    -1,
17970      303,   304,   305,   306,   307,   308,   309,   310,    -1,   312,
17971      313,   314,   315,   316,   317,   318,   319,   320,   321,   322,
17972      323,   324,   325,   326,    -1,   328,   329,   330,   331,   332,
17973      333,   334,   335,   336,   337,   338,   339,    -1,   341,   342,
17974      343,   344,   345,   346,   347,   348,   349,   350,   351,   352,
17975      353,   354,   355,   356,   357,   358,    -1,   360,   361,   362,
17976      363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
17977      373,   374,   375,    -1,   377,   378,   379,   380,   381,   382,
17978      383,   384,   385,   386,   387,   388,   389,   390,   391,    -1,
17979      393,   394,    -1,   396,   397,   398,   399,   400,   401,   402,
17980       -1,   404,   405,   406,    -1,    -1,   409,   410,   411,   412,
17981      413,   414,   415,   416,   417,   418,   419,   420,   421,   422,
17982       -1,    -1,   425,   426,   427,   428,   429,   430,    -1,   432,
17983      433,   434,   435,   436,   437,   438,    -1,   440,   441,   442,
17984      443,   444,   445,    -1,    -1,   448,    -1,    -1,   451,   452,
17985      453,   454,   455,   456,   457,   458,   459,   460,   461,   462,
17986      463,   464,   465,   466,   467,   468,   469,   470,     3,    -1,
17987        5,     6,    -1,     8,     9,    -1,    11,    12,    -1,    -1,
17988       -1,    -1,    -1,    -1,   487,    20,    21,    22,    23,    24,
17989       25,    26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,
17990       -1,    36,    -1,    -1,    39,    40,    -1,    42,    43,    44,
17991       45,    46,    47,    48,    49,    50,    51,    52,    53,    -1,
17992       55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
17993       65,    66,    67,    -1,    69,    70,    71,    72,    73,    -1,
17994       75,    -1,    77,    78,    79,    80,    81,    82,    83,    84,
17995       85,    -1,    87,    88,    89,    90,    91,    92,    -1,    94,
17996       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
17997      105,   106,   107,   108,   109,   110,   111,   112,   113,    -1,
17998      115,    -1,   117,   118,   119,   120,   121,   122,    -1,   124,
17999      125,   126,   127,    -1,    -1,   130,   131,   132,   133,   134,
18000       -1,   136,   137,   138,    -1,   140,   141,   142,    -1,   144,
18001      145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
18002      155,    -1,   157,   158,   159,   160,    -1,   162,    -1,   164,
18003      165,    -1,   167,   168,   169,   170,   171,    -1,   173,   174,
18004       -1,   176,   177,   178,    -1,   180,   181,   182,   183,   184,
18005      185,   186,   187,   188,   189,    -1,   191,   192,   193,   194,
18006      195,   196,   197,    -1,   199,   200,   201,   202,   203,   204,
18007      205,   206,   207,    -1,   209,    -1,   211,   212,   213,   214,
18008      215,   216,   217,   218,   219,   220,    -1,    -1,   223,   224,
18009      225,   226,   227,    -1,   229,   230,   231,   232,   233,   234,
18010      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
18011      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
18012      255,   256,   257,   258,   259,   260,   261,   262,    -1,   264,
18013      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
18014       -1,   276,   277,    -1,    -1,   280,   281,   282,    -1,    -1,
18015      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
18016      295,   296,   297,   298,   299,   300,    -1,    -1,   303,   304,
18017      305,   306,   307,   308,   309,   310,    -1,   312,   313,   314,
18018      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
18019      325,   326,    -1,   328,   329,   330,   331,   332,   333,   334,
18020      335,   336,   337,   338,   339,    -1,   341,   342,   343,   344,
18021      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
18022      355,   356,   357,   358,    -1,   360,   361,   362,   363,   364,
18023      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
18024      375,    -1,   377,   378,   379,   380,   381,   382,   383,   384,
18025      385,   386,   387,   388,   389,   390,   391,    -1,   393,   394,
18026       -1,   396,   397,   398,   399,   400,   401,   402,    -1,   404,
18027      405,   406,    -1,    -1,   409,   410,   411,   412,   413,   414,
18028      415,   416,   417,   418,   419,   420,   421,   422,    -1,    -1,
18029      425,   426,   427,   428,   429,   430,    -1,   432,   433,   434,
18030      435,   436,   437,   438,    -1,   440,   441,   442,   443,   444,
18031      445,    -1,    -1,   448,    -1,    -1,   451,   452,   453,   454,
18032      455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
18033      465,   466,   467,   468,   469,   470,     3,    -1,     5,     6,
18034       -1,     8,     9,    10,    11,    12,    -1,    -1,    -1,    -1,
18035       -1,    -1,   487,    20,    21,    22,    23,    24,    25,    26,
18036       27,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,    36,
18037       -1,    -1,    39,    40,    -1,    42,    43,    44,    45,    46,
18038       47,    48,    -1,    50,    51,    52,    53,    -1,    55,    56,
18039       57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
18040       67,    -1,    69,    70,    71,    72,    73,    -1,    75,    -1,
18041       77,    78,    79,    80,    81,    82,    83,    84,    85,    -1,
18042       87,    88,    89,    90,    91,    92,    -1,    94,    95,    96,
18043       97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
18044      107,   108,   109,   110,   111,   112,   113,   114,   115,    -1,
18045      117,   118,   119,   120,   121,   122,    -1,   124,   125,   126,
18046      127,    -1,    -1,   130,   131,   132,   133,   134,    -1,   136,
18047      137,   138,    -1,   140,    -1,   142,    -1,   144,   145,   146,
18048      147,   148,   149,   150,   151,   152,   153,   154,   155,    -1,
18049      157,   158,   159,   160,    -1,   162,    -1,   164,   165,    -1,
18050      167,   168,   169,   170,   171,    -1,   173,   174,    -1,   176,
18051      177,   178,    -1,   180,   181,   182,   183,   184,    -1,   186,
18052      187,   188,   189,    -1,   191,   192,   193,   194,   195,   196,
18053      197,    -1,   199,   200,   201,   202,   203,   204,   205,   206,
18054      207,    -1,   209,    -1,   211,    -1,    -1,   214,   215,   216,
18055      217,   218,   219,   220,    -1,    -1,   223,   224,   225,   226,
18056       -1,    -1,   229,   230,   231,   232,   233,   234,   235,   236,
18057      237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
18058      247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
18059      257,   258,   259,   260,   261,   262,   263,   264,   265,    -1,
18060      267,   268,   269,   270,   271,   272,   273,   274,    -1,   276,
18061      277,    -1,    -1,   280,   281,   282,    -1,    -1,   285,   286,
18062      287,   288,   289,   290,   291,   292,   293,   294,   295,   296,
18063      297,   298,   299,   300,    -1,    -1,   303,   304,   305,   306,
18064      307,   308,   309,   310,    -1,   312,   313,   314,   315,   316,
18065      317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
18066       -1,   328,   329,   330,   331,   332,   333,   334,   335,   336,
18067      337,   338,   339,    -1,   341,   342,   343,   344,   345,   346,
18068      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
18069      357,   358,    -1,   360,   361,   362,   363,   364,   365,   366,
18070      367,   368,   369,   370,    -1,   372,   373,   374,   375,    -1,
18071      377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
18072      387,   388,   389,   390,   391,    -1,   393,   394,    -1,   396,
18073      397,   398,   399,   400,   401,   402,    -1,   404,   405,   406,
18074       -1,    -1,   409,   410,   411,   412,   413,   414,   415,   416,
18075      417,   418,   419,   420,   421,   422,    -1,   424,   425,   426,
18076      427,   428,   429,   430,    -1,   432,   433,   434,   435,   436,
18077      437,   438,    -1,   440,   441,   442,   443,   444,   445,    -1,
18078       -1,   448,    -1,    -1,   451,   452,   453,   454,   455,   456,
18079      457,   458,   459,   460,   461,   462,   463,   464,   465,   466,
18080      467,   468,   469,   470,     3,    -1,    -1,    -1,    -1,    -1,
18081       -1,   478,   479,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
18082      487,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
18083       29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
18084       39,    40,    -1,    42,    43,    44,    45,    46,    47,    48,
18085       49,    50,    51,    52,    53,    -1,    55,    56,    57,    58,
18086       59,    60,    -1,    62,    63,    64,    65,    66,    67,    -1,
18087       69,    70,    71,    72,    73,    -1,    75,    -1,    77,    78,
18088       79,    80,    81,    82,    83,    84,    85,    -1,    87,    88,
18089       89,    90,    91,    92,    -1,    94,    95,    96,    97,    98,
18090       99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
18091      109,   110,   111,   112,   113,    -1,   115,    -1,   117,   118,
18092      119,   120,   121,   122,    -1,   124,   125,   126,   127,    -1,
18093       -1,   130,   131,   132,   133,   134,    -1,   136,   137,   138,
18094       -1,   140,   141,   142,    -1,   144,   145,   146,   147,   148,
18095      149,   150,   151,   152,   153,    -1,   155,    -1,   157,   158,
18096      159,   160,    -1,   162,    -1,   164,   165,    -1,   167,   168,
18097      169,   170,   171,    -1,   173,   174,    -1,   176,   177,   178,
18098       -1,   180,   181,   182,   183,   184,   185,   186,   187,   188,
18099      189,    -1,   191,   192,   193,   194,   195,   196,   197,    -1,
18100      199,   200,   201,   202,   203,   204,   205,   206,   207,    -1,
18101      209,    -1,   211,   212,   213,   214,   215,   216,   217,   218,
18102      219,   220,   221,    -1,   223,   224,   225,   226,   227,    -1,
18103      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
18104      239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
18105      249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
18106      259,   260,   261,   262,    -1,   264,   265,   266,   267,    -1,
18107      269,   270,   271,   272,   273,   274,    -1,   276,   277,    -1,
18108      279,   280,   281,   282,    -1,    -1,   285,   286,   287,   288,
18109      289,   290,   291,   292,   293,   294,   295,   296,   297,   298,
18110      299,   300,    -1,    -1,   303,   304,   305,   306,   307,   308,
18111      309,   310,    -1,   312,   313,   314,   315,   316,   317,   318,
18112      319,   320,   321,   322,   323,   324,   325,   326,    -1,   328,
18113      329,   330,   331,   332,   333,   334,   335,   336,   337,   338,
18114      339,    -1,   341,   342,   343,   344,   345,   346,   347,   348,
18115      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
18116      359,   360,   361,   362,   363,   364,   365,   366,   367,   368,
18117      369,   370,   371,   372,   373,   374,   375,    -1,   377,   378,
18118      379,   380,   381,   382,   383,   384,   385,   386,   387,   388,
18119      389,   390,   391,    -1,   393,   394,   395,   396,   397,   398,
18120      399,   400,   401,   402,    -1,   404,   405,   406,    -1,    -1,
18121      409,   410,   411,   412,   413,    -1,   415,   416,   417,   418,
18122      419,   420,   421,   422,    -1,    -1,   425,   426,   427,   428,
18123      429,   430,    -1,   432,   433,   434,   435,   436,   437,   438,
18124       -1,   440,   441,   442,   443,   444,   445,    -1,    -1,   448,
18125       -1,   450,   451,   452,   453,   454,   455,   456,   457,   458,
18126      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
18127      469,   470,     3,    -1,   473,    -1,    -1,    -1,    -1,    -1,
18128       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   487,    20,
18129       21,    22,    23,    24,    25,    26,    27,    -1,    29,    30,
18130       31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,
18131       -1,    42,    43,    44,    45,    46,    47,    48,    49,    50,
18132       51,    52,    53,    -1,    55,    56,    57,    58,    59,    60,
18133       -1,    62,    63,    64,    65,    66,    67,    -1,    69,    70,
18134       71,    72,    73,    -1,    75,    -1,    77,    78,    79,    80,
18135       81,    82,    83,    84,    85,    -1,    87,    88,    89,    90,
18136       91,    92,    -1,    94,    95,    96,    97,    98,    99,   100,
18137      101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
18138      111,   112,   113,    -1,   115,    -1,   117,   118,   119,   120,
18139      121,   122,    -1,   124,   125,   126,   127,    -1,    -1,   130,
18140      131,   132,   133,   134,    -1,   136,   137,   138,    -1,   140,
18141      141,   142,    -1,   144,   145,   146,   147,   148,   149,   150,
18142      151,   152,   153,    -1,   155,    -1,   157,   158,   159,   160,
18143       -1,   162,    -1,   164,   165,    -1,   167,   168,   169,   170,
18144      171,    -1,   173,   174,    -1,   176,   177,   178,    -1,   180,
18145      181,   182,   183,   184,   185,   186,   187,   188,   189,    -1,
18146      191,   192,   193,   194,   195,   196,   197,    -1,   199,   200,
18147      201,   202,   203,   204,   205,   206,   207,    -1,   209,    -1,
18148      211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
18149      221,    -1,   223,   224,   225,   226,   227,    -1,   229,   230,
18150      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
18151      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
18152      251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
18153      261,   262,    -1,   264,   265,   266,   267,    -1,   269,   270,
18154      271,   272,   273,   274,    -1,   276,   277,    -1,   279,   280,
18155      281,   282,    -1,    -1,   285,   286,   287,   288,   289,   290,
18156      291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
18157       -1,    -1,   303,   304,   305,   306,   307,   308,   309,   310,
18158       -1,   312,   313,   314,   315,   316,   317,   318,   319,   320,
18159      321,   322,   323,   324,   325,   326,    -1,   328,   329,   330,
18160      331,   332,   333,   334,   335,   336,   337,   338,   339,    -1,
18161      341,   342,   343,   344,   345,   346,   347,   348,   349,   350,
18162      351,   352,   353,   354,   355,   356,   357,   358,    -1,   360,
18163      361,   362,   363,   364,   365,   366,   367,   368,   369,   370,
18164      371,   372,   373,   374,   375,    -1,   377,   378,   379,   380,
18165      381,   382,   383,   384,   385,   386,   387,   388,   389,   390,
18166      391,    -1,   393,   394,    -1,   396,   397,   398,   399,   400,
18167      401,   402,    -1,   404,   405,   406,    -1,    -1,   409,   410,
18168      411,   412,   413,    -1,   415,   416,   417,   418,   419,   420,
18169      421,   422,    -1,    -1,   425,   426,   427,   428,   429,   430,
18170       -1,   432,   433,   434,   435,   436,   437,   438,    -1,   440,
18171      441,   442,   443,   444,   445,    -1,    -1,   448,    -1,    -1,
18172      451,   452,   453,   454,   455,   456,   457,   458,   459,   460,
18173      461,   462,   463,   464,   465,   466,   467,   468,   469,   470,
18174        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
18175       -1,    -1,    -1,    -1,    -1,    -1,   487,    20,    21,    22,
18176       23,    24,    25,    26,    27,    -1,    29,    30,    31,    -1,
18177       -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    -1,    42,
18178       43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
18179       53,    -1,    55,    56,    57,    58,    59,    60,    -1,    62,
18180       63,    64,    65,    66,    67,    -1,    69,    70,    71,    72,
18181       73,    -1,    75,    -1,    77,    78,    79,    80,    81,    82,
18182       83,    84,    85,    -1,    87,    88,    89,    90,    91,    92,
18183       -1,    94,    95,    96,    97,    98,    99,   100,   101,   102,
18184      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
18185      113,    -1,   115,    -1,   117,   118,   119,   120,   121,   122,
18186       -1,   124,   125,   126,   127,    -1,    -1,   130,   131,   132,
18187      133,   134,    -1,   136,   137,   138,    -1,   140,   141,   142,
18188       -1,   144,   145,   146,   147,   148,   149,   150,   151,   152,
18189      153,    -1,   155,    -1,   157,   158,   159,   160,    -1,   162,
18190       -1,   164,   165,    -1,   167,   168,   169,   170,   171,    -1,
18191      173,   174,    -1,   176,   177,   178,    -1,   180,   181,   182,
18192      183,   184,   185,   186,   187,   188,   189,    -1,   191,   192,
18193      193,   194,   195,   196,   197,    -1,   199,   200,   201,   202,
18194      203,   204,   205,   206,   207,    -1,   209,    -1,   211,   212,
18195      213,   214,   215,   216,   217,   218,   219,   220,    -1,    -1,
18196      223,   224,   225,   226,   227,    -1,   229,   230,   231,   232,
18197      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
18198      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
18199      253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
18200       -1,   264,   265,   266,   267,    -1,   269,   270,   271,   272,
18201      273,   274,    -1,   276,   277,    -1,    -1,   280,   281,   282,
18202       -1,    -1,   285,   286,   287,   288,   289,   290,   291,   292,
18203      293,   294,   295,   296,   297,   298,   299,   300,    -1,    -1,
18204      303,   304,   305,   306,   307,   308,   309,   310,    -1,   312,
18205      313,   314,   315,   316,   317,   318,   319,   320,   321,   322,
18206      323,   324,   325,   326,    -1,   328,   329,   330,   331,   332,
18207      333,   334,   335,   336,   337,   338,   339,    -1,   341,   342,
18208      343,   344,   345,   346,   347,   348,   349,   350,   351,   352,
18209      353,   354,   355,   356,   357,   358,    -1,   360,   361,   362,
18210      363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
18211      373,   374,   375,    -1,   377,   378,   379,   380,   381,   382,
18212      383,   384,   385,   386,   387,   388,   389,   390,   391,    -1,
18213      393,   394,    -1,   396,   397,   398,   399,   400,   401,   402,
18214       -1,   404,   405,   406,    -1,    -1,   409,   410,   411,   412,
18215      413,    -1,   415,   416,   417,   418,   419,   420,   421,   422,
18216       -1,    -1,   425,   426,   427,   428,   429,   430,    -1,   432,
18217      433,   434,   435,   436,   437,   438,    -1,   440,   441,   442,
18218      443,   444,   445,    -1,    -1,   448,    -1,    -1,   451,   452,
18219      453,   454,   455,   456,   457,   458,   459,   460,   461,   462,
18220      463,   464,   465,   466,   467,   468,   469,   470,     3,    -1,
18221       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
18222       -1,    -1,    -1,    -1,   487,    20,    21,    22,    23,    24,
18223       25,    26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,
18224       -1,    -1,    -1,    -1,    39,    40,    -1,    42,    43,    44,
18225       45,    46,    47,    48,    49,    50,    51,    52,    53,    -1,
18226       55,    56,    57,    58,    59,    60,    -1,    62,    63,    64,
18227       65,    66,    67,    -1,    69,    70,    71,    72,    73,    -1,
18228       75,    -1,    77,    78,    79,    80,    81,    82,    83,    84,
18229       85,    -1,    87,    88,    89,    90,    91,    92,    -1,    94,
18230       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
18231      105,   106,   107,   108,   109,   110,   111,   112,   113,    -1,
18232      115,    -1,   117,   118,   119,   120,   121,   122,    -1,   124,
18233      125,   126,   127,    -1,    -1,   130,   131,   132,   133,   134,
18234       -1,   136,   137,   138,    -1,   140,   141,   142,    -1,   144,
18235      145,   146,   147,   148,   149,   150,   151,   152,   153,    -1,
18236      155,    -1,   157,   158,   159,   160,    -1,   162,    -1,   164,
18237      165,    -1,   167,   168,   169,   170,   171,    -1,   173,   174,
18238       -1,   176,   177,   178,    -1,   180,   181,   182,   183,   184,
18239      185,   186,   187,   188,   189,    -1,   191,   192,   193,   194,
18240      195,   196,   197,    -1,   199,   200,   201,   202,   203,   204,
18241      205,   206,   207,    -1,   209,    -1,   211,   212,   213,   214,
18242      215,   216,   217,   218,   219,   220,    -1,    -1,   223,   224,
18243      225,   226,   227,    -1,   229,   230,   231,   232,   233,   234,
18244      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
18245      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
18246      255,   256,   257,   258,   259,   260,   261,   262,    -1,   264,
18247      265,   266,   267,    -1,   269,   270,   271,   272,   273,   274,
18248       -1,   276,   277,    -1,    -1,   280,   281,   282,    -1,    -1,
18249      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
18250      295,   296,   297,   298,   299,   300,    -1,    -1,   303,   304,
18251      305,   306,   307,   308,   309,   310,    -1,   312,   313,   314,
18252      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
18253      325,   326,    -1,   328,   329,   330,   331,   332,   333,   334,
18254      335,   336,   337,   338,   339,    -1,   341,   342,   343,   344,
18255      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
18256      355,   356,   357,   358,    -1,   360,   361,   362,   363,   364,
18257      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
18258      375,    -1,   377,   378,   379,   380,   381,   382,   383,   384,
18259      385,   386,   387,   388,   389,   390,   391,    -1,   393,   394,
18260       -1,   396,   397,   398,   399,   400,   401,   402,    -1,   404,
18261      405,   406,    -1,    -1,   409,   410,   411,   412,   413,    -1,
18262      415,   416,   417,   418,   419,   420,   421,   422,    -1,    -1,
18263      425,   426,   427,   428,   429,   430,    -1,   432,   433,   434,
18264      435,   436,   437,   438,    -1,   440,   441,   442,   443,   444,
18265      445,    -1,    -1,   448,    -1,    -1,   451,   452,   453,   454,
18266      455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
18267      465,   466,   467,   468,   469,   470,     3,    -1,    -1,    -1,
18268       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
18269       -1,    -1,   487,    20,    21,    22,    23,    24,    25,    26,
18270       27,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,
18271       -1,    -1,    39,    40,    -1,    42,    43,    44,    45,    46,
18272       47,    48,    49,    50,    51,    52,    53,    -1,    55,    56,
18273       57,    58,    59,    60,    -1,    62,    63,    64,    65,    66,
18274       67,    -1,    69,    70,    71,    72,    73,    -1,    75,    -1,
18275       77,    78,    79,    80,    81,    82,    83,    84,    85,    -1,
18276       87,    88,    89,    90,    91,    92,    -1,    94,    95,    96,
18277       97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
18278      107,   108,   109,   110,   111,   112,   113,    -1,   115,    -1,
18279      117,   118,   119,   120,   121,   122,    -1,   124,   125,   126,
18280      127,    -1,    -1,   130,   131,   132,   133,   134,    -1,   136,
18281      137,   138,    -1,   140,   141,   142,    -1,   144,   145,   146,
18282      147,   148,   149,   150,   151,   152,   153,    -1,   155,    -1,
18283      157,   158,   159,   160,    -1,   162,    -1,   164,   165,    -1,
18284      167,   168,   169,   170,   171,    -1,   173,   174,    -1,   176,
18285      177,   178,    -1,   180,   181,   182,   183,   184,   185,   186,
18286      187,   188,   189,    -1,   191,   192,   193,   194,   195,   196,
18287      197,    -1,   199,   200,   201,   202,   203,   204,   205,   206,
18288      207,    -1,   209,    -1,   211,   212,   213,   214,   215,   216,
18289      217,   218,   219,   220,    -1,    -1,   223,   224,   225,   226,
18290      227,    -1,   229,   230,   231,   232,   233,   234,   235,   236,
18291      237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
18292      247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
18293      257,   258,   259,   260,   261,   262,    -1,   264,   265,   266,
18294      267,    -1,   269,   270,   271,   272,   273,   274,    -1,   276,
18295      277,    -1,    -1,   280,   281,   282,    -1,    -1,   285,   286,
18296      287,   288,   289,   290,   291,   292,   293,   294,   295,   296,
18297      297,   298,   299,   300,    -1,    -1,   303,   304,   305,   306,
18298      307,   308,   309,   310,    -1,   312,   313,   314,   315,   316,
18299      317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
18300       -1,   328,   329,   330,   331,   332,   333,   334,   335,   336,
18301      337,   338,   339,    -1,   341,   342,   343,   344,   345,   346,
18302      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
18303      357,   358,    -1,   360,   361,   362,   363,   364,   365,   366,
18304      367,   368,   369,   370,   371,   372,   373,   374,   375,    -1,
18305      377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
18306      387,   388,   389,   390,   391,    -1,   393,   394,    -1,   396,
18307      397,   398,   399,   400,   401,   402,    -1,   404,   405,   406,
18308       -1,    -1,   409,   410,   411,   412,   413,    -1,   415,   416,
18309      417,   418,   419,   420,   421,   422,    -1,    -1,   425,   426,
18310      427,   428,   429,   430,    -1,   432,   433,   434,   435,   436,
18311      437,   438,    -1,   440,   441,   442,   443,   444,   445,    -1,
18312       -1,   448,    -1,    -1,   451,   452,   453,   454,   455,   456,
18313      457,   458,   459,   460,   461,   462,   463,   464,   465,   466,
18314      467,   468,   469,   470,     3,    -1,     5,     6,    -1,    -1,
18315       -1,    -1,    11,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
18316      487,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
18317       29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
18318       39,    40,    -1,    42,    43,    44,    45,    46,    47,    48,
18319       49,    50,    51,    52,    53,    -1,    55,    56,    57,    58,
18320       59,    60,    -1,    -1,    63,    64,    65,    66,    67,    -1,
18321       69,    70,    71,    72,    73,    -1,    75,    -1,    77,    78,
18322       79,    80,    81,    82,    83,    84,    85,    -1,    87,    88,
18323       89,    90,    91,    92,    -1,    94,    95,    96,    97,    -1,
18324       -1,    -1,   101,    -1,    -1,    -1,   105,   106,   107,   108,
18325      109,   110,   111,   112,   113,    -1,   115,    -1,   117,   118,
18326      119,   120,   121,   122,    -1,   124,   125,   126,   127,    -1,
18327       -1,   130,   131,   132,   133,   134,    -1,   136,   137,   138,
18328       -1,   140,   141,   142,    -1,   144,   145,   146,   147,   148,
18329      149,   150,   151,   152,   153,   154,   155,    -1,   157,   158,
18330      159,   160,    -1,   162,    -1,   164,   165,    -1,   167,   168,
18331      169,   170,   171,    -1,   173,   174,    -1,   176,   177,   178,
18332       -1,   180,   181,   182,   183,   184,   185,   186,   187,   188,
18333      189,    -1,   191,   192,   193,   194,   195,   196,   197,    -1,
18334      199,   200,   201,   202,   203,   204,   205,   206,   207,    -1,
18335      209,    -1,   211,   212,   213,   214,   215,   216,   217,   218,
18336      219,   220,    -1,    -1,   223,   224,   225,   226,   227,    -1,
18337      229,   230,   231,    -1,    -1,   234,   235,   236,   237,   238,
18338      239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
18339      249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
18340      259,   260,   261,   262,    -1,   264,   265,   266,   267,    -1,
18341      269,   270,   271,   272,   273,   274,    -1,   276,   277,   278,
18342       -1,   280,   281,   282,    -1,    -1,   285,   286,   287,   288,
18343      289,   290,   291,   292,   293,   294,   295,   296,   297,   298,
18344      299,   300,    -1,    -1,   303,   304,   305,   306,   307,   308,
18345      309,   310,    -1,   312,   313,   314,   315,   316,   317,   318,
18346      319,   320,   321,   322,   323,   324,   325,   326,    -1,   328,
18347      329,   330,   331,   332,   333,   334,   335,   336,   337,   338,
18348      339,    -1,   341,   342,   343,   344,   345,   346,   347,   348,
18349      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
18350       -1,   360,   361,   362,   363,   364,    -1,   366,   367,   368,
18351      369,   370,   371,   372,   373,   374,   375,    -1,   377,   378,
18352      379,   380,   381,   382,   383,   384,   385,   386,   387,   388,
18353      389,   390,   391,    -1,   393,   394,    -1,   396,   397,   398,
18354      399,   400,   401,   402,    -1,   404,   405,   406,    -1,    -1,
18355      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
18356      419,   420,   421,   422,    -1,    -1,   425,   426,   427,   428,
18357      429,    -1,    -1,   432,   433,   434,   435,   436,   437,   438,
18358       -1,   440,   441,   442,   443,   444,   445,    -1,    -1,   448,
18359       -1,    -1,   451,   452,   453,   454,   455,   456,   457,   458,
18360      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
18361      469,   470,     3,    -1,    -1,    -1,    -1,    -1,    -1,   478,
18362      479,   480,    -1,    -1,    -1,    -1,    -1,    -1,   487,    20,
18363       21,    22,    23,    24,    25,    26,    27,    -1,    29,    30,
18364       31,    32,    33,    -1,    -1,    -1,    -1,    -1,    39,    40,
18365       -1,    42,    43,    44,    45,    46,    47,    48,    49,    50,
18366       51,    52,    53,    -1,    55,    56,    57,    58,    59,    60,
18367       -1,    -1,    63,    64,    65,    66,    67,    -1,    69,    70,
18368       71,    72,    73,    -1,    75,    -1,    77,    78,    79,    80,
18369       81,    82,    83,    84,    85,    -1,    87,    88,    89,    90,
18370       91,    92,    -1,    94,    95,    96,    97,    -1,    -1,    -1,
18371      101,    -1,    -1,    -1,   105,   106,   107,   108,   109,   110,
18372      111,   112,   113,    -1,   115,    -1,   117,   118,   119,   120,
18373      121,   122,    -1,   124,   125,   126,   127,    -1,    -1,   130,
18374      131,   132,   133,   134,    -1,   136,   137,   138,    -1,   140,
18375      141,   142,    -1,   144,   145,   146,   147,   148,   149,   150,
18376      151,   152,   153,    -1,   155,    -1,   157,   158,   159,   160,
18377       -1,   162,    -1,   164,   165,    -1,   167,   168,   169,   170,
18378      171,    -1,   173,   174,    -1,   176,   177,   178,    -1,   180,
18379      181,   182,   183,   184,   185,   186,   187,   188,   189,    -1,
18380      191,   192,   193,   194,   195,   196,   197,    -1,   199,   200,
18381      201,   202,   203,   204,   205,   206,   207,    -1,   209,    -1,
18382      211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
18383       -1,    -1,   223,   224,   225,   226,   227,    -1,   229,   230,
18384      231,    -1,    -1,   234,   235,   236,   237,   238,   239,   240,
18385      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
18386      251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
18387      261,   262,    -1,   264,   265,   266,   267,    -1,   269,   270,
18388      271,   272,   273,   274,    -1,   276,   277,    -1,    -1,   280,
18389      281,   282,    -1,    -1,   285,   286,   287,   288,   289,   290,
18390      291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
18391       -1,    -1,   303,   304,   305,   306,   307,   308,   309,   310,
18392       -1,   312,   313,   314,   315,   316,   317,   318,   319,   320,
18393      321,   322,   323,   324,   325,   326,    -1,   328,   329,   330,
18394      331,   332,   333,   334,   335,   336,   337,   338,   339,    -1,
18395      341,   342,   343,   344,   345,   346,   347,   348,   349,   350,
18396      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
18397      361,   362,   363,   364,    -1,   366,   367,   368,   369,   370,
18398      371,   372,   373,   374,   375,    -1,   377,   378,   379,   380,
18399      381,   382,   383,   384,   385,   386,   387,   388,   389,   390,
18400      391,    -1,   393,   394,   395,   396,   397,   398,   399,   400,
18401      401,   402,    -1,   404,   405,   406,    -1,    -1,   409,   410,
18402      411,   412,   413,    -1,   415,   416,   417,   418,   419,   420,
18403      421,   422,    -1,    -1,   425,   426,   427,   428,   429,    -1,
18404       -1,   432,   433,   434,   435,   436,   437,   438,    -1,   440,
18405      441,   442,   443,   444,   445,    -1,    -1,   448,    -1,   450,
18406      451,   452,   453,   454,   455,   456,   457,   458,   459,   460,
18407      461,   462,   463,   464,   465,   466,   467,   468,   469,   470,
18408        3,    -1,   473,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
18409       -1,    -1,    -1,    -1,    -1,    -1,   487,    20,    21,    22,
18410       23,    24,    25,    26,    27,    -1,    29,    30,    31,    -1,
18411       -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    -1,    42,
18412       43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
18413       53,    -1,    55,    56,    57,    58,    59,    60,    -1,    -1,
18414       63,    64,    65,    66,    67,    -1,    69,    70,    71,    72,
18415       73,    -1,    75,    -1,    77,    78,    79,    80,    81,    82,
18416       83,    84,    85,    -1,    87,    88,    89,    90,    91,    92,
18417       -1,    94,    95,    96,    97,    -1,    -1,    -1,   101,    -1,
18418       -1,    -1,   105,   106,   107,   108,   109,   110,   111,   112,
18419      113,    -1,   115,    -1,   117,   118,   119,   120,   121,   122,
18420       -1,   124,   125,   126,   127,    -1,    -1,   130,   131,   132,
18421      133,   134,    -1,   136,   137,   138,    -1,   140,   141,   142,
18422       -1,   144,   145,   146,   147,   148,   149,   150,   151,   152,
18423      153,    -1,   155,    -1,   157,   158,   159,   160,    -1,   162,
18424       -1,   164,   165,    -1,   167,   168,   169,   170,   171,    -1,
18425      173,   174,    -1,   176,   177,   178,    -1,   180,   181,   182,
18426      183,   184,   185,   186,   187,   188,   189,    -1,   191,   192,
18427      193,   194,   195,   196,   197,    -1,   199,   200,   201,   202,
18428      203,   204,   205,   206,   207,    -1,   209,    -1,   211,   212,
18429      213,   214,   215,   216,   217,   218,   219,   220,    -1,    -1,
18430      223,   224,   225,   226,   227,    -1,   229,   230,   231,    -1,
18431       -1,   234,   235,   236,   237,   238,   239,   240,   241,   242,
18432      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
18433      253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
18434       -1,   264,   265,   266,   267,    -1,   269,   270,   271,   272,
18435      273,   274,    -1,   276,   277,    -1,    -1,   280,   281,   282,
18436       -1,    -1,   285,   286,   287,   288,   289,   290,   291,   292,
18437      293,   294,   295,   296,   297,   298,   299,   300,    -1,    -1,
18438      303,   304,   305,   306,   307,   308,   309,   310,    -1,   312,
18439      313,   314,   315,   316,   317,   318,   319,   320,   321,   322,
18440      323,   324,   325,   326,    -1,   328,   329,   330,   331,   332,
18441      333,   334,   335,   336,   337,   338,   339,    -1,   341,   342,
18442      343,   344,   345,   346,   347,   348,   349,   350,   351,   352,
18443      353,   354,   355,   356,   357,   358,    -1,   360,   361,   362,
18444      363,   364,    -1,   366,   367,   368,   369,   370,   371,   372,
18445      373,   374,   375,    -1,   377,   378,   379,   380,   381,   382,
18446      383,   384,   385,   386,   387,   388,   389,   390,   391,    -1,
18447      393,   394,    -1,   396,   397,   398,   399,   400,   401,   402,
18448       -1,   404,   405,   406,    -1,    -1,   409,   410,   411,   412,
18449      413,    -1,   415,   416,   417,   418,   419,   420,   421,   422,
18450       -1,    -1,   425,   426,   427,   428,   429,    -1,    -1,   432,
18451      433,   434,   435,   436,   437,   438,    -1,   440,   441,   442,
18452      443,   444,   445,    -1,    -1,   448,    -1,    -1,   451,   452,
18453      453,   454,   455,   456,   457,   458,   459,   460,   461,   462,
18454      463,   464,   465,   466,   467,   468,   469,   470,     3,    -1,
18455       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
18456       -1,    -1,    -1,    -1,   487,    20,    21,    22,    23,    24,
18457       25,    26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,
18458       -1,    -1,    -1,    -1,    39,    40,    -1,    42,    43,    44,
18459       -1,    46,    47,    48,    49,    50,    -1,    52,    53,    -1,
18460       55,    56,    57,    58,    59,    60,    -1,    -1,    63,    64,
18461       65,    66,    67,    -1,    69,    70,    71,    72,    73,    -1,
18462       -1,    -1,    77,    78,    79,    80,    81,    -1,    83,    84,
18463       85,    -1,    87,    88,    89,    90,    91,    92,    -1,    -1,
18464       95,    96,    97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
18465      105,   106,   107,   108,   109,   110,   111,   112,   113,    -1,
18466      115,    -1,   117,   118,   119,   120,   121,   122,    -1,   124,
18467      125,   126,   127,    -1,    -1,   130,   131,   132,   133,   134,
18468       -1,   136,   137,   138,    -1,   140,   141,   142,    -1,   144,
18469      145,   146,   147,   148,   149,   150,   151,   152,   153,    -1,
18470      155,    -1,   157,   158,   159,   160,    -1,   162,    -1,   164,
18471       -1,    -1,    -1,   168,   169,   170,   171,    -1,   173,   174,
18472       -1,   176,   177,   178,    -1,   180,   181,   182,   183,   184,
18473       -1,   186,   187,   188,   189,    -1,   191,   192,   193,   194,
18474      195,   196,   197,    -1,   199,    -1,   201,   202,   203,   204,
18475      205,   206,   207,    -1,   209,    -1,   211,    -1,    -1,   214,
18476       -1,   216,   217,   218,   219,   220,    -1,    -1,   223,   224,
18477       -1,   226,    -1,    -1,   229,   230,   231,    -1,    -1,   234,
18478      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
18479      245,   246,   247,   248,   249,   250,    -1,   252,   253,   254,
18480      255,   256,   257,   258,   259,   260,   261,   262,    -1,   264,
18481      265,    -1,   267,    -1,   269,   270,   271,   272,   273,   274,
18482       -1,   276,   277,    -1,    -1,   280,   281,   282,    -1,    -1,
18483      285,   286,   287,    -1,   289,    -1,   291,   292,   293,   294,
18484      295,   296,   297,   298,   299,   300,    -1,    -1,   303,   304,
18485      305,   306,   307,   308,   309,   310,    -1,   312,   313,   314,
18486      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
18487      325,   326,    -1,   328,   329,   330,   331,   332,   333,   334,
18488      335,   336,   337,   338,   339,    -1,   341,   342,    -1,   344,
18489      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
18490      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
18491       -1,   366,   367,   368,   369,   370,    -1,   372,   373,   374,
18492      375,    -1,   377,   378,   379,   380,   381,   382,   383,   384,
18493      385,   386,   387,   388,   389,   390,   391,    -1,   393,   394,
18494      395,   396,    -1,   398,   399,   400,   401,   402,    -1,   404,
18495      405,   406,    -1,    -1,   409,   410,   411,   412,   413,    -1,
18496      415,   416,   417,   418,   419,   420,   421,   422,    -1,    -1,
18497      425,   426,   427,   428,   429,    -1,    -1,   432,   433,   434,
18498      435,   436,   437,   438,    -1,   440,    -1,   442,   443,   444,
18499      445,    -1,    -1,   448,    -1,   450,   451,   452,   453,   454,
18500      455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
18501      465,   466,   467,   468,   469,   470,     3,    -1,   473,    -1,
18502       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
18503       -1,    -1,   487,    20,    21,    22,    23,    24,    25,    26,
18504       27,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,
18505       -1,    -1,    39,    40,    -1,    42,    43,    44,    -1,    46,
18506       47,    48,    49,    50,    -1,    52,    53,    -1,    55,    56,
18507       57,    58,    59,    60,    -1,    -1,    63,    64,    65,    66,
18508       67,    -1,    69,    70,    71,    72,    73,    -1,    -1,    -1,
18509       77,    78,    79,    80,    81,    -1,    83,    84,    85,    -1,
18510       87,    88,    89,    90,    91,    92,    -1,    -1,    95,    96,
18511       97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,   106,
18512      107,   108,   109,   110,   111,   112,   113,    -1,   115,    -1,
18513      117,   118,   119,   120,   121,   122,    -1,   124,   125,   126,
18514      127,    -1,    -1,   130,   131,   132,   133,   134,    -1,   136,
18515      137,   138,    -1,   140,   141,   142,    -1,   144,   145,   146,
18516      147,   148,   149,   150,   151,   152,   153,    -1,   155,    -1,
18517      157,   158,   159,   160,    -1,   162,    -1,   164,    -1,    -1,
18518       -1,   168,   169,   170,   171,    -1,   173,   174,    -1,   176,
18519      177,   178,    -1,   180,   181,   182,   183,   184,    -1,   186,
18520      187,   188,   189,    -1,   191,   192,   193,   194,   195,   196,
18521      197,    -1,   199,    -1,   201,   202,   203,   204,   205,   206,
18522      207,    -1,   209,    -1,   211,    -1,    -1,   214,    -1,   216,
18523      217,   218,   219,   220,    -1,    -1,   223,   224,    -1,   226,
18524       -1,    -1,   229,   230,   231,    -1,    -1,   234,   235,   236,
18525      237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
18526      247,   248,   249,   250,    -1,   252,   253,   254,   255,   256,
18527      257,   258,   259,   260,   261,   262,    -1,   264,   265,    -1,
18528      267,    -1,   269,   270,   271,   272,   273,   274,    -1,   276,
18529      277,    -1,    -1,   280,   281,   282,    -1,    -1,   285,   286,
18530      287,    -1,   289,    -1,   291,   292,   293,   294,   295,   296,
18531      297,   298,   299,   300,    -1,    -1,   303,   304,   305,   306,
18532      307,   308,   309,   310,    -1,   312,   313,   314,   315,   316,
18533      317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
18534       -1,   328,   329,   330,   331,   332,   333,   334,   335,   336,
18535      337,   338,   339,    -1,   341,   342,    -1,   344,   345,   346,
18536      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
18537      357,   358,    -1,   360,   361,   362,   363,   364,    -1,   366,
18538      367,   368,   369,   370,    -1,   372,   373,   374,   375,    -1,
18539      377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
18540      387,   388,   389,   390,   391,    -1,   393,   394,    -1,   396,
18541       -1,   398,   399,   400,   401,   402,    -1,   404,   405,   406,
18542       -1,    -1,   409,   410,   411,   412,   413,    -1,   415,   416,
18543      417,   418,   419,   420,   421,   422,    -1,    -1,   425,   426,
18544      427,   428,   429,    -1,    -1,   432,   433,   434,   435,   436,
18545      437,   438,    -1,   440,    -1,   442,   443,   444,   445,    -1,
18546       -1,   448,    -1,    -1,   451,   452,   453,   454,   455,   456,
18547      457,   458,   459,   460,   461,   462,   463,   464,   465,   466,
18548      467,   468,   469,   470,     3,    -1,    -1,    -1,    -1,    -1,
18549       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
18550      487,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
18551       29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
18552       39,    40,    -1,    42,    43,    44,    -1,    46,    47,    48,
18553       49,    50,    -1,    52,    53,    -1,    55,    56,    57,    58,
18554       59,    60,    -1,    -1,    63,    64,    65,    66,    67,    -1,
18555       69,    70,    71,    72,    73,    -1,    -1,    -1,    77,    78,
18556       79,    80,    81,    -1,    83,    84,    85,    -1,    87,    88,
18557       89,    90,    91,    92,    -1,    -1,    95,    96,    97,    -1,
18558       -1,    -1,    -1,    -1,    -1,    -1,   105,   106,   107,   108,
18559      109,   110,   111,   112,   113,    -1,   115,    -1,   117,   118,
18560      119,   120,   121,   122,    -1,   124,   125,   126,   127,    -1,
18561       -1,   130,   131,   132,   133,   134,    -1,   136,   137,   138,
18562       -1,   140,   141,   142,    -1,   144,   145,   146,   147,   148,
18563      149,   150,   151,   152,   153,    -1,   155,    -1,   157,   158,
18564      159,   160,    -1,   162,    -1,   164,    -1,    -1,    -1,   168,
18565      169,   170,   171,    -1,   173,   174,    -1,   176,   177,   178,
18566       -1,   180,   181,   182,   183,   184,    -1,   186,   187,   188,
18567      189,    -1,   191,   192,   193,   194,   195,   196,   197,    -1,
18568      199,    -1,   201,   202,   203,   204,   205,   206,   207,    -1,
18569      209,    -1,   211,    -1,    -1,   214,    -1,   216,   217,   218,
18570      219,   220,    -1,    -1,   223,   224,    -1,   226,    -1,    -1,
18571      229,   230,   231,    -1,    -1,   234,   235,   236,   237,   238,
18572      239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
18573      249,   250,    -1,   252,   253,   254,   255,   256,   257,   258,
18574      259,   260,   261,   262,    -1,   264,   265,    -1,   267,    -1,
18575      269,   270,   271,   272,   273,   274,    -1,   276,   277,    -1,
18576       -1,   280,   281,   282,    -1,    -1,   285,   286,   287,    -1,
18577      289,    -1,   291,   292,   293,   294,   295,   296,   297,   298,
18578      299,   300,    -1,    -1,   303,   304,   305,   306,   307,   308,
18579      309,   310,    -1,   312,   313,   314,   315,   316,   317,   318,
18580      319,   320,   321,   322,   323,   324,   325,   326,    -1,   328,
18581      329,   330,   331,   332,   333,   334,   335,   336,   337,   338,
18582      339,    -1,   341,   342,    -1,   344,   345,   346,   347,   348,
18583      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
18584       -1,   360,   361,   362,   363,   364,    -1,   366,   367,   368,
18585      369,   370,    -1,   372,   373,   374,   375,    -1,   377,   378,
18586      379,   380,   381,   382,   383,   384,   385,   386,   387,   388,
18587      389,   390,   391,    -1,   393,   394,    -1,   396,    -1,   398,
18588      399,   400,   401,   402,    -1,   404,   405,   406,    -1,    -1,
18589      409,   410,   411,   412,   413,    -1,   415,   416,   417,   418,
18590      419,   420,   421,   422,    -1,    -1,   425,   426,   427,   428,
18591      429,    -1,    -1,   432,   433,   434,   435,   436,   437,   438,
18592       -1,   440,    -1,   442,   443,   444,   445,    -1,    -1,   448,
18593       -1,    -1,   451,   452,   453,   454,   455,   456,   457,   458,
18594      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
18595      469,   470,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
18596       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   487,    20,
18597       21,    22,    23,    24,    25,    26,    27,    -1,    29,    30,
18598       31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,
18599       -1,    42,    43,    44,    -1,    46,    47,    48,    49,    50,
18600       -1,    52,    53,    -1,    55,    56,    57,    58,    59,    60,
18601       -1,    -1,    63,    64,    65,    66,    67,    -1,    69,    70,
18602       71,    72,    73,    -1,    -1,    -1,    77,    78,    79,    80,
18603       81,    -1,    83,    84,    85,    -1,    87,    88,    89,    90,
18604       91,    92,    -1,    -1,    95,    96,    97,    -1,    -1,    -1,
18605       -1,    -1,    -1,    -1,   105,   106,   107,   108,   109,   110,
18606      111,   112,   113,    -1,   115,    -1,   117,   118,   119,   120,
18607      121,   122,    -1,   124,   125,   126,   127,    -1,    -1,   130,
18608      131,   132,   133,   134,    -1,   136,   137,   138,    -1,   140,
18609      141,   142,    -1,   144,   145,   146,   147,   148,   149,   150,
18610      151,   152,   153,    -1,   155,    -1,   157,   158,   159,   160,
18611       -1,   162,    -1,   164,    -1,    -1,    -1,   168,   169,   170,
18612      171,    -1,   173,   174,    -1,   176,   177,   178,    -1,   180,
18613      181,   182,   183,   184,    -1,   186,   187,   188,   189,    -1,
18614      191,   192,   193,   194,   195,   196,   197,    -1,   199,    -1,
18615      201,   202,   203,   204,   205,   206,   207,    -1,   209,    -1,
18616      211,    -1,    -1,   214,    -1,   216,   217,   218,   219,   220,
18617       -1,    -1,   223,   224,    -1,   226,    -1,    -1,   229,   230,
18618      231,    -1,    -1,   234,   235,   236,   237,   238,   239,   240,
18619      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
18620       -1,   252,   253,   254,   255,   256,   257,   258,   259,   260,
18621      261,   262,    -1,   264,   265,    -1,   267,    -1,   269,   270,
18622      271,   272,   273,   274,    -1,   276,   277,    -1,    -1,   280,
18623      281,   282,    -1,    -1,   285,   286,   287,    -1,   289,    -1,
18624      291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
18625       -1,    -1,   303,   304,   305,   306,   307,   308,   309,   310,
18626       -1,   312,   313,   314,   315,   316,   317,   318,   319,   320,
18627      321,   322,   323,   324,   325,   326,    -1,   328,   329,   330,
18628      331,   332,   333,   334,   335,   336,   337,   338,   339,    -1,
18629      341,   342,    -1,   344,   345,   346,   347,   348,   349,   350,
18630      351,   352,   353,   354,   355,   356,   357,   358,    -1,   360,
18631      361,   362,   363,   364,    -1,   366,   367,   368,   369,   370,
18632       -1,   372,   373,   374,   375,    -1,   377,   378,   379,   380,
18633      381,   382,   383,   384,   385,   386,   387,   388,   389,   390,
18634      391,    -1,   393,   394,    -1,   396,    -1,   398,   399,   400,
18635      401,   402,    -1,   404,   405,   406,    -1,    -1,   409,   410,
18636      411,   412,   413,    -1,   415,   416,   417,   418,   419,   420,
18637      421,   422,    -1,    -1,   425,   426,   427,   428,   429,    -1,
18638       -1,   432,   433,   434,   435,   436,   437,   438,    -1,   440,
18639       -1,   442,   443,   444,   445,    -1,    -1,   448,    -1,    -1,
18640      451,   452,   453,   454,   455,   456,   457,   458,   459,   460,
18641      461,   462,   463,   464,   465,   466,   467,   468,   469,   470,
18642        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
18643       -1,    -1,    -1,    -1,    -1,    -1,   487,    20,    21,    22,
18644       23,    24,    25,    26,    27,    -1,    29,    30,    31,    -1,
18645       -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    -1,    42,
18646       43,    44,    -1,    46,    47,    48,    49,    50,    -1,    52,
18647       53,    -1,    55,    56,    57,    58,    59,    60,    -1,    -1,
18648       63,    64,    65,    66,    67,    -1,    69,    70,    71,    72,
18649       73,    -1,    -1,    -1,    77,    78,    79,    80,    81,    -1,
18650       83,    84,    85,    -1,    87,    88,    89,    90,    91,    92,
18651       -1,    -1,    95,    96,    97,    -1,    -1,    -1,    -1,    -1,
18652       -1,    -1,   105,   106,   107,   108,   109,   110,   111,   112,
18653      113,    -1,   115,    -1,   117,   118,   119,   120,   121,   122,
18654       -1,   124,   125,   126,   127,    -1,    -1,   130,   131,   132,
18655      133,   134,    -1,   136,   137,   138,    -1,   140,   141,   142,
18656       -1,   144,   145,   146,   147,   148,   149,   150,   151,   152,
18657      153,    -1,   155,    -1,   157,   158,   159,   160,    -1,   162,
18658       -1,   164,    -1,    -1,    -1,   168,   169,   170,   171,    -1,
18659      173,   174,    -1,   176,   177,   178,    -1,   180,   181,   182,
18660      183,   184,    -1,   186,   187,   188,   189,    -1,   191,   192,
18661      193,   194,   195,   196,   197,    -1,   199,    -1,   201,   202,
18662      203,   204,   205,   206,   207,    -1,   209,    -1,   211,    -1,
18663       -1,   214,    -1,   216,   217,   218,   219,   220,    -1,    -1,
18664      223,   224,    -1,   226,    -1,    -1,   229,   230,   231,    -1,
18665       -1,   234,   235,   236,   237,   238,   239,   240,   241,   242,
18666      243,   244,   245,   246,   247,   248,   249,   250,    -1,   252,
18667      253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
18668       -1,   264,   265,    -1,   267,    -1,   269,   270,   271,   272,
18669      273,   274,    -1,   276,   277,    -1,    -1,   280,   281,   282,
18670       -1,    -1,   285,   286,   287,    -1,   289,    -1,   291,   292,
18671      293,   294,   295,   296,   297,   298,   299,   300,    -1,    -1,
18672      303,   304,   305,   306,   307,   308,   309,   310,    -1,   312,
18673      313,   314,   315,   316,   317,   318,   319,   320,   321,   322,
18674      323,   324,   325,   326,    -1,   328,   329,   330,   331,   332,
18675      333,   334,   335,   336,   337,   338,   339,    -1,   341,   342,
18676       -1,   344,   345,   346,   347,   348,   349,   350,   351,   352,
18677      353,   354,   355,   356,   357,   358,    -1,   360,   361,   362,
18678      363,   364,    -1,   366,   367,   368,   369,   370,    -1,   372,
18679      373,   374,   375,    -1,   377,   378,   379,   380,   381,   382,
18680      383,   384,   385,   386,   387,   388,   389,   390,   391,    -1,
18681      393,   394,    -1,   396,    -1,   398,   399,   400,   401,   402,
18682       -1,   404,   405,   406,    -1,    -1,   409,   410,   411,   412,
18683      413,    -1,   415,   416,   417,   418,   419,   420,   421,   422,
18684       -1,    -1,   425,   426,   427,   428,   429,    -1,    -1,   432,
18685      433,   434,   435,   436,   437,   438,    -1,   440,    -1,   442,
18686      443,   444,   445,    -1,    -1,   448,    -1,    -1,   451,   452,
18687      453,   454,   455,   456,   457,   458,   459,   460,   461,   462,
18688      463,   464,   465,   466,   467,   468,   469,   470,    -1,    -1,
18689       -1,     3,    -1,     5,     6,    -1,    -1,    -1,    10,    11,
18690       -1,    -1,    -1,    -1,   487,    17,    18,    19,    20,    21,
18691       22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
18692       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
18693       42,    43,    44,    45,    46,    47,    48,    -1,    50,    51,
18694       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
18695       62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
18696       72,    -1,    74,    75,    76,    77,    78,    79,    80,    81,
18697       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
18698       92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
18699      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
18700      112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
18701      122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
18702      132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
18703      142,   143,   144,   145,   146,   147,    -1,   149,   150,   151,
18704      152,    -1,   154,   155,   156,   157,   158,   159,   160,   161,
18705      162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
18706      172,   173,    -1,   175,    -1,   177,   178,   179,   180,   181,
18707      182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
18708      192,   193,   194,   195,   196,   197,   198,   199,   200,    -1,
18709      202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
18710      212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
18711      222,   223,    -1,   225,   226,   227,   228,   229,   230,   231,
18712      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
18713      242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
18714      252,   253,   254,   255,   256,   257,   258,   259,   260,    -1,
18715      262,   263,   264,   265,   266,   267,   268,    -1,   270,   271,
18716      272,   273,   274,   275,   276,   277,   278,   279,   280,   281,
18717      282,   283,   284,   285,   286,    -1,   288,   289,   290,    -1,
18718      292,   293,   294,   295,   296,   297,   298,   299,   300,    -1,
18719      302,   303,   304,    -1,   306,    -1,   308,   309,   310,   311,
18720      312,   313,   314,   315,   316,   317,   318,   319,   320,   321,
18721      322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
18722      332,   333,   334,   335,   336,   337,   338,   339,   340,   341,
18723      342,   343,   344,   345,   346,   347,   348,    -1,   350,   351,
18724      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
18725      362,   363,   364,   365,   366,   367,   368,   369,   370,   371,
18726      372,   373,   374,   375,   376,   377,   378,   379,   380,   381,
18727      382,   383,   384,   385,   386,   387,   388,   389,    -1,   391,
18728      392,   393,   394,   395,   396,   397,   398,   399,   400,   401,
18729      402,   403,   404,   405,   406,   407,   408,   409,   410,    -1,
18730      412,    -1,   414,   415,   416,   417,   418,   419,   420,   421,
18731      422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
18732      432,   433,   434,   435,   436,    -1,   438,   439,   440,   441,
18733      442,   443,   444,   445,   446,   447,   448,   449,   450,   451,
18734      452,   453,   454,   455,   456,    -1,    -1,    -1,    -1,    -1,
18735       -1,    -1,    -1,    -1,    -1,    -1,   468,   469,   470,    -1,
18736       -1,    -1,   474,   475,   476,    -1,   478,   479,   480,   481,
18737      482,   483,     3,    -1,     5,     6,    -1,    -1,    -1,    10,
18738       11,    -1,    -1,    -1,    -1,    -1,    17,    18,    19,    20,
18739       21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
18740       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
18741       41,    42,    43,    44,    45,    46,    47,    48,    -1,    50,
18742       51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
18743       61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
18744       71,    72,    -1,    74,    75,    76,    77,    78,    79,    80,
18745       81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
18746       91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
18747      101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
18748      111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
18749      121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
18750      131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
18751      141,   142,   143,   144,   145,   146,   147,    -1,   149,   150,
18752      151,   152,    -1,   154,   155,   156,   157,   158,   159,   160,
18753      161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
18754      171,   172,   173,    -1,   175,    -1,   177,   178,   179,   180,
18755      181,   182,   183,   184,   185,   186,   187,   188,   189,   190,
18756      191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
18757       -1,   202,   203,   204,   205,   206,   207,   208,   209,   210,
18758      211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
18759      221,   222,   223,    -1,   225,   226,   227,   228,   229,   230,
18760      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
18761      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
18762      251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
18763       -1,   262,   263,   264,   265,   266,   267,   268,    -1,   270,
18764      271,   272,   273,   274,   275,   276,   277,   278,   279,   280,
18765      281,   282,   283,   284,   285,   286,    -1,   288,   289,   290,
18766       -1,   292,   293,   294,   295,   296,   297,   298,   299,   300,
18767       -1,   302,   303,   304,    -1,   306,    -1,   308,   309,   310,
18768      311,   312,   313,   314,   315,   316,   317,   318,   319,   320,
18769      321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
18770      331,   332,   333,   334,   335,   336,   337,   338,   339,   340,
18771      341,   342,   343,   344,   345,   346,   347,   348,    -1,   350,
18772      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
18773      361,   362,   363,   364,   365,   366,   367,   368,   369,   370,
18774      371,   372,   373,   374,   375,   376,   377,   378,   379,   380,
18775      381,   382,   383,   384,   385,   386,   387,   388,   389,    -1,
18776      391,   392,   393,   394,   395,   396,   397,   398,   399,   400,
18777      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
18778       -1,   412,    -1,   414,   415,   416,   417,   418,   419,   420,
18779      421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
18780      431,   432,   433,   434,   435,   436,    -1,   438,   439,   440,
18781      441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
18782      451,   452,   453,   454,   455,   456,    -1,    -1,    -1,    -1,
18783       -1,    -1,    -1,    -1,    -1,    -1,    -1,   468,   469,   470,
18784       -1,    -1,    -1,   474,   475,   476,     3,   478,   479,   480,
18785      481,   482,   483,    10,    -1,    -1,    -1,    -1,    -1,    -1,
18786       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
18787       27,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,
18788       -1,    -1,    39,    40,    -1,    42,    43,    44,    -1,    46,
18789       47,    48,    49,    50,    -1,    52,    53,    -1,    55,    56,
18790       57,    58,    59,    60,    -1,    -1,    63,    64,    65,    66,
18791       67,    -1,    69,    70,    71,    72,    73,    -1,    -1,    -1,
18792       77,    78,    79,    80,    81,    -1,    83,    84,    85,    -1,
18793       87,    88,    89,    90,    91,    92,    -1,    -1,    95,    96,
18794       97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,   106,
18795      107,   108,   109,   110,   111,   112,   113,    -1,   115,    -1,
18796      117,   118,   119,   120,   121,   122,    -1,   124,   125,   126,
18797      127,    -1,    -1,   130,   131,   132,   133,   134,    -1,   136,
18798      137,   138,    -1,   140,   141,   142,    -1,   144,   145,   146,
18799      147,   148,   149,   150,   151,   152,   153,    -1,   155,    -1,
18800      157,   158,   159,   160,    -1,   162,    -1,   164,    -1,    -1,
18801       -1,   168,   169,   170,   171,    -1,   173,   174,    -1,   176,
18802      177,   178,    -1,   180,   181,   182,   183,   184,    -1,   186,
18803      187,   188,   189,    -1,   191,   192,   193,   194,   195,   196,
18804      197,    -1,   199,    -1,   201,   202,   203,   204,   205,   206,
18805      207,    -1,   209,    -1,   211,    -1,    -1,   214,    -1,   216,
18806      217,   218,   219,   220,    -1,    -1,   223,   224,    -1,   226,
18807       -1,    -1,   229,   230,   231,    -1,    -1,   234,   235,   236,
18808      237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
18809      247,   248,   249,   250,    -1,   252,   253,   254,   255,   256,
18810      257,   258,   259,   260,   261,   262,    -1,   264,   265,    -1,
18811      267,    -1,   269,   270,   271,   272,   273,   274,    -1,   276,
18812      277,    -1,    -1,   280,   281,   282,    -1,    -1,   285,   286,
18813      287,    -1,   289,    -1,   291,   292,   293,   294,   295,   296,
18814      297,   298,   299,   300,    -1,    -1,   303,   304,   305,   306,
18815      307,   308,   309,   310,    -1,   312,   313,   314,   315,   316,
18816      317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
18817       -1,   328,   329,   330,   331,   332,   333,   334,   335,   336,
18818      337,   338,   339,    -1,   341,   342,    -1,   344,   345,   346,
18819      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
18820      357,   358,    -1,   360,   361,   362,   363,   364,    -1,   366,
18821      367,   368,   369,   370,    -1,   372,   373,   374,   375,    -1,
18822      377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
18823      387,   388,   389,   390,   391,    -1,   393,   394,    -1,   396,
18824       -1,   398,   399,   400,   401,   402,    -1,   404,   405,   406,
18825       -1,    -1,   409,   410,   411,   412,   413,    -1,   415,   416,
18826      417,   418,   419,   420,   421,   422,    -1,    -1,   425,   426,
18827      427,   428,   429,    -1,    -1,   432,   433,   434,   435,   436,
18828      437,   438,    -1,   440,    -1,   442,   443,   444,   445,    -1,
18829       -1,   448,    -1,    -1,   451,   452,   453,   454,   455,   456,
18830      457,   458,   459,   460,   461,   462,   463,   464,   465,   466,
18831      467,   468,   469,   470,    -1,    -1,    -1,   474,   475,   476,
18832        3,   478,   479,   480,   481,   482,   483,    10,    -1,    -1,
18833       -1,    -1,    -1,    -1,    17,    18,    19,    20,    21,    22,
18834       23,    24,    25,    26,    27,    -1,    29,    30,    31,    -1,
18835       -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    -1,    42,
18836       43,    44,    -1,    46,    47,    48,    49,    50,    -1,    52,
18837       53,    -1,    55,    56,    57,    58,    59,    60,    -1,    -1,
18838       63,    64,    65,    66,    67,    -1,    69,    70,    71,    72,
18839       73,    -1,    -1,    -1,    77,    78,    79,    80,    81,    -1,
18840       83,    84,    85,    -1,    87,    88,    89,    90,    91,    92,
18841       -1,    -1,    95,    96,    97,    -1,    -1,    -1,    -1,    -1,
18842       -1,    -1,   105,   106,   107,   108,   109,   110,   111,   112,
18843      113,    -1,   115,    -1,   117,   118,   119,   120,   121,   122,
18844       -1,   124,   125,   126,   127,    -1,    -1,   130,   131,   132,
18845      133,   134,    -1,   136,   137,   138,    -1,   140,   141,   142,
18846       -1,   144,   145,   146,   147,   148,   149,   150,   151,   152,
18847      153,    -1,   155,    -1,   157,   158,   159,   160,    -1,   162,
18848       -1,   164,    -1,    -1,    -1,   168,   169,   170,   171,    -1,
18849      173,   174,    -1,   176,   177,   178,    -1,   180,   181,   182,
18850      183,   184,    -1,   186,   187,   188,   189,    -1,   191,   192,
18851      193,   194,   195,   196,   197,    -1,   199,    -1,   201,   202,
18852      203,   204,   205,   206,   207,    -1,   209,    -1,   211,    -1,
18853       -1,   214,    -1,   216,   217,   218,   219,   220,    -1,    -1,
18854      223,   224,    -1,   226,    -1,    -1,   229,   230,   231,    -1,
18855       -1,   234,   235,   236,   237,   238,   239,   240,   241,   242,
18856      243,   244,   245,   246,   247,   248,   249,   250,    -1,   252,
18857      253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
18858       -1,   264,   265,    -1,   267,    -1,   269,   270,   271,   272,
18859      273,   274,    -1,   276,   277,    -1,    -1,   280,   281,   282,
18860       -1,    -1,   285,   286,   287,    -1,   289,    -1,   291,   292,
18861      293,   294,   295,   296,   297,   298,   299,   300,    -1,    -1,
18862      303,   304,   305,   306,   307,   308,   309,   310,    -1,   312,
18863      313,   314,   315,   316,   317,   318,   319,   320,   321,   322,
18864      323,   324,   325,   326,    -1,   328,   329,   330,   331,   332,
18865      333,   334,   335,   336,   337,   338,   339,    -1,   341,   342,
18866       -1,   344,   345,   346,   347,   348,   349,   350,   351,   352,
18867      353,   354,   355,   356,   357,   358,    -1,   360,   361,   362,
18868      363,   364,    -1,   366,   367,   368,   369,   370,    -1,   372,
18869      373,   374,   375,    -1,   377,   378,   379,   380,   381,   382,
18870      383,   384,   385,   386,   387,   388,   389,   390,   391,    -1,
18871      393,   394,    -1,   396,    -1,   398,   399,   400,   401,   402,
18872       -1,   404,   405,   406,    -1,    -1,   409,   410,   411,   412,
18873      413,    -1,   415,   416,   417,   418,   419,   420,   421,   422,
18874       -1,    -1,   425,   426,   427,   428,   429,    -1,    -1,   432,
18875      433,   434,   435,   436,   437,   438,    -1,   440,    -1,   442,
18876      443,   444,   445,    -1,    -1,   448,    -1,    -1,   451,   452,
18877      453,   454,   455,   456,   457,   458,   459,   460,   461,   462,
18878      463,   464,   465,   466,   467,   468,   469,   470,    -1,    -1,
18879       -1,   474,   475,   476,     3,   478,   479,   480,   481,   482,
18880      483,    10,    -1,    -1,    -1,    -1,    -1,    -1,    17,    18,
18881       19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
18882       29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
18883       39,    40,    -1,    42,    43,    44,    -1,    46,    47,    48,
18884       49,    50,    -1,    52,    53,    -1,    55,    56,    57,    58,
18885       59,    60,    -1,    -1,    63,    64,    65,    66,    67,    -1,
18886       69,    70,    71,    72,    73,    -1,    -1,    -1,    77,    78,
18887       79,    80,    81,    -1,    83,    84,    85,    -1,    87,    88,
18888       89,    90,    91,    92,    -1,    -1,    95,    96,    97,    -1,
18889       -1,    -1,    -1,    -1,    -1,    -1,   105,   106,   107,   108,
18890      109,   110,   111,   112,   113,    -1,   115,    -1,   117,   118,
18891      119,   120,   121,   122,    -1,   124,   125,   126,   127,    -1,
18892       -1,   130,   131,   132,   133,   134,    -1,   136,   137,   138,
18893       -1,   140,   141,   142,    -1,   144,   145,   146,   147,   148,
18894      149,   150,   151,   152,   153,    -1,   155,    -1,   157,   158,
18895      159,   160,    -1,   162,    -1,   164,    -1,    -1,    -1,   168,
18896      169,   170,   171,    -1,   173,   174,    -1,   176,   177,   178,
18897       -1,   180,   181,   182,   183,   184,    -1,   186,   187,   188,
18898      189,    -1,   191,   192,   193,   194,   195,   196,   197,    -1,
18899      199,    -1,   201,   202,   203,   204,   205,   206,   207,    -1,
18900      209,    -1,   211,    -1,    -1,   214,    -1,   216,   217,   218,
18901      219,   220,    -1,    -1,   223,   224,    -1,   226,    -1,    -1,
18902      229,   230,   231,    -1,    -1,   234,   235,   236,   237,   238,
18903      239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
18904      249,   250,    -1,   252,   253,   254,   255,   256,   257,   258,
18905      259,   260,   261,   262,    -1,   264,   265,    -1,   267,    -1,
18906      269,   270,   271,   272,   273,   274,    -1,   276,   277,    -1,
18907       -1,   280,   281,   282,    -1,    -1,   285,   286,   287,    -1,
18908      289,    -1,   291,   292,   293,   294,   295,   296,   297,   298,
18909      299,   300,    -1,    -1,   303,   304,   305,   306,   307,   308,
18910      309,   310,    -1,   312,   313,   314,   315,   316,   317,   318,
18911      319,   320,   321,   322,   323,   324,   325,   326,    -1,   328,
18912      329,   330,   331,   332,   333,   334,   335,   336,   337,   338,
18913      339,    -1,   341,   342,    -1,   344,   345,   346,   347,   348,
18914      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
18915       -1,   360,   361,   362,   363,   364,    -1,   366,   367,   368,
18916      369,   370,    -1,   372,   373,   374,   375,    -1,   377,   378,
18917      379,   380,   381,   382,   383,   384,   385,   386,   387,   388,
18918      389,   390,   391,    -1,   393,   394,    -1,   396,    -1,   398,
18919      399,   400,   401,   402,    -1,   404,   405,   406,    -1,    -1,
18920      409,   410,   411,   412,   413,    -1,   415,   416,   417,   418,
18921      419,   420,   421,   422,    -1,    -1,   425,   426,   427,   428,
18922      429,    -1,    -1,   432,   433,   434,   435,   436,   437,   438,
18923       -1,   440,    -1,   442,   443,   444,   445,    -1,    -1,   448,
18924       -1,    -1,   451,   452,   453,   454,   455,   456,   457,   458,
18925      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
18926      469,   470,    -1,    -1,    -1,   474,   475,   476,     3,   478,
18927      479,   480,   481,   482,   483,    10,    -1,    -1,    -1,    -1,
18928       -1,    -1,    17,    18,    19,    20,    21,    22,    23,    24,
18929       25,    26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,
18930       -1,    -1,    -1,    -1,    39,    40,    -1,    42,    43,    44,
18931       -1,    46,    47,    48,    49,    50,    -1,    52,    53,    -1,
18932       55,    56,    57,    58,    59,    60,    -1,    -1,    63,    64,
18933       65,    66,    67,    -1,    69,    70,    71,    72,    73,    -1,
18934       -1,    -1,    77,    78,    79,    80,    81,    -1,    83,    84,
18935       85,    -1,    87,    88,    89,    90,    91,    92,    -1,    -1,
18936       95,    96,    97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
18937      105,   106,   107,   108,   109,   110,   111,   112,   113,    -1,
18938      115,    -1,   117,   118,   119,   120,   121,   122,    -1,   124,
18939      125,   126,   127,    -1,    -1,   130,   131,   132,   133,   134,
18940       -1,   136,   137,   138,    -1,   140,   141,   142,    -1,   144,
18941      145,   146,   147,   148,   149,   150,   151,   152,   153,    -1,
18942      155,    -1,   157,   158,   159,   160,    -1,   162,    -1,   164,
18943       -1,    -1,    -1,   168,   169,   170,   171,    -1,   173,   174,
18944       -1,   176,   177,   178,    -1,   180,   181,   182,   183,   184,
18945       -1,   186,   187,   188,   189,    -1,   191,   192,   193,   194,
18946      195,   196,   197,    -1,   199,    -1,   201,   202,   203,   204,
18947      205,   206,   207,    -1,   209,    -1,   211,    -1,    -1,   214,
18948       -1,   216,   217,   218,   219,   220,    -1,    -1,   223,   224,
18949       -1,   226,    -1,    -1,   229,   230,   231,    -1,    -1,   234,
18950      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
18951      245,   246,   247,   248,   249,   250,    -1,   252,   253,   254,
18952      255,   256,   257,   258,   259,   260,   261,   262,    -1,   264,
18953      265,    -1,   267,    -1,   269,   270,   271,   272,   273,   274,
18954       -1,   276,   277,    -1,    -1,   280,   281,   282,    -1,    -1,
18955      285,   286,   287,    -1,   289,    -1,   291,   292,   293,   294,
18956      295,   296,   297,   298,   299,   300,    -1,    -1,   303,   304,
18957      305,   306,   307,   308,   309,   310,    -1,   312,   313,   314,
18958      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
18959      325,   326,    -1,   328,   329,   330,   331,   332,   333,   334,
18960      335,   336,   337,   338,   339,    -1,   341,   342,    -1,   344,
18961      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
18962      355,   356,   357,   358,    -1,   360,   361,   362,   363,   364,
18963       -1,   366,   367,   368,   369,   370,    -1,   372,   373,   374,
18964      375,    -1,   377,   378,   379,   380,   381,   382,   383,   384,
18965      385,   386,   387,   388,   389,   390,   391,    -1,   393,   394,
18966       -1,   396,    -1,   398,   399,   400,   401,   402,    -1,   404,
18967      405,   406,    -1,    -1,   409,   410,   411,   412,   413,    -1,
18968      415,   416,   417,   418,   419,   420,   421,   422,    -1,    -1,
18969      425,   426,   427,   428,   429,    -1,    -1,   432,   433,   434,
18970      435,   436,   437,   438,    -1,   440,    -1,   442,   443,   444,
18971      445,    -1,    -1,   448,    -1,    -1,   451,   452,   453,   454,
18972      455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
18973      465,   466,   467,   468,   469,   470,    -1,    -1,    -1,   474,
18974      475,   476,     3,   478,   479,   480,   481,   482,   483,    10,
18975       -1,    -1,    -1,    -1,    -1,    -1,    17,    18,    19,    20,
18976       21,    22,    23,    24,    25,    26,    27,    -1,    29,    30,
18977       31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,
18978       -1,    42,    43,    44,    -1,    46,    47,    48,    49,    50,
18979       -1,    52,    53,    -1,    55,    56,    57,    58,    59,    60,
18980       -1,    -1,    63,    64,    65,    66,    67,    -1,    69,    70,
18981       71,    72,    73,    -1,    -1,    -1,    77,    78,    79,    80,
18982       81,    -1,    83,    84,    85,    -1,    87,    88,    89,    90,
18983       91,    92,    -1,    -1,    95,    96,    97,    -1,    -1,    -1,
18984       -1,    -1,    -1,    -1,   105,   106,   107,   108,   109,   110,
18985      111,   112,   113,    -1,   115,    -1,   117,   118,   119,   120,
18986      121,   122,    -1,   124,   125,   126,   127,    -1,    -1,   130,
18987      131,   132,   133,   134,    -1,   136,   137,   138,    -1,   140,
18988      141,   142,    -1,   144,   145,   146,   147,   148,   149,   150,
18989      151,   152,   153,    -1,   155,    -1,   157,   158,   159,   160,
18990       -1,   162,    -1,   164,    -1,    -1,    -1,   168,   169,   170,
18991      171,    -1,   173,   174,    -1,   176,   177,   178,    -1,   180,
18992      181,   182,   183,   184,    -1,   186,   187,   188,   189,    -1,
18993      191,   192,   193,   194,   195,   196,   197,    -1,   199,    -1,
18994      201,   202,   203,   204,   205,   206,   207,    -1,   209,    -1,
18995      211,    -1,    -1,   214,    -1,   216,   217,   218,   219,   220,
18996       -1,    -1,   223,   224,    -1,   226,    -1,    -1,   229,   230,
18997      231,    -1,    -1,   234,   235,   236,   237,   238,   239,   240,
18998      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
18999       -1,   252,   253,   254,   255,   256,   257,   258,   259,   260,
19000      261,   262,    -1,   264,   265,    -1,   267,    -1,   269,   270,
19001      271,   272,   273,   274,    -1,   276,   277,    -1,    -1,   280,
19002      281,   282,    -1,    -1,   285,   286,   287,    -1,   289,    -1,
19003      291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
19004       -1,    -1,   303,   304,   305,   306,   307,   308,   309,   310,
19005       -1,   312,   313,   314,   315,   316,   317,   318,   319,   320,
19006      321,   322,   323,   324,   325,   326,    -1,   328,   329,   330,
19007      331,   332,   333,   334,   335,   336,   337,   338,   339,    -1,
19008      341,   342,    -1,   344,   345,   346,   347,   348,   349,   350,
19009      351,   352,   353,   354,   355,   356,   357,   358,    -1,   360,
19010      361,   362,   363,   364,    -1,   366,   367,   368,   369,   370,
19011       -1,   372,   373,   374,   375,    -1,   377,   378,   379,   380,
19012      381,   382,   383,   384,   385,   386,   387,   388,   389,   390,
19013      391,    -1,   393,   394,    -1,   396,    -1,   398,   399,   400,
19014      401,   402,    -1,   404,   405,   406,    -1,    -1,   409,   410,
19015      411,   412,   413,    -1,   415,   416,   417,   418,   419,   420,
19016      421,   422,    -1,    -1,   425,   426,   427,   428,   429,    -1,
19017       -1,   432,   433,   434,   435,   436,   437,   438,    -1,   440,
19018       -1,   442,   443,   444,   445,    -1,    -1,   448,    -1,    -1,
19019      451,   452,   453,   454,   455,   456,   457,   458,   459,   460,
19020      461,   462,   463,   464,   465,   466,   467,   468,   469,   470,
19021       -1,    -1,    -1,   474,   475,   476,     3,   478,   479,   480,
19022      481,   482,   483,    10,    -1,    -1,    -1,    -1,    -1,    -1,
19023       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
19024       27,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,
19025       -1,    -1,    39,    40,    -1,    42,    43,    44,    -1,    46,
19026       47,    48,    49,    50,    -1,    52,    53,    -1,    55,    56,
19027       57,    58,    59,    60,    -1,    -1,    63,    64,    65,    66,
19028       67,    -1,    69,    70,    71,    72,    73,    -1,    -1,    -1,
19029       77,    78,    79,    80,    81,    -1,    83,    84,    85,    -1,
19030       87,    88,    89,    90,    91,    92,    -1,    -1,    95,    96,
19031       97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,   106,
19032      107,   108,   109,   110,   111,   112,   113,    -1,   115,    -1,
19033      117,   118,   119,   120,   121,   122,    -1,   124,   125,   126,
19034      127,    -1,    -1,   130,   131,   132,   133,   134,    -1,   136,
19035      137,   138,    -1,   140,   141,   142,    -1,   144,   145,   146,
19036      147,   148,   149,   150,   151,   152,   153,    -1,   155,    -1,
19037      157,   158,   159,   160,    -1,   162,    -1,   164,    -1,    -1,
19038       -1,   168,   169,   170,   171,    -1,   173,   174,    -1,   176,
19039      177,   178,    -1,   180,   181,   182,   183,   184,    -1,   186,
19040      187,   188,   189,    -1,   191,   192,   193,   194,   195,   196,
19041      197,    -1,   199,    -1,   201,   202,   203,   204,   205,   206,
19042      207,    -1,   209,    -1,   211,    -1,    -1,   214,    -1,   216,
19043      217,   218,   219,   220,    -1,    -1,   223,   224,    -1,   226,
19044       -1,    -1,   229,   230,   231,    -1,    -1,   234,   235,   236,
19045      237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
19046      247,   248,   249,   250,    -1,   252,   253,   254,   255,   256,
19047      257,   258,   259,   260,   261,   262,    -1,   264,   265,    -1,
19048      267,    -1,   269,   270,   271,   272,   273,   274,    -1,   276,
19049      277,    -1,    -1,   280,   281,   282,    -1,    -1,   285,   286,
19050      287,    -1,   289,    -1,   291,   292,   293,   294,   295,   296,
19051      297,   298,   299,   300,    -1,    -1,   303,   304,   305,   306,
19052      307,   308,   309,   310,    -1,   312,   313,   314,   315,   316,
19053      317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
19054       -1,   328,   329,   330,   331,   332,   333,   334,   335,   336,
19055      337,   338,   339,    -1,   341,   342,    -1,   344,   345,   346,
19056      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
19057      357,   358,    -1,   360,   361,   362,   363,   364,    -1,   366,
19058      367,   368,   369,   370,    -1,   372,   373,   374,   375,    -1,
19059      377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
19060      387,   388,   389,   390,   391,    -1,   393,   394,    -1,   396,
19061       -1,   398,   399,   400,   401,   402,    -1,   404,   405,   406,
19062       -1,    -1,   409,   410,   411,   412,   413,    -1,   415,   416,
19063      417,   418,   419,   420,   421,   422,    -1,    -1,   425,   426,
19064      427,   428,   429,    -1,    -1,   432,   433,   434,   435,   436,
19065      437,   438,    -1,   440,    -1,   442,   443,   444,   445,    -1,
19066       -1,   448,    -1,    -1,   451,   452,   453,   454,   455,   456,
19067      457,   458,   459,   460,   461,   462,   463,   464,   465,   466,
19068      467,   468,   469,   470,    -1,    -1,    -1,   474,   475,   476,
19069        3,   478,   479,   480,   481,   482,   483,    10,    -1,    -1,
19070       -1,    -1,    -1,    -1,    17,    18,    19,    20,    21,    22,
19071       23,    24,    25,    26,    27,    -1,    29,    30,    31,    -1,
19072       -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    -1,    42,
19073       43,    44,    -1,    46,    47,    48,    49,    50,    -1,    52,
19074       53,    -1,    55,    56,    57,    58,    59,    60,    -1,    -1,
19075       63,    64,    65,    66,    67,    -1,    69,    70,    71,    72,
19076       73,    -1,    -1,    -1,    77,    78,    79,    80,    81,    -1,
19077       83,    84,    85,    -1,    87,    88,    89,    90,    91,    92,
19078       -1,    -1,    95,    96,    97,    -1,    -1,    -1,    -1,    -1,
19079       -1,    -1,   105,   106,   107,   108,   109,   110,   111,   112,
19080      113,    -1,   115,    -1,   117,   118,   119,   120,   121,   122,
19081       -1,   124,   125,   126,   127,    -1,    -1,   130,   131,   132,
19082      133,   134,    -1,   136,   137,   138,    -1,   140,   141,   142,
19083       -1,   144,   145,   146,   147,   148,   149,   150,   151,   152,
19084      153,    -1,   155,    -1,   157,   158,   159,   160,    -1,   162,
19085       -1,   164,    -1,    -1,    -1,   168,   169,   170,   171,    -1,
19086      173,   174,    -1,   176,   177,   178,    -1,   180,   181,   182,
19087      183,   184,    -1,   186,   187,   188,   189,    -1,   191,   192,
19088      193,   194,   195,   196,   197,    -1,   199,    -1,   201,   202,
19089      203,   204,   205,   206,   207,    -1,   209,    -1,   211,    -1,
19090       -1,   214,    -1,   216,   217,   218,   219,   220,    -1,    -1,
19091      223,   224,    -1,   226,    -1,    -1,   229,   230,   231,    -1,
19092       -1,   234,   235,   236,   237,   238,   239,   240,   241,   242,
19093      243,   244,   245,   246,   247,   248,   249,   250,    -1,   252,
19094      253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
19095       -1,   264,   265,    -1,   267,    -1,   269,   270,   271,   272,
19096      273,   274,    -1,   276,   277,    -1,    -1,   280,   281,   282,
19097       -1,    -1,   285,   286,   287,    -1,   289,    -1,   291,   292,
19098      293,   294,   295,   296,   297,   298,   299,   300,    -1,    -1,
19099      303,   304,   305,   306,   307,   308,   309,   310,    -1,   312,
19100      313,   314,   315,   316,   317,   318,   319,   320,   321,   322,
19101      323,   324,   325,   326,    -1,   328,   329,   330,   331,   332,
19102      333,   334,   335,   336,   337,   338,   339,    -1,   341,   342,
19103       -1,   344,   345,   346,   347,   348,   349,   350,   351,   352,
19104      353,   354,   355,   356,   357,   358,    -1,   360,   361,   362,
19105      363,   364,    -1,   366,   367,   368,   369,   370,    -1,   372,
19106      373,   374,   375,    -1,   377,   378,   379,   380,   381,   382,
19107      383,   384,   385,   386,   387,   388,   389,   390,   391,    -1,
19108      393,   394,    -1,   396,    -1,   398,   399,   400,   401,   402,
19109       -1,   404,   405,   406,    -1,    -1,   409,   410,   411,   412,
19110      413,    -1,   415,   416,   417,   418,   419,   420,   421,   422,
19111       -1,    -1,   425,   426,   427,   428,   429,    -1,    -1,   432,
19112      433,   434,   435,   436,   437,   438,    -1,   440,    -1,   442,
19113      443,   444,   445,    -1,    -1,   448,    -1,    -1,   451,   452,
19114      453,   454,   455,   456,   457,   458,   459,   460,   461,   462,
19115      463,   464,   465,   466,   467,   468,   469,   470,     3,    -1,
19116       -1,   474,   475,   476,    -1,   478,   479,   480,   481,   482,
19117      483,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
19118       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
19119       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
19120       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
19121       55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
19122       65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
19123       75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
19124       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
19125       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
19126      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
19127      115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
19128      125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
19129      135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
19130      145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
19131      155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
19132      165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
19133      175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
19134      185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
19135      195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
19136      205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
19137      215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
19138      225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
19139      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
19140      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
19141      255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
19142      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
19143      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
19144      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
19145      295,   296,   297,   298,   299,   300,    -1,   302,   303,   304,
19146      305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
19147      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
19148      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
19149      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
19150      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
19151      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
19152      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
19153      375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
19154      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
19155      395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
19156      405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
19157      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
19158      425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
19159      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
19160      445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
19161      455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
19162      465,   466,   467,   468,   469,   470,     3,    -1,    -1,    -1,
19163       -1,    -1,    -1,    -1,    -1,   480,    -1,    -1,    -1,    -1,
19164       -1,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
19165       27,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,
19166       -1,    -1,    39,    40,    -1,    42,    43,    44,    -1,    46,
19167       47,    48,    49,    50,    -1,    52,    53,    -1,    55,    56,
19168       57,    58,    59,    60,    -1,    -1,    63,    64,    65,    66,
19169       67,    -1,    69,    70,    71,    72,    73,    -1,    -1,    -1,
19170       77,    78,    79,    80,    81,    -1,    83,    84,    85,    -1,
19171       87,    88,    89,    90,    91,    92,    -1,    -1,    95,    96,
19172       97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,   106,
19173      107,   108,   109,   110,   111,   112,   113,    -1,   115,    -1,
19174      117,   118,   119,   120,   121,   122,    -1,   124,   125,   126,
19175      127,    -1,    -1,   130,   131,   132,   133,   134,    -1,   136,
19176      137,   138,    -1,   140,   141,   142,    -1,   144,   145,   146,
19177      147,   148,   149,   150,   151,   152,   153,    -1,   155,    -1,
19178      157,   158,   159,   160,    -1,   162,    -1,   164,    -1,    -1,
19179       -1,   168,   169,   170,   171,    -1,   173,   174,    -1,   176,
19180      177,   178,    -1,   180,   181,   182,   183,   184,    -1,   186,
19181      187,   188,   189,    -1,   191,   192,   193,   194,   195,   196,
19182      197,    -1,   199,    -1,   201,   202,   203,   204,   205,   206,
19183      207,    -1,   209,    -1,   211,    -1,    -1,   214,    -1,   216,
19184      217,   218,   219,   220,    -1,    -1,   223,   224,    -1,   226,
19185       -1,    -1,   229,   230,   231,    -1,    -1,   234,   235,   236,
19186      237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
19187      247,   248,   249,   250,    -1,   252,   253,   254,   255,   256,
19188      257,   258,   259,   260,   261,   262,    -1,   264,   265,    -1,
19189      267,    -1,   269,   270,   271,   272,   273,   274,    -1,   276,
19190      277,    -1,    -1,   280,   281,   282,    -1,    -1,   285,   286,
19191      287,    -1,   289,    -1,   291,   292,   293,   294,   295,   296,
19192      297,   298,   299,   300,    -1,    -1,   303,   304,   305,   306,
19193      307,   308,   309,   310,    -1,   312,   313,   314,   315,   316,
19194      317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
19195       -1,   328,   329,   330,   331,   332,   333,   334,   335,   336,
19196      337,   338,   339,    -1,   341,   342,    -1,   344,   345,   346,
19197      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
19198      357,   358,    -1,   360,   361,   362,   363,   364,    -1,   366,
19199      367,   368,   369,   370,    -1,   372,   373,   374,   375,    -1,
19200      377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
19201      387,   388,   389,   390,   391,    -1,   393,   394,    -1,   396,
19202       -1,   398,   399,   400,   401,   402,    -1,   404,   405,   406,
19203       -1,    -1,   409,   410,   411,   412,   413,    -1,   415,   416,
19204      417,   418,   419,   420,   421,   422,    -1,    -1,   425,   426,
19205      427,   428,   429,    -1,    -1,   432,   433,   434,   435,   436,
19206      437,   438,    -1,   440,    -1,   442,   443,   444,   445,    -1,
19207       -1,   448,    -1,    -1,   451,   452,   453,   454,   455,   456,
19208      457,   458,   459,   460,   461,   462,   463,   464,   465,   466,
19209      467,   468,   469,   470,     3,    -1,    -1,    -1,    -1,    -1,
19210       -1,    -1,    -1,   480,    -1,    -1,    -1,    -1,    -1,    -1,
19211       -1,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
19212       29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19213       39,    40,    -1,    42,    43,    44,    -1,    46,    47,    48,
19214       49,    50,    -1,    52,    53,    -1,    55,    56,    57,    58,
19215       59,    60,    -1,    -1,    63,    64,    65,    66,    67,    -1,
19216       69,    70,    71,    72,    73,    -1,    -1,    -1,    77,    78,
19217       79,    80,    81,    -1,    83,    84,    85,    -1,    87,    88,
19218       89,    90,    91,    92,    -1,    -1,    95,    96,    97,    -1,
19219       -1,    -1,    -1,    -1,    -1,    -1,   105,   106,   107,   108,
19220      109,   110,   111,   112,   113,    -1,   115,    -1,   117,   118,
19221      119,   120,   121,   122,    -1,   124,   125,   126,   127,    -1,
19222       -1,   130,   131,   132,   133,   134,    -1,   136,   137,   138,
19223       -1,   140,   141,   142,    -1,   144,   145,   146,   147,   148,
19224      149,   150,   151,   152,   153,    -1,   155,    -1,   157,   158,
19225      159,   160,    -1,   162,    -1,   164,    -1,    -1,    -1,   168,
19226      169,   170,   171,    -1,   173,   174,    -1,   176,   177,   178,
19227       -1,   180,   181,   182,   183,   184,    -1,   186,   187,   188,
19228      189,    -1,   191,   192,   193,   194,   195,   196,   197,    -1,
19229      199,    -1,   201,   202,   203,   204,   205,   206,   207,    -1,
19230      209,    -1,   211,    -1,    -1,   214,    -1,   216,   217,   218,
19231      219,   220,    -1,    -1,   223,   224,    -1,   226,    -1,    -1,
19232      229,   230,   231,    -1,    -1,   234,   235,   236,   237,   238,
19233      239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
19234      249,   250,    -1,   252,   253,   254,   255,   256,   257,   258,
19235      259,   260,   261,   262,    -1,   264,   265,    -1,   267,    -1,
19236      269,   270,   271,   272,   273,   274,    -1,   276,   277,    -1,
19237       -1,   280,   281,   282,    -1,    -1,   285,   286,   287,    -1,
19238      289,    -1,   291,   292,   293,   294,   295,   296,   297,   298,
19239      299,   300,    -1,    -1,   303,   304,   305,   306,   307,   308,
19240      309,   310,    -1,   312,   313,   314,   315,   316,   317,   318,
19241      319,   320,   321,   322,   323,   324,   325,   326,    -1,   328,
19242      329,   330,   331,   332,   333,   334,   335,   336,   337,   338,
19243      339,    -1,   341,   342,    -1,   344,   345,   346,   347,   348,
19244      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
19245       -1,   360,   361,   362,   363,   364,    -1,   366,   367,   368,
19246      369,   370,    -1,   372,   373,   374,   375,    -1,   377,   378,
19247      379,   380,   381,   382,   383,   384,   385,   386,   387,   388,
19248      389,   390,   391,    -1,   393,   394,    -1,   396,    -1,   398,
19249      399,   400,   401,   402,    -1,   404,   405,   406,    -1,    -1,
19250      409,   410,   411,   412,   413,    -1,   415,   416,   417,   418,
19251      419,   420,   421,   422,    -1,    -1,   425,   426,   427,   428,
19252      429,    -1,    -1,   432,   433,   434,   435,   436,   437,   438,
19253       -1,   440,    -1,   442,   443,   444,   445,    -1,    -1,   448,
19254       -1,    -1,   451,   452,   453,   454,   455,   456,   457,   458,
19255      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
19256      469,   470,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19257       -1,   480,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,
19258       21,    22,    23,    24,    25,    26,    27,    -1,    29,    30,
19259       31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,
19260       -1,    42,    43,    44,    45,    46,    47,    48,    -1,    50,
19261       51,    52,    53,    -1,    55,    56,    57,    58,    59,    60,
19262       -1,    -1,    63,    64,    65,    66,    67,    -1,    69,    70,
19263       71,    72,    -1,    -1,    75,    -1,    77,    78,    79,    80,
19264       81,    82,    83,    84,    85,    -1,    87,    88,    89,    90,
19265       91,    92,    -1,    94,    95,    96,    97,    -1,    -1,    -1,
19266      101,    -1,    -1,    -1,   105,   106,   107,   108,   109,   110,
19267      111,   112,   113,    -1,   115,    -1,   117,   118,   119,   120,
19268      121,   122,    -1,   124,   125,   126,   127,    -1,    -1,   130,
19269      131,   132,   133,   134,    -1,   136,   137,   138,    -1,   140,
19270      141,   142,    -1,   144,   145,   146,   147,    -1,   149,   150,
19271      151,   152,    -1,    -1,   155,    -1,   157,   158,   159,   160,
19272       -1,   162,    -1,   164,   165,    -1,   167,   168,   169,   170,
19273      171,    -1,   173,    -1,    -1,    -1,   177,   178,    -1,   180,
19274      181,   182,   183,   184,   185,   186,   187,   188,   189,   190,
19275      191,   192,   193,   194,   195,   196,   197,    -1,   199,   200,
19276      201,   202,   203,   204,   205,   206,   207,    -1,   209,    -1,
19277      211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
19278       -1,    -1,   223,    -1,   225,   226,   227,    -1,   229,   230,
19279      231,    -1,    -1,   234,   235,   236,   237,   238,   239,   240,
19280      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
19281      251,   252,   253,   254,   255,   256,   257,   258,   259,    -1,
19282       -1,   262,    -1,   264,   265,   266,   267,    -1,    -1,   270,
19283      271,   272,   273,   274,    -1,   276,   277,    -1,    -1,   280,
19284      281,   282,    -1,   284,   285,   286,   287,   288,   289,   290,
19285       -1,   292,   293,   294,   295,   296,   297,   298,   299,   300,
19286       -1,    -1,   303,   304,    -1,   306,    -1,   308,   309,   310,
19287       -1,   312,   313,   314,   315,   316,   317,   318,   319,   320,
19288      321,   322,   323,   324,   325,   326,    -1,   328,   329,   330,
19289      331,   332,   333,   334,   335,   336,   337,   338,   339,    -1,
19290      341,   342,   343,   344,   345,   346,   347,   348,    -1,   350,
19291      351,   352,   353,   354,   355,   356,   357,   358,    -1,   360,
19292      361,   362,   363,   364,    -1,   366,   367,   368,   369,   370,
19293      371,   372,   373,   374,   375,    -1,   377,   378,   379,   380,
19294      381,   382,   383,   384,   385,   386,   387,   388,   389,    -1,
19295      391,    -1,   393,   394,    -1,   396,   397,   398,   399,   400,
19296      401,   402,    -1,   404,   405,   406,    -1,    -1,   409,   410,
19297       -1,   412,    -1,    -1,   415,   416,   417,   418,   419,   420,
19298      421,   422,    -1,    -1,   425,   426,   427,   428,   429,    -1,
19299       -1,   432,   433,   434,   435,   436,    -1,   438,   439,   440,
19300      441,   442,   443,   444,   445,    -1,    -1,   448,    -1,    -1,
19301      451,   452,   453,   454,   455,   456,    -1,    -1,    -1,    -1,
19302       -1,    -1,    -1,     3,    -1,    -1,    -1,   468,   469,   470,
19303       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   480,
19304       20,    21,    22,    23,    24,    25,    26,    27,    -1,    29,
19305       30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,
19306       40,    -1,    42,    43,    44,    45,    46,    47,    48,    -1,
19307       50,    51,    52,    53,    -1,    55,    56,    57,    58,    59,
19308       60,    -1,    -1,    63,    64,    65,    66,    67,    -1,    69,
19309       70,    71,    72,    -1,    -1,    75,    -1,    77,    78,    79,
19310       80,    81,    82,    83,    84,    85,    -1,    87,    88,    89,
19311       90,    91,    92,    -1,    94,    95,    96,    97,    -1,    -1,
19312       -1,   101,    -1,    -1,    -1,   105,   106,   107,   108,   109,
19313      110,   111,   112,   113,    -1,   115,    -1,   117,   118,   119,
19314      120,   121,   122,    -1,   124,   125,   126,   127,    -1,    -1,
19315      130,   131,   132,   133,   134,    -1,   136,   137,   138,    -1,
19316      140,   141,   142,    -1,   144,   145,   146,   147,    -1,   149,
19317      150,   151,   152,    -1,    -1,   155,    -1,   157,   158,   159,
19318      160,    -1,   162,    -1,   164,   165,    -1,   167,   168,   169,
19319      170,   171,    -1,   173,    -1,    -1,    -1,   177,   178,    -1,
19320      180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
19321      190,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
19322      200,   201,   202,   203,   204,   205,   206,   207,    -1,   209,
19323       -1,   211,   212,   213,   214,   215,   216,   217,   218,   219,
19324      220,    -1,    -1,   223,    -1,   225,   226,   227,    -1,   229,
19325      230,   231,    -1,    -1,   234,   235,   236,   237,   238,   239,
19326      240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
19327      250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
19328       -1,    -1,   262,    -1,   264,   265,   266,   267,    -1,    -1,
19329      270,   271,   272,   273,   274,    -1,   276,   277,    -1,    -1,
19330      280,   281,   282,    -1,   284,   285,   286,   287,   288,   289,
19331      290,    -1,   292,   293,   294,   295,   296,   297,   298,   299,
19332      300,    -1,    -1,   303,   304,    -1,   306,    -1,   308,   309,
19333      310,    -1,   312,   313,   314,   315,   316,   317,   318,   319,
19334      320,   321,   322,   323,   324,   325,   326,    -1,   328,   329,
19335      330,   331,   332,   333,   334,   335,   336,   337,   338,   339,
19336       -1,   341,   342,   343,   344,   345,   346,   347,   348,    -1,
19337      350,   351,   352,   353,   354,   355,   356,   357,   358,    -1,
19338      360,   361,   362,   363,   364,    -1,   366,   367,   368,   369,
19339      370,   371,   372,   373,   374,   375,    -1,   377,   378,   379,
19340      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
19341       -1,   391,    -1,   393,   394,    -1,   396,   397,   398,   399,
19342      400,   401,   402,    -1,   404,   405,   406,    -1,    -1,   409,
19343      410,    -1,   412,    -1,    -1,   415,   416,   417,   418,   419,
19344      420,   421,   422,    -1,    -1,   425,   426,   427,   428,   429,
19345       -1,    -1,   432,   433,   434,   435,   436,    -1,   438,   439,
19346      440,   441,   442,   443,   444,   445,    -1,    -1,   448,    -1,
19347       -1,   451,   452,   453,   454,   455,   456,    -1,    -1,    -1,
19348       -1,    -1,    -1,    -1,     3,    -1,     5,     6,   468,   469,
19349      470,    -1,    11,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19350      480,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
19351       29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19352       39,    40,    -1,    42,    43,    44,    45,    46,    47,    48,
19353       49,    50,    51,    52,    53,    -1,    55,    56,    57,    58,
19354       59,    60,    -1,    -1,    63,    64,    65,    66,    67,    -1,
19355       69,    70,    71,    72,    73,    -1,    75,    -1,    77,    78,
19356       79,    80,    81,    82,    83,    84,    85,    -1,    87,    88,
19357       89,    90,    91,    92,    -1,    94,    95,    96,    97,    -1,
19358       -1,    -1,   101,    -1,    -1,    -1,   105,   106,   107,   108,
19359      109,   110,   111,   112,   113,   114,   115,    -1,   117,   118,
19360      119,   120,   121,   122,    -1,   124,   125,   126,   127,    -1,
19361       -1,   130,   131,   132,   133,   134,    -1,   136,   137,   138,
19362       -1,   140,   141,   142,    -1,   144,   145,   146,   147,   148,
19363      149,   150,   151,   152,   153,   154,   155,    -1,   157,   158,
19364      159,   160,    -1,   162,    -1,   164,   165,    -1,   167,   168,
19365      169,   170,   171,    -1,   173,   174,    -1,   176,   177,   178,
19366       -1,   180,   181,   182,   183,   184,   185,   186,   187,   188,
19367      189,    -1,   191,   192,   193,   194,   195,   196,   197,    -1,
19368      199,   200,   201,   202,   203,   204,   205,   206,   207,    -1,
19369      209,    -1,   211,   212,   213,   214,   215,   216,   217,   218,
19370      219,   220,    -1,    -1,   223,   224,   225,   226,   227,    -1,
19371      229,   230,   231,    -1,    -1,   234,   235,   236,   237,   238,
19372      239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
19373      249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
19374      259,   260,   261,   262,    -1,   264,   265,   266,   267,    -1,
19375      269,   270,   271,   272,   273,   274,    -1,   276,   277,   278,
19376       -1,   280,   281,   282,    -1,    -1,   285,   286,   287,   288,
19377      289,   290,   291,   292,   293,   294,   295,   296,   297,   298,
19378      299,   300,    -1,    -1,   303,   304,   305,   306,   307,   308,
19379      309,   310,    -1,   312,   313,   314,   315,   316,   317,   318,
19380      319,   320,   321,   322,   323,   324,   325,   326,    -1,   328,
19381      329,   330,   331,   332,   333,   334,   335,   336,   337,   338,
19382      339,    -1,   341,   342,   343,   344,   345,   346,   347,   348,
19383      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
19384       -1,   360,   361,   362,   363,   364,    -1,   366,   367,   368,
19385      369,   370,   371,   372,   373,   374,   375,    -1,   377,   378,
19386      379,   380,   381,   382,   383,   384,   385,   386,   387,   388,
19387      389,   390,   391,    -1,   393,   394,    -1,   396,   397,   398,
19388      399,   400,   401,   402,    -1,   404,   405,   406,    -1,    -1,
19389      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
19390      419,   420,   421,   422,    -1,    -1,   425,   426,   427,   428,
19391      429,    -1,    -1,   432,   433,   434,   435,   436,   437,   438,
19392       -1,   440,   441,   442,   443,   444,   445,    -1,    -1,   448,
19393       -1,    -1,   451,   452,   453,   454,   455,   456,   457,   458,
19394      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
19395      469,   470,    -1,     3,    -1,     5,     6,    -1,    -1,   478,
19396      479,    11,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19397       20,    21,    22,    23,    24,    25,    26,    27,    -1,    29,
19398       30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,
19399       40,    -1,    42,    43,    44,    45,    46,    47,    48,    49,
19400       50,    51,    52,    53,    -1,    55,    56,    57,    58,    59,
19401       60,    -1,    -1,    63,    64,    65,    66,    67,    -1,    69,
19402       70,    71,    72,    73,    -1,    75,    -1,    77,    78,    79,
19403       80,    81,    82,    83,    84,    85,    -1,    87,    88,    89,
19404       90,    91,    92,    -1,    94,    95,    96,    97,    -1,    -1,
19405       -1,   101,    -1,    -1,    -1,   105,   106,   107,   108,   109,
19406      110,   111,   112,   113,   114,   115,    -1,   117,   118,   119,
19407      120,   121,   122,    -1,   124,   125,   126,   127,    -1,    -1,
19408      130,   131,   132,   133,   134,    -1,   136,   137,   138,    -1,
19409      140,   141,   142,    -1,   144,   145,   146,   147,   148,   149,
19410      150,   151,   152,   153,   154,   155,    -1,   157,   158,   159,
19411      160,    -1,   162,    -1,   164,   165,    -1,   167,   168,   169,
19412      170,   171,    -1,   173,   174,    -1,   176,   177,   178,    -1,
19413      180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
19414       -1,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
19415      200,   201,   202,   203,   204,   205,   206,   207,    -1,   209,
19416       -1,   211,   212,   213,   214,   215,   216,   217,   218,   219,
19417      220,    -1,    -1,   223,   224,   225,   226,   227,    -1,   229,
19418      230,   231,    -1,    -1,   234,   235,   236,   237,   238,   239,
19419      240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
19420      250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
19421      260,   261,   262,    -1,   264,   265,   266,   267,    -1,   269,
19422      270,   271,   272,   273,   274,    -1,   276,   277,   278,    -1,
19423      280,   281,   282,    -1,    -1,   285,   286,   287,   288,   289,
19424      290,   291,   292,   293,   294,   295,   296,   297,   298,   299,
19425      300,    -1,    -1,   303,   304,   305,   306,   307,   308,   309,
19426      310,    -1,   312,   313,   314,   315,   316,   317,   318,   319,
19427      320,   321,   322,   323,   324,   325,   326,    -1,   328,   329,
19428      330,   331,   332,   333,   334,   335,   336,   337,   338,   339,
19429       -1,   341,   342,   343,   344,   345,   346,   347,   348,   349,
19430      350,   351,   352,   353,   354,   355,   356,   357,   358,    -1,
19431      360,   361,   362,   363,   364,    -1,   366,   367,   368,   369,
19432      370,   371,   372,   373,   374,   375,    -1,   377,   378,   379,
19433      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
19434      390,   391,    -1,   393,   394,    -1,   396,   397,   398,   399,
19435      400,   401,   402,    -1,   404,   405,   406,    -1,    -1,   409,
19436      410,   411,   412,   413,   414,   415,   416,   417,   418,   419,
19437      420,   421,   422,    -1,    -1,   425,   426,   427,   428,   429,
19438       -1,    -1,   432,   433,   434,   435,   436,   437,   438,    -1,
19439      440,   441,   442,   443,   444,   445,    -1,    -1,   448,    -1,
19440       -1,   451,   452,   453,   454,   455,   456,   457,   458,   459,
19441      460,   461,   462,   463,   464,   465,   466,   467,   468,   469,
19442      470,    -1,     3,    -1,     5,     6,    -1,    -1,   478,   479,
19443       11,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,
19444       21,    22,    23,    24,    25,    26,    27,    -1,    29,    30,
19445       31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,
19446       -1,    42,    43,    44,    45,    46,    47,    48,    49,    50,
19447       51,    52,    53,    -1,    55,    56,    57,    58,    59,    60,
19448       -1,    -1,    63,    64,    65,    66,    67,    -1,    69,    70,
19449       71,    72,    73,    -1,    75,    -1,    77,    78,    79,    80,
19450       81,    82,    83,    84,    85,    -1,    87,    88,    89,    90,
19451       91,    92,    -1,    94,    95,    96,    97,    -1,    -1,    -1,
19452      101,    -1,    -1,    -1,   105,   106,   107,   108,   109,   110,
19453      111,   112,   113,    -1,   115,    -1,   117,   118,   119,   120,
19454      121,   122,    -1,   124,   125,   126,   127,    -1,    -1,   130,
19455      131,   132,   133,   134,    -1,   136,   137,   138,    -1,   140,
19456      141,   142,    -1,   144,   145,   146,   147,   148,   149,   150,
19457      151,   152,   153,   154,   155,    -1,   157,   158,   159,   160,
19458       -1,   162,    -1,   164,   165,    -1,   167,   168,   169,   170,
19459      171,    -1,   173,   174,    -1,   176,   177,   178,    -1,   180,
19460      181,   182,   183,   184,   185,   186,   187,   188,   189,    -1,
19461      191,   192,   193,   194,   195,   196,   197,    -1,   199,   200,
19462      201,   202,   203,   204,   205,   206,   207,    -1,   209,    -1,
19463      211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
19464       -1,    -1,   223,   224,   225,   226,   227,    -1,   229,   230,
19465      231,    -1,    -1,   234,   235,   236,   237,   238,   239,   240,
19466      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
19467      251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
19468      261,   262,    -1,   264,   265,   266,   267,    -1,   269,   270,
19469      271,   272,   273,   274,    -1,   276,   277,   278,    -1,   280,
19470      281,   282,    -1,    -1,   285,   286,   287,   288,   289,   290,
19471      291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
19472       -1,    -1,   303,   304,   305,   306,   307,   308,   309,   310,
19473       -1,   312,   313,   314,   315,   316,   317,   318,   319,   320,
19474      321,   322,   323,   324,   325,   326,    -1,   328,   329,   330,
19475      331,   332,   333,   334,   335,   336,   337,   338,   339,    -1,
19476      341,   342,   343,   344,   345,   346,   347,   348,   349,   350,
19477      351,   352,   353,   354,   355,   356,   357,   358,    -1,   360,
19478      361,   362,   363,   364,    -1,   366,   367,   368,   369,   370,
19479      371,   372,   373,   374,   375,    -1,   377,   378,   379,   380,
19480      381,   382,   383,   384,   385,   386,   387,   388,   389,   390,
19481      391,    -1,   393,   394,    -1,   396,   397,   398,   399,   400,
19482      401,   402,    -1,   404,   405,   406,    -1,    -1,   409,   410,
19483      411,   412,   413,   414,   415,   416,   417,   418,   419,   420,
19484      421,   422,    -1,    -1,   425,   426,   427,   428,   429,    -1,
19485       -1,   432,   433,   434,   435,   436,   437,   438,    -1,   440,
19486      441,   442,   443,   444,   445,    -1,    -1,   448,    -1,    -1,
19487      451,   452,   453,   454,   455,   456,   457,   458,   459,   460,
19488      461,   462,   463,   464,   465,   466,   467,   468,   469,   470,
19489       -1,     3,    -1,    -1,     6,    -1,    -1,   478,   479,    11,
19490       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,
19491       22,    23,    24,    25,    26,    27,    -1,    29,    30,    31,
19492       -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    -1,
19493       42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
19494       52,    53,    -1,    55,    56,    57,    58,    59,    60,    -1,
19495       -1,    63,    64,    65,    66,    67,    -1,    69,    70,    71,
19496       72,    73,    -1,    75,    -1,    77,    78,    79,    80,    81,
19497       82,    83,    84,    85,    -1,    87,    88,    89,    90,    91,
19498       92,    -1,    94,    95,    96,    97,    -1,    -1,    -1,   101,
19499       -1,    -1,    -1,   105,   106,   107,   108,   109,   110,   111,
19500      112,   113,   114,   115,    -1,   117,   118,   119,   120,   121,
19501      122,    -1,   124,   125,   126,   127,    -1,    -1,   130,   131,
19502      132,   133,   134,    -1,   136,   137,   138,    -1,   140,   141,
19503      142,    -1,   144,   145,   146,   147,   148,   149,   150,   151,
19504      152,   153,   154,   155,    -1,   157,   158,   159,   160,    -1,
19505      162,    -1,   164,   165,    -1,   167,   168,   169,   170,   171,
19506       -1,   173,   174,    -1,   176,   177,   178,    -1,   180,   181,
19507      182,   183,   184,   185,   186,   187,   188,   189,    -1,   191,
19508      192,   193,   194,   195,   196,   197,    -1,   199,   200,   201,
19509      202,   203,   204,   205,   206,   207,    -1,   209,    -1,   211,
19510      212,   213,   214,   215,   216,   217,   218,   219,   220,    -1,
19511       -1,   223,   224,   225,   226,   227,    -1,   229,   230,   231,
19512       -1,    -1,   234,   235,   236,   237,   238,   239,   240,   241,
19513      242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
19514      252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
19515      262,    -1,   264,   265,   266,   267,    -1,   269,   270,   271,
19516      272,   273,   274,    -1,   276,   277,   278,    -1,   280,   281,
19517      282,    -1,    -1,   285,   286,   287,   288,   289,   290,   291,
19518      292,   293,   294,   295,   296,   297,   298,   299,   300,    -1,
19519       -1,   303,   304,   305,   306,   307,   308,   309,   310,    -1,
19520      312,   313,   314,   315,   316,   317,   318,   319,   320,   321,
19521      322,   323,   324,   325,   326,    -1,   328,   329,   330,   331,
19522      332,   333,   334,   335,   336,   337,   338,   339,    -1,   341,
19523      342,   343,   344,   345,   346,   347,   348,   349,   350,   351,
19524      352,   353,   354,   355,   356,   357,   358,    -1,   360,   361,
19525      362,   363,   364,    -1,   366,   367,   368,   369,   370,   371,
19526      372,   373,   374,   375,    -1,   377,   378,   379,   380,   381,
19527      382,   383,   384,   385,   386,   387,   388,   389,   390,   391,
19528       -1,   393,   394,    -1,   396,   397,   398,   399,   400,   401,
19529      402,    -1,   404,   405,   406,    -1,    -1,   409,   410,   411,
19530      412,   413,   414,   415,   416,   417,   418,   419,   420,   421,
19531      422,    -1,    -1,   425,   426,   427,   428,   429,    -1,    -1,
19532      432,   433,   434,   435,   436,   437,   438,    -1,   440,   441,
19533      442,   443,   444,   445,    -1,    -1,   448,    -1,    -1,   451,
19534      452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
19535      462,   463,   464,   465,   466,   467,   468,   469,   470,    -1,
19536        3,    -1,    -1,    -1,    -1,    -1,   478,   479,    11,    -1,
19537       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
19538       23,    24,    25,    26,    27,    28,    29,    30,    31,    -1,
19539       -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    -1,    42,
19540       43,    44,    -1,    46,    47,    48,    49,    50,    -1,    52,
19541       53,    -1,    55,    56,    57,    58,    59,    60,    -1,    -1,
19542       63,    64,    65,    66,    67,    -1,    69,    70,    71,    72,
19543       73,    -1,    -1,    -1,    77,    78,    79,    80,    81,    -1,
19544       83,    84,    85,    -1,    87,    88,    89,    90,    91,    92,
19545       -1,    -1,    95,    96,    97,    -1,    -1,    -1,    -1,    -1,
19546       -1,    -1,   105,   106,   107,   108,   109,   110,   111,   112,
19547      113,    -1,   115,    -1,   117,   118,   119,   120,   121,   122,
19548       -1,   124,   125,   126,   127,    -1,    -1,   130,   131,   132,
19549      133,   134,    -1,   136,   137,   138,    -1,   140,   141,   142,
19550       -1,   144,   145,   146,   147,   148,   149,   150,   151,   152,
19551      153,    -1,   155,    -1,   157,   158,   159,   160,    -1,   162,
19552       -1,   164,    -1,   166,    -1,   168,   169,   170,   171,    -1,
19553      173,   174,    -1,   176,   177,   178,    -1,   180,   181,   182,
19554      183,   184,    -1,   186,   187,   188,   189,   190,   191,   192,
19555      193,   194,   195,   196,   197,    -1,   199,    -1,   201,   202,
19556      203,   204,   205,   206,   207,    -1,   209,    -1,   211,    -1,
19557       -1,   214,    -1,   216,   217,   218,   219,   220,    -1,    -1,
19558      223,   224,    -1,   226,    -1,    -1,   229,   230,   231,    -1,
19559       -1,   234,   235,   236,   237,   238,   239,   240,   241,   242,
19560      243,   244,   245,   246,   247,   248,   249,   250,    -1,   252,
19561      253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
19562       -1,   264,   265,    -1,   267,    -1,   269,   270,   271,   272,
19563      273,   274,    -1,   276,   277,    -1,    -1,   280,   281,   282,
19564       -1,    -1,   285,   286,   287,    -1,   289,    -1,   291,   292,
19565      293,   294,   295,   296,   297,   298,   299,   300,    -1,    -1,
19566      303,   304,   305,   306,   307,   308,   309,   310,    -1,   312,
19567      313,   314,   315,   316,   317,   318,   319,   320,   321,   322,
19568      323,   324,   325,   326,    -1,   328,   329,   330,   331,   332,
19569      333,   334,   335,   336,   337,   338,   339,    -1,   341,   342,
19570       -1,   344,   345,   346,   347,   348,   349,   350,   351,   352,
19571      353,   354,   355,   356,   357,   358,    -1,   360,   361,   362,
19572      363,   364,    -1,   366,   367,   368,   369,   370,    -1,   372,
19573      373,   374,   375,    -1,   377,   378,   379,   380,   381,   382,
19574      383,   384,   385,   386,   387,   388,   389,   390,   391,    -1,
19575      393,   394,    -1,   396,    -1,   398,   399,   400,   401,   402,
19576       -1,   404,   405,   406,    -1,    -1,   409,   410,   411,   412,
19577      413,    -1,   415,   416,   417,   418,   419,   420,   421,   422,
19578       -1,    -1,   425,   426,   427,   428,   429,    -1,    -1,   432,
19579      433,   434,   435,   436,   437,   438,    -1,   440,    -1,   442,
19580      443,   444,   445,    -1,    -1,   448,    -1,    -1,   451,   452,
19581      453,   454,   455,   456,   457,   458,   459,   460,   461,   462,
19582      463,   464,   465,   466,   467,   468,   469,   470,    -1,     3,
19583       -1,     5,     6,    -1,    -1,   478,   479,    11,    -1,    -1,
19584       -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
19585       24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
19586       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
19587       44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
19588       54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
19589       64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
19590       74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
19591       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
19592       94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
19593      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
19594      114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
19595      124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
19596      134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
19597      144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
19598      154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
19599      164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
19600      174,   175,   176,   177,   178,   179,   180,   181,   182,   183,
19601      184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
19602      194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
19603      204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
19604      214,   215,   216,   217,   218,   219,   220,   221,   222,   223,
19605      224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
19606      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
19607      244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
19608      254,   255,   256,   257,   258,   259,   260,   261,   262,   263,
19609      264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
19610      274,   275,   276,   277,   278,   279,   280,   281,   282,   283,
19611      284,   285,   286,   287,   288,   289,   290,   291,   292,   293,
19612      294,   295,   296,   297,   298,   299,   300,    -1,   302,   303,
19613      304,   305,   306,   307,   308,   309,   310,   311,   312,   313,
19614      314,   315,   316,   317,   318,   319,   320,   321,   322,   323,
19615      324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
19616      334,   335,   336,   337,   338,   339,   340,   341,   342,   343,
19617      344,   345,   346,   347,   348,   349,   350,   351,   352,   353,
19618      354,   355,   356,   357,   358,   359,   360,   361,   362,   363,
19619      364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
19620      374,   375,   376,   377,   378,   379,   380,   381,   382,   383,
19621      384,   385,   386,   387,   388,   389,   390,   391,   392,   393,
19622      394,   395,   396,   397,   398,   399,   400,   401,   402,   403,
19623      404,   405,   406,   407,   408,   409,   410,   411,   412,   413,
19624      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
19625      424,   425,   426,   427,   428,   429,   430,   431,   432,   433,
19626      434,   435,   436,   437,   438,   439,   440,   441,   442,   443,
19627      444,   445,   446,   447,   448,   449,   450,   451,   452,   453,
19628      454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
19629      464,   465,   466,   467,   468,   469,   470,     3,    -1,    -1,
19630       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19631       -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
19632       26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
19633       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
19634       46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
19635       56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
19636       66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
19637       76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
19638       86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
19639       96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
19640      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
19641      116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
19642      126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
19643      136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
19644      146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
19645      156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
19646      166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
19647      176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
19648      186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
19649      196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
19650      206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
19651      216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
19652      226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
19653      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
19654      246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
19655      256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
19656      266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
19657      276,   277,   278,   279,   280,   281,   282,   283,   284,   285,
19658      286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
19659      296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
19660      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
19661      316,   317,   318,   319,   320,   321,   322,   323,   324,   325,
19662      326,   327,   328,   329,   330,   331,   332,   333,   334,   335,
19663      336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
19664      346,   347,   348,   349,   350,   351,   352,   353,   354,   355,
19665      356,   357,   358,   359,   360,   361,   362,   363,   364,   365,
19666      366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
19667      376,   377,   378,   379,   380,   381,   382,   383,   384,   385,
19668      386,   387,   388,   389,   390,   391,   392,   393,   394,   395,
19669      396,   397,   398,   399,   400,   401,   402,   403,   404,   405,
19670      406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
19671      416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
19672      426,   427,   428,   429,   430,   431,   432,   433,   434,   435,
19673      436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
19674      446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
19675      456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
19676      466,   467,   468,   469,   470,     3,    -1,    -1,    -1,    -1,
19677       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19678       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
19679       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
19680       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
19681       48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
19682       58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
19683       68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
19684       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
19685       88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
19686       98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
19687      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
19688      118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
19689      128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
19690      138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
19691      148,   149,   150,   151,   152,   153,   154,   155,   156,   157,
19692      158,   159,   160,   161,   162,   163,   164,   165,   166,   167,
19693      168,   169,   170,   171,   172,   173,   174,   175,   176,   177,
19694      178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
19695      188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
19696      198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
19697      208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
19698      218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
19699      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
19700      238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
19701      248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
19702      258,   259,   260,   261,   262,   263,   264,   265,   266,   267,
19703      268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
19704      278,   279,   280,   281,   282,   283,   284,   285,   286,   287,
19705      288,   289,   290,   291,   292,   293,   294,   295,   296,   297,
19706      298,   299,   300,    -1,   302,   303,   304,   305,   306,   307,
19707      308,   309,   310,   311,   312,   313,   314,   315,   316,   317,
19708      318,   319,   320,   321,   322,   323,   324,   325,   326,   327,
19709      328,   329,   330,   331,   332,   333,   334,   335,   336,   337,
19710      338,   339,   340,   341,   342,   343,   344,   345,   346,   347,
19711      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
19712      358,   359,   360,   361,   362,   363,   364,   365,   366,   367,
19713      368,   369,   370,   371,   372,   373,   374,   375,   376,   377,
19714      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
19715      388,   389,   390,   391,   392,   393,   394,   395,   396,   397,
19716      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
19717      408,   409,   410,   411,   412,   413,   414,   415,   416,   417,
19718      418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
19719      428,   429,   430,   431,   432,   433,   434,   435,   436,   437,
19720      438,   439,   440,   441,   442,   443,   444,   445,   446,   447,
19721      448,   449,   450,   451,   452,   453,   454,   455,   456,   457,
19722      458,   459,   460,   461,   462,   463,   464,   465,   466,   467,
19723      468,   469,   470,     3,    -1,    -1,    -1,    -1,    -1,    -1,
19724       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19725       20,    21,    22,    23,    24,    25,    26,    27,    -1,    29,
19726       30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,
19727       40,    -1,    42,    43,    44,    45,    46,    47,    48,    49,
19728       50,    51,    52,    53,    -1,    55,    56,    57,    58,    59,
19729       60,    -1,    62,    63,    64,    65,    66,    67,    -1,    69,
19730       70,    71,    72,    73,    -1,    75,    -1,    77,    78,    79,
19731       80,    81,    82,    83,    84,    85,    -1,    87,    88,    89,
19732       90,    91,    92,    -1,    94,    95,    96,    97,    98,    99,
19733      100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
19734      110,   111,   112,   113,    -1,   115,    -1,   117,   118,   119,
19735      120,   121,   122,    -1,   124,   125,   126,   127,    -1,    -1,
19736      130,   131,   132,   133,   134,    -1,   136,   137,   138,    -1,
19737      140,   141,   142,    -1,   144,   145,   146,   147,   148,   149,
19738      150,   151,   152,   153,    -1,   155,    -1,   157,   158,   159,
19739      160,    -1,   162,    -1,   164,   165,    -1,   167,   168,   169,
19740      170,   171,    -1,   173,   174,    -1,   176,   177,   178,    -1,
19741      180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
19742       -1,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
19743      200,   201,   202,   203,   204,   205,   206,   207,    -1,   209,
19744       -1,   211,   212,   213,   214,   215,   216,   217,   218,   219,
19745      220,    -1,    -1,   223,   224,   225,   226,   227,    -1,   229,
19746      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
19747      240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
19748      250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
19749      260,   261,   262,    -1,   264,   265,   266,   267,    -1,   269,
19750      270,   271,   272,   273,   274,    -1,   276,   277,    -1,    -1,
19751      280,   281,   282,    -1,    -1,   285,   286,   287,   288,   289,
19752      290,   291,   292,   293,   294,   295,   296,   297,   298,   299,
19753      300,    -1,    -1,   303,   304,   305,   306,   307,   308,   309,
19754      310,    -1,   312,   313,   314,   315,   316,   317,   318,   319,
19755      320,   321,   322,   323,   324,   325,   326,    -1,   328,   329,
19756      330,   331,   332,   333,   334,   335,   336,   337,   338,   339,
19757       -1,   341,   342,   343,   344,   345,   346,   347,   348,   349,
19758      350,   351,   352,   353,   354,   355,   356,   357,   358,    -1,
19759      360,   361,   362,   363,   364,   365,   366,   367,   368,   369,
19760      370,   371,   372,   373,   374,   375,    -1,   377,   378,   379,
19761      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
19762      390,   391,    -1,   393,   394,    -1,   396,   397,   398,   399,
19763      400,   401,   402,    -1,   404,   405,   406,    -1,    -1,   409,
19764      410,   411,   412,   413,    -1,   415,   416,   417,   418,   419,
19765      420,   421,   422,    -1,    -1,   425,   426,   427,   428,   429,
19766      430,    -1,   432,   433,   434,   435,   436,   437,   438,    -1,
19767      440,   441,   442,   443,   444,   445,    -1,    -1,   448,    -1,
19768       -1,   451,   452,   453,   454,   455,   456,   457,   458,   459,
19769      460,   461,   462,   463,   464,   465,   466,   467,   468,   469,
19770      470,     3,    -1,    -1,     6,    -1,    -1,    -1,    -1,    -1,
19771       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,
19772       22,    23,    24,    25,    26,    27,    -1,    29,    30,    31,
19773       -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    -1,
19774       42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
19775       52,    53,    -1,    55,    56,    57,    58,    59,    60,    -1,
19776       -1,    63,    64,    65,    66,    67,    -1,    69,    70,    71,
19777       72,    73,    -1,    75,    -1,    77,    78,    79,    80,    81,
19778       82,    83,    84,    85,    -1,    87,    88,    89,    90,    91,
19779       92,    -1,    94,    95,    96,    97,    -1,    -1,    -1,   101,
19780       -1,    -1,    -1,   105,   106,   107,   108,   109,   110,   111,
19781      112,   113,    -1,   115,    -1,   117,   118,   119,   120,   121,
19782      122,    -1,   124,   125,   126,   127,    -1,    -1,   130,   131,
19783      132,   133,   134,    -1,   136,   137,   138,    -1,   140,   141,
19784      142,    -1,   144,   145,   146,   147,   148,   149,   150,   151,
19785      152,   153,   154,   155,    -1,   157,   158,   159,   160,    -1,
19786      162,    -1,   164,   165,    -1,   167,   168,   169,   170,   171,
19787       -1,   173,   174,    -1,   176,   177,   178,    -1,   180,   181,
19788      182,   183,   184,   185,   186,   187,   188,   189,    -1,   191,
19789      192,   193,   194,   195,   196,   197,    -1,   199,   200,   201,
19790      202,   203,   204,   205,   206,   207,    -1,   209,    -1,   211,
19791      212,   213,   214,   215,   216,   217,   218,   219,   220,    -1,
19792       -1,   223,   224,   225,   226,   227,    -1,   229,   230,   231,
19793       -1,    -1,   234,   235,   236,   237,   238,   239,   240,   241,
19794      242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
19795      252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
19796      262,    -1,   264,   265,   266,   267,    -1,   269,   270,   271,
19797      272,   273,   274,    -1,   276,   277,   278,    -1,   280,   281,
19798      282,    -1,    -1,   285,   286,   287,   288,   289,   290,   291,
19799      292,   293,   294,   295,   296,   297,   298,   299,   300,    -1,
19800       -1,   303,   304,   305,   306,   307,   308,   309,   310,    -1,
19801      312,   313,   314,   315,   316,   317,   318,   319,   320,   321,
19802      322,   323,   324,   325,   326,    -1,   328,   329,   330,   331,
19803      332,   333,   334,   335,   336,   337,   338,   339,    -1,   341,
19804      342,   343,   344,   345,   346,   347,   348,   349,   350,   351,
19805      352,   353,   354,   355,   356,   357,   358,    -1,   360,   361,
19806      362,   363,   364,    -1,   366,   367,   368,   369,   370,   371,
19807      372,   373,   374,   375,    -1,   377,   378,   379,   380,   381,
19808      382,   383,   384,   385,   386,   387,   388,   389,   390,   391,
19809       -1,   393,   394,    -1,   396,   397,   398,   399,   400,   401,
19810      402,    -1,   404,   405,   406,    -1,    -1,   409,   410,   411,
19811      412,   413,   414,   415,   416,   417,   418,   419,   420,   421,
19812      422,    -1,    -1,   425,   426,   427,   428,   429,    -1,    -1,
19813      432,   433,   434,   435,   436,   437,   438,    -1,   440,   441,
19814      442,   443,   444,   445,    -1,    -1,   448,    -1,    -1,   451,
19815      452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
19816      462,   463,   464,   465,   466,   467,   468,   469,   470,     3,
19817       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19818       -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
19819       24,    25,    26,    27,    28,    29,    30,    31,    -1,    -1,
19820       -1,    -1,    -1,    -1,    -1,    39,    40,    -1,    42,    43,
19821       44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
19822       -1,    55,    56,    57,    58,    59,    60,    -1,    -1,    63,
19823       64,    65,    66,    67,    -1,    69,    70,    71,    72,    73,
19824       -1,    75,    -1,    77,    78,    79,    80,    81,    82,    83,
19825       84,    85,    -1,    87,    88,    89,    90,    91,    92,    -1,
19826       94,    95,    96,    97,    -1,    -1,    -1,   101,    -1,    -1,
19827      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
19828       -1,   115,    -1,   117,   118,   119,   120,   121,   122,    -1,
19829      124,   125,   126,   127,    -1,    -1,   130,   131,   132,   133,
19830      134,    -1,   136,   137,   138,    -1,   140,   141,   142,    -1,
19831      144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
19832       -1,   155,    -1,   157,   158,   159,   160,    -1,   162,    -1,
19833      164,   165,    -1,   167,   168,   169,   170,   171,    -1,   173,
19834      174,    -1,   176,   177,   178,    -1,   180,   181,   182,   183,
19835      184,   185,   186,   187,   188,   189,    -1,   191,   192,   193,
19836      194,   195,   196,   197,    -1,   199,   200,   201,   202,   203,
19837      204,   205,   206,   207,    -1,   209,    -1,   211,   212,   213,
19838      214,   215,   216,   217,   218,   219,   220,    -1,    -1,   223,
19839      224,   225,   226,   227,    -1,   229,   230,   231,    -1,    -1,
19840      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
19841      244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
19842      254,   255,   256,   257,   258,   259,   260,   261,   262,    -1,
19843      264,   265,   266,   267,    -1,   269,   270,   271,   272,   273,
19844      274,    -1,   276,   277,    -1,    -1,   280,   281,   282,    -1,
19845       -1,   285,   286,   287,   288,   289,   290,   291,   292,   293,
19846      294,   295,   296,   297,   298,   299,   300,    -1,    -1,   303,
19847      304,   305,   306,   307,   308,   309,   310,    -1,   312,   313,
19848      314,   315,   316,   317,   318,   319,   320,   321,   322,   323,
19849      324,   325,   326,    -1,   328,   329,   330,   331,   332,   333,
19850      334,   335,   336,   337,   338,   339,    -1,   341,   342,   343,
19851      344,   345,   346,   347,   348,   349,   350,   351,   352,   353,
19852      354,   355,   356,   357,   358,    -1,   360,   361,   362,   363,
19853      364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
19854      374,   375,    -1,   377,   378,   379,   380,   381,   382,   383,
19855      384,   385,   386,   387,   388,   389,   390,   391,    -1,   393,
19856      394,    -1,   396,   397,   398,   399,   400,   401,   402,    -1,
19857      404,   405,   406,    -1,    -1,   409,   410,   411,   412,   413,
19858       -1,   415,   416,   417,   418,   419,   420,   421,   422,    -1,
19859       -1,   425,   426,   427,   428,   429,    -1,    -1,   432,   433,
19860      434,   435,   436,   437,   438,    -1,   440,   441,   442,   443,
19861      444,   445,    -1,    -1,   448,    -1,    -1,   451,   452,   453,
19862      454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
19863      464,   465,   466,   467,   468,   469,   470,     3,    -1,    -1,
19864       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19865       -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
19866       26,    27,    28,    29,    30,    31,    -1,    -1,    -1,    -1,
19867       -1,    -1,    -1,    39,    40,    -1,    42,    43,    44,    45,
19868       46,    47,    48,    49,    50,    51,    52,    53,    -1,    55,
19869       56,    57,    58,    59,    60,    -1,    -1,    63,    64,    65,
19870       66,    67,    -1,    69,    70,    71,    72,    73,    -1,    75,
19871       -1,    77,    78,    79,    80,    81,    82,    83,    84,    85,
19872       -1,    87,    88,    89,    90,    91,    92,    -1,    94,    95,
19873       96,    97,    -1,    -1,    -1,   101,    -1,    -1,   104,   105,
19874      106,   107,   108,   109,   110,   111,   112,   113,    -1,   115,
19875       -1,   117,   118,   119,   120,   121,   122,    -1,   124,   125,
19876      126,   127,    -1,    -1,   130,   131,   132,   133,   134,    -1,
19877      136,   137,   138,    -1,   140,   141,   142,    -1,   144,   145,
19878      146,   147,   148,   149,   150,   151,   152,   153,    -1,   155,
19879       -1,   157,   158,   159,   160,    -1,   162,    -1,   164,   165,
19880       -1,   167,   168,   169,   170,   171,    -1,   173,   174,    -1,
19881      176,   177,   178,    -1,   180,   181,   182,   183,   184,   185,
19882      186,   187,   188,   189,    -1,   191,   192,   193,   194,   195,
19883      196,   197,    -1,   199,   200,   201,   202,   203,   204,   205,
19884      206,   207,    -1,   209,    -1,   211,   212,   213,   214,   215,
19885      216,   217,   218,   219,   220,    -1,    -1,   223,   224,   225,
19886      226,   227,    -1,   229,   230,   231,    -1,    -1,   234,   235,
19887      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
19888      246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
19889      256,   257,   258,   259,   260,   261,   262,    -1,   264,   265,
19890      266,   267,    -1,   269,   270,   271,   272,   273,   274,    -1,
19891      276,   277,    -1,    -1,   280,   281,   282,    -1,    -1,   285,
19892      286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
19893      296,   297,   298,   299,   300,    -1,    -1,   303,   304,   305,
19894      306,   307,   308,   309,   310,    -1,   312,   313,   314,   315,
19895      316,   317,   318,   319,   320,   321,   322,   323,   324,   325,
19896      326,    -1,   328,   329,   330,   331,   332,   333,   334,   335,
19897      336,   337,   338,   339,    -1,   341,   342,   343,   344,   345,
19898      346,   347,   348,   349,   350,   351,   352,   353,   354,   355,
19899      356,   357,   358,    -1,   360,   361,   362,   363,   364,   365,
19900      366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
19901       -1,   377,   378,   379,   380,   381,   382,   383,   384,   385,
19902      386,   387,   388,   389,   390,   391,    -1,   393,   394,    -1,
19903      396,   397,   398,   399,   400,   401,   402,    -1,   404,   405,
19904      406,    -1,    -1,   409,   410,   411,   412,   413,    -1,   415,
19905      416,   417,   418,   419,   420,   421,   422,    -1,    -1,   425,
19906      426,   427,   428,   429,    -1,    -1,   432,   433,   434,   435,
19907      436,   437,   438,    -1,   440,   441,   442,   443,   444,   445,
19908       -1,    -1,   448,    -1,    -1,   451,   452,   453,   454,   455,
19909      456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
19910      466,   467,   468,   469,   470,     3,    -1,    -1,    -1,    -1,
19911       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19912       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
19913       -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,
19914       -1,    39,    40,    -1,    42,    43,    44,    45,    46,    47,
19915       48,    49,    50,    51,    52,    53,    -1,    55,    56,    57,
19916       58,    59,    60,    -1,    -1,    63,    64,    65,    66,    67,
19917       -1,    69,    70,    71,    72,    73,    -1,    75,    -1,    77,
19918       78,    79,    80,    81,    82,    83,    84,    85,    -1,    87,
19919       88,    89,    90,    91,    92,    -1,    94,    95,    96,    97,
19920       -1,    -1,    -1,   101,    -1,    -1,   104,   105,   106,   107,
19921      108,   109,   110,   111,   112,   113,    -1,   115,    -1,   117,
19922      118,   119,   120,   121,   122,    -1,   124,   125,   126,   127,
19923       -1,    -1,   130,   131,   132,   133,   134,    -1,   136,   137,
19924      138,    -1,   140,   141,   142,    -1,   144,   145,   146,   147,
19925      148,   149,   150,   151,   152,   153,    -1,   155,    -1,   157,
19926      158,   159,   160,    -1,   162,    -1,   164,   165,    -1,   167,
19927      168,   169,   170,   171,    -1,   173,   174,    -1,   176,   177,
19928      178,    -1,   180,   181,   182,   183,   184,   185,   186,   187,
19929      188,   189,    -1,   191,   192,   193,   194,   195,   196,   197,
19930       -1,   199,   200,   201,   202,   203,   204,   205,   206,   207,
19931       -1,   209,    -1,   211,   212,   213,   214,   215,   216,   217,
19932      218,   219,   220,    -1,    -1,   223,   224,   225,   226,   227,
19933       -1,   229,   230,   231,    -1,    -1,   234,   235,   236,   237,
19934      238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
19935      248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
19936      258,   259,   260,   261,   262,    -1,   264,   265,   266,   267,
19937       -1,   269,   270,   271,   272,   273,   274,    -1,   276,   277,
19938       -1,    -1,   280,   281,   282,    -1,    -1,   285,   286,   287,
19939      288,   289,   290,   291,   292,   293,   294,   295,   296,   297,
19940      298,   299,   300,    -1,    -1,   303,   304,   305,   306,   307,
19941      308,   309,   310,    -1,   312,   313,   314,   315,   316,   317,
19942      318,   319,   320,   321,   322,   323,   324,   325,   326,    -1,
19943      328,   329,   330,   331,   332,   333,   334,   335,   336,   337,
19944      338,   339,    -1,   341,   342,   343,   344,   345,   346,   347,
19945      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
19946      358,    -1,   360,   361,   362,   363,   364,   365,   366,   367,
19947      368,   369,   370,   371,   372,   373,   374,   375,    -1,   377,
19948      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
19949      388,   389,   390,   391,    -1,   393,   394,    -1,   396,   397,
19950      398,   399,   400,   401,   402,    -1,   404,   405,   406,    -1,
19951       -1,   409,   410,   411,   412,   413,    -1,   415,   416,   417,
19952      418,   419,   420,   421,   422,    -1,    -1,   425,   426,   427,
19953      428,   429,   430,    -1,   432,   433,   434,   435,   436,   437,
19954      438,    -1,   440,   441,   442,   443,   444,   445,    -1,    -1,
19955      448,    -1,    -1,   451,   452,   453,   454,   455,   456,   457,
19956      458,   459,   460,   461,   462,   463,   464,   465,   466,   467,
19957      468,   469,   470,     3,    -1,    -1,    -1,    -1,    -1,    -1,
19958       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19959       20,    21,    22,    23,    24,    25,    26,    27,    -1,    29,
19960       30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,
19961       40,    -1,    42,    43,    44,    45,    46,    47,    48,    49,
19962       50,    51,    52,    53,    -1,    55,    56,    57,    58,    59,
19963       60,    -1,    -1,    63,    64,    65,    66,    67,    -1,    69,
19964       70,    71,    72,    73,    -1,    75,    -1,    77,    78,    79,
19965       80,    81,    82,    83,    84,    85,    -1,    87,    88,    89,
19966       90,    91,    92,    -1,    94,    95,    96,    97,    -1,    -1,
19967       -1,   101,    -1,    -1,   104,   105,   106,   107,   108,   109,
19968      110,   111,   112,   113,    -1,   115,    -1,   117,   118,   119,
19969      120,   121,   122,    -1,   124,   125,   126,   127,    -1,    -1,
19970      130,   131,   132,   133,   134,    -1,   136,   137,   138,    -1,
19971      140,   141,   142,    -1,   144,   145,   146,   147,   148,   149,
19972      150,   151,   152,   153,    -1,   155,    -1,   157,   158,   159,
19973      160,    -1,   162,    -1,   164,   165,    -1,   167,   168,   169,
19974      170,   171,    -1,   173,   174,   175,   176,   177,   178,    -1,
19975      180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
19976       -1,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
19977      200,   201,   202,   203,   204,   205,   206,   207,    -1,   209,
19978       -1,   211,   212,   213,   214,   215,   216,   217,   218,   219,
19979      220,    -1,    -1,   223,   224,   225,   226,   227,    -1,   229,
19980      230,   231,    -1,    -1,   234,   235,   236,   237,   238,   239,
19981      240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
19982      250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
19983      260,   261,   262,    -1,   264,   265,   266,   267,    -1,   269,
19984      270,   271,   272,   273,   274,    -1,   276,   277,    -1,    -1,
19985      280,   281,   282,    -1,    -1,   285,   286,   287,   288,   289,
19986      290,   291,   292,   293,   294,   295,   296,   297,   298,   299,
19987      300,    -1,    -1,   303,   304,   305,   306,   307,   308,   309,
19988      310,    -1,   312,   313,   314,   315,   316,   317,   318,   319,
19989      320,   321,   322,   323,   324,   325,   326,    -1,   328,   329,
19990      330,   331,   332,   333,   334,   335,   336,   337,   338,   339,
19991       -1,   341,   342,   343,   344,   345,   346,   347,   348,   349,
19992      350,   351,   352,   353,   354,   355,   356,   357,   358,    -1,
19993      360,   361,   362,   363,   364,   365,   366,   367,   368,   369,
19994      370,   371,   372,   373,   374,   375,    -1,   377,   378,   379,
19995      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
19996      390,   391,    -1,   393,   394,    -1,   396,   397,   398,   399,
19997      400,   401,   402,    -1,   404,   405,   406,    -1,    -1,   409,
19998      410,   411,   412,   413,    -1,   415,   416,   417,   418,   419,
19999      420,   421,   422,    -1,    -1,   425,   426,   427,   428,   429,
20000       -1,    -1,   432,   433,   434,   435,   436,   437,   438,    -1,
20001      440,   441,   442,   443,   444,   445,    -1,    -1,   448,    -1,
20002       -1,   451,   452,   453,   454,   455,   456,   457,   458,   459,
20003      460,   461,   462,   463,   464,   465,   466,   467,   468,   469,
20004      470,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20005       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,
20006       22,    23,    24,    25,    26,    27,    -1,    29,    30,    31,
20007       -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    -1,
20008       42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
20009       52,    53,    -1,    55,    56,    57,    58,    59,    60,    -1,
20010       -1,    63,    64,    65,    66,    67,    -1,    69,    70,    71,
20011       72,    73,    -1,    75,    -1,    77,    78,    79,    80,    81,
20012       82,    83,    84,    85,    -1,    87,    88,    89,    90,    91,
20013       92,    -1,    94,    95,    96,    97,    -1,    -1,    -1,   101,
20014       -1,    -1,   104,   105,   106,   107,   108,   109,   110,   111,
20015      112,   113,    -1,   115,    -1,   117,   118,   119,   120,   121,
20016      122,    -1,   124,   125,   126,   127,    -1,    -1,   130,   131,
20017      132,   133,   134,    -1,   136,   137,   138,    -1,   140,   141,
20018      142,    -1,   144,   145,   146,   147,   148,   149,   150,   151,
20019      152,   153,    -1,   155,    -1,   157,   158,   159,   160,    -1,
20020      162,    -1,   164,   165,    -1,   167,   168,   169,   170,   171,
20021       -1,   173,   174,    -1,   176,   177,   178,    -1,   180,   181,
20022      182,   183,   184,   185,   186,   187,   188,   189,    -1,   191,
20023      192,   193,   194,   195,   196,   197,    -1,   199,   200,   201,
20024      202,   203,   204,   205,   206,   207,    -1,   209,    -1,   211,
20025      212,   213,   214,   215,   216,   217,   218,   219,   220,    -1,
20026       -1,   223,   224,   225,   226,   227,    -1,   229,   230,   231,
20027       -1,    -1,   234,   235,   236,   237,   238,   239,   240,   241,
20028      242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
20029      252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
20030      262,    -1,   264,   265,   266,   267,    -1,   269,   270,   271,
20031      272,   273,   274,    -1,   276,   277,    -1,    -1,   280,   281,
20032      282,    -1,    -1,   285,   286,   287,   288,   289,   290,   291,
20033      292,   293,   294,   295,   296,   297,   298,   299,   300,    -1,
20034       -1,   303,   304,   305,   306,   307,   308,   309,   310,    -1,
20035      312,   313,   314,   315,   316,   317,   318,   319,   320,   321,
20036      322,   323,   324,   325,   326,    -1,   328,   329,   330,   331,
20037      332,   333,   334,   335,   336,   337,   338,   339,    -1,   341,
20038      342,   343,   344,   345,   346,   347,   348,   349,   350,   351,
20039      352,   353,   354,   355,   356,   357,   358,    -1,   360,   361,
20040      362,   363,   364,   365,   366,   367,   368,   369,   370,   371,
20041      372,   373,   374,   375,    -1,   377,   378,   379,   380,   381,
20042      382,   383,   384,   385,   386,   387,   388,   389,   390,   391,
20043       -1,   393,   394,    -1,   396,   397,   398,   399,   400,   401,
20044      402,    -1,   404,   405,   406,    -1,    -1,   409,   410,   411,
20045      412,   413,    -1,   415,   416,   417,   418,   419,   420,   421,
20046      422,    -1,    -1,   425,   426,   427,   428,   429,    -1,    -1,
20047      432,   433,   434,   435,   436,   437,   438,    -1,   440,   441,
20048      442,   443,   444,   445,    -1,    -1,   448,    -1,    -1,   451,
20049      452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
20050      462,   463,   464,   465,   466,   467,   468,   469,   470,     3,
20051       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20052       -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
20053       24,    25,    26,    27,    -1,    29,    30,    31,    -1,    -1,
20054       -1,    -1,    -1,    -1,    -1,    39,    40,    -1,    42,    43,
20055       44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
20056       -1,    55,    56,    57,    58,    59,    60,    -1,    -1,    63,
20057       64,    65,    66,    67,    -1,    69,    70,    71,    72,    73,
20058       -1,    75,    -1,    77,    78,    79,    80,    81,    82,    83,
20059       84,    85,    -1,    87,    88,    89,    90,    91,    92,    -1,
20060       94,    95,    96,    97,    -1,    -1,    -1,   101,    -1,    -1,
20061      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
20062       -1,   115,    -1,   117,   118,   119,   120,   121,   122,    -1,
20063      124,   125,   126,   127,    -1,    -1,   130,   131,   132,   133,
20064      134,    -1,   136,   137,   138,    -1,   140,   141,   142,    -1,
20065      144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
20066       -1,   155,    -1,   157,   158,   159,   160,    -1,   162,    -1,
20067      164,   165,    -1,   167,   168,   169,   170,   171,    -1,   173,
20068      174,    -1,   176,   177,   178,    -1,   180,   181,   182,   183,
20069      184,   185,   186,   187,   188,   189,    -1,   191,   192,   193,
20070      194,   195,   196,   197,    -1,   199,   200,   201,   202,   203,
20071      204,   205,   206,   207,    -1,   209,    -1,   211,   212,   213,
20072      214,   215,   216,   217,   218,   219,   220,    -1,    -1,   223,
20073      224,   225,   226,   227,    -1,   229,   230,   231,    -1,    -1,
20074      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
20075      244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
20076      254,   255,   256,   257,   258,   259,   260,   261,   262,    -1,
20077      264,   265,   266,   267,    -1,   269,   270,   271,   272,   273,
20078      274,    -1,   276,   277,    -1,    -1,   280,   281,   282,    -1,
20079       -1,   285,   286,   287,   288,   289,   290,   291,   292,   293,
20080      294,   295,   296,   297,   298,   299,   300,    -1,    -1,   303,
20081      304,   305,   306,   307,   308,   309,   310,    -1,   312,   313,
20082      314,   315,   316,   317,   318,   319,   320,   321,   322,   323,
20083      324,   325,   326,    -1,   328,   329,   330,   331,   332,   333,
20084      334,   335,   336,   337,   338,   339,    -1,   341,   342,   343,
20085      344,   345,   346,   347,   348,   349,   350,   351,   352,   353,
20086      354,   355,   356,   357,   358,    -1,   360,   361,   362,   363,
20087      364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
20088      374,   375,    -1,   377,   378,   379,   380,   381,   382,   383,
20089      384,   385,   386,   387,   388,   389,   390,   391,    -1,   393,
20090      394,    -1,   396,   397,   398,   399,   400,   401,   402,    -1,
20091      404,   405,   406,    -1,    -1,   409,   410,   411,   412,   413,
20092       -1,   415,   416,   417,   418,   419,   420,   421,   422,    -1,
20093       -1,   425,   426,   427,   428,   429,    -1,    -1,   432,   433,
20094      434,   435,   436,   437,   438,    -1,   440,   441,   442,   443,
20095      444,   445,    -1,    -1,   448,    -1,    -1,   451,   452,   453,
20096      454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
20097      464,   465,   466,   467,   468,   469,   470,     3,    -1,    -1,
20098       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20099       -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
20100       26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,
20101       -1,    -1,    -1,    39,    40,    -1,    42,    43,    44,    45,
20102       46,    47,    48,    49,    50,    51,    52,    53,    -1,    55,
20103       56,    57,    58,    59,    60,    -1,    -1,    63,    64,    65,
20104       66,    67,    -1,    69,    70,    71,    72,    73,    -1,    75,
20105       -1,    77,    78,    79,    80,    81,    82,    83,    84,    85,
20106       -1,    87,    88,    89,    90,    91,    92,    -1,    94,    95,
20107       96,    97,    -1,    -1,    -1,   101,    -1,    -1,   104,   105,
20108      106,   107,   108,   109,   110,   111,   112,   113,    -1,   115,
20109       -1,   117,   118,   119,   120,   121,   122,    -1,   124,   125,
20110      126,   127,    -1,    -1,   130,   131,   132,   133,   134,    -1,
20111      136,   137,   138,    -1,   140,   141,   142,    -1,   144,   145,
20112      146,   147,   148,   149,   150,   151,   152,   153,    -1,   155,
20113       -1,   157,   158,   159,   160,    -1,   162,    -1,   164,   165,
20114       -1,   167,   168,   169,   170,   171,    -1,   173,   174,    -1,
20115      176,   177,   178,    -1,   180,   181,   182,   183,   184,   185,
20116      186,   187,   188,   189,    -1,   191,   192,   193,   194,   195,
20117      196,   197,    -1,   199,   200,   201,   202,   203,   204,   205,
20118      206,   207,    -1,   209,    -1,   211,   212,   213,   214,   215,
20119      216,   217,   218,   219,   220,    -1,    -1,   223,   224,   225,
20120      226,   227,    -1,   229,   230,   231,    -1,    -1,   234,   235,
20121      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
20122      246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
20123      256,   257,   258,   259,   260,   261,   262,    -1,   264,   265,
20124      266,   267,    -1,   269,   270,   271,   272,   273,   274,    -1,
20125      276,   277,    -1,    -1,   280,   281,   282,    -1,    -1,   285,
20126      286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
20127      296,   297,   298,   299,   300,    -1,    -1,   303,   304,   305,
20128      306,   307,   308,   309,   310,    -1,   312,   313,   314,   315,
20129      316,   317,   318,   319,   320,   321,   322,   323,   324,   325,
20130      326,    -1,   328,   329,   330,   331,   332,   333,   334,   335,
20131      336,   337,   338,   339,    -1,   341,   342,   343,   344,   345,
20132      346,   347,   348,   349,   350,   351,   352,   353,   354,   355,
20133      356,   357,   358,    -1,   360,   361,   362,   363,   364,   365,
20134      366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
20135       -1,   377,   378,   379,   380,   381,   382,   383,   384,   385,
20136      386,   387,   388,   389,   390,   391,    -1,   393,   394,    -1,
20137      396,   397,   398,   399,   400,   401,   402,    -1,   404,   405,
20138      406,    -1,    -1,   409,   410,   411,   412,   413,    -1,   415,
20139      416,   417,   418,   419,   420,   421,   422,    -1,    -1,   425,
20140      426,   427,   428,   429,    -1,    -1,   432,   433,   434,   435,
20141      436,   437,   438,    -1,   440,   441,   442,   443,   444,   445,
20142       -1,    -1,   448,    -1,    -1,   451,   452,   453,   454,   455,
20143      456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
20144      466,   467,   468,   469,   470,     3,    -1,    -1,    -1,    -1,
20145       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20146       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
20147       -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,
20148       -1,    39,    40,    -1,    42,    43,    44,    45,    46,    47,
20149       48,    49,    50,    51,    52,    53,    -1,    55,    56,    57,
20150       58,    59,    60,    -1,    -1,    63,    64,    65,    66,    67,
20151       -1,    69,    70,    71,    72,    73,    -1,    75,    -1,    77,
20152       78,    79,    80,    81,    82,    83,    84,    85,    -1,    87,
20153       88,    89,    90,    91,    92,    -1,    94,    95,    96,    97,
20154       -1,    -1,    -1,   101,    -1,    -1,   104,   105,   106,   107,
20155      108,   109,   110,   111,   112,   113,    -1,   115,    -1,   117,
20156      118,   119,   120,   121,   122,    -1,   124,   125,   126,   127,
20157       -1,    -1,   130,   131,   132,   133,   134,    -1,   136,   137,
20158      138,    -1,   140,   141,   142,    -1,   144,   145,   146,   147,
20159      148,   149,   150,   151,   152,   153,    -1,   155,    -1,   157,
20160      158,   159,   160,    -1,   162,    -1,   164,   165,    -1,   167,
20161      168,   169,   170,   171,    -1,   173,   174,    -1,   176,   177,
20162      178,    -1,   180,   181,   182,   183,   184,   185,   186,   187,
20163      188,   189,    -1,   191,   192,   193,   194,   195,   196,   197,
20164       -1,   199,   200,   201,   202,   203,   204,   205,   206,   207,
20165       -1,   209,    -1,   211,   212,   213,   214,   215,   216,   217,
20166      218,   219,   220,    -1,    -1,   223,   224,   225,   226,   227,
20167       -1,   229,   230,   231,    -1,    -1,   234,   235,   236,   237,
20168      238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
20169      248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
20170      258,   259,   260,   261,   262,    -1,   264,   265,   266,   267,
20171       -1,   269,   270,   271,   272,   273,   274,    -1,   276,   277,
20172       -1,    -1,   280,   281,   282,    -1,    -1,   285,   286,   287,
20173      288,   289,   290,   291,   292,   293,   294,   295,   296,   297,
20174      298,   299,   300,    -1,    -1,   303,   304,   305,   306,   307,
20175      308,   309,   310,    -1,   312,   313,   314,   315,   316,   317,
20176      318,   319,   320,   321,   322,   323,   324,   325,   326,    -1,
20177      328,   329,   330,   331,   332,   333,   334,   335,   336,   337,
20178      338,   339,    -1,   341,   342,   343,   344,   345,   346,   347,
20179      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
20180      358,    -1,   360,   361,   362,   363,   364,   365,   366,   367,
20181      368,   369,   370,   371,   372,   373,   374,   375,    -1,   377,
20182      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
20183      388,   389,   390,   391,    -1,   393,   394,    -1,   396,   397,
20184      398,   399,   400,   401,   402,    -1,   404,   405,   406,    -1,
20185       -1,   409,   410,   411,   412,   413,    -1,   415,   416,   417,
20186      418,   419,   420,   421,   422,    -1,    -1,   425,   426,   427,
20187      428,   429,    -1,    -1,   432,   433,   434,   435,   436,   437,
20188      438,    -1,   440,   441,   442,   443,   444,   445,    -1,    -1,
20189      448,    -1,    -1,   451,   452,   453,   454,   455,   456,   457,
20190      458,   459,   460,   461,   462,   463,   464,   465,   466,   467,
20191      468,   469,   470,     3,    -1,    -1,    -1,    -1,    -1,    -1,
20192       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20193       20,    21,    22,    23,    24,    25,    26,    27,    -1,    29,
20194       30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,
20195       40,    -1,    42,    43,    44,    45,    46,    47,    48,    49,
20196       50,    51,    52,    53,    -1,    55,    56,    57,    58,    59,
20197       60,    -1,    -1,    63,    64,    65,    66,    67,    -1,    69,
20198       70,    71,    72,    73,    -1,    75,    -1,    77,    78,    79,
20199       80,    81,    82,    83,    84,    85,    -1,    87,    88,    89,
20200       90,    91,    92,    -1,    94,    95,    96,    97,    -1,    -1,
20201       -1,   101,    -1,    -1,   104,   105,   106,   107,   108,   109,
20202      110,   111,   112,   113,    -1,   115,    -1,   117,   118,   119,
20203      120,   121,   122,    -1,   124,   125,   126,   127,    -1,    -1,
20204      130,   131,   132,   133,   134,    -1,   136,   137,   138,    -1,
20205      140,   141,   142,    -1,   144,   145,   146,   147,   148,   149,
20206      150,   151,   152,   153,    -1,   155,    -1,   157,   158,   159,
20207      160,    -1,   162,    -1,   164,   165,    -1,   167,   168,   169,
20208      170,   171,    -1,   173,   174,    -1,   176,   177,   178,    -1,
20209      180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
20210       -1,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
20211      200,   201,   202,   203,   204,   205,   206,   207,    -1,   209,
20212       -1,   211,   212,   213,   214,   215,   216,   217,   218,   219,
20213      220,    -1,    -1,   223,   224,   225,   226,   227,    -1,   229,
20214      230,   231,    -1,    -1,   234,   235,   236,   237,   238,   239,
20215      240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
20216      250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
20217      260,   261,   262,    -1,   264,   265,   266,   267,    -1,   269,
20218      270,   271,   272,   273,   274,    -1,   276,   277,    -1,    -1,
20219      280,   281,   282,    -1,    -1,   285,   286,   287,   288,   289,
20220      290,   291,   292,   293,   294,   295,   296,   297,   298,   299,
20221      300,    -1,    -1,   303,   304,   305,   306,   307,   308,   309,
20222      310,    -1,   312,   313,   314,   315,   316,   317,   318,   319,
20223      320,   321,   322,   323,   324,   325,   326,    -1,   328,   329,
20224      330,   331,   332,   333,   334,   335,   336,   337,   338,   339,
20225       -1,   341,   342,   343,   344,   345,   346,   347,   348,   349,
20226      350,   351,   352,   353,   354,   355,   356,   357,   358,    -1,
20227      360,   361,   362,   363,   364,   365,   366,   367,   368,   369,
20228      370,   371,   372,   373,   374,   375,    -1,   377,   378,   379,
20229      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
20230      390,   391,    -1,   393,   394,    -1,   396,   397,   398,   399,
20231      400,   401,   402,    -1,   404,   405,   406,    -1,    -1,   409,
20232      410,   411,   412,   413,    -1,   415,   416,   417,   418,   419,
20233      420,   421,   422,    -1,    -1,   425,   426,   427,   428,   429,
20234       -1,    -1,   432,   433,   434,   435,   436,   437,   438,    -1,
20235      440,   441,   442,   443,   444,   445,    -1,    -1,   448,    -1,
20236       -1,   451,   452,   453,   454,   455,   456,   457,   458,   459,
20237      460,   461,   462,   463,   464,   465,   466,   467,   468,   469,
20238      470,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20239       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,
20240       22,    23,    24,    25,    26,    27,    -1,    29,    30,    31,
20241       32,    33,    -1,    -1,    -1,    -1,    -1,    39,    40,    -1,
20242       42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
20243       52,    53,    -1,    55,    56,    57,    58,    59,    60,    -1,
20244       -1,    63,    64,    65,    66,    67,    -1,    69,    70,    71,
20245       72,    73,    -1,    75,    -1,    77,    78,    79,    80,    81,
20246       82,    83,    84,    85,    -1,    87,    88,    89,    90,    91,
20247       92,    -1,    94,    95,    96,    97,    -1,    -1,    -1,   101,
20248       -1,    -1,    -1,   105,   106,   107,   108,   109,   110,   111,
20249      112,   113,    -1,   115,    -1,   117,   118,   119,   120,   121,
20250      122,    -1,   124,   125,   126,   127,    -1,    -1,   130,   131,
20251      132,   133,   134,    -1,   136,   137,   138,    -1,   140,   141,
20252      142,    -1,   144,   145,   146,   147,   148,   149,   150,   151,
20253      152,   153,    -1,   155,    -1,   157,   158,   159,   160,    -1,
20254      162,    -1,   164,   165,    -1,   167,   168,   169,   170,   171,
20255       -1,   173,   174,    -1,   176,   177,   178,    -1,   180,   181,
20256      182,   183,   184,   185,   186,   187,   188,   189,    -1,   191,
20257      192,   193,   194,   195,   196,   197,    -1,   199,   200,   201,
20258      202,   203,   204,   205,   206,   207,    -1,   209,    -1,   211,
20259      212,   213,   214,   215,   216,   217,   218,   219,   220,    -1,
20260       -1,   223,   224,   225,   226,   227,    -1,   229,   230,   231,
20261       -1,    -1,   234,   235,   236,   237,   238,   239,   240,   241,
20262      242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
20263      252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
20264      262,    -1,   264,   265,   266,   267,    -1,   269,   270,   271,
20265      272,   273,   274,    -1,   276,   277,    -1,    -1,   280,   281,
20266      282,    -1,    -1,   285,   286,   287,   288,   289,   290,   291,
20267      292,   293,   294,   295,   296,   297,   298,   299,   300,    -1,
20268       -1,   303,   304,   305,   306,   307,   308,   309,   310,    -1,
20269      312,   313,   314,   315,   316,   317,   318,   319,   320,   321,
20270      322,   323,   324,   325,   326,    -1,   328,   329,   330,   331,
20271      332,   333,   334,   335,   336,   337,   338,   339,    -1,   341,
20272      342,   343,   344,   345,   346,   347,   348,   349,   350,   351,
20273      352,   353,   354,   355,   356,   357,   358,    -1,   360,   361,
20274      362,   363,   364,    -1,   366,   367,   368,   369,   370,   371,
20275      372,   373,   374,   375,    -1,   377,   378,   379,   380,   381,
20276      382,   383,   384,   385,   386,   387,   388,   389,   390,   391,
20277       -1,   393,   394,    -1,   396,   397,   398,   399,   400,   401,
20278      402,    -1,   404,   405,   406,    -1,    -1,   409,   410,   411,
20279      412,   413,    -1,   415,   416,   417,   418,   419,   420,   421,
20280      422,    -1,    -1,   425,   426,   427,   428,   429,    -1,    -1,
20281      432,   433,   434,   435,   436,   437,   438,    -1,   440,   441,
20282      442,   443,   444,   445,    -1,    -1,   448,    -1,    -1,   451,
20283      452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
20284      462,   463,   464,   465,   466,   467,   468,   469,   470,     3,
20285       -1,    -1,     6,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20286       -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
20287       24,    25,    26,    27,    -1,    29,    30,    31,    -1,    -1,
20288       -1,    -1,    -1,    -1,    -1,    39,    40,    -1,    42,    43,
20289       44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
20290       -1,    55,    56,    57,    58,    59,    60,    -1,    -1,    63,
20291       64,    65,    66,    67,    -1,    69,    70,    71,    72,    73,
20292       -1,    75,    -1,    77,    78,    79,    80,    81,    82,    83,
20293       84,    85,    -1,    87,    88,    89,    90,    91,    92,    -1,
20294       94,    95,    96,    97,    -1,    -1,    -1,   101,    -1,    -1,
20295       -1,   105,   106,   107,   108,   109,   110,   111,   112,   113,
20296      114,   115,    -1,   117,   118,   119,   120,   121,   122,    -1,
20297      124,   125,   126,   127,    -1,    -1,   130,   131,   132,   133,
20298      134,    -1,   136,   137,   138,    -1,   140,   141,   142,    -1,
20299      144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
20300       -1,   155,    -1,   157,   158,   159,   160,    -1,   162,    -1,
20301      164,   165,    -1,   167,   168,   169,   170,   171,    -1,   173,
20302      174,    -1,   176,   177,   178,    -1,   180,   181,   182,   183,
20303      184,   185,   186,   187,   188,   189,    -1,   191,   192,   193,
20304      194,   195,   196,   197,    -1,   199,   200,   201,   202,   203,
20305      204,   205,   206,   207,    -1,   209,    -1,   211,   212,   213,
20306      214,   215,   216,   217,   218,   219,   220,    -1,    -1,   223,
20307      224,   225,   226,   227,    -1,   229,   230,   231,    -1,    -1,
20308      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
20309      244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
20310      254,   255,   256,   257,   258,   259,   260,   261,   262,    -1,
20311      264,   265,   266,   267,    -1,   269,   270,   271,   272,   273,
20312      274,    -1,   276,   277,    -1,    -1,   280,   281,   282,    -1,
20313       -1,   285,   286,   287,   288,   289,   290,   291,   292,   293,
20314      294,   295,   296,   297,   298,   299,   300,    -1,    -1,   303,
20315      304,   305,   306,   307,   308,   309,   310,    -1,   312,   313,
20316      314,   315,   316,   317,   318,   319,   320,   321,   322,   323,
20317      324,   325,   326,    -1,   328,   329,   330,   331,   332,   333,
20318      334,   335,   336,   337,   338,   339,    -1,   341,   342,   343,
20319      344,   345,   346,   347,   348,   349,   350,   351,   352,   353,
20320      354,   355,   356,   357,   358,    -1,   360,   361,   362,   363,
20321      364,    -1,   366,   367,   368,   369,   370,   371,   372,   373,
20322      374,   375,    -1,   377,   378,   379,   380,   381,   382,   383,
20323      384,   385,   386,   387,   388,   389,   390,   391,    -1,   393,
20324      394,    -1,   396,   397,   398,   399,   400,   401,   402,    -1,
20325      404,   405,   406,    -1,    -1,   409,   410,   411,   412,   413,
20326       -1,   415,   416,   417,   418,   419,   420,   421,   422,    -1,
20327       -1,   425,   426,   427,   428,   429,    -1,    -1,   432,   433,
20328      434,   435,   436,   437,   438,    -1,   440,   441,   442,   443,
20329      444,   445,    -1,    -1,   448,    -1,    -1,   451,   452,   453,
20330      454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
20331      464,   465,   466,   467,   468,   469,   470,     3,    -1,    -1,
20332        6,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20333       -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
20334       26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,
20335       -1,    -1,    -1,    39,    40,    -1,    42,    43,    44,    45,
20336       46,    47,    48,    49,    50,    51,    52,    53,    -1,    55,
20337       56,    57,    58,    59,    60,    -1,    -1,    63,    64,    65,
20338       66,    67,    -1,    69,    70,    71,    72,    73,    -1,    75,
20339       -1,    77,    78,    79,    80,    81,    82,    83,    84,    85,
20340       -1,    87,    88,    89,    90,    91,    92,    -1,    94,    95,
20341       96,    97,    -1,    -1,    -1,   101,    -1,    -1,    -1,   105,
20342      106,   107,   108,   109,   110,   111,   112,   113,    -1,   115,
20343       -1,   117,   118,   119,   120,   121,   122,    -1,   124,   125,
20344      126,   127,    -1,    -1,   130,   131,   132,   133,   134,    -1,
20345      136,   137,   138,    -1,   140,   141,   142,    -1,   144,   145,
20346      146,   147,   148,   149,   150,   151,   152,   153,    -1,   155,
20347       -1,   157,   158,   159,   160,    -1,   162,    -1,   164,   165,
20348       -1,   167,   168,   169,   170,   171,    -1,   173,   174,    -1,
20349      176,   177,   178,    -1,   180,   181,   182,   183,   184,   185,
20350      186,   187,   188,   189,    -1,   191,   192,   193,   194,   195,
20351      196,   197,    -1,   199,   200,   201,   202,   203,   204,   205,
20352      206,   207,    -1,   209,    -1,   211,   212,   213,   214,   215,
20353      216,   217,   218,   219,   220,    -1,    -1,   223,   224,   225,
20354      226,   227,    -1,   229,   230,   231,    -1,    -1,   234,   235,
20355      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
20356      246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
20357      256,   257,   258,   259,   260,   261,   262,    -1,   264,   265,
20358      266,   267,    -1,   269,   270,   271,   272,   273,   274,    -1,
20359      276,   277,    -1,    -1,   280,   281,   282,    -1,    -1,   285,
20360      286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
20361      296,   297,   298,   299,   300,    -1,    -1,   303,   304,   305,
20362      306,   307,   308,   309,   310,    -1,   312,   313,   314,   315,
20363      316,   317,   318,   319,   320,   321,   322,   323,   324,   325,
20364      326,    -1,   328,   329,   330,   331,   332,   333,   334,   335,
20365      336,   337,   338,   339,    -1,   341,   342,   343,   344,   345,
20366      346,   347,   348,   349,   350,   351,   352,   353,   354,   355,
20367      356,   357,   358,    -1,   360,   361,   362,   363,   364,    -1,
20368      366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
20369       -1,   377,   378,   379,   380,   381,   382,   383,   384,   385,
20370      386,   387,   388,   389,   390,   391,    -1,   393,   394,    -1,
20371      396,   397,   398,   399,   400,   401,   402,    -1,   404,   405,
20372      406,    -1,    -1,   409,   410,   411,   412,   413,    -1,   415,
20373      416,   417,   418,   419,   420,   421,   422,    -1,    -1,   425,
20374      426,   427,   428,   429,    -1,    -1,   432,   433,   434,   435,
20375      436,   437,   438,    -1,   440,   441,   442,   443,   444,   445,
20376       -1,    -1,   448,    -1,    -1,   451,   452,   453,   454,   455,
20377      456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
20378      466,   467,   468,   469,   470,     3,    -1,    -1,     6,    -1,
20379       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20380       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
20381       -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,
20382       -1,    39,    40,    -1,    42,    43,    44,    45,    46,    47,
20383       48,    49,    50,    51,    52,    53,    -1,    55,    56,    57,
20384       58,    59,    60,    -1,    -1,    63,    64,    65,    66,    67,
20385       -1,    69,    70,    71,    72,    73,    -1,    75,    -1,    77,
20386       78,    79,    80,    81,    82,    83,    84,    85,    -1,    87,
20387       88,    89,    90,    91,    92,    -1,    94,    95,    96,    97,
20388       -1,    -1,    -1,   101,    -1,    -1,    -1,   105,   106,   107,
20389      108,   109,   110,   111,   112,   113,    -1,   115,    -1,   117,
20390      118,   119,   120,   121,   122,    -1,   124,   125,   126,   127,
20391       -1,    -1,   130,   131,   132,   133,   134,    -1,   136,   137,
20392      138,    -1,   140,   141,   142,    -1,   144,   145,   146,   147,
20393      148,   149,   150,   151,   152,   153,    -1,   155,    -1,   157,
20394      158,   159,   160,    -1,   162,    -1,   164,   165,    -1,   167,
20395      168,   169,   170,   171,    -1,   173,   174,    -1,   176,   177,
20396      178,    -1,   180,   181,   182,   183,   184,   185,   186,   187,
20397      188,   189,    -1,   191,   192,   193,   194,   195,   196,   197,
20398       -1,   199,   200,   201,   202,   203,   204,   205,   206,   207,
20399       -1,   209,    -1,   211,   212,   213,   214,   215,   216,   217,
20400      218,   219,   220,    -1,    -1,   223,   224,   225,   226,   227,
20401       -1,   229,   230,   231,    -1,    -1,   234,   235,   236,   237,
20402      238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
20403      248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
20404      258,   259,   260,   261,   262,    -1,   264,   265,   266,   267,
20405       -1,   269,   270,   271,   272,   273,   274,    -1,   276,   277,
20406       -1,    -1,   280,   281,   282,    -1,    -1,   285,   286,   287,
20407      288,   289,   290,   291,   292,   293,   294,   295,   296,   297,
20408      298,   299,   300,    -1,    -1,   303,   304,   305,   306,   307,
20409      308,   309,   310,    -1,   312,   313,   314,   315,   316,   317,
20410      318,   319,   320,   321,   322,   323,   324,   325,   326,    -1,
20411      328,   329,   330,   331,   332,   333,   334,   335,   336,   337,
20412      338,   339,    -1,   341,   342,   343,   344,   345,   346,   347,
20413      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
20414      358,    -1,   360,   361,   362,   363,   364,    -1,   366,   367,
20415      368,   369,   370,   371,   372,   373,   374,   375,    -1,   377,
20416      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
20417      388,   389,   390,   391,    -1,   393,   394,    -1,   396,   397,
20418      398,   399,   400,   401,   402,    -1,   404,   405,   406,    -1,
20419       -1,   409,   410,   411,   412,   413,    -1,   415,   416,   417,
20420      418,   419,   420,   421,   422,    -1,    -1,   425,   426,   427,
20421      428,   429,    -1,    -1,   432,   433,   434,   435,   436,   437,
20422      438,    -1,   440,   441,   442,   443,   444,   445,    -1,    -1,
20423      448,    -1,    -1,   451,   452,   453,   454,   455,   456,   457,
20424      458,   459,   460,   461,   462,   463,   464,   465,   466,   467,
20425      468,   469,   470,     3,    -1,    -1,    -1,    -1,    -1,    -1,
20426       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20427       20,    21,    22,    23,    24,    25,    26,    27,    -1,    29,
20428       30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,
20429       40,    -1,    42,    43,    44,    45,    46,    47,    48,    49,
20430       50,    51,    52,    53,    -1,    55,    56,    57,    58,    59,
20431       60,    -1,    -1,    63,    64,    65,    66,    67,    -1,    69,
20432       70,    71,    72,    73,    -1,    75,    -1,    77,    78,    79,
20433       80,    81,    82,    83,    84,    85,    -1,    87,    88,    89,
20434       90,    91,    92,    -1,    94,    95,    96,    97,    -1,    -1,
20435       -1,   101,    -1,    -1,    -1,   105,   106,   107,   108,   109,
20436      110,   111,   112,   113,    -1,   115,    -1,   117,   118,   119,
20437      120,   121,   122,    -1,   124,   125,   126,   127,    -1,    -1,
20438      130,   131,   132,   133,   134,    -1,   136,   137,   138,    -1,
20439      140,   141,   142,    -1,   144,   145,   146,   147,   148,   149,
20440      150,   151,   152,   153,    -1,   155,    -1,   157,   158,   159,
20441      160,    -1,   162,    -1,   164,   165,    -1,   167,   168,   169,
20442      170,   171,    -1,   173,   174,    -1,   176,   177,   178,    -1,
20443      180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
20444       -1,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
20445      200,   201,   202,   203,   204,   205,   206,   207,    -1,   209,
20446       -1,   211,   212,   213,   214,   215,   216,   217,   218,   219,
20447      220,    -1,    -1,   223,   224,   225,   226,   227,    -1,   229,
20448      230,   231,    -1,    -1,   234,   235,   236,   237,   238,   239,
20449      240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
20450      250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
20451      260,   261,   262,    -1,   264,   265,   266,   267,    -1,   269,
20452      270,   271,   272,   273,   274,    -1,   276,   277,    -1,    -1,
20453      280,   281,   282,    -1,    -1,   285,   286,   287,   288,   289,
20454      290,   291,   292,   293,   294,   295,   296,   297,   298,   299,
20455      300,    -1,    -1,   303,   304,   305,   306,   307,   308,   309,
20456      310,    -1,   312,   313,   314,   315,   316,   317,   318,   319,
20457      320,   321,   322,   323,   324,   325,   326,    -1,   328,   329,
20458      330,   331,   332,   333,   334,   335,   336,   337,   338,   339,
20459       -1,   341,   342,   343,   344,   345,   346,   347,   348,   349,
20460      350,   351,   352,   353,   354,   355,   356,   357,   358,    -1,
20461      360,   361,   362,   363,   364,    -1,   366,   367,   368,   369,
20462      370,   371,   372,   373,   374,   375,    -1,   377,   378,   379,
20463      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
20464      390,   391,    -1,   393,   394,    -1,   396,   397,   398,   399,
20465      400,   401,   402,    -1,   404,   405,   406,    -1,    -1,   409,
20466      410,   411,   412,   413,    -1,   415,   416,   417,   418,   419,
20467      420,   421,   422,    -1,    -1,   425,   426,   427,   428,   429,
20468       -1,    -1,   432,   433,   434,   435,   436,   437,   438,    -1,
20469      440,   441,   442,   443,   444,   445,    -1,    -1,   448,    -1,
20470       -1,   451,   452,   453,   454,   455,   456,   457,   458,   459,
20471      460,   461,   462,   463,   464,   465,   466,   467,   468,   469,
20472      470,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20473       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,
20474       22,    23,    24,    25,    26,    27,    -1,    29,    30,    31,
20475       -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    -1,
20476       42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
20477       52,    53,    -1,    55,    56,    57,    58,    59,    60,    -1,
20478       -1,    63,    64,    65,    66,    67,    -1,    69,    70,    71,
20479       72,    73,    -1,    75,    -1,    77,    78,    79,    80,    81,
20480       82,    83,    84,    85,    -1,    87,    88,    89,    90,    91,
20481       92,    -1,    94,    95,    96,    97,    -1,    -1,    -1,   101,
20482       -1,    -1,    -1,   105,   106,   107,   108,   109,   110,   111,
20483      112,   113,    -1,   115,    -1,   117,   118,   119,   120,   121,
20484      122,    -1,   124,   125,   126,   127,    -1,    -1,   130,   131,
20485      132,   133,   134,    -1,   136,   137,   138,    -1,   140,   141,
20486      142,    -1,   144,   145,   146,   147,   148,   149,   150,   151,
20487      152,   153,    -1,   155,    -1,   157,   158,   159,   160,    -1,
20488      162,    -1,   164,   165,    -1,   167,   168,   169,   170,   171,
20489       -1,   173,   174,    -1,   176,   177,   178,    -1,   180,   181,
20490      182,   183,   184,   185,   186,   187,   188,   189,    -1,   191,
20491      192,   193,   194,   195,   196,   197,    -1,   199,   200,   201,
20492      202,   203,   204,   205,   206,   207,    -1,   209,    -1,   211,
20493      212,   213,   214,   215,   216,   217,   218,   219,   220,    -1,
20494       -1,   223,   224,   225,   226,   227,    -1,   229,   230,   231,
20495       -1,    -1,   234,   235,   236,   237,   238,   239,   240,   241,
20496      242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
20497      252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
20498      262,    -1,   264,   265,   266,   267,    -1,   269,   270,   271,
20499      272,   273,   274,    -1,   276,   277,    -1,    -1,   280,   281,
20500      282,    -1,    -1,   285,   286,   287,   288,   289,   290,   291,
20501      292,   293,   294,   295,   296,   297,   298,   299,   300,    -1,
20502       -1,   303,   304,   305,   306,   307,   308,   309,   310,    -1,
20503      312,   313,   314,   315,   316,   317,   318,   319,   320,   321,
20504      322,   323,   324,   325,   326,    -1,   328,   329,   330,   331,
20505      332,   333,   334,   335,   336,   337,   338,   339,    -1,   341,
20506      342,   343,   344,   345,   346,   347,   348,   349,   350,   351,
20507      352,   353,   354,   355,   356,   357,   358,    -1,   360,   361,
20508      362,   363,   364,    -1,   366,   367,   368,   369,   370,   371,
20509      372,   373,   374,   375,    -1,   377,   378,   379,   380,   381,
20510      382,   383,   384,   385,   386,   387,   388,   389,   390,   391,
20511       -1,   393,   394,    -1,   396,   397,   398,   399,   400,   401,
20512      402,    -1,   404,   405,   406,    -1,    -1,   409,   410,   411,
20513      412,   413,    -1,   415,   416,   417,   418,   419,   420,   421,
20514      422,    -1,    -1,   425,   426,   427,   428,   429,    -1,    -1,
20515      432,   433,   434,   435,   436,   437,   438,    -1,   440,   441,
20516      442,   443,   444,   445,    -1,    -1,   448,    -1,    -1,   451,
20517      452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
20518      462,   463,   464,   465,   466,   467,   468,   469,   470,     3,
20519       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20520       -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
20521       24,    25,    26,    27,    -1,    29,    30,    31,    -1,    -1,
20522       -1,    -1,    -1,    -1,    -1,    39,    40,    -1,    42,    43,
20523       44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
20524       -1,    55,    56,    57,    58,    59,    60,    -1,    -1,    63,
20525       64,    65,    66,    67,    -1,    69,    70,    71,    72,    73,
20526       -1,    75,    -1,    77,    78,    79,    80,    81,    82,    83,
20527       84,    85,    -1,    87,    88,    89,    90,    91,    92,    -1,
20528       94,    95,    96,    97,    -1,    -1,    -1,   101,    -1,    -1,
20529       -1,   105,   106,   107,   108,   109,   110,   111,   112,   113,
20530       -1,   115,    -1,   117,   118,   119,   120,   121,   122,    -1,
20531      124,   125,   126,   127,    -1,    -1,   130,   131,   132,   133,
20532      134,    -1,   136,   137,   138,    -1,   140,   141,   142,    -1,
20533      144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
20534       -1,   155,    -1,   157,   158,   159,   160,    -1,   162,    -1,
20535      164,   165,    -1,   167,   168,   169,   170,   171,    -1,   173,
20536      174,    -1,   176,   177,   178,    -1,   180,   181,   182,   183,
20537      184,   185,   186,   187,   188,   189,    -1,   191,   192,   193,
20538      194,   195,   196,   197,    -1,   199,   200,   201,   202,   203,
20539      204,   205,   206,   207,    -1,   209,    -1,   211,   212,   213,
20540      214,   215,   216,   217,   218,   219,   220,    -1,    -1,   223,
20541      224,   225,   226,   227,    -1,   229,   230,   231,    -1,    -1,
20542      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
20543      244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
20544      254,   255,   256,   257,   258,   259,   260,   261,   262,    -1,
20545      264,   265,   266,   267,    -1,   269,   270,   271,   272,   273,
20546      274,    -1,   276,   277,    -1,    -1,   280,   281,   282,    -1,
20547       -1,   285,   286,   287,   288,   289,   290,   291,   292,   293,
20548      294,   295,   296,   297,   298,   299,   300,    -1,    -1,   303,
20549      304,   305,   306,   307,   308,   309,   310,    -1,   312,   313,
20550      314,   315,   316,   317,   318,   319,   320,   321,   322,   323,
20551      324,   325,   326,    -1,   328,   329,   330,   331,   332,   333,
20552      334,   335,   336,   337,   338,   339,    -1,   341,   342,   343,
20553      344,   345,   346,   347,   348,   349,   350,   351,   352,   353,
20554      354,   355,   356,   357,   358,    -1,   360,   361,   362,   363,
20555      364,    -1,   366,   367,   368,   369,   370,   371,   372,   373,
20556      374,   375,    -1,   377,   378,   379,   380,   381,   382,   383,
20557      384,   385,   386,   387,   388,   389,   390,   391,    -1,   393,
20558      394,    -1,   396,   397,   398,   399,   400,   401,   402,    -1,
20559      404,   405,   406,    -1,    -1,   409,   410,   411,   412,   413,
20560       -1,   415,   416,   417,   418,   419,   420,   421,   422,    -1,
20561       -1,   425,   426,   427,   428,   429,    -1,    -1,   432,   433,
20562      434,   435,   436,   437,   438,    -1,   440,   441,   442,   443,
20563      444,   445,    -1,    -1,   448,    -1,    -1,   451,   452,   453,
20564      454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
20565      464,   465,   466,   467,   468,   469,   470,     3,    -1,    -1,
20566       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20567       -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
20568       26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,
20569       -1,    -1,    -1,    39,    40,    -1,    42,    43,    44,    45,
20570       46,    47,    48,    49,    50,    51,    52,    53,    -1,    55,
20571       56,    57,    58,    59,    60,    -1,    -1,    63,    64,    65,
20572       66,    67,    -1,    69,    70,    71,    72,    73,    -1,    75,
20573       -1,    77,    78,    79,    80,    81,    82,    83,    84,    85,
20574       -1,    87,    88,    89,    90,    91,    92,    -1,    94,    95,
20575       96,    97,    -1,    -1,    -1,   101,    -1,    -1,    -1,   105,
20576      106,   107,   108,   109,   110,   111,   112,   113,    -1,   115,
20577       -1,   117,   118,   119,   120,   121,   122,    -1,   124,   125,
20578      126,   127,    -1,    -1,   130,   131,   132,   133,   134,    -1,
20579      136,   137,   138,    -1,   140,   141,   142,    -1,   144,   145,
20580      146,   147,   148,   149,   150,   151,   152,   153,    -1,   155,
20581       -1,   157,   158,   159,   160,    -1,   162,    -1,   164,   165,
20582       -1,   167,   168,   169,   170,   171,    -1,   173,   174,    -1,
20583      176,   177,   178,    -1,   180,   181,   182,   183,   184,   185,
20584      186,   187,   188,   189,    -1,   191,   192,   193,   194,   195,
20585      196,   197,    -1,   199,   200,   201,   202,   203,   204,   205,
20586      206,   207,    -1,   209,    -1,   211,   212,   213,   214,   215,
20587      216,   217,   218,   219,   220,    -1,    -1,   223,   224,   225,
20588      226,   227,    -1,   229,   230,   231,    -1,    -1,   234,   235,
20589      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
20590      246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
20591      256,   257,   258,   259,   260,   261,   262,    -1,   264,   265,
20592      266,   267,    -1,   269,   270,   271,   272,   273,   274,    -1,
20593      276,   277,    -1,    -1,   280,   281,   282,    -1,    -1,   285,
20594      286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
20595      296,   297,   298,   299,   300,    -1,    -1,   303,   304,   305,
20596      306,   307,   308,   309,   310,    -1,   312,   313,   314,   315,
20597      316,   317,   318,   319,   320,   321,   322,   323,   324,   325,
20598      326,    -1,   328,   329,   330,   331,   332,   333,   334,   335,
20599      336,   337,   338,   339,    -1,   341,   342,   343,   344,   345,
20600      346,   347,   348,   349,   350,   351,   352,   353,   354,   355,
20601      356,   357,   358,    -1,   360,   361,   362,   363,   364,    -1,
20602      366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
20603       -1,   377,   378,   379,   380,   381,   382,   383,   384,   385,
20604      386,   387,   388,   389,   390,   391,    -1,   393,   394,    -1,
20605      396,   397,   398,   399,   400,   401,   402,    -1,   404,   405,
20606      406,    -1,    -1,   409,   410,   411,   412,   413,    -1,   415,
20607      416,   417,   418,   419,   420,   421,   422,    -1,    -1,   425,
20608      426,   427,   428,   429,    -1,    -1,   432,   433,   434,   435,
20609      436,   437,   438,    -1,   440,   441,   442,   443,   444,   445,
20610       -1,    -1,   448,    -1,    -1,   451,   452,   453,   454,   455,
20611      456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
20612      466,   467,   468,   469,   470,     3,    -1,    -1,    -1,    -1,
20613       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20614       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
20615       -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,
20616       -1,    39,    40,    -1,    42,    43,    44,    45,    46,    47,
20617       48,    49,    50,    51,    52,    53,    -1,    55,    56,    57,
20618       58,    59,    60,    -1,    -1,    63,    64,    65,    66,    67,
20619       -1,    69,    70,    71,    72,    73,    -1,    75,    -1,    77,
20620       78,    79,    80,    81,    82,    83,    84,    85,    -1,    87,
20621       88,    89,    90,    91,    92,    -1,    94,    95,    96,    97,
20622       -1,    -1,    -1,   101,    -1,    -1,    -1,   105,   106,   107,
20623      108,   109,   110,   111,   112,   113,    -1,   115,    -1,   117,
20624      118,   119,   120,   121,   122,    -1,   124,   125,   126,   127,
20625       -1,    -1,   130,   131,   132,   133,   134,    -1,   136,   137,
20626      138,    -1,   140,   141,   142,    -1,   144,   145,   146,   147,
20627      148,   149,   150,   151,   152,   153,    -1,   155,    -1,   157,
20628      158,   159,   160,    -1,   162,    -1,   164,   165,    -1,   167,
20629      168,   169,   170,   171,    -1,   173,   174,    -1,   176,   177,
20630      178,    -1,   180,   181,   182,   183,   184,   185,   186,   187,
20631      188,   189,    -1,   191,   192,   193,   194,   195,   196,   197,
20632       -1,   199,   200,   201,   202,   203,   204,   205,   206,   207,
20633       -1,   209,    -1,   211,   212,   213,   214,   215,   216,   217,
20634      218,   219,   220,    -1,    -1,   223,   224,   225,   226,   227,
20635       -1,   229,   230,   231,    -1,    -1,   234,   235,   236,   237,
20636      238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
20637      248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
20638      258,   259,   260,   261,   262,    -1,   264,   265,   266,   267,
20639       -1,   269,   270,   271,   272,   273,   274,    -1,   276,   277,
20640       -1,    -1,   280,   281,   282,    -1,    -1,   285,   286,   287,
20641      288,   289,   290,   291,   292,   293,   294,   295,   296,   297,
20642      298,   299,   300,    -1,    -1,   303,   304,   305,   306,   307,
20643      308,   309,   310,    -1,   312,   313,   314,   315,   316,   317,
20644      318,   319,   320,   321,   322,   323,   324,   325,   326,    -1,
20645      328,   329,   330,   331,   332,   333,   334,   335,   336,   337,
20646      338,   339,    -1,   341,   342,   343,   344,   345,   346,   347,
20647      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
20648      358,    -1,   360,   361,   362,   363,   364,    -1,   366,   367,
20649      368,   369,   370,   371,   372,   373,   374,   375,    -1,   377,
20650      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
20651      388,   389,   390,   391,    -1,   393,   394,    -1,   396,   397,
20652      398,   399,   400,   401,   402,    -1,   404,   405,   406,    -1,
20653       -1,   409,   410,   411,   412,   413,    -1,   415,   416,   417,
20654      418,   419,   420,   421,   422,    -1,    -1,   425,   426,   427,
20655      428,   429,    -1,    -1,   432,   433,   434,   435,   436,   437,
20656      438,    -1,   440,   441,   442,   443,   444,   445,    -1,    -1,
20657      448,    -1,    -1,   451,   452,   453,   454,   455,   456,   457,
20658      458,   459,   460,   461,   462,   463,   464,   465,   466,   467,
20659      468,   469,   470,     3,    -1,    -1,    -1,    -1,    -1,    -1,
20660       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20661       20,    21,    22,    23,    24,    25,    26,    27,    -1,    29,
20662       30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,
20663       40,    -1,    42,    43,    44,    45,    46,    47,    48,    49,
20664       50,    51,    52,    53,    -1,    55,    56,    57,    58,    59,
20665       60,    -1,    -1,    63,    64,    65,    66,    67,    -1,    69,
20666       70,    71,    72,    73,    -1,    75,    -1,    77,    78,    79,
20667       80,    81,    82,    83,    84,    85,    -1,    87,    88,    89,
20668       90,    91,    92,    -1,    94,    95,    96,    97,    -1,    -1,
20669       -1,   101,    -1,    -1,    -1,   105,   106,   107,   108,   109,
20670      110,   111,   112,   113,    -1,   115,    -1,   117,   118,   119,
20671      120,   121,   122,    -1,   124,   125,   126,   127,    -1,    -1,
20672      130,   131,   132,   133,   134,    -1,   136,   137,   138,    -1,
20673      140,   141,   142,    -1,   144,   145,   146,   147,   148,   149,
20674      150,   151,   152,   153,    -1,   155,    -1,   157,   158,   159,
20675      160,    -1,   162,    -1,   164,   165,    -1,   167,   168,   169,
20676      170,   171,    -1,   173,   174,    -1,   176,   177,   178,    -1,
20677      180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
20678       -1,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
20679      200,   201,   202,   203,   204,   205,   206,   207,    -1,   209,
20680       -1,   211,   212,   213,   214,   215,   216,   217,   218,   219,
20681      220,    -1,    -1,   223,   224,   225,   226,   227,    -1,   229,
20682      230,   231,    -1,    -1,   234,   235,   236,   237,   238,   239,
20683      240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
20684      250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
20685      260,   261,   262,    -1,   264,   265,   266,   267,    -1,   269,
20686      270,   271,   272,   273,   274,    -1,   276,   277,    -1,    -1,
20687      280,   281,   282,    -1,    -1,   285,   286,   287,   288,   289,
20688      290,   291,   292,   293,   294,   295,   296,   297,   298,   299,
20689      300,    -1,    -1,   303,   304,   305,   306,   307,   308,   309,
20690      310,    -1,   312,   313,   314,   315,   316,   317,   318,   319,
20691      320,   321,   322,   323,   324,   325,   326,    -1,   328,   329,
20692      330,   331,   332,   333,   334,   335,   336,   337,   338,   339,
20693       -1,   341,   342,   343,   344,   345,   346,   347,   348,   349,
20694      350,   351,   352,   353,   354,   355,   356,   357,   358,    -1,
20695      360,   361,   362,   363,   364,    -1,   366,   367,   368,   369,
20696      370,   371,   372,   373,   374,   375,    -1,   377,   378,   379,
20697      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
20698      390,   391,    -1,   393,   394,    -1,   396,   397,   398,   399,
20699      400,   401,   402,    -1,   404,   405,   406,    -1,    -1,   409,
20700      410,   411,   412,   413,    -1,   415,   416,   417,   418,   419,
20701      420,   421,   422,    -1,    -1,   425,   426,   427,   428,   429,
20702       -1,    -1,   432,   433,   434,   435,   436,   437,   438,    -1,
20703      440,   441,   442,   443,   444,   445,    -1,    -1,   448,    -1,
20704       -1,   451,   452,   453,   454,   455,   456,   457,   458,   459,
20705      460,   461,   462,   463,   464,   465,   466,   467,   468,   469,
20706      470,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20707       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,
20708       22,    23,    24,    25,    26,    27,    -1,    29,    30,    31,
20709       -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    -1,
20710       42,    43,    44,    -1,    46,    47,    48,    49,    50,    -1,
20711       52,    53,    -1,    55,    56,    57,    58,    59,    60,    -1,
20712       -1,    63,    64,    65,    66,    67,    68,    69,    70,    71,
20713       72,    73,    -1,    -1,    76,    77,    78,    79,    80,    81,
20714       -1,    83,    84,    85,    86,    87,    88,    89,    90,    91,
20715       92,    -1,    -1,    95,    96,    97,    -1,    -1,    -1,    -1,
20716       -1,    -1,    -1,   105,   106,   107,   108,   109,   110,   111,
20717      112,   113,    -1,   115,    -1,   117,   118,   119,   120,   121,
20718      122,    -1,   124,   125,   126,   127,    -1,    -1,   130,   131,
20719      132,   133,   134,    -1,   136,   137,   138,    -1,   140,   141,
20720      142,    -1,   144,   145,   146,   147,   148,   149,   150,   151,
20721      152,   153,    -1,   155,    -1,   157,   158,   159,   160,    -1,
20722      162,   163,   164,    -1,    -1,    -1,   168,   169,   170,   171,
20723       -1,   173,   174,    -1,   176,   177,   178,    -1,   180,   181,
20724      182,   183,   184,    -1,   186,   187,   188,   189,    -1,   191,
20725      192,   193,   194,   195,   196,   197,    -1,   199,    -1,   201,
20726      202,   203,   204,   205,   206,   207,    -1,   209,    -1,   211,
20727       -1,    -1,   214,    -1,   216,   217,   218,   219,   220,    -1,
20728       -1,   223,   224,    -1,   226,    -1,    -1,   229,   230,   231,
20729       -1,    -1,   234,   235,   236,   237,   238,   239,   240,   241,
20730      242,   243,   244,   245,   246,   247,   248,   249,   250,    -1,
20731      252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
20732      262,    -1,   264,   265,    -1,   267,    -1,   269,   270,   271,
20733      272,   273,   274,    -1,   276,   277,    -1,    -1,   280,   281,
20734      282,    -1,    -1,   285,   286,   287,    -1,   289,    -1,   291,
20735      292,   293,   294,   295,   296,   297,   298,   299,   300,    -1,
20736       -1,   303,   304,   305,   306,   307,   308,   309,   310,   311,
20737      312,   313,   314,   315,   316,   317,   318,   319,   320,   321,
20738      322,   323,   324,   325,   326,    -1,   328,   329,   330,   331,
20739      332,   333,   334,   335,   336,   337,   338,   339,    -1,   341,
20740      342,    -1,   344,   345,   346,   347,   348,   349,   350,   351,
20741      352,   353,   354,   355,   356,   357,   358,    -1,   360,   361,
20742      362,   363,   364,    -1,   366,   367,   368,   369,   370,    -1,
20743      372,   373,   374,   375,    -1,   377,   378,   379,   380,   381,
20744      382,   383,   384,   385,   386,   387,   388,   389,   390,   391,
20745       -1,   393,   394,    -1,   396,    -1,   398,   399,   400,   401,
20746      402,    -1,   404,   405,   406,    -1,    -1,   409,   410,   411,
20747      412,   413,    -1,   415,   416,   417,   418,   419,   420,   421,
20748      422,    -1,   424,   425,   426,   427,   428,   429,    -1,    -1,
20749      432,   433,   434,   435,   436,   437,   438,    -1,   440,    -1,
20750      442,   443,   444,   445,    -1,    -1,   448,    -1,    -1,   451,
20751      452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
20752      462,   463,   464,   465,   466,   467,   468,   469,   470,     3,
20753       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20754       -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
20755       24,    25,    26,    27,    -1,    29,    30,    31,    -1,    -1,
20756       -1,    -1,    -1,    -1,    -1,    39,    40,    -1,    42,    43,
20757       44,    -1,    46,    47,    48,    49,    50,    -1,    52,    53,
20758       -1,    55,    56,    57,    58,    59,    60,    -1,    -1,    63,
20759       64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
20760       -1,    -1,    -1,    77,    78,    79,    80,    81,    -1,    83,
20761       84,    85,    86,    87,    88,    89,    90,    91,    92,    -1,
20762       -1,    95,    96,    97,    -1,    -1,    -1,    -1,    -1,    -1,
20763       -1,   105,   106,   107,   108,   109,   110,   111,   112,   113,
20764       -1,   115,    -1,   117,   118,   119,   120,   121,   122,    -1,
20765      124,   125,   126,   127,    -1,    -1,   130,   131,   132,   133,
20766      134,    -1,   136,   137,   138,    -1,   140,   141,   142,    -1,
20767      144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
20768       -1,   155,    -1,   157,   158,   159,   160,    -1,   162,   163,
20769      164,    -1,    -1,    -1,   168,   169,   170,   171,    -1,   173,
20770      174,    -1,   176,   177,   178,    -1,   180,   181,   182,   183,
20771      184,    -1,   186,   187,   188,   189,    -1,   191,   192,   193,
20772      194,   195,   196,   197,    -1,   199,    -1,   201,   202,   203,
20773      204,   205,   206,   207,    -1,   209,    -1,   211,    -1,    -1,
20774      214,    -1,   216,   217,   218,   219,   220,    -1,    -1,   223,
20775      224,    -1,   226,   227,    -1,   229,   230,   231,    -1,    -1,
20776      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
20777      244,   245,   246,   247,   248,   249,   250,    -1,   252,   253,
20778      254,   255,   256,   257,   258,   259,   260,   261,   262,    -1,
20779      264,   265,    -1,   267,    -1,   269,   270,   271,   272,   273,
20780      274,    -1,   276,   277,    -1,    -1,   280,   281,   282,    -1,
20781       -1,   285,   286,   287,    -1,   289,    -1,   291,   292,   293,
20782      294,   295,   296,   297,   298,   299,   300,    -1,    -1,   303,
20783      304,   305,   306,   307,   308,   309,   310,   311,   312,   313,
20784      314,   315,   316,   317,   318,   319,   320,   321,   322,   323,
20785      324,   325,   326,    -1,   328,   329,   330,   331,   332,   333,
20786      334,   335,   336,   337,   338,   339,    -1,   341,   342,    -1,
20787      344,   345,   346,   347,   348,   349,   350,   351,   352,   353,
20788      354,   355,   356,   357,   358,    -1,   360,   361,   362,   363,
20789      364,    -1,   366,   367,   368,   369,   370,    -1,   372,   373,
20790      374,   375,    -1,   377,   378,   379,   380,   381,   382,   383,
20791      384,   385,   386,   387,   388,   389,   390,   391,    -1,   393,
20792      394,    -1,   396,    -1,   398,   399,   400,   401,   402,    -1,
20793      404,   405,   406,    -1,    -1,   409,   410,   411,   412,   413,
20794       -1,   415,   416,   417,   418,   419,   420,   421,   422,    -1,
20795      424,   425,   426,   427,   428,   429,    -1,    -1,   432,   433,
20796      434,   435,   436,   437,   438,    -1,   440,    -1,   442,   443,
20797      444,   445,    -1,    -1,   448,    -1,    -1,   451,   452,   453,
20798      454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
20799      464,   465,   466,   467,   468,   469,   470,     3,    -1,    -1,
20800       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20801       -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
20802       26,    27,    28,    29,    30,    31,    -1,    -1,    -1,    -1,
20803       -1,    -1,    -1,    39,    40,    -1,    42,    43,    44,    -1,
20804       46,    47,    48,    49,    50,    -1,    52,    53,    -1,    55,
20805       56,    57,    58,    59,    60,    -1,    -1,    63,    64,    65,
20806       66,    67,    -1,    69,    70,    71,    72,    73,    -1,    -1,
20807       -1,    77,    78,    79,    80,    81,    -1,    83,    84,    85,
20808       -1,    87,    88,    89,    90,    91,    92,    93,    -1,    95,
20809       96,    97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,
20810      106,   107,   108,   109,   110,   111,   112,   113,    -1,   115,
20811       -1,   117,   118,   119,   120,   121,   122,    -1,   124,   125,
20812      126,   127,    -1,    -1,   130,   131,   132,   133,   134,    -1,
20813      136,   137,   138,    -1,   140,   141,   142,    -1,   144,   145,
20814      146,   147,   148,   149,   150,   151,   152,   153,    -1,   155,
20815       -1,   157,   158,   159,   160,    -1,   162,    -1,   164,    -1,
20816       -1,    -1,   168,   169,   170,   171,   172,   173,   174,    -1,
20817      176,   177,   178,    -1,   180,   181,   182,   183,   184,    -1,
20818      186,   187,   188,   189,    -1,   191,   192,   193,   194,   195,
20819      196,   197,    -1,   199,    -1,   201,   202,   203,   204,   205,
20820      206,   207,    -1,   209,    -1,   211,    -1,    -1,   214,    -1,
20821      216,   217,   218,   219,   220,    -1,    -1,   223,   224,    -1,
20822      226,    -1,    -1,   229,   230,   231,    -1,    -1,   234,   235,
20823      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
20824      246,   247,   248,   249,   250,    -1,   252,   253,   254,   255,
20825      256,   257,   258,   259,   260,   261,   262,    -1,   264,   265,
20826       -1,   267,    -1,   269,   270,   271,   272,   273,   274,    -1,
20827      276,   277,    -1,    -1,   280,   281,   282,    -1,    -1,   285,
20828      286,   287,    -1,   289,    -1,   291,   292,   293,   294,   295,
20829      296,   297,   298,   299,   300,    -1,    -1,   303,   304,   305,
20830      306,   307,   308,   309,   310,    -1,   312,   313,   314,   315,
20831      316,   317,   318,   319,   320,   321,   322,   323,   324,   325,
20832      326,   327,   328,   329,   330,   331,   332,   333,   334,   335,
20833      336,   337,   338,   339,    -1,   341,   342,    -1,   344,   345,
20834      346,   347,   348,   349,   350,   351,   352,   353,   354,   355,
20835      356,   357,   358,   359,   360,   361,   362,   363,   364,    -1,
20836      366,   367,   368,   369,   370,    -1,   372,   373,   374,   375,
20837       -1,   377,   378,   379,   380,   381,   382,   383,   384,   385,
20838      386,   387,   388,   389,   390,   391,    -1,   393,   394,    -1,
20839      396,    -1,   398,   399,   400,   401,   402,    -1,   404,   405,
20840      406,    -1,    -1,   409,   410,   411,   412,   413,    -1,   415,
20841      416,   417,   418,   419,   420,   421,   422,    -1,    -1,   425,
20842      426,   427,   428,   429,    -1,    -1,   432,   433,   434,   435,
20843      436,   437,   438,    -1,   440,    -1,   442,   443,   444,   445,
20844       -1,    -1,   448,    -1,    -1,   451,   452,   453,   454,   455,
20845      456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
20846      466,   467,   468,   469,   470,     3,    -1,    -1,    -1,    -1,
20847       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20848       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
20849       28,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,
20850       -1,    39,    40,    -1,    42,    43,    44,    -1,    46,    47,
20851       48,    49,    50,    -1,    52,    53,    -1,    55,    56,    57,
20852       58,    59,    60,    -1,    -1,    63,    64,    65,    66,    67,
20853       -1,    69,    70,    71,    72,    73,    -1,    -1,    -1,    77,
20854       78,    79,    80,    81,    -1,    83,    84,    85,    -1,    87,
20855       88,    89,    90,    91,    92,    93,    -1,    95,    96,    97,
20856       -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,   106,   107,
20857      108,   109,   110,   111,   112,   113,    -1,   115,    -1,   117,
20858      118,   119,   120,   121,   122,    -1,   124,   125,   126,   127,
20859       -1,    -1,   130,   131,   132,   133,   134,    -1,   136,   137,
20860      138,    -1,   140,   141,   142,    -1,   144,   145,   146,   147,
20861      148,   149,   150,   151,   152,   153,    -1,   155,    -1,   157,
20862      158,   159,   160,    -1,   162,    -1,   164,    -1,    -1,    -1,
20863      168,   169,   170,   171,   172,   173,   174,    -1,   176,   177,
20864      178,    -1,   180,   181,   182,   183,   184,    -1,   186,   187,
20865      188,   189,    -1,   191,   192,   193,   194,   195,   196,   197,
20866       -1,   199,    -1,   201,   202,   203,   204,   205,   206,   207,
20867       -1,   209,    -1,   211,    -1,    -1,   214,    -1,   216,   217,
20868      218,   219,   220,    -1,    -1,   223,   224,    -1,   226,    -1,
20869       -1,   229,   230,   231,    -1,    -1,   234,   235,   236,   237,
20870      238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
20871      248,   249,   250,    -1,   252,   253,   254,   255,   256,   257,
20872      258,   259,   260,   261,   262,    -1,   264,   265,    -1,   267,
20873       -1,   269,   270,   271,   272,   273,   274,    -1,   276,   277,
20874       -1,    -1,   280,   281,   282,    -1,    -1,   285,   286,   287,
20875       -1,   289,    -1,   291,   292,   293,   294,   295,   296,   297,
20876      298,   299,   300,    -1,    -1,   303,   304,   305,   306,   307,
20877      308,   309,   310,    -1,   312,   313,   314,   315,   316,   317,
20878      318,   319,   320,   321,   322,   323,   324,   325,   326,   327,
20879      328,   329,   330,   331,   332,   333,   334,   335,   336,   337,
20880      338,   339,    -1,   341,   342,    -1,   344,   345,   346,   347,
20881      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
20882      358,   359,   360,   361,   362,   363,   364,    -1,   366,   367,
20883      368,   369,   370,    -1,   372,   373,   374,   375,    -1,   377,
20884      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
20885      388,   389,   390,   391,    -1,   393,   394,    -1,   396,    -1,
20886      398,   399,   400,   401,   402,    -1,   404,   405,   406,    -1,
20887       -1,   409,   410,   411,   412,   413,    -1,   415,   416,   417,
20888      418,   419,   420,   421,   422,    -1,    -1,   425,   426,   427,
20889      428,   429,    -1,    -1,   432,   433,   434,   435,   436,   437,
20890      438,    -1,   440,    -1,   442,   443,   444,   445,    -1,    -1,
20891      448,    -1,    -1,   451,   452,   453,   454,   455,   456,   457,
20892      458,   459,   460,   461,   462,   463,   464,   465,   466,   467,
20893      468,   469,   470,     3,    -1,    -1,    -1,    -1,    -1,    -1,
20894       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20895       20,    21,    22,    23,    24,    25,    26,    27,    -1,    29,
20896       30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,
20897       40,    -1,    42,    43,    44,    -1,    46,    47,    48,    49,
20898       50,    -1,    52,    53,    -1,    55,    56,    57,    58,    59,
20899       60,    -1,    -1,    63,    64,    65,    66,    67,    68,    69,
20900       70,    71,    72,    73,    -1,    -1,    -1,    77,    78,    79,
20901       80,    81,    -1,    83,    84,    85,    86,    87,    88,    89,
20902       90,    91,    92,    -1,    -1,    95,    96,    97,    -1,    -1,
20903       -1,    -1,    -1,    -1,    -1,   105,   106,   107,   108,   109,
20904      110,   111,   112,   113,    -1,   115,    -1,   117,   118,   119,
20905      120,   121,   122,    -1,   124,   125,   126,   127,    -1,    -1,
20906      130,   131,   132,   133,   134,    -1,   136,   137,   138,    -1,
20907      140,   141,   142,    -1,   144,   145,   146,   147,   148,   149,
20908      150,   151,   152,   153,    -1,   155,    -1,   157,   158,   159,
20909      160,    -1,   162,   163,   164,    -1,    -1,    -1,   168,   169,
20910      170,   171,    -1,   173,   174,    -1,   176,   177,   178,    -1,
20911      180,   181,   182,   183,   184,    -1,   186,   187,   188,   189,
20912       -1,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
20913       -1,   201,   202,   203,   204,   205,   206,   207,    -1,   209,
20914       -1,   211,    -1,    -1,   214,    -1,   216,   217,   218,   219,
20915      220,    -1,    -1,   223,   224,    -1,   226,    -1,    -1,   229,
20916      230,   231,    -1,    -1,   234,   235,   236,   237,   238,   239,
20917      240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
20918      250,    -1,   252,   253,   254,   255,   256,   257,   258,   259,
20919      260,   261,   262,    -1,   264,   265,    -1,   267,    -1,   269,
20920      270,   271,   272,   273,   274,    -1,   276,   277,    -1,    -1,
20921      280,   281,   282,    -1,    -1,   285,   286,   287,    -1,   289,
20922       -1,   291,   292,   293,   294,   295,   296,   297,   298,   299,
20923      300,    -1,    -1,   303,   304,   305,   306,   307,   308,   309,
20924      310,   311,   312,   313,   314,   315,   316,   317,   318,   319,
20925      320,   321,   322,   323,   324,   325,   326,    -1,   328,   329,
20926      330,   331,   332,   333,   334,   335,   336,   337,   338,   339,
20927       -1,   341,   342,    -1,   344,   345,   346,   347,   348,   349,
20928      350,   351,   352,   353,   354,   355,   356,   357,   358,    -1,
20929      360,   361,   362,   363,   364,    -1,   366,   367,   368,   369,
20930      370,    -1,   372,   373,   374,   375,    -1,   377,   378,   379,
20931      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
20932      390,   391,    -1,   393,   394,    -1,   396,    -1,   398,   399,
20933      400,   401,   402,    -1,   404,   405,   406,    -1,    -1,   409,
20934      410,   411,   412,   413,    -1,   415,   416,   417,   418,   419,
20935      420,   421,   422,    -1,   424,   425,   426,   427,   428,   429,
20936       -1,    -1,   432,   433,   434,   435,   436,   437,   438,    -1,
20937      440,    -1,   442,   443,   444,   445,    -1,    -1,   448,    -1,
20938       -1,   451,   452,   453,   454,   455,   456,   457,   458,   459,
20939      460,   461,   462,   463,   464,   465,   466,   467,   468,   469,
20940      470,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20941       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,
20942       22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
20943       -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    -1,
20944       42,    43,    44,    -1,    46,    47,    48,    49,    50,    -1,
20945       52,    53,    -1,    55,    56,    57,    58,    59,    60,    -1,
20946       -1,    63,    64,    65,    66,    67,    -1,    69,    70,    71,
20947       72,    73,    -1,    -1,    -1,    77,    78,    79,    80,    81,
20948       -1,    83,    84,    85,    -1,    87,    88,    89,    90,    91,
20949       92,    93,    -1,    95,    96,    97,    -1,    -1,    -1,    -1,
20950       -1,    -1,    -1,   105,   106,   107,   108,   109,   110,   111,
20951      112,   113,    -1,   115,    -1,   117,   118,   119,   120,   121,
20952      122,    -1,   124,   125,   126,   127,    -1,    -1,   130,   131,
20953      132,   133,   134,    -1,   136,   137,   138,    -1,   140,   141,
20954      142,    -1,   144,   145,   146,   147,   148,   149,   150,   151,
20955      152,   153,    -1,   155,    -1,   157,   158,   159,   160,    -1,
20956      162,    -1,   164,    -1,    -1,    -1,   168,   169,   170,   171,
20957       -1,   173,   174,    -1,   176,   177,   178,    -1,   180,   181,
20958      182,   183,   184,    -1,   186,   187,   188,   189,    -1,   191,
20959      192,   193,   194,   195,   196,   197,    -1,   199,    -1,   201,
20960      202,   203,   204,   205,   206,   207,    -1,   209,    -1,   211,
20961       -1,    -1,   214,    -1,   216,   217,   218,   219,   220,    -1,
20962       -1,   223,   224,    -1,   226,    -1,    -1,   229,   230,   231,
20963       -1,    -1,   234,   235,   236,   237,   238,   239,   240,   241,
20964      242,   243,   244,   245,   246,   247,   248,   249,   250,    -1,
20965      252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
20966      262,    -1,   264,   265,    -1,   267,    -1,   269,   270,   271,
20967      272,   273,   274,    -1,   276,   277,    -1,    -1,   280,   281,
20968      282,    -1,    -1,   285,   286,   287,    -1,   289,    -1,   291,
20969      292,   293,   294,   295,   296,   297,   298,   299,   300,    -1,
20970       -1,   303,   304,   305,   306,   307,   308,   309,   310,    -1,
20971      312,   313,   314,   315,   316,   317,   318,   319,   320,   321,
20972      322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
20973      332,   333,   334,   335,   336,   337,   338,   339,    -1,   341,
20974      342,    -1,   344,   345,   346,   347,   348,   349,   350,   351,
20975      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
20976      362,   363,   364,    -1,   366,   367,   368,   369,   370,    -1,
20977      372,   373,   374,   375,    -1,   377,   378,   379,   380,   381,
20978      382,   383,   384,   385,   386,   387,   388,   389,   390,   391,
20979       -1,   393,   394,    -1,   396,    -1,   398,   399,   400,   401,
20980      402,    -1,   404,   405,   406,    -1,    -1,   409,   410,   411,
20981      412,   413,    -1,   415,   416,   417,   418,   419,   420,   421,
20982      422,    -1,    -1,   425,   426,   427,   428,   429,    -1,    -1,
20983      432,   433,   434,   435,   436,   437,   438,    -1,   440,    -1,
20984      442,   443,   444,   445,    -1,    -1,   448,    -1,    -1,   451,
20985      452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
20986      462,   463,   464,   465,   466,   467,   468,   469,   470,     3,
20987       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20988       -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
20989       24,    25,    26,    27,    28,    29,    30,    31,    -1,    -1,
20990       -1,    -1,    -1,    -1,    -1,    39,    40,    -1,    42,    43,
20991       44,    -1,    46,    47,    48,    49,    50,    -1,    52,    53,
20992       -1,    55,    56,    57,    58,    59,    60,    -1,    -1,    63,
20993       64,    65,    66,    67,    -1,    69,    70,    71,    72,    73,
20994       -1,    -1,    -1,    77,    78,    79,    80,    81,    -1,    83,
20995       84,    85,    -1,    87,    88,    89,    90,    91,    92,    -1,
20996       -1,    95,    96,    97,    -1,    -1,    -1,    -1,    -1,    -1,
20997       -1,   105,   106,   107,   108,   109,   110,   111,   112,   113,
20998       -1,   115,    -1,   117,   118,   119,   120,   121,   122,    -1,
20999      124,   125,   126,   127,    -1,    -1,   130,   131,   132,   133,
21000      134,    -1,   136,   137,   138,    -1,   140,   141,   142,    -1,
21001      144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
21002       -1,   155,    -1,   157,   158,   159,   160,    -1,   162,   163,
21003      164,    -1,    -1,    -1,   168,   169,   170,   171,    -1,   173,
21004      174,    -1,   176,   177,   178,    -1,   180,   181,   182,   183,
21005      184,    -1,   186,   187,   188,   189,    -1,   191,   192,   193,
21006      194,   195,   196,   197,    -1,   199,    -1,   201,   202,   203,
21007      204,   205,   206,   207,    -1,   209,    -1,   211,    -1,    -1,
21008      214,    -1,   216,   217,   218,   219,   220,    -1,    -1,   223,
21009      224,    -1,   226,    -1,    -1,   229,   230,   231,    -1,    -1,
21010      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
21011      244,   245,   246,   247,   248,   249,   250,    -1,   252,   253,
21012      254,   255,   256,   257,   258,   259,   260,   261,   262,    -1,
21013      264,   265,    -1,   267,    -1,   269,   270,   271,   272,   273,
21014      274,    -1,   276,   277,    -1,    -1,   280,   281,   282,    -1,
21015       -1,   285,   286,   287,    -1,   289,    -1,   291,   292,   293,
21016      294,   295,   296,   297,   298,   299,   300,    -1,    -1,   303,
21017      304,   305,   306,   307,   308,   309,   310,    -1,   312,   313,
21018      314,   315,   316,   317,   318,   319,   320,   321,   322,   323,
21019      324,   325,   326,    -1,   328,   329,   330,   331,   332,   333,
21020      334,   335,   336,   337,   338,   339,    -1,   341,   342,    -1,
21021      344,   345,   346,   347,   348,   349,   350,   351,   352,   353,
21022      354,   355,   356,   357,   358,    -1,   360,   361,   362,   363,
21023      364,    -1,   366,   367,   368,   369,   370,    -1,   372,   373,
21024      374,   375,    -1,   377,   378,   379,   380,   381,   382,   383,
21025      384,   385,   386,   387,   388,   389,   390,   391,    -1,   393,
21026      394,   395,   396,    -1,   398,   399,   400,   401,   402,    -1,
21027      404,   405,   406,    -1,    -1,   409,   410,   411,   412,   413,
21028       -1,   415,   416,   417,   418,   419,   420,   421,   422,    -1,
21029       -1,   425,   426,   427,   428,   429,    -1,    -1,   432,   433,
21030      434,   435,   436,   437,   438,    -1,   440,    -1,   442,   443,
21031      444,   445,    -1,    -1,   448,    -1,    -1,   451,   452,   453,
21032      454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
21033      464,   465,   466,   467,   468,   469,   470,     3,    -1,    -1,
21034       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21035       -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
21036       26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,
21037       -1,    -1,    -1,    39,    40,    -1,    42,    43,    44,    -1,
21038       46,    47,    48,    49,    50,    -1,    52,    53,    -1,    55,
21039       56,    57,    58,    59,    60,    -1,    -1,    63,    64,    65,
21040       66,    67,    -1,    69,    70,    71,    72,    73,    -1,    -1,
21041       -1,    77,    78,    79,    80,    81,    -1,    83,    84,    85,
21042       -1,    87,    88,    89,    90,    91,    92,    93,    -1,    95,
21043       96,    97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,
21044      106,   107,   108,   109,   110,   111,   112,   113,    -1,   115,
21045       -1,   117,   118,   119,   120,   121,   122,    -1,   124,   125,
21046      126,   127,    -1,    -1,   130,   131,   132,   133,   134,    -1,
21047      136,   137,   138,    -1,   140,   141,   142,    -1,   144,   145,
21048      146,   147,   148,   149,   150,   151,   152,   153,    -1,   155,
21049       -1,   157,   158,   159,   160,    -1,   162,    -1,   164,    -1,
21050       -1,    -1,   168,   169,   170,   171,    -1,   173,   174,    -1,
21051      176,   177,   178,    -1,   180,   181,   182,   183,   184,    -1,
21052      186,   187,   188,   189,    -1,   191,   192,   193,   194,   195,
21053      196,   197,    -1,   199,    -1,   201,   202,   203,   204,   205,
21054      206,   207,    -1,   209,    -1,   211,    -1,    -1,   214,    -1,
21055      216,   217,   218,   219,   220,    -1,    -1,   223,   224,    -1,
21056      226,    -1,    -1,   229,   230,   231,    -1,    -1,   234,   235,
21057      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
21058      246,   247,   248,   249,   250,    -1,   252,   253,   254,   255,
21059      256,   257,   258,   259,   260,   261,   262,    -1,   264,   265,
21060       -1,   267,    -1,   269,   270,   271,   272,   273,   274,    -1,
21061      276,   277,    -1,    -1,   280,   281,   282,    -1,    -1,   285,
21062      286,   287,    -1,   289,    -1,   291,   292,   293,   294,   295,
21063      296,   297,   298,   299,   300,    -1,    -1,   303,   304,   305,
21064      306,   307,   308,   309,   310,    -1,   312,   313,   314,   315,
21065      316,   317,   318,   319,   320,   321,   322,   323,   324,   325,
21066      326,   327,   328,   329,   330,   331,   332,   333,   334,   335,
21067      336,   337,   338,   339,    -1,   341,   342,    -1,   344,   345,
21068      346,   347,   348,   349,   350,   351,   352,   353,   354,   355,
21069      356,   357,   358,   359,   360,   361,   362,   363,   364,    -1,
21070      366,   367,   368,   369,   370,    -1,   372,   373,   374,   375,
21071       -1,   377,   378,   379,   380,   381,   382,   383,   384,   385,
21072      386,   387,   388,   389,   390,   391,    -1,   393,   394,    -1,
21073      396,    -1,   398,   399,   400,   401,   402,    -1,   404,   405,
21074      406,    -1,    -1,   409,   410,   411,   412,   413,    -1,   415,
21075      416,   417,   418,   419,   420,   421,   422,    -1,    -1,   425,
21076      426,   427,   428,   429,    -1,    -1,   432,   433,   434,   435,
21077      436,   437,   438,    -1,   440,    -1,   442,   443,   444,   445,
21078       -1,    -1,   448,    -1,    -1,   451,   452,   453,   454,   455,
21079      456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
21080      466,   467,   468,   469,   470,     3,    -1,    -1,    -1,    -1,
21081       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21082       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
21083       28,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,
21084       -1,    39,    40,    -1,    42,    43,    44,    -1,    46,    47,
21085       48,    49,    50,    -1,    52,    53,    -1,    55,    56,    57,
21086       58,    59,    60,    -1,    -1,    63,    64,    65,    66,    67,
21087       -1,    69,    70,    71,    72,    73,    -1,    -1,    -1,    77,
21088       78,    79,    80,    81,    -1,    83,    84,    85,    -1,    87,
21089       88,    89,    90,    91,    92,    -1,    -1,    95,    96,    97,
21090       -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,   106,   107,
21091      108,   109,   110,   111,   112,   113,    -1,   115,    -1,   117,
21092      118,   119,   120,   121,   122,    -1,   124,   125,   126,   127,
21093       -1,    -1,   130,   131,   132,   133,   134,    -1,   136,   137,
21094      138,    -1,   140,   141,   142,    -1,   144,   145,   146,   147,
21095      148,   149,   150,   151,   152,   153,    -1,   155,    -1,   157,
21096      158,   159,   160,    -1,   162,    -1,   164,    -1,    -1,    -1,
21097      168,   169,   170,   171,    -1,   173,   174,    -1,   176,   177,
21098      178,    -1,   180,   181,   182,   183,   184,    -1,   186,   187,
21099      188,   189,    -1,   191,   192,   193,   194,   195,   196,   197,
21100       -1,   199,    -1,   201,   202,   203,   204,   205,   206,   207,
21101       -1,   209,    -1,   211,    -1,    -1,   214,    -1,   216,   217,
21102      218,   219,   220,    -1,    -1,   223,   224,    -1,   226,    -1,
21103       -1,   229,   230,   231,    -1,    -1,   234,   235,   236,   237,
21104      238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
21105      248,   249,   250,    -1,   252,   253,   254,   255,   256,   257,
21106      258,   259,   260,   261,   262,    -1,   264,   265,    -1,   267,
21107       -1,   269,   270,   271,   272,   273,   274,    -1,   276,   277,
21108       -1,   279,   280,   281,   282,    -1,    -1,   285,   286,   287,
21109       -1,   289,    -1,   291,   292,   293,   294,   295,   296,   297,
21110      298,   299,   300,    -1,    -1,   303,   304,   305,   306,   307,
21111      308,   309,   310,    -1,   312,   313,   314,   315,   316,   317,
21112      318,   319,   320,   321,   322,   323,   324,   325,   326,    -1,
21113      328,   329,   330,   331,   332,   333,   334,   335,   336,   337,
21114      338,   339,    -1,   341,   342,    -1,   344,   345,   346,   347,
21115      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
21116      358,    -1,   360,   361,   362,   363,   364,    -1,   366,   367,
21117      368,   369,   370,    -1,   372,   373,   374,   375,    -1,   377,
21118      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
21119      388,   389,   390,   391,    -1,   393,   394,    -1,   396,    -1,
21120      398,   399,   400,   401,   402,    -1,   404,   405,   406,    -1,
21121       -1,   409,   410,   411,   412,   413,    -1,   415,   416,   417,
21122      418,   419,   420,   421,   422,    -1,    -1,   425,   426,   427,
21123      428,   429,    -1,    -1,   432,   433,   434,   435,   436,   437,
21124      438,    -1,   440,    -1,   442,   443,   444,   445,    -1,    -1,
21125      448,    -1,    -1,   451,   452,   453,   454,   455,   456,   457,
21126      458,   459,   460,   461,   462,   463,   464,   465,   466,   467,
21127      468,   469,   470,     3,    -1,    -1,    -1,    -1,    -1,    -1,
21128       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21129       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
21130       30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,
21131       40,    -1,    42,    43,    44,    -1,    46,    47,    48,    49,
21132       50,    -1,    52,    53,    -1,    55,    56,    57,    58,    59,
21133       60,    -1,    -1,    63,    64,    65,    66,    67,    -1,    69,
21134       70,    71,    72,    73,    -1,    -1,    -1,    77,    78,    79,
21135       80,    81,    -1,    83,    84,    85,    -1,    87,    88,    89,
21136       90,    91,    92,    -1,    -1,    95,    96,    97,    -1,    -1,
21137       -1,    -1,    -1,    -1,    -1,   105,   106,   107,   108,   109,
21138      110,   111,   112,   113,    -1,   115,    -1,   117,   118,   119,
21139      120,   121,   122,    -1,   124,   125,   126,   127,    -1,    -1,
21140      130,   131,   132,   133,   134,    -1,   136,   137,   138,    -1,
21141      140,   141,   142,    -1,   144,   145,   146,   147,   148,   149,
21142      150,   151,   152,   153,    -1,   155,    -1,   157,   158,   159,
21143      160,    -1,   162,    -1,   164,    -1,    -1,    -1,   168,   169,
21144      170,   171,    -1,   173,   174,    -1,   176,   177,   178,    -1,
21145      180,   181,   182,   183,   184,    -1,   186,   187,   188,   189,
21146       -1,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
21147       -1,   201,   202,   203,   204,   205,   206,   207,    -1,   209,
21148       -1,   211,    -1,    -1,   214,    -1,   216,   217,   218,   219,
21149      220,    -1,    -1,   223,   224,    -1,   226,    -1,    -1,   229,
21150      230,   231,    -1,    -1,   234,   235,   236,   237,   238,   239,
21151      240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
21152      250,    -1,   252,   253,   254,   255,   256,   257,   258,   259,
21153      260,   261,   262,    -1,   264,   265,    -1,   267,    -1,   269,
21154      270,   271,   272,   273,   274,    -1,   276,   277,    -1,    -1,
21155      280,   281,   282,    -1,    -1,   285,   286,   287,    -1,   289,
21156       -1,   291,   292,   293,   294,   295,   296,   297,   298,   299,
21157      300,    -1,    -1,   303,   304,   305,   306,   307,   308,   309,
21158      310,    -1,   312,   313,   314,   315,   316,   317,   318,   319,
21159      320,   321,   322,   323,   324,   325,   326,    -1,   328,   329,
21160      330,   331,   332,   333,   334,   335,   336,   337,   338,   339,
21161       -1,   341,   342,    -1,   344,   345,   346,   347,   348,   349,
21162      350,   351,   352,   353,   354,   355,   356,   357,   358,    -1,
21163      360,   361,   362,   363,   364,    -1,   366,   367,   368,   369,
21164      370,    -1,   372,   373,   374,   375,    -1,   377,   378,   379,
21165      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
21166      390,   391,    -1,   393,   394,    -1,   396,    -1,   398,   399,
21167      400,   401,   402,    -1,   404,   405,   406,    -1,    -1,   409,
21168      410,   411,   412,   413,    -1,   415,   416,   417,   418,   419,
21169      420,   421,   422,    -1,    -1,   425,   426,   427,   428,   429,
21170      430,    -1,   432,   433,   434,   435,   436,   437,   438,    -1,
21171      440,    -1,   442,   443,   444,   445,    -1,    -1,   448,    -1,
21172       -1,   451,   452,   453,   454,   455,   456,   457,   458,   459,
21173      460,   461,   462,   463,   464,   465,   466,   467,   468,   469,
21174      470,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21175       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,
21176       22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
21177       -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    -1,
21178       42,    43,    44,    -1,    46,    47,    48,    49,    50,    -1,
21179       52,    53,    -1,    55,    56,    57,    58,    59,    60,    -1,
21180       -1,    63,    64,    65,    66,    67,    -1,    69,    70,    71,
21181       72,    73,    -1,    -1,    -1,    77,    78,    79,    80,    81,
21182       -1,    83,    84,    85,    -1,    87,    88,    89,    90,    91,
21183       92,    -1,    -1,    95,    96,    97,    -1,    -1,    -1,    -1,
21184       -1,    -1,    -1,   105,   106,   107,   108,   109,   110,   111,
21185      112,   113,    -1,   115,    -1,   117,   118,   119,   120,   121,
21186      122,    -1,   124,   125,   126,   127,    -1,    -1,   130,   131,
21187      132,   133,   134,    -1,   136,   137,   138,    -1,   140,   141,
21188      142,    -1,   144,   145,   146,   147,   148,   149,   150,   151,
21189      152,   153,    -1,   155,    -1,   157,   158,   159,   160,    -1,
21190      162,    -1,   164,    -1,    -1,    -1,   168,   169,   170,   171,
21191       -1,   173,   174,    -1,   176,   177,   178,    -1,   180,   181,
21192      182,   183,   184,    -1,   186,   187,   188,   189,    -1,   191,
21193      192,   193,   194,   195,   196,   197,    -1,   199,    -1,   201,
21194      202,   203,   204,   205,   206,   207,    -1,   209,    -1,   211,
21195       -1,    -1,   214,    -1,   216,   217,   218,   219,   220,    -1,
21196       -1,   223,   224,    -1,   226,    -1,    -1,   229,   230,   231,
21197       -1,    -1,   234,   235,   236,   237,   238,   239,   240,   241,
21198      242,   243,   244,   245,   246,   247,   248,   249,   250,    -1,
21199      252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
21200      262,    -1,   264,   265,    -1,   267,    -1,   269,   270,   271,
21201      272,   273,   274,    -1,   276,   277,    -1,    -1,   280,   281,
21202      282,    -1,    -1,   285,   286,   287,    -1,   289,    -1,   291,
21203      292,   293,   294,   295,   296,   297,   298,   299,   300,    -1,
21204       -1,   303,   304,   305,   306,   307,   308,   309,   310,    -1,
21205      312,   313,   314,   315,   316,   317,   318,   319,   320,   321,
21206      322,   323,   324,   325,   326,    -1,   328,   329,   330,   331,
21207      332,   333,   334,   335,   336,   337,   338,   339,    -1,   341,
21208      342,    -1,   344,   345,   346,   347,   348,   349,   350,   351,
21209      352,   353,   354,   355,   356,   357,   358,    -1,   360,   361,
21210      362,   363,   364,    -1,   366,   367,   368,   369,   370,    -1,
21211      372,   373,   374,   375,    -1,   377,   378,   379,   380,   381,
21212      382,   383,   384,   385,   386,   387,   388,   389,   390,   391,
21213       -1,   393,   394,    -1,   396,    -1,   398,   399,   400,   401,
21214      402,    -1,   404,   405,   406,    -1,    -1,   409,   410,   411,
21215      412,   413,    -1,   415,   416,   417,   418,   419,   420,   421,
21216      422,    -1,    -1,   425,   426,   427,   428,   429,   430,    -1,
21217      432,   433,   434,   435,   436,   437,   438,    -1,   440,    -1,
21218      442,   443,   444,   445,    -1,    -1,   448,    -1,    -1,   451,
21219      452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
21220      462,   463,   464,   465,   466,   467,   468,   469,   470,     3,
21221       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21222       -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
21223       24,    25,    26,    27,    28,    29,    30,    31,    -1,    -1,
21224       -1,    -1,    -1,    -1,    -1,    39,    40,    -1,    42,    43,
21225       44,    -1,    46,    47,    48,    49,    50,    -1,    52,    53,
21226       -1,    55,    56,    57,    58,    59,    60,    -1,    -1,    63,
21227       64,    65,    66,    67,    -1,    69,    70,    71,    72,    73,
21228       -1,    -1,    -1,    77,    78,    79,    80,    81,    -1,    83,
21229       84,    85,    -1,    87,    88,    89,    90,    91,    92,    -1,
21230       -1,    95,    96,    97,    -1,    -1,    -1,    -1,    -1,    -1,
21231       -1,   105,   106,   107,   108,   109,   110,   111,   112,   113,
21232       -1,   115,    -1,   117,   118,   119,   120,   121,   122,    -1,
21233      124,   125,   126,   127,    -1,    -1,   130,   131,   132,   133,
21234      134,    -1,   136,   137,   138,    -1,   140,   141,   142,    -1,
21235      144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
21236       -1,   155,    -1,   157,   158,   159,   160,    -1,   162,    -1,
21237      164,    -1,    -1,    -1,   168,   169,   170,   171,    -1,   173,
21238      174,    -1,   176,   177,   178,    -1,   180,   181,   182,   183,
21239      184,    -1,   186,   187,   188,   189,    -1,   191,   192,   193,
21240      194,   195,   196,   197,    -1,   199,    -1,   201,   202,   203,
21241      204,   205,   206,   207,    -1,   209,    -1,   211,    -1,    -1,
21242      214,    -1,   216,   217,   218,   219,   220,    -1,    -1,   223,
21243      224,    -1,   226,    -1,    -1,   229,   230,   231,    -1,    -1,
21244      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
21245      244,   245,   246,   247,   248,   249,   250,    -1,   252,   253,
21246      254,   255,   256,   257,   258,   259,   260,   261,   262,    -1,
21247      264,   265,    -1,   267,    -1,   269,   270,   271,   272,   273,
21248      274,    -1,   276,   277,    -1,    -1,   280,   281,   282,    -1,
21249       -1,   285,   286,   287,    -1,   289,    -1,   291,   292,   293,
21250      294,   295,   296,   297,   298,   299,   300,    -1,    -1,   303,
21251      304,   305,   306,   307,   308,   309,   310,    -1,   312,   313,
21252      314,   315,   316,   317,   318,   319,   320,   321,   322,   323,
21253      324,   325,   326,    -1,   328,   329,   330,   331,   332,   333,
21254      334,   335,   336,   337,   338,   339,    -1,   341,   342,    -1,
21255      344,   345,   346,   347,   348,   349,   350,   351,   352,   353,
21256      354,   355,   356,   357,   358,    -1,   360,   361,   362,   363,
21257      364,    -1,   366,   367,   368,   369,   370,    -1,   372,   373,
21258      374,   375,    -1,   377,   378,   379,   380,   381,   382,   383,
21259      384,   385,   386,   387,   388,   389,   390,   391,    -1,   393,
21260      394,    -1,   396,    -1,   398,   399,   400,   401,   402,    -1,
21261      404,   405,   406,    -1,    -1,   409,   410,   411,   412,   413,
21262       -1,   415,   416,   417,   418,   419,   420,   421,   422,    -1,
21263       -1,   425,   426,   427,   428,   429,    -1,    -1,   432,   433,
21264      434,   435,   436,   437,   438,    -1,   440,    -1,   442,   443,
21265      444,   445,    -1,    -1,   448,    -1,    -1,   451,   452,   453,
21266      454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
21267      464,   465,   466,   467,   468,   469,   470,     3,    -1,    -1,
21268       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21269       -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
21270       26,    27,    28,    29,    30,    31,    -1,    -1,    -1,    -1,
21271       -1,    -1,    -1,    39,    40,    -1,    42,    43,    44,    -1,
21272       46,    47,    48,    49,    50,    -1,    52,    53,    -1,    55,
21273       56,    57,    58,    59,    60,    -1,    -1,    63,    64,    65,
21274       66,    67,    -1,    69,    70,    71,    72,    73,    -1,    -1,
21275       -1,    77,    78,    79,    80,    81,    -1,    83,    84,    85,
21276       -1,    87,    88,    89,    90,    91,    92,    -1,    -1,    95,
21277       96,    97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,
21278      106,   107,   108,   109,   110,   111,   112,   113,    -1,   115,
21279       -1,   117,   118,   119,   120,   121,   122,    -1,   124,   125,
21280      126,   127,    -1,    -1,   130,   131,   132,   133,   134,    -1,
21281      136,   137,   138,    -1,   140,   141,   142,    -1,   144,   145,
21282      146,   147,   148,   149,   150,   151,   152,   153,    -1,   155,
21283       -1,   157,   158,   159,   160,    -1,   162,    -1,   164,    -1,
21284       -1,    -1,   168,   169,   170,   171,    -1,   173,   174,    -1,
21285      176,   177,   178,    -1,   180,   181,   182,   183,   184,    -1,
21286      186,   187,   188,   189,    -1,   191,   192,   193,   194,   195,
21287      196,   197,    -1,   199,    -1,   201,   202,   203,   204,   205,
21288      206,   207,    -1,   209,    -1,   211,    -1,    -1,   214,    -1,
21289      216,   217,   218,   219,   220,    -1,    -1,   223,   224,    -1,
21290      226,    -1,    -1,   229,   230,   231,    -1,    -1,   234,   235,
21291      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
21292      246,   247,   248,   249,   250,    -1,   252,   253,   254,   255,
21293      256,   257,   258,   259,   260,   261,   262,    -1,   264,   265,
21294       -1,   267,    -1,   269,   270,   271,   272,   273,   274,    -1,
21295      276,   277,    -1,    -1,   280,   281,   282,    -1,    -1,   285,
21296      286,   287,    -1,   289,    -1,   291,   292,   293,   294,   295,
21297      296,   297,   298,   299,   300,    -1,    -1,   303,   304,   305,
21298      306,   307,   308,   309,   310,    -1,   312,   313,   314,   315,
21299      316,   317,   318,   319,   320,   321,   322,   323,   324,   325,
21300      326,    -1,   328,   329,   330,   331,   332,   333,   334,   335,
21301      336,   337,   338,   339,    -1,   341,   342,    -1,   344,   345,
21302      346,   347,   348,   349,   350,   351,   352,   353,   354,   355,
21303      356,   357,   358,    -1,   360,   361,   362,   363,   364,    -1,
21304      366,   367,   368,   369,   370,    -1,   372,   373,   374,   375,
21305       -1,   377,   378,   379,   380,   381,   382,   383,   384,   385,
21306      386,   387,   388,   389,   390,   391,    -1,   393,   394,    -1,
21307      396,    -1,   398,   399,   400,   401,   402,    -1,   404,   405,
21308      406,    -1,    -1,   409,   410,   411,   412,   413,    -1,   415,
21309      416,   417,   418,   419,   420,   421,   422,    -1,    -1,   425,
21310      426,   427,   428,   429,    -1,    -1,   432,   433,   434,   435,
21311      436,   437,   438,    -1,   440,    -1,   442,   443,   444,   445,
21312       -1,    -1,   448,    -1,    -1,   451,   452,   453,   454,   455,
21313      456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
21314      466,   467,   468,   469,   470,     3,    -1,    -1,    -1,    -1,
21315       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21316       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
21317       28,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,
21318       -1,    39,    40,    -1,    42,    43,    44,    -1,    46,    47,
21319       48,    49,    50,    -1,    52,    53,    -1,    55,    56,    57,
21320       58,    59,    60,    -1,    -1,    63,    64,    65,    66,    67,
21321       -1,    69,    70,    71,    72,    73,    -1,    -1,    -1,    77,
21322       78,    79,    80,    81,    -1,    83,    84,    85,    -1,    87,
21323       88,    89,    90,    91,    92,    -1,    -1,    95,    96,    97,
21324       -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,   106,   107,
21325      108,   109,   110,   111,   112,   113,    -1,   115,    -1,   117,
21326      118,   119,   120,   121,   122,    -1,   124,   125,   126,   127,
21327       -1,    -1,   130,   131,   132,   133,   134,    -1,   136,   137,
21328      138,    -1,   140,   141,   142,    -1,   144,   145,   146,   147,
21329      148,   149,   150,   151,   152,   153,    -1,   155,    -1,   157,
21330      158,   159,   160,    -1,   162,    -1,   164,    -1,    -1,    -1,
21331      168,   169,   170,   171,    -1,   173,   174,    -1,   176,   177,
21332      178,    -1,   180,   181,   182,   183,   184,    -1,   186,   187,
21333      188,   189,    -1,   191,   192,   193,   194,   195,   196,   197,
21334       -1,   199,    -1,   201,   202,   203,   204,   205,   206,   207,
21335       -1,   209,    -1,   211,    -1,    -1,   214,    -1,   216,   217,
21336      218,   219,   220,    -1,    -1,   223,   224,    -1,   226,    -1,
21337       -1,   229,   230,   231,    -1,    -1,   234,   235,   236,   237,
21338      238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
21339      248,   249,   250,    -1,   252,   253,   254,   255,   256,   257,
21340      258,   259,   260,   261,   262,    -1,   264,   265,    -1,   267,
21341       -1,   269,   270,   271,   272,   273,   274,    -1,   276,   277,
21342       -1,    -1,   280,   281,   282,    -1,    -1,   285,   286,   287,
21343       -1,   289,    -1,   291,   292,   293,   294,   295,   296,   297,
21344      298,   299,   300,    -1,    -1,   303,   304,   305,   306,   307,
21345      308,   309,   310,    -1,   312,   313,   314,   315,   316,   317,
21346      318,   319,   320,   321,   322,   323,   324,   325,   326,    -1,
21347      328,   329,   330,   331,   332,   333,   334,   335,   336,   337,
21348      338,   339,    -1,   341,   342,    -1,   344,   345,   346,   347,
21349      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
21350      358,    -1,   360,   361,   362,   363,   364,    -1,   366,   367,
21351      368,   369,   370,    -1,   372,   373,   374,   375,    -1,   377,
21352      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
21353      388,   389,   390,   391,    -1,   393,   394,    -1,   396,    -1,
21354      398,   399,   400,   401,   402,    -1,   404,   405,   406,    -1,
21355       -1,   409,   410,   411,   412,   413,    -1,   415,   416,   417,
21356      418,   419,   420,   421,   422,    -1,    -1,   425,   426,   427,
21357      428,   429,    -1,    -1,   432,   433,   434,   435,   436,   437,
21358      438,    -1,   440,    -1,   442,   443,   444,   445,    -1,    -1,
21359      448,    -1,    -1,   451,   452,   453,   454,   455,   456,   457,
21360      458,   459,   460,   461,   462,   463,   464,   465,   466,   467,
21361      468,   469,   470,     3,    -1,    -1,    -1,    -1,    -1,    -1,
21362       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21363       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
21364       30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,
21365       40,    -1,    42,    43,    44,    -1,    46,    47,    48,    49,
21366       50,    -1,    52,    53,    -1,    55,    56,    57,    58,    59,
21367       60,    -1,    -1,    63,    64,    65,    66,    67,    -1,    69,
21368       70,    71,    72,    73,    -1,    -1,    -1,    77,    78,    79,
21369       80,    81,    -1,    83,    84,    85,    -1,    87,    88,    89,
21370       90,    91,    92,    -1,    -1,    95,    96,    97,    -1,    -1,
21371       -1,    -1,    -1,    -1,    -1,   105,   106,   107,   108,   109,
21372      110,   111,   112,   113,    -1,   115,    -1,   117,   118,   119,
21373      120,   121,   122,    -1,   124,   125,   126,   127,    -1,    -1,
21374      130,   131,   132,   133,   134,    -1,   136,   137,   138,    -1,
21375      140,   141,   142,    -1,   144,   145,   146,   147,   148,   149,
21376      150,   151,   152,   153,    -1,   155,    -1,   157,   158,   159,
21377      160,    -1,   162,    -1,   164,    -1,    -1,    -1,   168,   169,
21378      170,   171,    -1,   173,   174,    -1,   176,   177,   178,    -1,
21379      180,   181,   182,   183,   184,    -1,   186,   187,   188,   189,
21380       -1,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
21381       -1,   201,   202,   203,   204,   205,   206,   207,    -1,   209,
21382       -1,   211,    -1,    -1,   214,    -1,   216,   217,   218,   219,
21383      220,    -1,    -1,   223,   224,    -1,   226,    -1,    -1,   229,
21384      230,   231,    -1,    -1,   234,   235,   236,   237,   238,   239,
21385      240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
21386      250,    -1,   252,   253,   254,   255,   256,   257,   258,   259,
21387      260,   261,   262,    -1,   264,   265,    -1,   267,    -1,   269,
21388      270,   271,   272,   273,   274,    -1,   276,   277,    -1,    -1,
21389      280,   281,   282,    -1,    -1,   285,   286,   287,    -1,   289,
21390       -1,   291,   292,   293,   294,   295,   296,   297,   298,   299,
21391      300,    -1,    -1,   303,   304,   305,   306,   307,   308,   309,
21392      310,    -1,   312,   313,   314,   315,   316,   317,   318,   319,
21393      320,   321,   322,   323,   324,   325,   326,    -1,   328,   329,
21394      330,   331,   332,   333,   334,   335,   336,   337,   338,   339,
21395       -1,   341,   342,    -1,   344,   345,   346,   347,   348,   349,
21396      350,   351,   352,   353,   354,   355,   356,   357,   358,    -1,
21397      360,   361,   362,   363,   364,    -1,   366,   367,   368,   369,
21398      370,    -1,   372,   373,   374,   375,    -1,   377,   378,   379,
21399      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
21400      390,   391,    -1,   393,   394,    -1,   396,    -1,   398,   399,
21401      400,   401,   402,    -1,   404,   405,   406,    -1,    -1,   409,
21402      410,   411,   412,   413,    -1,   415,   416,   417,   418,   419,
21403      420,   421,   422,    -1,    -1,   425,   426,   427,   428,   429,
21404       -1,    -1,   432,   433,   434,   435,   436,   437,   438,    -1,
21405      440,    -1,   442,   443,   444,   445,    -1,    -1,   448,    -1,
21406       -1,   451,   452,   453,   454,   455,   456,   457,   458,   459,
21407      460,   461,   462,   463,   464,   465,   466,   467,   468,   469,
21408      470,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21409       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,
21410       22,    23,    24,    25,    26,    27,    -1,    29,    30,    31,
21411       -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    -1,
21412       42,    43,    44,    -1,    46,    47,    48,    49,    50,    -1,
21413       52,    53,    -1,    55,    56,    57,    58,    59,    60,    -1,
21414       -1,    63,    64,    65,    66,    67,    -1,    69,    70,    71,
21415       72,    73,    -1,    -1,    -1,    77,    78,    79,    80,    81,
21416       -1,    83,    84,    85,    -1,    87,    88,    89,    90,    91,
21417       92,    -1,    -1,    95,    96,    97,    -1,    -1,    -1,    -1,
21418       -1,    -1,    -1,   105,   106,   107,   108,   109,   110,   111,
21419      112,   113,    -1,   115,    -1,   117,   118,   119,   120,   121,
21420      122,    -1,   124,   125,   126,   127,    -1,    -1,   130,   131,
21421      132,   133,   134,    -1,   136,   137,   138,    -1,   140,   141,
21422      142,    -1,   144,   145,   146,   147,   148,   149,   150,   151,
21423      152,   153,    -1,   155,    -1,   157,   158,   159,   160,    -1,
21424      162,    -1,   164,    -1,    -1,    -1,   168,   169,   170,   171,
21425       -1,   173,   174,    -1,   176,   177,   178,    -1,   180,   181,
21426      182,   183,   184,    -1,   186,   187,   188,   189,    -1,   191,
21427      192,   193,   194,   195,   196,   197,    -1,   199,    -1,   201,
21428      202,   203,   204,   205,   206,   207,    -1,   209,    -1,   211,
21429       -1,    -1,   214,    -1,   216,   217,   218,   219,   220,    -1,
21430       -1,   223,   224,    -1,   226,    -1,    -1,   229,   230,   231,
21431       -1,    -1,   234,   235,   236,   237,   238,   239,   240,   241,
21432      242,   243,   244,   245,   246,   247,   248,   249,   250,    -1,
21433      252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
21434      262,    -1,   264,   265,    -1,   267,    -1,   269,   270,   271,
21435      272,   273,   274,    -1,   276,   277,    -1,   279,   280,   281,
21436      282,    -1,    -1,   285,   286,   287,    -1,   289,    -1,   291,
21437      292,   293,   294,   295,   296,   297,   298,   299,   300,    -1,
21438       -1,   303,   304,   305,   306,   307,   308,   309,   310,    -1,
21439      312,   313,   314,   315,   316,   317,   318,   319,   320,   321,
21440      322,   323,   324,   325,   326,    -1,   328,   329,   330,   331,
21441      332,   333,   334,   335,   336,   337,   338,   339,    -1,   341,
21442      342,    -1,   344,   345,   346,   347,   348,   349,   350,   351,
21443      352,   353,   354,   355,   356,   357,   358,    -1,   360,   361,
21444      362,   363,   364,    -1,   366,   367,   368,   369,   370,    -1,
21445      372,   373,   374,   375,    -1,   377,   378,   379,   380,   381,
21446      382,   383,   384,   385,   386,   387,   388,   389,   390,   391,
21447       -1,   393,   394,    -1,   396,    -1,   398,   399,   400,   401,
21448      402,    -1,   404,   405,   406,    -1,    -1,   409,   410,   411,
21449      412,   413,    -1,   415,   416,   417,   418,   419,   420,   421,
21450      422,    -1,    -1,   425,   426,   427,   428,   429,    -1,    -1,
21451      432,   433,   434,   435,   436,   437,   438,    -1,   440,    -1,
21452      442,   443,   444,   445,    -1,    -1,   448,    -1,    -1,   451,
21453      452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
21454      462,   463,   464,   465,   466,   467,   468,   469,   470,     3,
21455       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21456       -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
21457       24,    25,    26,    27,    28,    29,    30,    31,    -1,    -1,
21458       -1,    -1,    -1,    -1,    -1,    39,    40,    -1,    42,    43,
21459       44,    -1,    46,    47,    48,    49,    50,    -1,    52,    53,
21460       -1,    55,    56,    57,    58,    59,    60,    -1,    -1,    63,
21461       64,    65,    66,    67,    -1,    69,    70,    71,    72,    73,
21462       -1,    -1,    -1,    77,    78,    79,    80,    81,    -1,    83,
21463       84,    85,    -1,    87,    88,    89,    90,    91,    92,    -1,
21464       -1,    95,    96,    97,    -1,    -1,    -1,    -1,    -1,    -1,
21465       -1,   105,   106,   107,   108,   109,   110,   111,   112,   113,
21466       -1,   115,    -1,   117,   118,   119,   120,   121,   122,    -1,
21467      124,   125,   126,   127,    -1,    -1,   130,   131,   132,   133,
21468      134,    -1,   136,   137,   138,    -1,   140,   141,   142,    -1,
21469      144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
21470       -1,   155,    -1,   157,   158,   159,   160,    -1,   162,    -1,
21471      164,    -1,    -1,    -1,   168,   169,   170,   171,    -1,   173,
21472      174,    -1,   176,   177,   178,    -1,   180,   181,   182,   183,
21473      184,    -1,   186,   187,   188,   189,    -1,   191,   192,   193,
21474      194,   195,   196,   197,    -1,   199,    -1,   201,   202,   203,
21475      204,   205,   206,   207,    -1,   209,    -1,   211,    -1,    -1,
21476      214,    -1,   216,   217,   218,   219,   220,    -1,    -1,   223,
21477      224,    -1,   226,    -1,    -1,   229,   230,   231,    -1,    -1,
21478      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
21479      244,   245,   246,   247,   248,   249,   250,    -1,   252,   253,
21480      254,   255,   256,   257,   258,   259,   260,   261,   262,    -1,
21481      264,   265,    -1,   267,    -1,   269,   270,   271,   272,   273,
21482      274,    -1,   276,   277,    -1,    -1,   280,   281,   282,    -1,
21483       -1,   285,   286,   287,    -1,   289,    -1,   291,   292,   293,
21484      294,   295,   296,   297,   298,   299,   300,    -1,    -1,   303,
21485      304,   305,   306,   307,   308,   309,   310,    -1,   312,   313,
21486      314,   315,   316,   317,   318,   319,   320,   321,   322,   323,
21487      324,   325,   326,    -1,   328,   329,   330,   331,   332,   333,
21488      334,   335,   336,   337,   338,   339,    -1,   341,   342,    -1,
21489      344,   345,   346,   347,   348,   349,   350,   351,   352,   353,
21490      354,   355,   356,   357,   358,    -1,   360,   361,   362,   363,
21491      364,    -1,   366,   367,   368,   369,   370,    -1,   372,   373,
21492      374,   375,    -1,   377,   378,   379,   380,   381,   382,   383,
21493      384,   385,   386,   387,   388,   389,   390,   391,    -1,   393,
21494      394,    -1,   396,    -1,   398,   399,   400,   401,   402,    -1,
21495      404,   405,   406,    -1,    -1,   409,   410,   411,   412,   413,
21496       -1,   415,   416,   417,   418,   419,   420,   421,   422,    -1,
21497       -1,   425,   426,   427,   428,   429,    -1,    -1,   432,   433,
21498      434,   435,   436,   437,   438,    -1,   440,    -1,   442,   443,
21499      444,   445,    -1,    -1,   448,    -1,    -1,   451,   452,   453,
21500      454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
21501      464,   465,   466,   467,   468,   469,   470,     3,    -1,    -1,
21502       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21503       -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
21504       26,    27,    28,    29,    30,    31,    -1,    -1,    -1,    -1,
21505       -1,    -1,    -1,    39,    40,    -1,    42,    43,    44,    -1,
21506       46,    47,    48,    49,    50,    -1,    52,    53,    -1,    55,
21507       56,    57,    58,    59,    60,    -1,    -1,    63,    64,    65,
21508       66,    67,    -1,    69,    70,    71,    72,    73,    -1,    -1,
21509       -1,    77,    78,    79,    80,    81,    -1,    83,    84,    85,
21510       -1,    87,    88,    89,    90,    91,    92,    -1,    -1,    95,
21511       96,    97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,
21512      106,   107,   108,   109,   110,   111,   112,   113,    -1,   115,
21513       -1,   117,   118,   119,   120,   121,   122,    -1,   124,   125,
21514      126,   127,    -1,    -1,   130,   131,   132,   133,   134,    -1,
21515      136,   137,   138,    -1,   140,   141,   142,    -1,   144,   145,
21516      146,   147,   148,   149,   150,   151,   152,   153,    -1,   155,
21517       -1,   157,   158,   159,   160,    -1,   162,    -1,   164,    -1,
21518       -1,    -1,   168,   169,   170,   171,    -1,   173,   174,    -1,
21519      176,   177,   178,    -1,   180,   181,   182,   183,   184,    -1,
21520      186,   187,   188,   189,    -1,   191,   192,   193,   194,   195,
21521      196,   197,    -1,   199,    -1,   201,   202,   203,   204,   205,
21522      206,   207,    -1,   209,    -1,   211,    -1,    -1,   214,    -1,
21523      216,   217,   218,   219,   220,    -1,    -1,   223,   224,    -1,
21524      226,    -1,    -1,   229,   230,   231,    -1,    -1,   234,   235,
21525      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
21526      246,   247,   248,   249,   250,    -1,   252,   253,   254,   255,
21527      256,   257,   258,   259,   260,   261,   262,    -1,   264,   265,
21528       -1,   267,    -1,   269,   270,   271,   272,   273,   274,    -1,
21529      276,   277,    -1,    -1,   280,   281,   282,    -1,    -1,   285,
21530      286,   287,    -1,   289,    -1,   291,   292,   293,   294,   295,
21531      296,   297,   298,   299,   300,    -1,    -1,   303,   304,   305,
21532      306,   307,   308,   309,   310,    -1,   312,   313,   314,   315,
21533      316,   317,   318,   319,   320,   321,   322,   323,   324,   325,
21534      326,    -1,   328,   329,   330,   331,   332,   333,   334,   335,
21535      336,   337,   338,   339,    -1,   341,   342,    -1,   344,   345,
21536      346,   347,   348,   349,   350,   351,   352,   353,   354,   355,
21537      356,   357,   358,    -1,   360,   361,   362,   363,   364,    -1,
21538      366,   367,   368,   369,   370,    -1,   372,   373,   374,   375,
21539       -1,   377,   378,   379,   380,   381,   382,   383,   384,   385,
21540      386,   387,   388,   389,   390,   391,    -1,   393,   394,    -1,
21541      396,    -1,   398,   399,   400,   401,   402,    -1,   404,   405,
21542      406,    -1,    -1,   409,   410,   411,   412,   413,    -1,   415,
21543      416,   417,   418,   419,   420,   421,   422,    -1,    -1,   425,
21544      426,   427,   428,   429,    -1,    -1,   432,   433,   434,   435,
21545      436,   437,   438,    -1,   440,    -1,   442,   443,   444,   445,
21546       -1,    -1,   448,    -1,    -1,   451,   452,   453,   454,   455,
21547      456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
21548      466,   467,   468,   469,   470,     3,    -1,    -1,    -1,    -1,
21549       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21550       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
21551       28,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,
21552       -1,    39,    40,    -1,    42,    43,    44,    -1,    46,    47,
21553       48,    49,    50,    -1,    52,    53,    -1,    55,    56,    57,
21554       58,    59,    60,    -1,    -1,    63,    64,    65,    66,    67,
21555       -1,    69,    70,    71,    72,    73,    -1,    -1,    -1,    77,
21556       78,    79,    80,    81,    -1,    83,    84,    85,    -1,    87,
21557       88,    89,    90,    91,    92,    -1,    -1,    95,    96,    97,
21558       -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,   106,   107,
21559      108,   109,   110,   111,   112,   113,    -1,   115,    -1,   117,
21560      118,   119,   120,   121,   122,    -1,   124,   125,   126,   127,
21561       -1,    -1,   130,   131,   132,   133,   134,    -1,   136,   137,
21562      138,    -1,   140,   141,   142,    -1,   144,   145,   146,   147,
21563      148,   149,   150,   151,   152,   153,    -1,   155,    -1,   157,
21564      158,   159,   160,    -1,   162,    -1,   164,    -1,    -1,    -1,
21565      168,   169,   170,   171,    -1,   173,   174,    -1,   176,   177,
21566      178,    -1,   180,   181,   182,   183,   184,    -1,   186,   187,
21567      188,   189,    -1,   191,   192,   193,   194,   195,   196,   197,
21568       -1,   199,    -1,   201,   202,   203,   204,   205,   206,   207,
21569       -1,   209,    -1,   211,    -1,    -1,   214,    -1,   216,   217,
21570      218,   219,   220,    -1,    -1,   223,   224,    -1,   226,    -1,
21571       -1,   229,   230,   231,    -1,    -1,   234,   235,   236,   237,
21572      238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
21573      248,   249,   250,    -1,   252,   253,   254,   255,   256,   257,
21574      258,   259,   260,   261,   262,    -1,   264,   265,    -1,   267,
21575       -1,   269,   270,   271,   272,   273,   274,    -1,   276,   277,
21576       -1,    -1,   280,   281,   282,    -1,    -1,   285,   286,   287,
21577       -1,   289,    -1,   291,   292,   293,   294,   295,   296,   297,
21578      298,   299,   300,    -1,    -1,   303,   304,   305,   306,   307,
21579      308,   309,   310,    -1,   312,   313,   314,   315,   316,   317,
21580      318,   319,   320,   321,   322,   323,   324,   325,   326,    -1,
21581      328,   329,   330,   331,   332,   333,   334,   335,   336,   337,
21582      338,   339,    -1,   341,   342,    -1,   344,   345,   346,   347,
21583      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
21584      358,    -1,   360,   361,   362,   363,   364,    -1,   366,   367,
21585      368,   369,   370,    -1,   372,   373,   374,   375,    -1,   377,
21586      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
21587      388,   389,   390,   391,    -1,   393,   394,    -1,   396,    -1,
21588      398,   399,   400,   401,   402,    -1,   404,   405,   406,    -1,
21589       -1,   409,   410,   411,   412,   413,    -1,   415,   416,   417,
21590      418,   419,   420,   421,   422,    -1,    -1,   425,   426,   427,
21591      428,   429,    -1,    -1,   432,   433,   434,   435,   436,   437,
21592      438,    -1,   440,    -1,   442,   443,   444,   445,    -1,    -1,
21593      448,    -1,    -1,   451,   452,   453,   454,   455,   456,   457,
21594      458,   459,   460,   461,   462,   463,   464,   465,   466,   467,
21595      468,   469,   470,     3,    -1,    -1,    -1,    -1,    -1,    -1,
21596       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21597       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
21598       30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,
21599       40,    -1,    42,    43,    44,    -1,    46,    47,    48,    49,
21600       50,    -1,    52,    53,    -1,    55,    56,    57,    58,    59,
21601       60,    -1,    -1,    63,    64,    65,    66,    67,    -1,    69,
21602       70,    71,    72,    73,    -1,    -1,    -1,    77,    78,    79,
21603       80,    81,    -1,    83,    84,    85,    -1,    87,    88,    89,
21604       90,    91,    92,    -1,    -1,    95,    96,    97,    -1,    -1,
21605       -1,    -1,    -1,    -1,    -1,   105,   106,   107,   108,   109,
21606      110,   111,   112,   113,    -1,   115,    -1,   117,   118,   119,
21607      120,   121,   122,    -1,   124,   125,   126,   127,    -1,    -1,
21608      130,   131,   132,   133,   134,    -1,   136,   137,   138,    -1,
21609      140,   141,   142,    -1,   144,   145,   146,   147,   148,   149,
21610      150,   151,   152,   153,    -1,   155,    -1,   157,   158,   159,
21611      160,    -1,   162,    -1,   164,    -1,    -1,    -1,   168,   169,
21612      170,   171,    -1,   173,   174,    -1,   176,   177,   178,    -1,
21613      180,   181,   182,   183,   184,    -1,   186,   187,   188,   189,
21614       -1,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
21615       -1,   201,   202,   203,   204,   205,   206,   207,    -1,   209,
21616       -1,   211,    -1,    -1,   214,    -1,   216,   217,   218,   219,
21617      220,    -1,    -1,   223,   224,    -1,   226,    -1,    -1,   229,
21618      230,   231,    -1,    -1,   234,   235,   236,   237,   238,   239,
21619      240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
21620      250,    -1,   252,   253,   254,   255,   256,   257,   258,   259,
21621      260,   261,   262,    -1,   264,   265,    -1,   267,    -1,   269,
21622      270,   271,   272,   273,   274,    -1,   276,   277,    -1,    -1,
21623      280,   281,   282,    -1,    -1,   285,   286,   287,    -1,   289,
21624       -1,   291,   292,   293,   294,   295,   296,   297,   298,   299,
21625      300,    -1,    -1,   303,   304,   305,   306,   307,   308,   309,
21626      310,    -1,   312,   313,   314,   315,   316,   317,   318,   319,
21627      320,   321,   322,   323,   324,   325,   326,    -1,   328,   329,
21628      330,   331,   332,   333,   334,   335,   336,   337,   338,   339,
21629       -1,   341,   342,    -1,   344,   345,   346,   347,   348,   349,
21630      350,   351,   352,   353,   354,   355,   356,   357,   358,    -1,
21631      360,   361,   362,   363,   364,    -1,   366,   367,   368,   369,
21632      370,    -1,   372,   373,   374,   375,    -1,   377,   378,   379,
21633      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
21634      390,   391,    -1,   393,   394,    -1,   396,    -1,   398,   399,
21635      400,   401,   402,    -1,   404,   405,   406,    -1,    -1,   409,
21636      410,   411,   412,   413,    -1,   415,   416,   417,   418,   419,
21637      420,   421,   422,    -1,    -1,   425,   426,   427,   428,   429,
21638       -1,    -1,   432,   433,   434,   435,   436,   437,   438,    -1,
21639      440,    -1,   442,   443,   444,   445,    -1,    -1,   448,    -1,
21640       -1,   451,   452,   453,   454,   455,   456,   457,   458,   459,
21641      460,   461,   462,   463,   464,   465,   466,   467,   468,   469,
21642      470,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21643       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,
21644       22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
21645       -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    -1,
21646       42,    43,    44,    -1,    46,    47,    48,    49,    50,    -1,
21647       52,    53,    -1,    55,    56,    57,    58,    59,    60,    -1,
21648       -1,    63,    64,    65,    66,    67,    -1,    69,    70,    71,
21649       72,    73,    -1,    -1,    -1,    77,    78,    79,    80,    81,
21650       -1,    83,    84,    85,    -1,    87,    88,    89,    90,    91,
21651       92,    -1,    -1,    95,    96,    97,    -1,    -1,    -1,    -1,
21652       -1,    -1,    -1,   105,   106,   107,   108,   109,   110,   111,
21653      112,   113,    -1,   115,    -1,   117,   118,   119,   120,   121,
21654      122,    -1,   124,   125,   126,   127,    -1,    -1,   130,   131,
21655      132,   133,   134,    -1,   136,   137,   138,    -1,   140,   141,
21656      142,    -1,   144,   145,   146,   147,   148,   149,   150,   151,
21657      152,   153,    -1,   155,    -1,   157,   158,   159,   160,    -1,
21658      162,    -1,   164,    -1,    -1,    -1,   168,   169,   170,   171,
21659       -1,   173,   174,    -1,   176,   177,   178,    -1,   180,   181,
21660      182,   183,   184,    -1,   186,   187,   188,   189,    -1,   191,
21661      192,   193,   194,   195,   196,   197,    -1,   199,    -1,   201,
21662      202,   203,   204,   205,   206,   207,    -1,   209,    -1,   211,
21663       -1,    -1,   214,    -1,   216,   217,   218,   219,   220,    -1,
21664       -1,   223,   224,    -1,   226,    -1,    -1,   229,   230,   231,
21665       -1,    -1,   234,   235,   236,   237,   238,   239,   240,   241,
21666      242,   243,   244,   245,   246,   247,   248,   249,   250,    -1,
21667      252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
21668      262,    -1,   264,   265,    -1,   267,    -1,   269,   270,   271,
21669      272,   273,   274,    -1,   276,   277,    -1,    -1,   280,   281,
21670      282,    -1,    -1,   285,   286,   287,    -1,   289,    -1,   291,
21671      292,   293,   294,   295,   296,   297,   298,   299,   300,    -1,
21672       -1,   303,   304,   305,   306,   307,   308,   309,   310,    -1,
21673      312,   313,   314,   315,   316,   317,   318,   319,   320,   321,
21674      322,   323,   324,   325,   326,    -1,   328,   329,   330,   331,
21675      332,   333,   334,   335,   336,   337,   338,   339,    -1,   341,
21676      342,    -1,   344,   345,   346,   347,   348,   349,   350,   351,
21677      352,   353,   354,   355,   356,   357,   358,    -1,   360,   361,
21678      362,   363,   364,    -1,   366,   367,   368,   369,   370,    -1,
21679      372,   373,   374,   375,    -1,   377,   378,   379,   380,   381,
21680      382,   383,   384,   385,   386,   387,   388,   389,   390,   391,
21681       -1,   393,   394,    -1,   396,    -1,   398,   399,   400,   401,
21682      402,    -1,   404,   405,   406,    -1,    -1,   409,   410,   411,
21683      412,   413,    -1,   415,   416,   417,   418,   419,   420,   421,
21684      422,    -1,    -1,   425,   426,   427,   428,   429,    -1,    -1,
21685      432,   433,   434,   435,   436,   437,   438,    -1,   440,    -1,
21686      442,   443,   444,   445,    -1,    -1,   448,    -1,    -1,   451,
21687      452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
21688      462,   463,   464,   465,   466,   467,   468,   469,   470,     3,
21689       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21690       -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
21691       24,    25,    26,    27,    -1,    29,    30,    31,    -1,    -1,
21692       -1,    -1,    -1,    -1,    -1,    39,    40,    -1,    42,    43,
21693       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
21694       -1,    55,    56,    57,    58,    59,    60,    -1,    -1,    63,
21695       64,    65,    66,    67,    -1,    69,    70,    71,    72,    73,
21696       -1,    -1,    -1,    77,    78,    79,    80,    81,    -1,    83,
21697       84,    85,    -1,    87,    88,    89,    90,    91,    92,    -1,
21698       -1,    95,    96,    97,    -1,    -1,    -1,    -1,    -1,    -1,
21699       -1,   105,   106,   107,   108,   109,   110,   111,   112,   113,
21700       -1,   115,    -1,   117,   118,   119,   120,   121,   122,    -1,
21701      124,   125,   126,   127,    -1,    -1,   130,   131,   132,   133,
21702      134,    -1,   136,   137,   138,    -1,   140,   141,   142,    -1,
21703      144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
21704       -1,   155,    -1,   157,   158,   159,   160,    -1,   162,    -1,
21705      164,    -1,    -1,    -1,   168,   169,   170,   171,    -1,   173,
21706      174,    -1,   176,   177,   178,    -1,   180,   181,   182,   183,
21707      184,    -1,   186,   187,   188,   189,    -1,   191,   192,   193,
21708      194,   195,   196,   197,    -1,   199,    -1,   201,   202,   203,
21709      204,   205,   206,   207,    -1,   209,    -1,   211,    -1,    -1,
21710      214,    -1,   216,   217,   218,   219,   220,    -1,    -1,   223,
21711      224,    -1,   226,    -1,    -1,   229,   230,   231,    -1,    -1,
21712      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
21713      244,   245,   246,   247,   248,   249,   250,    -1,   252,   253,
21714      254,   255,   256,   257,   258,   259,   260,   261,   262,    -1,
21715      264,   265,    -1,   267,    -1,   269,   270,   271,   272,   273,
21716      274,    -1,   276,   277,    -1,    -1,   280,   281,   282,    -1,
21717       -1,   285,   286,   287,    -1,   289,    -1,   291,   292,   293,
21718      294,   295,   296,   297,   298,   299,   300,    -1,    -1,   303,
21719      304,   305,   306,   307,   308,   309,   310,    -1,   312,   313,
21720      314,   315,   316,   317,   318,   319,   320,   321,   322,   323,
21721      324,   325,   326,    -1,   328,   329,   330,   331,   332,   333,
21722      334,   335,   336,   337,   338,   339,    -1,   341,   342,    -1,
21723      344,   345,   346,   347,   348,   349,   350,   351,   352,   353,
21724      354,   355,   356,   357,   358,    -1,   360,   361,   362,   363,
21725      364,    -1,   366,   367,   368,   369,   370,    -1,   372,   373,
21726      374,   375,    -1,   377,   378,   379,   380,   381,   382,   383,
21727      384,   385,   386,   387,   388,   389,   390,   391,    -1,   393,
21728      394,    -1,   396,    -1,   398,   399,   400,   401,   402,    -1,
21729      404,   405,   406,    -1,    -1,   409,   410,   411,   412,   413,
21730       -1,   415,   416,   417,   418,   419,   420,   421,   422,    -1,
21731       -1,   425,   426,   427,   428,   429,    -1,    -1,   432,   433,
21732      434,   435,   436,   437,   438,    -1,   440,    -1,   442,   443,
21733      444,   445,    -1,    -1,   448,    -1,    -1,   451,   452,   453,
21734      454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
21735      464,   465,   466,   467,   468,   469,   470,     3,    -1,    -1,
21736       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21737       -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
21738       26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,
21739       -1,    -1,    -1,    39,    40,    -1,    42,    43,    44,    -1,
21740       46,    47,    48,    49,    50,    -1,    52,    53,    -1,    55,
21741       56,    57,    58,    59,    60,    -1,    -1,    63,    64,    65,
21742       66,    67,    -1,    69,    70,    71,    72,    73,    -1,    -1,
21743       -1,    77,    78,    79,    80,    81,    -1,    83,    84,    85,
21744       -1,    87,    88,    89,    90,    91,    92,    -1,    -1,    95,
21745       96,    97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,
21746      106,   107,   108,   109,   110,   111,   112,   113,    -1,   115,
21747       -1,   117,   118,   119,   120,   121,   122,    -1,   124,   125,
21748      126,   127,    -1,    -1,   130,   131,   132,   133,   134,    -1,
21749      136,   137,   138,    -1,   140,   141,   142,    -1,   144,   145,
21750      146,   147,   148,   149,   150,   151,   152,   153,    -1,   155,
21751       -1,   157,   158,   159,   160,    -1,   162,    -1,   164,    -1,
21752       -1,    -1,   168,   169,   170,   171,    -1,   173,   174,    -1,
21753      176,   177,   178,    -1,   180,   181,   182,   183,   184,    -1,
21754      186,   187,   188,   189,    -1,   191,   192,   193,   194,   195,
21755      196,   197,    -1,   199,    -1,   201,   202,   203,   204,   205,
21756      206,   207,    -1,   209,    -1,   211,    -1,    -1,   214,    -1,
21757      216,   217,   218,   219,   220,    -1,    -1,   223,   224,    -1,
21758      226,    -1,    -1,   229,   230,   231,    -1,    -1,   234,   235,
21759      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
21760      246,   247,   248,   249,   250,    -1,   252,   253,   254,   255,
21761      256,   257,   258,   259,   260,   261,   262,    -1,   264,   265,
21762       -1,   267,    -1,   269,   270,   271,   272,   273,   274,    -1,
21763      276,   277,    -1,   279,   280,   281,   282,    -1,    -1,   285,
21764      286,   287,    -1,   289,    -1,   291,   292,   293,   294,   295,
21765      296,   297,   298,   299,   300,    -1,    -1,   303,   304,   305,
21766      306,   307,   308,   309,   310,    -1,   312,   313,   314,   315,
21767      316,   317,   318,   319,   320,   321,   322,   323,   324,   325,
21768      326,    -1,   328,   329,   330,   331,   332,   333,   334,   335,
21769      336,   337,   338,   339,    -1,   341,   342,    -1,   344,   345,
21770      346,   347,   348,   349,   350,   351,   352,   353,   354,   355,
21771      356,   357,   358,    -1,   360,   361,   362,   363,   364,    -1,
21772      366,   367,   368,   369,   370,    -1,   372,   373,   374,   375,
21773       -1,   377,   378,   379,   380,   381,   382,   383,   384,   385,
21774      386,   387,   388,   389,   390,   391,    -1,   393,   394,    -1,
21775      396,    -1,   398,   399,   400,   401,   402,    -1,   404,   405,
21776      406,    -1,    -1,   409,   410,   411,   412,   413,    -1,   415,
21777      416,   417,   418,   419,   420,   421,   422,    -1,    -1,   425,
21778      426,   427,   428,   429,    -1,    -1,   432,   433,   434,   435,
21779      436,   437,   438,    -1,   440,    -1,   442,   443,   444,   445,
21780       -1,    -1,   448,    -1,    -1,   451,   452,   453,   454,   455,
21781      456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
21782      466,   467,   468,   469,   470,     3,    -1,    -1,    -1,    -1,
21783       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21784       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
21785       28,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,
21786       -1,    39,    40,    -1,    42,    43,    44,    -1,    46,    47,
21787       48,    49,    50,    -1,    52,    53,    -1,    55,    56,    57,
21788       58,    59,    60,    -1,    -1,    63,    64,    65,    66,    67,
21789       -1,    69,    70,    71,    72,    73,    -1,    -1,    -1,    77,
21790       78,    79,    80,    81,    -1,    83,    84,    85,    -1,    87,
21791       88,    89,    90,    91,    92,    -1,    -1,    95,    96,    97,
21792       -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,   106,   107,
21793      108,   109,   110,   111,   112,   113,    -1,   115,    -1,   117,
21794      118,   119,   120,   121,   122,    -1,   124,   125,   126,   127,
21795       -1,    -1,   130,   131,   132,   133,   134,    -1,   136,   137,
21796      138,    -1,   140,   141,   142,    -1,   144,   145,   146,   147,
21797      148,   149,   150,   151,   152,   153,    -1,   155,    -1,   157,
21798      158,   159,   160,    -1,   162,    -1,   164,    -1,    -1,    -1,
21799      168,   169,   170,   171,    -1,   173,   174,    -1,   176,   177,
21800      178,    -1,   180,   181,   182,   183,   184,    -1,   186,   187,
21801      188,   189,    -1,   191,   192,   193,   194,   195,   196,   197,
21802       -1,   199,    -1,   201,   202,   203,   204,   205,   206,   207,
21803       -1,   209,    -1,   211,    -1,    -1,   214,    -1,   216,   217,
21804      218,   219,   220,    -1,    -1,   223,   224,    -1,   226,    -1,
21805       -1,   229,   230,   231,    -1,    -1,   234,   235,   236,   237,
21806      238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
21807      248,   249,   250,    -1,   252,   253,   254,   255,   256,   257,
21808      258,   259,   260,   261,   262,    -1,   264,   265,    -1,   267,
21809       -1,   269,   270,   271,   272,   273,   274,    -1,   276,   277,
21810       -1,    -1,   280,   281,   282,    -1,    -1,   285,   286,   287,
21811       -1,   289,    -1,   291,   292,   293,   294,   295,   296,   297,
21812      298,   299,   300,    -1,    -1,   303,   304,   305,   306,   307,
21813      308,   309,   310,    -1,   312,   313,   314,   315,   316,   317,
21814      318,   319,   320,   321,   322,   323,   324,   325,   326,    -1,
21815      328,   329,   330,   331,   332,   333,   334,   335,   336,   337,
21816      338,   339,    -1,   341,   342,    -1,   344,   345,   346,   347,
21817      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
21818      358,    -1,   360,   361,   362,   363,   364,    -1,   366,   367,
21819      368,   369,   370,    -1,   372,   373,   374,   375,    -1,   377,
21820      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
21821      388,   389,   390,   391,    -1,   393,   394,    -1,   396,    -1,
21822      398,   399,   400,   401,   402,    -1,   404,   405,   406,    -1,
21823       -1,   409,   410,   411,   412,   413,    -1,   415,   416,   417,
21824      418,   419,   420,   421,   422,    -1,    -1,   425,   426,   427,
21825      428,   429,    -1,    -1,   432,   433,   434,   435,   436,   437,
21826      438,    -1,   440,    -1,   442,   443,   444,   445,    -1,    -1,
21827      448,    -1,    -1,   451,   452,   453,   454,   455,   456,   457,
21828      458,   459,   460,   461,   462,   463,   464,   465,   466,   467,
21829      468,   469,   470,     3,    -1,    -1,    -1,    -1,    -1,    -1,
21830       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21831       20,    21,    22,    23,    24,    25,    26,    27,    -1,    29,
21832       30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,
21833       40,    -1,    42,    43,    44,    -1,    46,    47,    48,    49,
21834       50,    -1,    52,    53,    -1,    55,    56,    57,    58,    59,
21835       60,    -1,    -1,    63,    64,    65,    66,    67,    -1,    69,
21836       70,    71,    72,    73,    -1,    -1,    -1,    77,    78,    79,
21837       80,    81,    -1,    83,    84,    85,    -1,    87,    88,    89,
21838       90,    91,    92,    -1,    -1,    95,    96,    97,    -1,    -1,
21839       -1,    -1,    -1,    -1,    -1,   105,   106,   107,   108,   109,
21840      110,   111,   112,   113,    -1,   115,    -1,   117,   118,   119,
21841      120,   121,   122,    -1,   124,   125,   126,   127,    -1,    -1,
21842      130,   131,   132,   133,   134,    -1,   136,   137,   138,    -1,
21843      140,   141,   142,    -1,   144,   145,   146,   147,   148,   149,
21844      150,   151,   152,   153,    -1,   155,    -1,   157,   158,   159,
21845      160,    -1,   162,    -1,   164,    -1,    -1,    -1,   168,   169,
21846      170,   171,    -1,   173,   174,    -1,   176,   177,   178,    -1,
21847      180,   181,   182,   183,   184,    -1,   186,   187,   188,   189,
21848       -1,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
21849       -1,   201,   202,   203,   204,   205,   206,   207,    -1,   209,
21850       -1,   211,    -1,    -1,   214,    -1,   216,   217,   218,   219,
21851      220,    -1,    -1,   223,   224,    -1,   226,    -1,    -1,   229,
21852      230,   231,    -1,    -1,   234,   235,   236,   237,   238,   239,
21853      240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
21854      250,    -1,   252,   253,   254,   255,   256,   257,   258,   259,
21855      260,   261,   262,    -1,   264,   265,    -1,   267,    -1,   269,
21856      270,   271,   272,   273,   274,    -1,   276,   277,    -1,    -1,
21857      280,   281,   282,    -1,    -1,   285,   286,   287,    -1,   289,
21858       -1,   291,   292,   293,   294,   295,   296,   297,   298,   299,
21859      300,    -1,    -1,   303,   304,   305,   306,   307,   308,   309,
21860      310,    -1,   312,   313,   314,   315,   316,   317,   318,   319,
21861      320,   321,   322,   323,   324,   325,   326,    -1,   328,   329,
21862      330,   331,   332,   333,   334,   335,   336,   337,   338,   339,
21863       -1,   341,   342,    -1,   344,   345,   346,   347,   348,   349,
21864      350,   351,   352,   353,   354,   355,   356,   357,   358,    -1,
21865      360,   361,   362,   363,   364,    -1,   366,   367,   368,   369,
21866      370,    -1,   372,   373,   374,   375,    -1,   377,   378,   379,
21867      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
21868      390,   391,    -1,   393,   394,   395,   396,    -1,   398,   399,
21869      400,   401,   402,    -1,   404,   405,   406,    -1,    -1,   409,
21870      410,   411,   412,   413,    -1,   415,   416,   417,   418,   419,
21871      420,   421,   422,    -1,    -1,   425,   426,   427,   428,   429,
21872       -1,    -1,   432,   433,   434,   435,   436,   437,   438,    -1,
21873      440,    -1,   442,   443,   444,   445,    -1,    -1,   448,    -1,
21874       -1,   451,   452,   453,   454,   455,   456,   457,   458,   459,
21875      460,   461,   462,   463,   464,   465,   466,   467,   468,   469,
21876      470,     3,    -1,    -1,     6,    -1,    -1,    -1,    -1,    -1,
21877       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,
21878       22,    23,    24,    25,    26,    27,    -1,    29,    30,    31,
21879       -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    -1,
21880       42,    43,    44,    -1,    46,    47,    48,    49,    50,    -1,
21881       52,    53,    -1,    55,    56,    57,    58,    59,    60,    -1,
21882       -1,    63,    64,    65,    66,    67,    -1,    69,    70,    71,
21883       72,    73,    -1,    -1,    -1,    77,    78,    79,    80,    81,
21884       -1,    83,    84,    85,    -1,    87,    88,    89,    90,    91,
21885       92,    -1,    -1,    95,    96,    97,    -1,    -1,    -1,    -1,
21886       -1,    -1,    -1,   105,   106,   107,   108,   109,   110,   111,
21887      112,   113,    -1,   115,    -1,   117,   118,   119,   120,   121,
21888      122,    -1,   124,   125,   126,   127,    -1,    -1,   130,   131,
21889      132,   133,   134,    -1,   136,   137,   138,    -1,   140,   141,
21890      142,    -1,   144,   145,   146,   147,   148,   149,   150,   151,
21891      152,   153,    -1,   155,    -1,   157,   158,   159,   160,    -1,
21892      162,    -1,   164,    -1,    -1,    -1,   168,   169,   170,   171,
21893       -1,   173,   174,    -1,   176,   177,   178,    -1,   180,   181,
21894      182,   183,   184,    -1,   186,   187,   188,   189,    -1,   191,
21895      192,   193,   194,   195,   196,   197,    -1,   199,    -1,   201,
21896      202,   203,   204,   205,   206,   207,    -1,   209,    -1,   211,
21897       -1,    -1,   214,    -1,   216,   217,   218,   219,   220,    -1,
21898       -1,   223,   224,    -1,   226,    -1,    -1,   229,   230,   231,
21899       -1,    -1,   234,   235,   236,   237,   238,   239,   240,   241,
21900      242,   243,   244,   245,   246,   247,   248,   249,   250,    -1,
21901      252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
21902      262,    -1,   264,   265,    -1,   267,    -1,   269,   270,   271,
21903      272,   273,   274,    -1,   276,   277,    -1,    -1,   280,   281,
21904      282,    -1,    -1,   285,   286,   287,    -1,   289,    -1,   291,
21905      292,   293,   294,   295,   296,   297,   298,   299,   300,    -1,
21906       -1,   303,   304,   305,   306,   307,   308,   309,   310,    -1,
21907      312,   313,   314,   315,   316,   317,   318,   319,   320,   321,
21908      322,   323,   324,   325,   326,    -1,   328,   329,   330,   331,
21909      332,   333,   334,   335,   336,   337,   338,   339,    -1,   341,
21910      342,    -1,   344,   345,   346,   347,   348,   349,   350,   351,
21911      352,   353,   354,   355,   356,   357,   358,    -1,   360,   361,
21912      362,   363,   364,    -1,   366,   367,   368,   369,   370,    -1,
21913      372,   373,   374,   375,    -1,   377,   378,   379,   380,   381,
21914      382,   383,   384,   385,   386,   387,   388,   389,   390,   391,
21915       -1,   393,   394,    -1,   396,    -1,   398,   399,   400,   401,
21916      402,    -1,   404,   405,   406,    -1,    -1,   409,   410,   411,
21917      412,   413,    -1,   415,   416,   417,   418,   419,   420,   421,
21918      422,    -1,    -1,   425,   426,   427,   428,   429,    -1,    -1,
21919      432,   433,   434,   435,   436,   437,   438,    -1,   440,    -1,
21920      442,   443,   444,   445,    -1,    -1,   448,    -1,    -1,   451,
21921      452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
21922      462,   463,   464,   465,   466,   467,   468,   469,   470,     3,
21923       -1,    -1,    -1,    -1,    -1,    -1,    -1,    11,    -1,    -1,
21924       -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
21925       24,    25,    26,    27,    -1,    29,    30,    31,    -1,    -1,
21926       -1,    -1,    -1,    -1,    -1,    39,    40,    -1,    42,    43,
21927       44,    -1,    46,    47,    48,    49,    50,    -1,    52,    53,
21928       -1,    55,    56,    57,    58,    59,    60,    -1,    -1,    63,
21929       64,    65,    66,    67,    -1,    69,    70,    71,    72,    73,
21930       -1,    -1,    -1,    77,    78,    79,    80,    81,    -1,    83,
21931       84,    85,    -1,    87,    88,    89,    90,    91,    92,    -1,
21932       -1,    95,    96,    97,    -1,    -1,    -1,    -1,    -1,    -1,
21933       -1,   105,   106,   107,   108,   109,   110,   111,   112,   113,
21934       -1,   115,    -1,   117,   118,   119,   120,   121,   122,    -1,
21935      124,   125,   126,   127,    -1,    -1,   130,   131,   132,   133,
21936      134,    -1,   136,   137,   138,    -1,   140,   141,   142,    -1,
21937      144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
21938       -1,   155,    -1,   157,   158,   159,   160,    -1,   162,    -1,
21939      164,    -1,    -1,    -1,   168,   169,   170,   171,    -1,   173,
21940      174,    -1,   176,   177,   178,    -1,   180,   181,   182,   183,
21941      184,    -1,   186,   187,   188,   189,    -1,   191,   192,   193,
21942      194,   195,   196,   197,    -1,   199,    -1,   201,   202,   203,
21943      204,   205,   206,   207,    -1,   209,    -1,   211,    -1,    -1,
21944      214,    -1,   216,   217,   218,   219,   220,    -1,    -1,   223,
21945      224,    -1,   226,    -1,    -1,   229,   230,   231,    -1,    -1,
21946      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
21947      244,   245,   246,   247,   248,   249,   250,    -1,   252,   253,
21948      254,   255,   256,   257,   258,   259,   260,   261,   262,    -1,
21949      264,   265,    -1,   267,    -1,   269,   270,   271,   272,   273,
21950      274,    -1,   276,   277,    -1,    -1,   280,   281,   282,    -1,
21951       -1,   285,   286,   287,    -1,   289,    -1,   291,   292,   293,
21952      294,   295,   296,   297,   298,   299,   300,    -1,    -1,   303,
21953      304,   305,   306,   307,   308,   309,   310,    -1,   312,   313,
21954      314,   315,   316,   317,   318,   319,   320,   321,   322,   323,
21955      324,   325,   326,    -1,   328,   329,   330,   331,   332,   333,
21956      334,   335,   336,   337,   338,   339,    -1,   341,   342,    -1,
21957      344,   345,   346,   347,   348,   349,   350,   351,   352,   353,
21958      354,   355,   356,   357,   358,    -1,   360,   361,   362,   363,
21959      364,    -1,   366,   367,   368,   369,   370,    -1,   372,   373,
21960      374,   375,    -1,   377,   378,   379,   380,   381,   382,   383,
21961      384,   385,   386,   387,   388,   389,   390,   391,    -1,   393,
21962      394,    -1,   396,    -1,   398,   399,   400,   401,   402,    -1,
21963      404,   405,   406,    -1,    -1,   409,   410,   411,   412,   413,
21964       -1,   415,   416,   417,   418,   419,   420,   421,   422,    -1,
21965       -1,   425,   426,   427,   428,   429,    -1,    -1,   432,   433,
21966      434,   435,   436,   437,   438,    -1,   440,    -1,   442,   443,
21967      444,   445,    -1,    -1,   448,    -1,    -1,   451,   452,   453,
21968      454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
21969      464,   465,   466,   467,   468,   469,   470,     3,    -1,    -1,
21970       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21971       -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
21972       26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,
21973       -1,    37,    -1,    39,    40,    -1,    42,    43,    44,    -1,
21974       46,    47,    48,    49,    50,    -1,    52,    53,    -1,    55,
21975       56,    57,    58,    59,    60,    -1,    -1,    63,    64,    65,
21976       66,    67,    -1,    69,    70,    71,    72,    73,    -1,    -1,
21977       -1,    77,    78,    79,    80,    81,    -1,    83,    84,    85,
21978       -1,    87,    88,    89,    90,    91,    92,    -1,    -1,    95,
21979       96,    97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,
21980      106,   107,   108,   109,   110,   111,   112,   113,    -1,   115,
21981       -1,   117,   118,   119,   120,   121,   122,    -1,   124,   125,
21982      126,   127,    -1,    -1,   130,   131,   132,   133,   134,    -1,
21983      136,   137,   138,    -1,   140,   141,   142,    -1,   144,   145,
21984      146,   147,   148,   149,   150,   151,   152,   153,    -1,   155,
21985       -1,   157,   158,   159,   160,    -1,   162,    -1,   164,    -1,
21986       -1,    -1,   168,   169,   170,   171,    -1,   173,   174,    -1,
21987      176,   177,   178,    -1,   180,   181,   182,   183,   184,    -1,
21988      186,   187,   188,   189,    -1,   191,   192,   193,   194,   195,
21989      196,   197,    -1,   199,    -1,   201,   202,   203,   204,   205,
21990      206,   207,    -1,   209,    -1,   211,    -1,    -1,   214,    -1,
21991      216,   217,   218,   219,   220,    -1,    -1,   223,   224,    -1,
21992      226,    -1,    -1,   229,   230,   231,    -1,    -1,   234,   235,
21993      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
21994      246,   247,   248,   249,   250,    -1,   252,   253,   254,   255,
21995      256,   257,   258,   259,   260,   261,   262,    -1,   264,   265,
21996       -1,   267,    -1,   269,   270,   271,   272,   273,   274,    -1,
21997      276,   277,    -1,    -1,   280,   281,   282,    -1,    -1,   285,
21998      286,   287,    -1,   289,    -1,   291,   292,   293,   294,   295,
21999      296,   297,   298,   299,   300,    -1,    -1,   303,   304,   305,
22000      306,   307,   308,   309,   310,    -1,   312,   313,   314,   315,
22001      316,   317,   318,   319,   320,   321,   322,   323,   324,   325,
22002      326,    -1,   328,   329,   330,   331,   332,   333,   334,   335,
22003      336,   337,   338,   339,    -1,   341,   342,    -1,   344,   345,
22004      346,   347,   348,   349,   350,   351,   352,   353,   354,   355,
22005      356,   357,   358,    -1,   360,   361,   362,   363,   364,    -1,
22006      366,   367,   368,   369,   370,    -1,   372,   373,   374,   375,
22007       -1,   377,   378,   379,   380,   381,   382,   383,   384,   385,
22008      386,   387,   388,   389,   390,   391,    -1,   393,   394,    -1,
22009      396,    -1,   398,   399,   400,   401,   402,    -1,   404,   405,
22010      406,    -1,    -1,   409,   410,   411,   412,   413,    -1,   415,
22011      416,   417,   418,   419,   420,   421,   422,    -1,    -1,   425,
22012      426,   427,   428,   429,    -1,    -1,   432,   433,   434,   435,
22013      436,   437,   438,    -1,   440,    -1,   442,   443,   444,   445,
22014       -1,    -1,   448,    -1,    -1,   451,   452,   453,   454,   455,
22015      456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
22016      466,   467,   468,   469,   470,     3,    -1,    -1,    -1,    -1,
22017       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22018       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
22019       -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,    37,
22020       -1,    39,    40,    -1,    42,    43,    44,    -1,    46,    47,
22021       48,    49,    50,    -1,    52,    53,    -1,    55,    56,    57,
22022       58,    59,    60,    -1,    -1,    63,    64,    65,    66,    67,
22023       -1,    69,    70,    71,    72,    73,    -1,    -1,    -1,    77,
22024       78,    79,    80,    81,    -1,    83,    84,    85,    -1,    87,
22025       88,    89,    90,    91,    92,    -1,    -1,    95,    96,    97,
22026       -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,   106,   107,
22027      108,   109,   110,   111,   112,   113,    -1,   115,    -1,   117,
22028      118,   119,   120,   121,   122,    -1,   124,   125,   126,   127,
22029       -1,    -1,   130,   131,   132,   133,   134,    -1,   136,   137,
22030      138,    -1,   140,   141,   142,    -1,   144,   145,   146,   147,
22031      148,   149,   150,   151,   152,   153,    -1,   155,    -1,   157,
22032      158,   159,   160,    -1,   162,    -1,   164,    -1,    -1,    -1,
22033      168,   169,   170,   171,    -1,   173,   174,    -1,   176,   177,
22034      178,    -1,   180,   181,   182,   183,   184,    -1,   186,   187,
22035      188,   189,    -1,   191,   192,   193,   194,   195,   196,   197,
22036       -1,   199,    -1,   201,   202,   203,   204,   205,   206,   207,
22037       -1,   209,    -1,   211,    -1,    -1,   214,    -1,   216,   217,
22038      218,   219,   220,    -1,    -1,   223,   224,    -1,   226,    -1,
22039       -1,   229,   230,   231,    -1,    -1,   234,   235,   236,   237,
22040      238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
22041      248,   249,   250,    -1,   252,   253,   254,   255,   256,   257,
22042      258,   259,   260,   261,   262,    -1,   264,   265,    -1,   267,
22043       -1,   269,   270,   271,   272,   273,   274,    -1,   276,   277,
22044       -1,    -1,   280,   281,   282,    -1,    -1,   285,   286,   287,
22045       -1,   289,    -1,   291,   292,   293,   294,   295,   296,   297,
22046      298,   299,   300,    -1,    -1,   303,   304,   305,   306,   307,
22047      308,   309,   310,    -1,   312,   313,   314,   315,   316,   317,
22048      318,   319,   320,   321,   322,   323,   324,   325,   326,    -1,
22049      328,   329,   330,   331,   332,   333,   334,   335,   336,   337,
22050      338,   339,    -1,   341,   342,    -1,   344,   345,   346,   347,
22051      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
22052      358,    -1,   360,   361,   362,   363,   364,    -1,   366,   367,
22053      368,   369,   370,    -1,   372,   373,   374,   375,    -1,   377,
22054      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
22055      388,   389,   390,   391,    -1,   393,   394,    -1,   396,    -1,
22056      398,   399,   400,   401,   402,    -1,   404,   405,   406,    -1,
22057       -1,   409,   410,   411,   412,   413,    -1,   415,   416,   417,
22058      418,   419,   420,   421,   422,    -1,    -1,   425,   426,   427,
22059      428,   429,    -1,    -1,   432,   433,   434,   435,   436,   437,
22060      438,    -1,   440,    -1,   442,   443,   444,   445,    -1,    -1,
22061      448,    -1,    -1,   451,   452,   453,   454,   455,   456,   457,
22062      458,   459,   460,   461,   462,   463,   464,   465,   466,   467,
22063      468,   469,   470,     3,    -1,    -1,    -1,    -1,    -1,    -1,
22064       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22065       20,    21,    22,    23,    24,    25,    26,    27,    -1,    29,
22066       30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,
22067       40,    -1,    42,    43,    44,    -1,    46,    47,    48,    49,
22068       50,    -1,    52,    53,    -1,    55,    56,    57,    58,    59,
22069       60,    -1,    -1,    63,    64,    65,    66,    67,    -1,    69,
22070       70,    71,    72,    73,    -1,    -1,    -1,    77,    78,    79,
22071       80,    81,    -1,    83,    84,    85,    -1,    87,    88,    89,
22072       90,    91,    92,    -1,    -1,    95,    96,    97,    -1,    -1,
22073       -1,    -1,    -1,    -1,    -1,   105,   106,   107,   108,   109,
22074      110,   111,   112,   113,    -1,   115,    -1,   117,   118,   119,
22075      120,   121,   122,    -1,   124,   125,   126,   127,    -1,    -1,
22076      130,   131,   132,   133,   134,    -1,   136,   137,   138,    -1,
22077      140,   141,   142,    -1,   144,   145,   146,   147,   148,   149,
22078      150,   151,   152,   153,    -1,   155,    -1,   157,   158,   159,
22079      160,    -1,   162,    -1,   164,    -1,    -1,    -1,   168,   169,
22080      170,   171,    -1,   173,   174,    -1,   176,   177,   178,    -1,
22081      180,   181,   182,   183,   184,    -1,   186,   187,   188,   189,
22082       -1,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
22083       -1,   201,   202,   203,   204,   205,   206,   207,    -1,   209,
22084       -1,   211,    -1,    -1,   214,    -1,   216,   217,   218,   219,
22085      220,    -1,    -1,   223,   224,    -1,   226,    -1,    -1,   229,
22086      230,   231,    -1,    -1,   234,   235,   236,   237,   238,   239,
22087      240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
22088      250,    -1,   252,   253,   254,   255,   256,   257,   258,   259,
22089      260,   261,   262,    -1,   264,   265,    -1,   267,    -1,   269,
22090      270,   271,   272,   273,   274,    -1,   276,   277,    -1,    -1,
22091      280,   281,   282,    -1,    -1,   285,   286,   287,    -1,   289,
22092       -1,   291,   292,   293,   294,   295,   296,   297,   298,   299,
22093      300,    -1,    -1,   303,   304,   305,   306,   307,   308,   309,
22094      310,    -1,   312,   313,   314,   315,   316,   317,   318,   319,
22095      320,   321,   322,   323,   324,   325,   326,    -1,   328,   329,
22096      330,   331,   332,   333,   334,   335,   336,   337,   338,   339,
22097       -1,   341,   342,    -1,   344,   345,   346,   347,   348,   349,
22098      350,   351,   352,   353,   354,   355,   356,   357,   358,    -1,
22099      360,   361,   362,   363,   364,    -1,   366,   367,   368,   369,
22100      370,    -1,   372,   373,   374,   375,    -1,   377,   378,   379,
22101      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
22102      390,   391,    -1,   393,   394,    -1,   396,    -1,   398,   399,
22103      400,   401,   402,    -1,   404,   405,   406,    -1,    -1,   409,
22104      410,   411,   412,   413,    -1,   415,   416,   417,   418,   419,
22105      420,   421,   422,    -1,    -1,   425,   426,   427,   428,   429,
22106       -1,    -1,   432,   433,   434,   435,   436,   437,   438,    -1,
22107      440,    -1,   442,   443,   444,   445,    -1,    -1,   448,    -1,
22108       -1,   451,   452,   453,   454,   455,   456,   457,   458,   459,
22109      460,   461,   462,   463,   464,   465,   466,   467,   468,   469,
22110      470,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22111       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,
22112       22,    23,    24,    25,    26,    27,    -1,    29,    30,    31,
22113       -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    -1,
22114       42,    43,    44,    -1,    46,    47,    48,    49,    50,    -1,
22115       52,    53,    -1,    55,    56,    57,    58,    59,    60,    -1,
22116       -1,    63,    64,    65,    66,    67,    -1,    69,    70,    71,
22117       72,    73,    -1,    -1,    -1,    77,    78,    79,    80,    81,
22118       -1,    83,    84,    85,    -1,    87,    88,    89,    90,    91,
22119       92,    -1,    -1,    95,    96,    97,    -1,    -1,    -1,    -1,
22120       -1,    -1,    -1,   105,   106,   107,   108,   109,   110,   111,
22121      112,   113,    -1,   115,    -1,   117,   118,   119,   120,   121,
22122      122,    -1,   124,   125,   126,   127,    -1,    -1,   130,   131,
22123      132,   133,   134,    -1,   136,   137,   138,    -1,   140,   141,
22124      142,    -1,   144,   145,   146,   147,   148,   149,   150,   151,
22125      152,   153,    -1,   155,    -1,   157,   158,   159,   160,    -1,
22126      162,    -1,   164,    -1,    -1,    -1,   168,   169,   170,   171,
22127       -1,   173,   174,    -1,   176,   177,   178,    -1,   180,   181,
22128      182,   183,   184,    -1,   186,   187,   188,   189,    -1,   191,
22129      192,   193,   194,   195,   196,   197,    -1,   199,    -1,   201,
22130      202,   203,   204,   205,   206,   207,    -1,   209,    -1,   211,
22131       -1,    -1,   214,    -1,   216,   217,   218,   219,   220,    -1,
22132       -1,   223,   224,    -1,   226,    -1,    -1,   229,   230,   231,
22133       -1,    -1,   234,   235,   236,   237,   238,   239,   240,   241,
22134      242,   243,   244,   245,   246,   247,   248,   249,   250,    -1,
22135      252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
22136      262,    -1,   264,   265,    -1,   267,    -1,   269,   270,   271,
22137      272,   273,   274,    -1,   276,   277,    -1,    -1,   280,   281,
22138      282,    -1,    -1,   285,   286,   287,    -1,   289,    -1,   291,
22139      292,   293,   294,   295,   296,   297,   298,   299,   300,    -1,
22140       -1,   303,   304,   305,   306,   307,   308,   309,   310,    -1,
22141      312,   313,   314,   315,   316,   317,   318,   319,   320,   321,
22142      322,   323,   324,   325,   326,    -1,   328,   329,   330,   331,
22143      332,   333,   334,   335,   336,   337,   338,   339,    -1,   341,
22144      342,    -1,   344,   345,   346,   347,   348,   349,   350,   351,
22145      352,   353,   354,   355,   356,   357,   358,    -1,   360,   361,
22146      362,   363,   364,    -1,   366,   367,   368,   369,   370,    -1,
22147      372,   373,   374,   375,    -1,   377,   378,   379,   380,   381,
22148      382,   383,   384,   385,   386,   387,   388,   389,   390,   391,
22149       -1,   393,   394,    -1,   396,    -1,   398,   399,   400,   401,
22150      402,    -1,   404,   405,   406,    -1,    -1,   409,   410,   411,
22151      412,   413,    -1,   415,   416,   417,   418,   419,   420,   421,
22152      422,    -1,    -1,   425,   426,   427,   428,   429,    -1,    -1,
22153      432,   433,   434,   435,   436,   437,   438,    -1,   440,    -1,
22154      442,   443,   444,   445,    -1,    -1,   448,    -1,    -1,   451,
22155      452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
22156      462,   463,   464,   465,   466,   467,   468,   469,   470,     3,
22157       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22158       -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
22159       24,    25,    26,    27,    -1,    29,    30,    31,    -1,    -1,
22160       -1,    -1,    -1,    -1,    -1,    39,    40,    -1,    42,    43,
22161       44,    -1,    46,    47,    48,    49,    50,    -1,    52,    53,
22162       -1,    55,    56,    57,    58,    59,    60,    -1,    -1,    63,
22163       64,    65,    66,    67,    -1,    69,    70,    71,    72,    73,
22164       -1,    -1,    -1,    77,    78,    79,    80,    81,    -1,    83,
22165       84,    85,    -1,    87,    88,    89,    90,    91,    92,    -1,
22166       -1,    95,    96,    97,    -1,    -1,    -1,    -1,    -1,    -1,
22167       -1,   105,   106,   107,   108,   109,   110,   111,   112,   113,
22168       -1,   115,    -1,   117,   118,   119,   120,   121,   122,    -1,
22169      124,   125,   126,   127,    -1,    -1,   130,   131,   132,   133,
22170      134,    -1,   136,   137,   138,    -1,   140,   141,   142,    -1,
22171      144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
22172       -1,   155,    -1,   157,   158,   159,   160,    -1,   162,    -1,
22173      164,    -1,    -1,    -1,   168,   169,   170,   171,    -1,   173,
22174      174,    -1,   176,   177,   178,    -1,   180,   181,   182,   183,
22175      184,    -1,   186,   187,   188,   189,    -1,   191,   192,   193,
22176      194,   195,   196,   197,    -1,   199,    -1,   201,   202,   203,
22177      204,   205,   206,   207,    -1,   209,    -1,   211,    -1,    -1,
22178      214,    -1,   216,   217,   218,   219,   220,    -1,    -1,   223,
22179      224,    -1,   226,    -1,    -1,   229,   230,   231,    -1,    -1,
22180      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
22181      244,   245,   246,   247,   248,   249,   250,    -1,   252,   253,
22182      254,   255,   256,   257,   258,   259,   260,   261,   262,    -1,
22183      264,   265,    -1,   267,    -1,   269,   270,   271,   272,   273,
22184      274,    -1,   276,   277,    -1,    -1,   280,   281,   282,    -1,
22185       -1,   285,   286,   287,    -1,   289,    -1,   291,   292,   293,
22186      294,   295,   296,   297,   298,   299,   300,    -1,    -1,   303,
22187      304,   305,   306,   307,   308,   309,   310,    -1,   312,   313,
22188      314,   315,   316,   317,   318,   319,   320,   321,   322,   323,
22189      324,   325,   326,    -1,   328,   329,   330,   331,   332,   333,
22190      334,   335,   336,   337,   338,   339,    -1,   341,   342,    -1,
22191      344,   345,   346,   347,   348,   349,   350,   351,   352,   353,
22192      354,   355,   356,   357,   358,    -1,   360,   361,   362,   363,
22193      364,    -1,   366,   367,   368,   369,   370,    -1,   372,   373,
22194      374,   375,    -1,   377,   378,   379,   380,   381,   382,   383,
22195      384,   385,   386,   387,   388,   389,   390,   391,    -1,   393,
22196      394,    -1,   396,    -1,   398,   399,   400,   401,   402,    -1,
22197      404,   405,   406,    -1,    -1,   409,   410,   411,   412,   413,
22198       -1,   415,   416,   417,   418,   419,   420,   421,   422,    -1,
22199       -1,   425,   426,   427,   428,   429,    -1,    -1,   432,   433,
22200      434,   435,   436,   437,   438,    -1,   440,    -1,   442,   443,
22201      444,   445,    -1,    -1,   448,    -1,    -1,   451,   452,   453,
22202      454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
22203      464,   465,   466,   467,   468,   469,   470,     3,    -1,    -1,
22204       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22205       -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
22206       26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,
22207       -1,    -1,    -1,    39,    40,    -1,    42,    43,    44,    -1,
22208       46,    47,    48,    49,    50,    -1,    52,    53,    -1,    55,
22209       56,    57,    58,    59,    60,    -1,    -1,    63,    64,    65,
22210       66,    67,    -1,    69,    70,    71,    72,    73,    -1,    -1,
22211       -1,    77,    78,    79,    80,    81,    -1,    83,    84,    85,
22212       -1,    87,    88,    89,    90,    91,    92,    -1,    -1,    95,
22213       96,    97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,
22214      106,   107,   108,   109,   110,   111,   112,   113,    -1,   115,
22215       -1,   117,   118,   119,   120,   121,   122,    -1,   124,   125,
22216      126,   127,    -1,    -1,   130,   131,   132,   133,   134,    -1,
22217      136,   137,   138,    -1,   140,   141,   142,    -1,   144,   145,
22218      146,   147,   148,   149,   150,   151,   152,   153,    -1,   155,
22219       -1,   157,   158,   159,   160,    -1,   162,    -1,   164,    -1,
22220       -1,    -1,   168,   169,   170,   171,    -1,   173,   174,    -1,
22221      176,   177,   178,    -1,   180,   181,   182,   183,   184,    -1,
22222      186,   187,   188,   189,    -1,   191,   192,   193,   194,   195,
22223      196,   197,    -1,   199,    -1,   201,   202,   203,   204,   205,
22224      206,   207,    -1,   209,    -1,   211,    -1,    -1,   214,    -1,
22225      216,   217,   218,   219,   220,    -1,    -1,   223,   224,    -1,
22226      226,    -1,    -1,   229,   230,   231,    -1,    -1,   234,   235,
22227      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
22228      246,   247,   248,   249,   250,    -1,   252,   253,   254,   255,
22229      256,   257,   258,   259,   260,   261,   262,    -1,   264,   265,
22230       -1,   267,    -1,   269,   270,   271,   272,   273,   274,    -1,
22231      276,   277,    -1,    -1,   280,   281,   282,    -1,    -1,   285,
22232      286,   287,    -1,   289,    -1,   291,   292,   293,   294,   295,
22233      296,   297,   298,   299,   300,    -1,    -1,   303,   304,   305,
22234      306,   307,   308,   309,   310,    -1,   312,   313,   314,   315,
22235      316,   317,   318,   319,   320,   321,   322,   323,   324,   325,
22236      326,    -1,   328,   329,   330,   331,   332,   333,   334,   335,
22237      336,   337,   338,   339,    -1,   341,   342,    -1,   344,   345,
22238      346,   347,   348,   349,   350,   351,   352,   353,   354,   355,
22239      356,   357,   358,    -1,   360,   361,   362,   363,   364,    -1,
22240      366,   367,   368,   369,   370,    -1,   372,   373,   374,   375,
22241       -1,   377,   378,   379,   380,   381,   382,   383,   384,   385,
22242      386,   387,   388,   389,   390,   391,    -1,   393,   394,    -1,
22243      396,    -1,   398,   399,   400,   401,   402,    -1,   404,   405,
22244      406,    -1,    -1,   409,   410,   411,   412,   413,    -1,   415,
22245      416,   417,   418,   419,   420,   421,   422,    -1,    -1,   425,
22246      426,   427,   428,   429,    -1,    -1,   432,   433,   434,   435,
22247      436,   437,   438,    -1,   440,    -1,   442,   443,   444,   445,
22248       -1,    -1,   448,    -1,    -1,   451,   452,   453,   454,   455,
22249      456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
22250      466,   467,   468,   469,   470,     3,    -1,    -1,    -1,    -1,
22251       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22252       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
22253       -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,
22254       -1,    39,    40,    -1,    42,    43,    44,    -1,    46,    47,
22255       48,    49,    50,    -1,    52,    53,    -1,    55,    56,    57,
22256       58,    59,    60,    -1,    -1,    63,    64,    65,    66,    67,
22257       -1,    69,    70,    71,    72,    73,    -1,    -1,    -1,    77,
22258       78,    79,    80,    81,    -1,    83,    84,    85,    -1,    87,
22259       88,    89,    90,    91,    92,    -1,    -1,    95,    96,    97,
22260       -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,   106,   107,
22261      108,   109,   110,   111,   112,   113,    -1,   115,    -1,   117,
22262      118,   119,   120,   121,   122,    -1,   124,   125,   126,   127,
22263       -1,    -1,   130,   131,   132,   133,   134,    -1,   136,   137,
22264      138,    -1,   140,   141,   142,    -1,   144,   145,   146,   147,
22265      148,   149,   150,   151,   152,   153,    -1,   155,    -1,   157,
22266      158,   159,   160,    -1,   162,    -1,   164,    -1,    -1,    -1,
22267      168,   169,   170,   171,    -1,   173,   174,    -1,   176,   177,
22268      178,    -1,   180,   181,   182,   183,   184,    -1,   186,   187,
22269      188,   189,    -1,   191,   192,   193,   194,   195,   196,   197,
22270       -1,   199,    -1,   201,   202,   203,   204,   205,   206,   207,
22271       -1,   209,    -1,   211,    -1,    -1,   214,    -1,   216,   217,
22272      218,   219,   220,    -1,    -1,   223,   224,    -1,   226,    -1,
22273       -1,   229,   230,   231,    -1,    -1,   234,   235,   236,   237,
22274      238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
22275      248,   249,   250,    -1,   252,   253,   254,   255,   256,   257,
22276      258,   259,   260,   261,   262,    -1,   264,   265,    -1,   267,
22277       -1,   269,   270,   271,   272,   273,   274,    -1,   276,   277,
22278       -1,    -1,   280,   281,   282,    -1,    -1,   285,   286,   287,
22279       -1,   289,    -1,   291,   292,   293,   294,   295,   296,   297,
22280      298,   299,   300,    -1,    -1,   303,   304,   305,   306,   307,
22281      308,   309,   310,    -1,   312,   313,   314,   315,   316,   317,
22282      318,   319,   320,   321,   322,   323,   324,   325,   326,    -1,
22283      328,   329,   330,   331,   332,   333,   334,   335,   336,   337,
22284      338,   339,    -1,   341,   342,    -1,   344,   345,   346,   347,
22285      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
22286      358,    -1,   360,   361,   362,   363,   364,    -1,   366,   367,
22287      368,   369,   370,    -1,   372,   373,   374,   375,    -1,   377,
22288      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
22289      388,   389,   390,   391,    -1,   393,   394,    -1,   396,    -1,
22290      398,   399,   400,   401,   402,    -1,   404,   405,   406,    -1,
22291       -1,   409,   410,   411,   412,   413,    -1,   415,   416,   417,
22292      418,   419,   420,   421,   422,    -1,    -1,   425,   426,   427,
22293      428,   429,    -1,    -1,   432,   433,   434,   435,   436,   437,
22294      438,    -1,   440,    -1,   442,   443,   444,   445,    -1,    -1,
22295      448,    -1,    -1,   451,   452,   453,   454,   455,   456,   457,
22296      458,   459,   460,   461,   462,   463,   464,   465,   466,   467,
22297      468,   469,   470,     3,    -1,    -1,    -1,    -1,    -1,    -1,
22298       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22299       20,    21,    22,    23,    24,    25,    26,    27,    -1,    29,
22300       30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,
22301       40,    -1,    42,    43,    44,    -1,    46,    47,    48,    49,
22302       50,    -1,    52,    53,    -1,    55,    56,    57,    58,    59,
22303       60,    -1,    -1,    63,    64,    65,    66,    67,    -1,    69,
22304       70,    71,    72,    73,    -1,    -1,    -1,    77,    78,    79,
22305       80,    81,    -1,    83,    84,    85,    -1,    87,    88,    89,
22306       90,    91,    92,    -1,    -1,    95,    96,    97,    -1,    -1,
22307       -1,    -1,    -1,    -1,    -1,   105,   106,   107,   108,   109,
22308      110,   111,   112,   113,    -1,   115,    -1,   117,   118,   119,
22309      120,   121,   122,    -1,   124,   125,   126,   127,    -1,    -1,
22310      130,   131,   132,   133,   134,    -1,   136,   137,   138,    -1,
22311      140,   141,   142,    -1,   144,   145,   146,   147,   148,   149,
22312      150,   151,   152,   153,    -1,   155,    -1,   157,   158,   159,
22313      160,    -1,   162,    -1,   164,    -1,    -1,    -1,   168,   169,
22314      170,   171,    -1,   173,   174,    -1,   176,   177,   178,    -1,
22315      180,   181,   182,   183,   184,    -1,   186,   187,   188,   189,
22316       -1,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
22317       -1,   201,   202,   203,   204,   205,   206,   207,    -1,   209,
22318       -1,   211,    -1,    -1,   214,    -1,   216,   217,   218,   219,
22319      220,    -1,    -1,   223,   224,    -1,   226,    -1,    -1,   229,
22320      230,   231,    -1,    -1,   234,   235,   236,   237,   238,   239,
22321      240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
22322      250,    -1,   252,   253,   254,   255,   256,   257,   258,   259,
22323      260,   261,   262,    -1,   264,   265,    -1,   267,    -1,   269,
22324      270,   271,   272,   273,   274,    -1,   276,   277,    -1,    -1,
22325      280,   281,   282,    -1,    -1,   285,   286,   287,    -1,   289,
22326       -1,   291,   292,   293,   294,   295,   296,   297,   298,   299,
22327      300,    -1,    -1,   303,   304,   305,   306,   307,   308,   309,
22328      310,    -1,   312,   313,   314,   315,   316,   317,   318,   319,
22329      320,   321,   322,   323,   324,   325,   326,    -1,   328,   329,
22330      330,   331,   332,   333,   334,   335,   336,   337,   338,   339,
22331       -1,   341,   342,    -1,   344,   345,   346,   347,   348,   349,
22332      350,   351,   352,   353,   354,   355,   356,   357,   358,    -1,
22333      360,   361,   362,   363,   364,    -1,   366,   367,   368,   369,
22334      370,    -1,   372,   373,   374,   375,    -1,   377,   378,   379,
22335      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
22336      390,   391,    -1,   393,   394,    -1,   396,    -1,   398,   399,
22337      400,   401,   402,    -1,   404,   405,   406,    -1,    -1,   409,
22338      410,   411,   412,   413,    -1,   415,   416,   417,   418,   419,
22339      420,   421,   422,    -1,    -1,   425,   426,   427,   428,   429,
22340       -1,    -1,   432,   433,   434,   435,   436,   437,   438,    -1,
22341      440,    -1,   442,   443,   444,   445,    -1,    -1,   448,    -1,
22342       -1,   451,   452,   453,   454,   455,   456,   457,   458,   459,
22343      460,   461,   462,   463,   464,   465,   466,   467,   468,   469,
22344      470,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22345       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,
22346       22,    23,    24,    25,    26,    27,    -1,    29,    30,    31,
22347       -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    -1,
22348       42,    43,    44,    -1,    46,    47,    48,    49,    50,    -1,
22349       52,    53,    -1,    55,    56,    57,    58,    59,    60,    -1,
22350       -1,    63,    64,    65,    66,    67,    -1,    69,    70,    71,
22351       72,    73,    -1,    -1,    -1,    77,    78,    79,    80,    81,
22352       -1,    83,    84,    85,    -1,    87,    88,    89,    90,    91,
22353       92,    -1,    -1,    95,    96,    97,    -1,    -1,    -1,    -1,
22354       -1,    -1,    -1,   105,   106,   107,   108,   109,   110,   111,
22355      112,   113,    -1,   115,    -1,   117,   118,   119,   120,   121,
22356      122,    -1,   124,   125,   126,   127,    -1,    -1,   130,   131,
22357      132,   133,   134,    -1,   136,   137,   138,    -1,   140,   141,
22358      142,    -1,   144,   145,   146,   147,   148,   149,   150,   151,
22359      152,   153,    -1,   155,    -1,   157,   158,   159,   160,    -1,
22360      162,    -1,   164,    -1,    -1,    -1,   168,   169,   170,   171,
22361       -1,   173,   174,    -1,   176,   177,   178,    -1,   180,   181,
22362      182,   183,   184,    -1,   186,   187,   188,   189,    -1,   191,
22363      192,   193,   194,   195,   196,   197,    -1,   199,    -1,   201,
22364      202,   203,   204,   205,   206,   207,    -1,   209,    -1,   211,
22365       -1,    -1,   214,    -1,   216,   217,   218,   219,   220,    -1,
22366       -1,   223,   224,    -1,   226,    -1,    -1,   229,   230,   231,
22367       -1,    -1,   234,   235,   236,   237,   238,   239,   240,   241,
22368      242,   243,   244,   245,   246,   247,   248,   249,   250,    -1,
22369      252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
22370      262,    -1,   264,   265,    -1,   267,    -1,   269,   270,   271,
22371      272,   273,   274,    -1,   276,   277,    -1,    -1,   280,   281,
22372      282,    -1,    -1,   285,   286,   287,    -1,   289,    -1,   291,
22373      292,   293,   294,   295,   296,   297,   298,   299,   300,    -1,
22374       -1,   303,   304,   305,   306,   307,   308,   309,   310,    -1,
22375      312,   313,   314,   315,   316,   317,   318,   319,   320,   321,
22376      322,   323,   324,   325,   326,    -1,   328,   329,   330,   331,
22377      332,   333,   334,   335,   336,   337,   338,   339,    -1,   341,
22378      342,    -1,   344,   345,   346,   347,   348,   349,   350,   351,
22379      352,   353,   354,   355,   356,   357,   358,    -1,   360,   361,
22380      362,   363,   364,    -1,   366,   367,   368,   369,   370,    -1,
22381      372,   373,   374,   375,    -1,   377,   378,   379,   380,   381,
22382      382,   383,   384,   385,   386,   387,   388,   389,   390,   391,
22383       -1,   393,   394,    -1,   396,    -1,   398,   399,   400,   401,
22384      402,    -1,   404,   405,   406,    -1,    -1,   409,   410,   411,
22385      412,   413,    -1,   415,   416,   417,   418,   419,   420,   421,
22386      422,    -1,    -1,   425,   426,   427,   428,   429,    -1,    -1,
22387      432,   433,   434,   435,   436,   437,   438,    -1,   440,    -1,
22388      442,   443,   444,   445,    -1,    -1,   448,    -1,    -1,   451,
22389      452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
22390      462,   463,   464,   465,   466,   467,   468,   469,   470,     3,
22391       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22392       -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
22393       24,    25,    26,    27,    -1,    29,    30,    31,    -1,    -1,
22394       -1,    -1,    -1,    -1,    -1,    39,    40,    -1,    42,    43,
22395       44,    -1,    46,    47,    48,    49,    50,    -1,    52,    53,
22396       -1,    55,    56,    57,    58,    59,    60,    -1,    -1,    63,
22397       64,    65,    66,    67,    -1,    69,    70,    71,    72,    73,
22398       -1,    -1,    -1,    77,    78,    79,    80,    81,    -1,    83,
22399       84,    85,    -1,    87,    88,    89,    90,    91,    92,    -1,
22400       -1,    95,    96,    97,    -1,    -1,    -1,    -1,    -1,    -1,
22401       -1,   105,   106,   107,   108,   109,   110,   111,   112,   113,
22402       -1,   115,    -1,   117,   118,   119,   120,   121,   122,    -1,
22403      124,   125,   126,   127,    -1,    -1,   130,   131,   132,   133,
22404      134,    -1,   136,   137,   138,    -1,   140,   141,   142,    -1,
22405      144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
22406       -1,   155,    -1,   157,   158,   159,   160,    -1,   162,    -1,
22407      164,    -1,    -1,    -1,   168,   169,   170,   171,    -1,   173,
22408      174,    -1,   176,   177,   178,    -1,   180,   181,   182,   183,
22409      184,    -1,   186,   187,   188,   189,    -1,   191,   192,   193,
22410      194,   195,   196,   197,    -1,   199,    -1,   201,   202,   203,
22411      204,   205,   206,   207,    -1,   209,    -1,   211,    -1,    -1,
22412      214,    -1,   216,   217,   218,   219,   220,    -1,    -1,   223,
22413      224,    -1,   226,    -1,    -1,   229,   230,   231,    -1,    -1,
22414      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
22415      244,   245,   246,   247,   248,   249,   250,    -1,   252,   253,
22416      254,   255,   256,   257,   258,   259,   260,   261,   262,    -1,
22417      264,   265,    -1,   267,    -1,   269,   270,   271,   272,   273,
22418      274,    -1,   276,   277,    -1,    -1,   280,   281,   282,    -1,
22419       -1,   285,   286,   287,    -1,   289,    -1,   291,   292,   293,
22420      294,   295,   296,   297,   298,   299,   300,    -1,    -1,   303,
22421      304,   305,   306,   307,   308,   309,   310,    -1,   312,   313,
22422      314,   315,   316,   317,   318,   319,   320,   321,   322,   323,
22423      324,   325,   326,    -1,   328,   329,   330,   331,   332,   333,
22424      334,   335,   336,   337,   338,   339,    -1,   341,   342,    -1,
22425      344,   345,   346,   347,   348,   349,   350,   351,   352,   353,
22426      354,   355,   356,   357,   358,    -1,   360,   361,   362,   363,
22427      364,    -1,   366,   367,   368,   369,   370,    -1,   372,   373,
22428      374,   375,    -1,   377,   378,   379,   380,   381,   382,   383,
22429      384,   385,   386,   387,   388,   389,   390,   391,    -1,   393,
22430      394,    -1,   396,    -1,   398,   399,   400,   401,   402,    -1,
22431      404,   405,   406,    -1,    -1,   409,   410,   411,   412,   413,
22432       -1,   415,   416,   417,   418,   419,   420,   421,   422,    -1,
22433       -1,   425,   426,   427,   428,   429,    -1,    -1,   432,   433,
22434      434,   435,   436,   437,   438,    -1,   440,    -1,   442,   443,
22435      444,   445,    -1,    -1,   448,    -1,    -1,   451,   452,   453,
22436      454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
22437      464,   465,   466,   467,   468,   469,   470,     3,    -1,    -1,
22438       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22439       -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
22440       26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,
22441       -1,    -1,    -1,    39,    40,    -1,    42,    43,    44,    -1,
22442       46,    47,    48,    49,    50,    -1,    52,    53,    -1,    55,
22443       56,    57,    58,    59,    60,    -1,    -1,    63,    64,    65,
22444       66,    67,    -1,    69,    70,    71,    72,    73,    -1,    -1,
22445       -1,    77,    78,    79,    80,    81,    -1,    83,    84,    85,
22446       -1,    87,    88,    89,    90,    91,    92,    -1,    -1,    95,
22447       96,    97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,
22448      106,   107,   108,   109,   110,   111,   112,   113,    -1,   115,
22449       -1,   117,   118,   119,   120,   121,   122,    -1,   124,   125,
22450      126,   127,    -1,    -1,   130,   131,   132,   133,   134,    -1,
22451      136,   137,   138,    -1,   140,   141,   142,    -1,   144,   145,
22452      146,   147,   148,   149,   150,   151,   152,   153,    -1,   155,
22453       -1,   157,   158,   159,   160,    -1,   162,    -1,   164,    -1,
22454       -1,    -1,   168,   169,   170,   171,    -1,   173,   174,    -1,
22455      176,   177,   178,    -1,   180,   181,   182,   183,   184,    -1,
22456      186,   187,   188,   189,    -1,   191,   192,   193,   194,   195,
22457      196,   197,    -1,   199,    -1,   201,   202,   203,   204,   205,
22458      206,   207,    -1,   209,    -1,   211,    -1,    -1,   214,    -1,
22459      216,   217,   218,   219,   220,    -1,    -1,   223,   224,    -1,
22460      226,    -1,    -1,   229,   230,   231,    -1,    -1,   234,   235,
22461      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
22462      246,   247,   248,   249,   250,    -1,   252,   253,   254,   255,
22463      256,   257,   258,   259,   260,   261,   262,    -1,   264,   265,
22464       -1,   267,    -1,   269,   270,   271,   272,   273,   274,    -1,
22465      276,   277,    -1,    -1,   280,   281,   282,    -1,    -1,   285,
22466      286,   287,    -1,   289,    -1,   291,   292,   293,   294,   295,
22467      296,   297,   298,   299,   300,    -1,    -1,   303,   304,   305,
22468      306,   307,   308,   309,   310,    -1,   312,   313,   314,   315,
22469      316,   317,   318,   319,   320,   321,   322,   323,   324,   325,
22470      326,    -1,   328,   329,   330,   331,   332,   333,   334,   335,
22471      336,   337,   338,   339,    -1,   341,   342,    -1,   344,   345,
22472      346,   347,   348,   349,   350,   351,   352,   353,   354,   355,
22473      356,   357,   358,    -1,   360,   361,   362,   363,   364,    -1,
22474      366,   367,   368,   369,   370,    -1,   372,   373,   374,   375,
22475       -1,   377,   378,   379,   380,   381,   382,   383,   384,   385,
22476      386,   387,   388,   389,   390,   391,    -1,   393,   394,    -1,
22477      396,    -1,   398,   399,   400,   401,   402,    -1,   404,   405,
22478      406,    -1,    -1,   409,   410,   411,   412,   413,    -1,   415,
22479      416,   417,   418,   419,   420,   421,   422,    -1,    -1,   425,
22480      426,   427,   428,   429,    -1,    -1,   432,   433,   434,   435,
22481      436,   437,   438,    -1,   440,    -1,   442,   443,   444,   445,
22482       -1,    -1,   448,    -1,    -1,   451,   452,   453,   454,   455,
22483      456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
22484      466,   467,   468,   469,   470,     3,    -1,    -1,    -1,    -1,
22485       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22486       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
22487       -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,
22488       -1,    39,    40,    -1,    42,    43,    44,    -1,    46,    47,
22489       48,    49,    50,    -1,    52,    53,    -1,    55,    56,    57,
22490       58,    59,    60,    -1,    -1,    63,    64,    65,    66,    67,
22491       -1,    69,    70,    71,    72,    73,    -1,    -1,    -1,    77,
22492       78,    79,    80,    81,    -1,    83,    84,    85,    -1,    87,
22493       88,    89,    90,    91,    92,    -1,    -1,    95,    96,    97,
22494       -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,   106,   107,
22495      108,   109,   110,   111,   112,   113,    -1,   115,    -1,   117,
22496      118,   119,   120,   121,   122,    -1,   124,   125,   126,   127,
22497       -1,    -1,   130,   131,   132,   133,   134,    -1,   136,   137,
22498      138,    -1,   140,   141,   142,    -1,   144,   145,   146,   147,
22499      148,   149,   150,   151,   152,   153,    -1,   155,    -1,   157,
22500      158,   159,   160,    -1,   162,    -1,   164,    -1,    -1,    -1,
22501      168,   169,   170,   171,    -1,   173,   174,    -1,   176,   177,
22502      178,    -1,   180,   181,   182,   183,   184,    -1,   186,   187,
22503      188,   189,    -1,   191,   192,   193,   194,   195,   196,   197,
22504       -1,   199,    -1,   201,   202,   203,   204,   205,   206,   207,
22505       -1,   209,    -1,   211,    -1,    -1,   214,    -1,   216,   217,
22506      218,   219,   220,    -1,    -1,   223,   224,    -1,   226,    -1,
22507       -1,   229,   230,   231,    -1,    -1,   234,   235,   236,   237,
22508      238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
22509      248,   249,   250,    -1,   252,   253,   254,   255,   256,   257,
22510      258,   259,   260,   261,   262,    -1,   264,   265,    -1,   267,
22511       -1,   269,   270,   271,   272,   273,   274,    -1,   276,   277,
22512       -1,    -1,   280,   281,   282,    -1,    -1,   285,   286,   287,
22513       -1,   289,    -1,   291,   292,   293,   294,   295,   296,   297,
22514      298,   299,   300,    -1,    -1,   303,   304,   305,   306,   307,
22515      308,   309,   310,    -1,   312,   313,   314,   315,   316,   317,
22516      318,   319,   320,   321,   322,   323,   324,   325,   326,    -1,
22517      328,   329,   330,   331,   332,   333,   334,   335,   336,   337,
22518      338,   339,    -1,   341,   342,    -1,   344,   345,   346,   347,
22519      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
22520      358,    -1,   360,   361,   362,   363,   364,    -1,   366,   367,
22521      368,   369,   370,    -1,   372,   373,   374,   375,    -1,   377,
22522      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
22523      388,   389,   390,   391,    -1,   393,   394,    -1,   396,    -1,
22524      398,   399,   400,   401,   402,    -1,   404,   405,   406,    -1,
22525       -1,   409,   410,   411,   412,   413,    -1,   415,   416,   417,
22526      418,   419,   420,   421,   422,    -1,    -1,   425,   426,   427,
22527      428,   429,    -1,    -1,   432,   433,   434,   435,   436,   437,
22528      438,    -1,   440,    -1,   442,   443,   444,   445,    -1,    -1,
22529      448,    -1,    -1,   451,   452,   453,   454,   455,   456,   457,
22530      458,   459,   460,   461,   462,   463,   464,   465,   466,   467,
22531      468,   469,   470,     3,    -1,    -1,    -1,    -1,    -1,    -1,
22532       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22533       20,    21,    22,    23,    24,    25,    26,    27,    -1,    29,
22534       30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,
22535       40,    -1,    42,    43,    44,    -1,    46,    47,    48,    49,
22536       50,    -1,    52,    53,    -1,    55,    56,    57,    58,    59,
22537       60,    -1,    -1,    63,    64,    65,    66,    67,    -1,    69,
22538       70,    71,    72,    73,    -1,    -1,    -1,    77,    78,    79,
22539       80,    81,    -1,    83,    84,    85,    -1,    87,    88,    89,
22540       90,    91,    92,    -1,    -1,    95,    96,    97,    -1,    -1,
22541       -1,    -1,    -1,    -1,    -1,   105,   106,   107,   108,   109,
22542      110,   111,   112,   113,    -1,   115,    -1,   117,   118,   119,
22543      120,   121,   122,    -1,   124,   125,   126,   127,    -1,    -1,
22544      130,   131,   132,   133,   134,    -1,   136,   137,   138,    -1,
22545      140,   141,   142,    -1,   144,   145,   146,   147,   148,   149,
22546      150,   151,   152,   153,    -1,   155,    -1,   157,   158,   159,
22547      160,    -1,   162,    -1,   164,    -1,    -1,    -1,   168,   169,
22548      170,   171,    -1,   173,   174,    -1,   176,   177,   178,    -1,
22549      180,   181,   182,   183,   184,    -1,   186,   187,   188,   189,
22550       -1,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
22551       -1,   201,   202,   203,   204,   205,   206,   207,    -1,   209,
22552       -1,   211,    -1,    -1,   214,    -1,   216,   217,   218,   219,
22553      220,    -1,    -1,   223,   224,    -1,   226,    -1,    -1,   229,
22554      230,   231,    -1,    -1,   234,   235,   236,   237,   238,   239,
22555      240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
22556      250,    -1,   252,   253,   254,   255,   256,   257,   258,   259,
22557      260,   261,   262,    -1,   264,   265,    -1,   267,    -1,   269,
22558      270,   271,   272,   273,   274,    -1,   276,   277,    -1,    -1,
22559      280,   281,   282,    -1,    -1,   285,   286,   287,    -1,   289,
22560       -1,   291,   292,   293,   294,   295,   296,   297,   298,   299,
22561      300,    -1,    -1,   303,   304,   305,   306,   307,   308,   309,
22562      310,    -1,   312,   313,   314,   315,   316,   317,   318,   319,
22563      320,   321,   322,   323,   324,   325,   326,    -1,   328,   329,
22564      330,   331,   332,   333,   334,   335,   336,   337,   338,   339,
22565       -1,   341,   342,    -1,   344,   345,   346,   347,   348,   349,
22566      350,   351,   352,   353,   354,   355,   356,   357,   358,    -1,
22567      360,   361,   362,   363,   364,    -1,   366,   367,   368,   369,
22568      370,    -1,   372,   373,   374,   375,    -1,   377,   378,   379,
22569      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
22570      390,   391,    -1,   393,   394,    -1,   396,    -1,   398,   399,
22571      400,   401,   402,    -1,   404,   405,   406,    -1,    -1,   409,
22572      410,   411,   412,   413,    -1,   415,   416,   417,   418,   419,
22573      420,   421,   422,    -1,    -1,   425,   426,   427,   428,   429,
22574       -1,    -1,   432,   433,   434,   435,   436,   437,   438,    -1,
22575      440,    -1,   442,   443,   444,   445,    -1,    -1,   448,    -1,
22576       -1,   451,   452,   453,   454,   455,   456,   457,   458,   459,
22577      460,   461,   462,   463,   464,   465,   466,   467,   468,   469,
22578      470,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22579       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,
22580       22,    23,    24,    25,    26,    27,    -1,    29,    30,    31,
22581       -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    -1,
22582       42,    43,    44,    -1,    46,    47,    48,    49,    50,    -1,
22583       52,    53,    -1,    55,    56,    57,    58,    59,    60,    -1,
22584       -1,    63,    64,    65,    66,    67,    -1,    69,    70,    71,
22585       72,    73,    -1,    -1,    -1,    77,    78,    79,    80,    81,
22586       -1,    83,    84,    85,    -1,    87,    88,    89,    90,    91,
22587       92,    -1,    -1,    95,    96,    97,    -1,    -1,    -1,    -1,
22588       -1,    -1,    -1,   105,   106,   107,   108,   109,   110,   111,
22589      112,   113,    -1,   115,    -1,   117,   118,   119,   120,   121,
22590      122,    -1,   124,   125,   126,   127,    -1,    -1,   130,   131,
22591      132,   133,   134,    -1,   136,   137,   138,    -1,   140,   141,
22592      142,    -1,   144,   145,   146,   147,   148,   149,   150,   151,
22593      152,   153,    -1,   155,    -1,   157,   158,   159,   160,    -1,
22594      162,    -1,   164,    -1,    -1,    -1,   168,   169,   170,   171,
22595       -1,   173,   174,    -1,   176,   177,   178,    -1,   180,   181,
22596      182,   183,   184,    -1,   186,   187,   188,   189,    -1,   191,
22597      192,   193,   194,   195,   196,   197,    -1,   199,    -1,   201,
22598      202,   203,   204,   205,   206,   207,    -1,   209,    -1,   211,
22599       -1,    -1,   214,    -1,   216,   217,   218,   219,   220,    -1,
22600       -1,   223,   224,    -1,   226,    -1,    -1,   229,   230,   231,
22601       -1,    -1,   234,   235,   236,   237,   238,   239,   240,   241,
22602      242,   243,   244,   245,   246,   247,   248,   249,   250,    -1,
22603      252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
22604      262,    -1,   264,   265,    -1,   267,    -1,   269,   270,   271,
22605      272,   273,   274,    -1,   276,   277,    -1,    -1,   280,   281,
22606      282,    -1,    -1,   285,   286,   287,    -1,   289,    -1,   291,
22607      292,   293,   294,   295,   296,   297,   298,   299,   300,    -1,
22608       -1,   303,   304,   305,   306,   307,   308,   309,   310,    -1,
22609      312,   313,   314,   315,   316,   317,   318,   319,   320,   321,
22610      322,   323,   324,   325,   326,    -1,   328,   329,   330,   331,
22611      332,   333,   334,   335,   336,   337,   338,   339,    -1,   341,
22612      342,    -1,   344,   345,   346,   347,   348,   349,   350,   351,
22613      352,   353,   354,   355,   356,   357,   358,    -1,   360,   361,
22614      362,   363,   364,    -1,   366,   367,   368,   369,   370,    -1,
22615      372,   373,   374,   375,    -1,   377,   378,   379,   380,   381,
22616      382,   383,   384,   385,   386,   387,   388,   389,   390,   391,
22617       -1,   393,   394,    -1,   396,    -1,   398,   399,   400,   401,
22618      402,    -1,   404,   405,   406,    -1,    -1,   409,   410,   411,
22619      412,   413,    -1,   415,   416,   417,   418,   419,   420,   421,
22620      422,    -1,    -1,   425,   426,   427,   428,   429,    -1,    -1,
22621      432,   433,   434,   435,   436,   437,   438,    -1,   440,    -1,
22622      442,   443,   444,   445,    -1,    -1,   448,    -1,    -1,   451,
22623      452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
22624      462,   463,   464,   465,   466,   467,   468,   469,   470,     3,
22625       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22626       -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
22627       24,    25,    26,    27,    -1,    29,    30,    31,    -1,    -1,
22628       -1,    -1,    -1,    -1,    -1,    39,    40,    -1,    42,    43,
22629       44,    -1,    46,    47,    48,    49,    50,    -1,    52,    53,
22630       -1,    55,    56,    57,    58,    59,    60,    -1,    -1,    63,
22631       64,    65,    66,    67,    -1,    69,    70,    71,    72,    73,
22632       -1,    -1,    -1,    77,    78,    79,    80,    81,    -1,    83,
22633       84,    85,    -1,    87,    88,    89,    90,    91,    92,    -1,
22634       -1,    95,    96,    97,    -1,    -1,    -1,    -1,    -1,    -1,
22635       -1,   105,   106,   107,   108,   109,   110,   111,   112,   113,
22636       -1,   115,    -1,   117,   118,   119,   120,   121,   122,    -1,
22637      124,   125,   126,   127,    -1,    -1,   130,   131,   132,   133,
22638      134,    -1,   136,   137,   138,    -1,   140,   141,   142,    -1,
22639      144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
22640       -1,   155,    -1,   157,   158,   159,   160,    -1,   162,    -1,
22641      164,    -1,    -1,    -1,   168,   169,   170,   171,    -1,   173,
22642      174,    -1,   176,   177,   178,    -1,   180,   181,   182,   183,
22643      184,    -1,   186,   187,   188,   189,    -1,   191,   192,   193,
22644      194,   195,   196,   197,    -1,   199,    -1,   201,   202,   203,
22645      204,   205,   206,   207,    -1,   209,    -1,   211,    -1,    -1,
22646      214,    -1,   216,   217,   218,   219,   220,    -1,    -1,   223,
22647      224,    -1,   226,    -1,    -1,   229,   230,   231,    -1,    -1,
22648      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
22649      244,   245,   246,   247,   248,   249,   250,    -1,   252,   253,
22650      254,   255,   256,   257,   258,   259,   260,   261,   262,    -1,
22651      264,   265,    -1,   267,    -1,   269,   270,   271,   272,   273,
22652      274,    -1,   276,   277,    -1,    -1,   280,   281,   282,    -1,
22653       -1,   285,   286,   287,    -1,   289,    -1,   291,   292,   293,
22654      294,   295,   296,   297,   298,   299,   300,    -1,    -1,   303,
22655      304,   305,   306,   307,   308,   309,   310,    -1,   312,   313,
22656      314,   315,   316,   317,   318,   319,   320,   321,   322,   323,
22657      324,   325,   326,    -1,   328,   329,   330,   331,   332,   333,
22658      334,   335,   336,   337,   338,   339,    -1,   341,   342,    -1,
22659      344,   345,   346,   347,   348,   349,   350,   351,   352,   353,
22660      354,   355,   356,   357,   358,    -1,   360,   361,   362,   363,
22661      364,    -1,   366,   367,   368,   369,   370,    -1,   372,   373,
22662      374,   375,    -1,   377,   378,   379,   380,   381,   382,   383,
22663      384,   385,   386,   387,   388,   389,   390,   391,    -1,   393,
22664      394,    -1,   396,    -1,   398,   399,   400,   401,   402,    -1,
22665      404,   405,   406,    -1,    -1,   409,   410,   411,   412,   413,
22666       -1,   415,   416,   417,   418,   419,   420,   421,   422,    -1,
22667       -1,   425,   426,   427,   428,   429,    -1,    -1,   432,   433,
22668      434,   435,   436,   437,   438,    -1,   440,    -1,   442,   443,
22669      444,   445,    -1,    -1,   448,    -1,    -1,   451,   452,   453,
22670      454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
22671      464,   465,   466,   467,   468,   469,   470,     3,    -1,    -1,
22672       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22673       -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
22674       26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,
22675       -1,    -1,    -1,    39,    40,    -1,    42,    43,    44,    -1,
22676       46,    47,    48,    49,    50,    -1,    52,    53,    -1,    55,
22677       56,    57,    58,    59,    60,    -1,    -1,    63,    64,    65,
22678       66,    67,    -1,    69,    70,    71,    72,    73,    -1,    -1,
22679       -1,    77,    78,    79,    80,    81,    -1,    83,    84,    85,
22680       -1,    87,    88,    89,    90,    91,    92,    -1,    -1,    95,
22681       96,    97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,
22682      106,   107,   108,   109,   110,   111,   112,   113,    -1,   115,
22683       -1,   117,   118,   119,   120,   121,   122,    -1,   124,   125,
22684      126,   127,    -1,    -1,   130,   131,   132,   133,   134,    -1,
22685      136,   137,   138,    -1,   140,   141,   142,    -1,   144,   145,
22686      146,   147,   148,   149,   150,   151,   152,   153,    -1,   155,
22687       -1,   157,   158,   159,   160,    -1,   162,    -1,   164,    -1,
22688       -1,    -1,   168,   169,   170,   171,    -1,   173,   174,    -1,
22689      176,   177,   178,    -1,   180,   181,   182,   183,   184,    -1,
22690      186,   187,   188,   189,    -1,   191,   192,   193,   194,   195,
22691      196,   197,    -1,   199,    -1,   201,   202,   203,   204,   205,
22692      206,   207,    -1,   209,    -1,   211,    -1,    -1,   214,    -1,
22693      216,   217,   218,   219,   220,    -1,    -1,   223,   224,    -1,
22694      226,    -1,    -1,   229,   230,   231,    -1,    -1,   234,   235,
22695      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
22696      246,   247,   248,   249,   250,    -1,   252,   253,   254,   255,
22697      256,   257,   258,   259,   260,   261,   262,    -1,   264,   265,
22698       -1,   267,    -1,   269,   270,   271,   272,   273,   274,    -1,
22699      276,   277,    -1,    -1,   280,   281,   282,    -1,    -1,   285,
22700      286,   287,    -1,   289,    -1,   291,   292,   293,   294,   295,
22701      296,   297,   298,   299,   300,    -1,    -1,   303,   304,   305,
22702      306,   307,   308,   309,   310,    -1,   312,   313,   314,   315,
22703      316,   317,   318,   319,   320,   321,   322,   323,   324,   325,
22704      326,    -1,   328,   329,   330,   331,   332,   333,   334,   335,
22705      336,   337,   338,   339,    -1,   341,   342,    -1,   344,   345,
22706      346,   347,   348,   349,   350,   351,   352,   353,   354,   355,
22707      356,   357,   358,    -1,   360,   361,   362,   363,   364,    -1,
22708      366,   367,   368,   369,   370,    -1,   372,   373,   374,   375,
22709       -1,   377,   378,   379,   380,   381,   382,   383,   384,   385,
22710      386,   387,   388,   389,   390,   391,    -1,   393,   394,    -1,
22711      396,    -1,   398,   399,   400,   401,   402,    -1,   404,   405,
22712      406,    -1,    -1,   409,   410,   411,   412,   413,    -1,   415,
22713      416,   417,   418,   419,   420,   421,   422,    -1,    -1,   425,
22714      426,   427,   428,   429,    -1,    -1,   432,   433,   434,   435,
22715      436,   437,   438,    -1,   440,    -1,   442,   443,   444,   445,
22716       -1,    -1,   448,    -1,    -1,   451,   452,   453,   454,   455,
22717      456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
22718      466,   467,   468,   469,   470,     3,    -1,    -1,    -1,    -1,
22719       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22720       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
22721       -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,
22722       -1,    39,    40,    -1,    42,    43,    44,    -1,    46,    47,
22723       48,    49,    50,    -1,    52,    53,    -1,    55,    56,    57,
22724       58,    59,    60,    -1,    -1,    63,    64,    65,    66,    67,
22725       -1,    69,    70,    71,    72,    73,    -1,    -1,    -1,    77,
22726       78,    79,    80,    81,    -1,    83,    84,    85,    -1,    87,
22727       88,    89,    90,    91,    92,    -1,    -1,    95,    96,    97,
22728       -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,   106,   107,
22729      108,   109,   110,   111,   112,   113,    -1,   115,    -1,   117,
22730      118,   119,   120,   121,   122,    -1,   124,   125,   126,   127,
22731       -1,    -1,   130,   131,   132,   133,   134,    -1,   136,   137,
22732      138,    -1,   140,   141,   142,    -1,   144,   145,   146,   147,
22733      148,   149,   150,   151,   152,   153,    -1,   155,    -1,   157,
22734      158,   159,   160,    -1,   162,    -1,   164,    -1,    -1,    -1,
22735      168,   169,   170,   171,    -1,   173,   174,    -1,   176,   177,
22736      178,    -1,   180,   181,   182,   183,   184,    -1,   186,   187,
22737      188,   189,    -1,   191,   192,   193,   194,   195,   196,   197,
22738       -1,   199,    -1,   201,   202,   203,   204,   205,   206,   207,
22739       -1,   209,    -1,   211,    -1,    -1,   214,    -1,   216,   217,
22740      218,   219,   220,    -1,    -1,   223,   224,    -1,   226,    -1,
22741       -1,   229,   230,   231,    -1,    -1,   234,   235,   236,   237,
22742      238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
22743      248,   249,   250,    -1,   252,   253,   254,   255,   256,   257,
22744      258,   259,   260,   261,   262,    -1,   264,   265,    -1,   267,
22745       -1,   269,   270,   271,   272,   273,   274,    -1,   276,   277,
22746       -1,    -1,   280,   281,   282,    -1,    -1,   285,   286,   287,
22747       -1,   289,    -1,   291,   292,   293,   294,   295,   296,   297,
22748      298,   299,   300,    -1,    -1,   303,   304,   305,   306,   307,
22749      308,   309,   310,    -1,   312,   313,   314,   315,   316,   317,
22750      318,   319,   320,   321,   322,   323,   324,   325,   326,    -1,
22751      328,   329,   330,   331,   332,   333,   334,   335,   336,   337,
22752      338,   339,    -1,   341,   342,    -1,   344,   345,   346,   347,
22753      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
22754      358,    -1,   360,   361,   362,   363,   364,    -1,   366,   367,
22755      368,   369,   370,    -1,   372,   373,   374,   375,    -1,   377,
22756      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
22757      388,   389,   390,   391,    -1,   393,   394,    -1,   396,    -1,
22758      398,   399,   400,   401,   402,    -1,   404,   405,   406,    -1,
22759       -1,   409,   410,   411,   412,   413,    -1,   415,   416,   417,
22760      418,   419,   420,   421,   422,    -1,    -1,   425,   426,   427,
22761      428,   429,    -1,    -1,   432,   433,   434,   435,   436,   437,
22762      438,    -1,   440,    -1,   442,   443,   444,   445,    -1,    -1,
22763      448,    -1,    -1,   451,   452,   453,   454,   455,   456,   457,
22764      458,   459,   460,   461,   462,   463,   464,   465,   466,   467,
22765      468,   469,   470,     3,    -1,    -1,    -1,    -1,    -1,    -1,
22766       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22767       20,    21,    22,    23,    24,    25,    26,    27,    -1,    29,
22768       30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,
22769       40,    -1,    42,    43,    44,    -1,    46,    47,    48,    49,
22770       50,    -1,    52,    53,    -1,    55,    56,    57,    58,    59,
22771       60,    -1,    -1,    63,    64,    65,    66,    67,    -1,    69,
22772       70,    71,    72,    73,    -1,    -1,    -1,    77,    78,    79,
22773       80,    81,    -1,    83,    84,    85,    -1,    87,    88,    89,
22774       90,    91,    92,    -1,    -1,    95,    96,    97,    -1,    -1,
22775       -1,    -1,    -1,    -1,    -1,   105,   106,   107,   108,   109,
22776      110,   111,   112,   113,    -1,   115,    -1,   117,   118,   119,
22777      120,   121,   122,    -1,   124,   125,   126,   127,    -1,    -1,
22778      130,   131,   132,   133,   134,    -1,   136,   137,   138,    -1,
22779      140,   141,   142,    -1,   144,   145,   146,   147,   148,   149,
22780      150,   151,   152,   153,    -1,   155,    -1,   157,   158,   159,
22781      160,    -1,   162,    -1,   164,    -1,    -1,    -1,   168,   169,
22782      170,   171,    -1,   173,   174,    -1,   176,   177,   178,    -1,
22783      180,   181,   182,   183,   184,    -1,   186,   187,   188,   189,
22784       -1,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
22785       -1,   201,   202,   203,   204,   205,   206,   207,    -1,   209,
22786       -1,   211,    -1,    -1,   214,    -1,   216,   217,   218,   219,
22787      220,    -1,    -1,   223,   224,    -1,   226,    -1,    -1,   229,
22788      230,   231,    -1,    -1,   234,   235,   236,   237,   238,   239,
22789      240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
22790      250,    -1,   252,   253,   254,   255,   256,   257,   258,   259,
22791      260,   261,   262,    -1,   264,   265,    -1,   267,    -1,   269,
22792      270,   271,   272,   273,   274,    -1,   276,   277,    -1,    -1,
22793      280,   281,   282,    -1,    -1,   285,   286,   287,    -1,   289,
22794       -1,   291,   292,   293,   294,   295,   296,   297,   298,   299,
22795      300,    -1,    -1,   303,   304,   305,   306,   307,   308,   309,
22796      310,    -1,   312,   313,   314,   315,   316,   317,   318,   319,
22797      320,   321,   322,   323,   324,   325,   326,    -1,   328,   329,
22798      330,   331,   332,   333,   334,   335,   336,   337,   338,   339,
22799       -1,   341,   342,    -1,   344,   345,   346,   347,   348,   349,
22800      350,   351,   352,   353,   354,   355,   356,   357,   358,    -1,
22801      360,   361,   362,   363,   364,    -1,   366,   367,   368,   369,
22802      370,    -1,   372,   373,   374,   375,    -1,   377,   378,   379,
22803      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
22804      390,   391,    -1,   393,   394,    -1,   396,    -1,   398,   399,
22805      400,   401,   402,    -1,   404,   405,   406,    -1,    -1,   409,
22806      410,   411,   412,   413,    -1,   415,   416,   417,   418,   419,
22807      420,   421,   422,    -1,    -1,   425,   426,   427,   428,   429,
22808       -1,    -1,   432,   433,   434,   435,   436,   437,   438,    -1,
22809      440,    -1,   442,   443,   444,   445,    -1,    -1,   448,    -1,
22810       -1,   451,   452,   453,   454,   455,   456,   457,   458,   459,
22811      460,   461,   462,   463,   464,   465,   466,   467,   468,   469,
22812      470,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22813       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,
22814       22,    23,    24,    25,    26,    27,    -1,    29,    30,    31,
22815       -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    -1,
22816       42,    43,    44,    -1,    46,    47,    48,    49,    50,    -1,
22817       52,    53,    -1,    55,    56,    57,    58,    59,    60,    -1,
22818       -1,    63,    64,    65,    66,    67,    -1,    69,    70,    71,
22819       72,    73,    -1,    -1,    -1,    77,    78,    79,    80,    81,
22820       -1,    83,    84,    85,    -1,    87,    88,    89,    90,    91,
22821       92,    -1,    -1,    95,    96,    97,    -1,    -1,    -1,    -1,
22822       -1,    -1,    -1,   105,   106,   107,   108,   109,   110,   111,
22823      112,   113,    -1,   115,    -1,   117,   118,   119,   120,   121,
22824      122,    -1,   124,   125,   126,   127,    -1,    -1,   130,   131,
22825      132,   133,   134,    -1,   136,   137,   138,    -1,   140,   141,
22826      142,    -1,   144,   145,   146,   147,   148,   149,   150,   151,
22827      152,   153,    -1,   155,    -1,   157,   158,   159,   160,    -1,
22828      162,    -1,   164,    -1,    -1,    -1,   168,   169,   170,   171,
22829       -1,   173,   174,    -1,   176,   177,   178,    -1,   180,   181,
22830      182,   183,   184,    -1,   186,   187,   188,   189,    -1,   191,
22831      192,   193,   194,   195,   196,   197,    -1,   199,    -1,   201,
22832      202,   203,   204,   205,   206,   207,    -1,   209,    -1,   211,
22833       -1,    -1,   214,    -1,   216,   217,   218,   219,   220,    -1,
22834       -1,   223,   224,    -1,   226,    -1,    -1,   229,   230,   231,
22835       -1,    -1,   234,   235,   236,   237,   238,   239,   240,   241,
22836      242,   243,   244,   245,   246,   247,   248,   249,   250,    -1,
22837      252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
22838      262,    -1,   264,   265,    -1,   267,    -1,   269,   270,   271,
22839      272,   273,   274,    -1,   276,   277,    -1,    -1,   280,   281,
22840      282,    -1,    -1,   285,   286,   287,    -1,   289,    -1,   291,
22841      292,   293,   294,   295,   296,   297,   298,   299,   300,    -1,
22842       -1,   303,   304,   305,   306,   307,   308,   309,   310,    -1,
22843      312,   313,   314,   315,   316,   317,   318,   319,   320,   321,
22844      322,   323,   324,   325,   326,    -1,   328,   329,   330,   331,
22845      332,   333,   334,   335,   336,   337,   338,   339,    -1,   341,
22846      342,    -1,   344,   345,   346,   347,   348,   349,   350,   351,
22847      352,   353,   354,   355,   356,   357,   358,    -1,   360,   361,
22848      362,   363,   364,    -1,   366,   367,   368,   369,   370,    -1,
22849      372,   373,   374,   375,    -1,   377,   378,   379,   380,   381,
22850      382,   383,   384,   385,   386,   387,   388,   389,   390,   391,
22851       -1,   393,   394,    -1,   396,    -1,   398,   399,   400,   401,
22852      402,    -1,   404,   405,   406,    -1,    -1,   409,   410,   411,
22853      412,   413,    -1,   415,   416,   417,   418,   419,   420,   421,
22854      422,    -1,    -1,   425,   426,   427,   428,   429,    -1,    -1,
22855      432,   433,   434,   435,   436,   437,   438,    -1,   440,    -1,
22856      442,   443,   444,   445,    -1,    -1,   448,    -1,    -1,   451,
22857      452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
22858      462,   463,   464,   465,   466,   467,   468,   469,   470,     3,
22859       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22860       -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
22861       24,    25,    26,    27,    -1,    29,    30,    31,    -1,    -1,
22862       -1,    -1,    -1,    -1,    -1,    39,    40,    -1,    42,    43,
22863       44,    -1,    46,    47,    48,    49,    50,    -1,    52,    53,
22864       -1,    55,    56,    57,    58,    59,    60,    -1,    -1,    63,
22865       64,    65,    66,    67,    -1,    69,    70,    71,    72,    73,
22866       -1,    -1,    -1,    77,    78,    79,    80,    81,    -1,    83,
22867       84,    85,    -1,    87,    88,    89,    90,    91,    92,    -1,
22868       -1,    95,    96,    97,    -1,    -1,    -1,    -1,    -1,    -1,
22869       -1,   105,   106,   107,   108,   109,   110,   111,   112,   113,
22870       -1,   115,    -1,   117,   118,   119,   120,   121,   122,    -1,
22871      124,   125,   126,   127,    -1,    -1,   130,   131,   132,   133,
22872      134,    -1,   136,   137,   138,    -1,   140,   141,   142,    -1,
22873      144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
22874       -1,   155,    -1,   157,   158,   159,   160,    -1,   162,    -1,
22875      164,    -1,    -1,    -1,   168,   169,   170,   171,    -1,   173,
22876      174,    -1,   176,   177,   178,    -1,   180,   181,   182,   183,
22877      184,    -1,   186,   187,   188,   189,    -1,   191,   192,   193,
22878      194,   195,   196,   197,    -1,   199,    -1,   201,   202,   203,
22879      204,   205,   206,   207,    -1,   209,    -1,   211,    -1,    -1,
22880      214,    -1,   216,   217,   218,   219,   220,    -1,    -1,   223,
22881      224,    -1,   226,    -1,    -1,   229,   230,   231,    -1,    -1,
22882      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
22883      244,   245,   246,   247,   248,   249,   250,    -1,   252,   253,
22884      254,   255,   256,   257,   258,   259,   260,   261,   262,    -1,
22885      264,   265,    -1,   267,    -1,   269,   270,   271,   272,   273,
22886      274,    -1,   276,   277,    -1,    -1,   280,   281,   282,    -1,
22887       -1,   285,   286,   287,    -1,   289,    -1,   291,   292,   293,
22888      294,   295,   296,   297,   298,   299,   300,    -1,    -1,   303,
22889      304,   305,   306,   307,   308,   309,   310,    -1,   312,   313,
22890      314,   315,   316,   317,   318,   319,   320,   321,   322,   323,
22891      324,   325,   326,    -1,   328,   329,   330,   331,   332,   333,
22892      334,   335,   336,   337,   338,   339,    -1,   341,   342,    -1,
22893      344,   345,   346,   347,   348,   349,   350,   351,   352,   353,
22894      354,   355,   356,   357,   358,    -1,   360,   361,   362,   363,
22895      364,    -1,   366,   367,   368,   369,   370,    -1,   372,   373,
22896      374,   375,    -1,   377,   378,   379,   380,   381,   382,   383,
22897      384,   385,   386,   387,   388,   389,   390,   391,    -1,   393,
22898      394,    -1,   396,    -1,   398,   399,   400,   401,   402,    -1,
22899      404,   405,   406,    -1,    -1,   409,   410,   411,   412,   413,
22900       -1,   415,   416,   417,   418,   419,   420,   421,   422,    -1,
22901       -1,   425,   426,   427,   428,   429,    -1,    -1,   432,   433,
22902      434,   435,   436,   437,   438,    -1,   440,    -1,   442,   443,
22903      444,   445,    -1,    -1,   448,    -1,    -1,   451,   452,   453,
22904      454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
22905      464,   465,   466,   467,   468,   469,   470,     3,    -1,    -1,
22906       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22907       -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
22908       26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,
22909       -1,    -1,    -1,    39,    40,    -1,    42,    43,    44,    -1,
22910       46,    47,    48,    49,    50,    -1,    52,    53,    -1,    55,
22911       56,    57,    58,    59,    60,    -1,    -1,    63,    64,    65,
22912       66,    67,    -1,    69,    70,    71,    72,    73,    -1,    -1,
22913       -1,    77,    78,    79,    80,    81,    -1,    83,    84,    85,
22914       -1,    87,    88,    89,    90,    91,    92,    -1,    -1,    95,
22915       96,    97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,
22916      106,   107,   108,   109,   110,   111,   112,   113,    -1,   115,
22917       -1,   117,   118,   119,   120,   121,   122,    -1,   124,   125,
22918      126,   127,    -1,    -1,   130,   131,   132,   133,   134,    -1,
22919      136,   137,   138,    -1,   140,   141,   142,    -1,   144,   145,
22920      146,   147,   148,   149,   150,   151,   152,   153,    -1,   155,
22921       -1,   157,   158,   159,   160,    -1,   162,    -1,   164,    -1,
22922       -1,    -1,   168,   169,   170,   171,    -1,   173,   174,    -1,
22923      176,   177,   178,    -1,   180,   181,   182,   183,   184,    -1,
22924      186,   187,   188,   189,    -1,   191,   192,   193,   194,   195,
22925      196,   197,    -1,   199,    -1,   201,   202,   203,   204,   205,
22926      206,   207,    -1,   209,    -1,   211,    -1,    -1,   214,    -1,
22927      216,   217,   218,   219,   220,    -1,    -1,   223,   224,    -1,
22928      226,    -1,    -1,   229,   230,   231,    -1,    -1,   234,   235,
22929      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
22930      246,   247,   248,   249,   250,    -1,   252,   253,   254,   255,
22931      256,   257,   258,   259,   260,   261,   262,    -1,   264,   265,
22932       -1,   267,    -1,   269,   270,   271,   272,   273,   274,    -1,
22933      276,   277,    -1,    -1,   280,   281,   282,    -1,    -1,   285,
22934      286,   287,    -1,   289,    -1,   291,   292,   293,   294,   295,
22935      296,   297,   298,   299,   300,    -1,    -1,   303,   304,   305,
22936      306,   307,   308,   309,   310,    -1,   312,   313,   314,   315,
22937      316,   317,   318,   319,   320,   321,   322,   323,   324,   325,
22938      326,    -1,   328,   329,   330,   331,   332,   333,   334,   335,
22939      336,   337,   338,   339,    -1,   341,   342,    -1,   344,   345,
22940      346,   347,   348,   349,   350,   351,   352,   353,   354,   355,
22941      356,   357,   358,    -1,   360,   361,   362,   363,   364,    -1,
22942      366,   367,   368,   369,   370,    -1,   372,   373,   374,   375,
22943       -1,   377,   378,   379,   380,   381,   382,   383,   384,   385,
22944      386,   387,   388,   389,   390,   391,    -1,   393,   394,    -1,
22945      396,    -1,   398,   399,   400,   401,   402,    -1,   404,   405,
22946      406,    -1,    -1,   409,   410,   411,   412,   413,    -1,   415,
22947      416,   417,   418,   419,   420,   421,   422,    -1,    -1,   425,
22948      426,   427,   428,   429,    -1,    -1,   432,   433,   434,   435,
22949      436,   437,   438,    -1,   440,    -1,   442,   443,   444,   445,
22950       -1,    -1,   448,    -1,    -1,   451,   452,   453,   454,   455,
22951      456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
22952      466,   467,   468,   469,   470,     3,    -1,    -1,    -1,    -1,
22953       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22954       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
22955       -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,
22956       -1,    39,    40,    -1,    42,    43,    44,    -1,    46,    47,
22957       48,    49,    50,    -1,    52,    53,    -1,    55,    56,    57,
22958       58,    59,    60,    -1,    -1,    63,    64,    65,    66,    67,
22959       -1,    69,    70,    71,    72,    73,    -1,    -1,    -1,    77,
22960       78,    79,    80,    81,    -1,    83,    84,    85,    -1,    87,
22961       88,    89,    90,    91,    92,    -1,    -1,    95,    96,    97,
22962       -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,   106,   107,
22963      108,   109,   110,   111,   112,   113,    -1,   115,    -1,   117,
22964      118,   119,   120,   121,   122,    -1,   124,   125,   126,   127,
22965       -1,    -1,   130,   131,   132,   133,   134,    -1,   136,   137,
22966      138,    -1,   140,   141,   142,    -1,   144,   145,   146,   147,
22967      148,   149,   150,   151,   152,   153,    -1,   155,    -1,   157,
22968      158,   159,   160,    -1,   162,    -1,   164,    -1,    -1,    -1,
22969      168,   169,   170,   171,    -1,   173,   174,    -1,   176,   177,
22970      178,    -1,   180,   181,   182,   183,   184,    -1,   186,   187,
22971      188,   189,    -1,   191,   192,   193,   194,   195,   196,   197,
22972       -1,   199,    -1,   201,   202,   203,   204,   205,   206,   207,
22973       -1,   209,    -1,   211,    -1,    -1,   214,    -1,   216,   217,
22974      218,   219,   220,    -1,    -1,   223,   224,    -1,   226,    -1,
22975       -1,   229,   230,   231,    -1,    -1,   234,   235,   236,   237,
22976      238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
22977      248,   249,   250,    -1,   252,   253,   254,   255,   256,   257,
22978      258,   259,   260,   261,   262,    -1,   264,   265,    -1,   267,
22979       -1,   269,   270,   271,   272,   273,   274,    -1,   276,   277,
22980       -1,    -1,   280,   281,   282,    -1,    -1,   285,   286,   287,
22981       -1,   289,    -1,   291,   292,   293,   294,   295,   296,   297,
22982      298,   299,   300,    -1,    -1,   303,   304,   305,   306,   307,
22983      308,   309,   310,    -1,   312,   313,   314,   315,   316,   317,
22984      318,   319,   320,   321,   322,   323,   324,   325,   326,    -1,
22985      328,   329,   330,   331,   332,   333,   334,   335,   336,   337,
22986      338,   339,    -1,   341,   342,    -1,   344,   345,   346,   347,
22987      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
22988      358,    -1,   360,   361,   362,   363,   364,    -1,   366,   367,
22989      368,   369,   370,    -1,   372,   373,   374,   375,    -1,   377,
22990      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
22991      388,   389,   390,   391,    -1,   393,   394,    -1,   396,    -1,
22992      398,   399,   400,   401,   402,    -1,   404,   405,   406,    -1,
22993       -1,   409,   410,   411,   412,   413,    -1,   415,   416,   417,
22994      418,   419,   420,   421,   422,    -1,    -1,   425,   426,   427,
22995      428,   429,    -1,    -1,   432,   433,   434,   435,   436,   437,
22996      438,    -1,   440,    -1,   442,   443,   444,   445,    -1,    -1,
22997      448,    -1,    -1,   451,   452,   453,   454,   455,   456,   457,
22998      458,   459,   460,   461,   462,   463,   464,   465,   466,   467,
22999      468,   469,   470,     3,    -1,    -1,    -1,    -1,    -1,    -1,
23000       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23001       20,    21,    22,    23,    24,    25,    26,    27,    -1,    29,
23002       30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,
23003       40,    -1,    42,    43,    44,    -1,    46,    47,    48,    49,
23004       50,    -1,    52,    53,    -1,    55,    56,    57,    58,    59,
23005       60,    -1,    -1,    63,    64,    65,    66,    67,    -1,    69,
23006       70,    71,    72,    73,    -1,    -1,    -1,    77,    78,    79,
23007       80,    81,    -1,    83,    84,    85,    -1,    87,    88,    89,
23008       90,    91,    92,    -1,    -1,    95,    96,    97,    -1,    -1,
23009       -1,    -1,    -1,    -1,    -1,   105,   106,   107,   108,   109,
23010      110,   111,   112,   113,    -1,   115,    -1,   117,   118,   119,
23011      120,   121,   122,    -1,   124,   125,   126,   127,    -1,    -1,
23012      130,   131,   132,   133,   134,    -1,   136,   137,   138,    -1,
23013      140,   141,   142,    -1,   144,   145,   146,   147,   148,   149,
23014      150,   151,   152,   153,    -1,   155,    -1,   157,   158,   159,
23015      160,    -1,   162,    -1,   164,    -1,    -1,    -1,   168,   169,
23016      170,   171,    -1,   173,   174,    -1,   176,   177,   178,    -1,
23017      180,   181,   182,   183,   184,    -1,   186,   187,   188,   189,
23018       -1,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
23019       -1,   201,   202,   203,   204,   205,   206,   207,    -1,   209,
23020       -1,   211,    -1,    -1,   214,    -1,   216,   217,   218,   219,
23021      220,    -1,    -1,   223,   224,    -1,   226,    -1,    -1,   229,
23022      230,   231,    -1,    -1,   234,   235,   236,   237,   238,   239,
23023      240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
23024      250,    -1,   252,   253,   254,   255,   256,   257,   258,   259,
23025      260,   261,   262,    -1,   264,   265,    -1,   267,    -1,   269,
23026      270,   271,   272,   273,   274,    -1,   276,   277,    -1,    -1,
23027      280,   281,   282,    -1,    -1,   285,   286,   287,    -1,   289,
23028       -1,   291,   292,   293,   294,   295,   296,   297,   298,   299,
23029      300,    -1,    -1,   303,   304,   305,   306,   307,   308,   309,
23030      310,    -1,   312,   313,   314,   315,   316,   317,   318,   319,
23031      320,   321,   322,   323,   324,   325,   326,    -1,   328,   329,
23032      330,   331,   332,   333,   334,   335,   336,   337,   338,   339,
23033       -1,   341,   342,    -1,   344,   345,   346,   347,   348,   349,
23034      350,   351,   352,   353,   354,   355,   356,   357,   358,    -1,
23035      360,   361,   362,   363,   364,    -1,   366,   367,   368,   369,
23036      370,    -1,   372,   373,   374,   375,    -1,   377,   378,   379,
23037      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
23038      390,   391,    -1,   393,   394,    -1,   396,    -1,   398,   399,
23039      400,   401,   402,    -1,   404,   405,   406,    -1,    -1,   409,
23040      410,   411,   412,   413,    -1,   415,   416,   417,   418,   419,
23041      420,   421,   422,    -1,    -1,   425,   426,   427,   428,   429,
23042       -1,    -1,   432,   433,   434,   435,   436,   437,   438,    -1,
23043      440,    -1,   442,   443,   444,   445,    -1,    -1,   448,    -1,
23044       -1,   451,   452,   453,   454,   455,   456,   457,   458,   459,
23045      460,   461,   462,   463,   464,   465,   466,   467,   468,   469,
23046      470,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23047       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,
23048       22,    23,    24,    25,    26,    27,    -1,    29,    30,    31,
23049       -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    -1,
23050       42,    43,    44,    -1,    46,    47,    48,    49,    50,    -1,
23051       52,    53,    -1,    55,    56,    57,    58,    59,    60,    -1,
23052       -1,    63,    64,    65,    66,    67,    -1,    69,    70,    71,
23053       72,    73,    -1,    -1,    -1,    77,    78,    79,    80,    81,
23054       -1,    83,    84,    85,    -1,    87,    88,    89,    90,    91,
23055       92,    -1,    -1,    95,    96,    97,    -1,    -1,    -1,    -1,
23056       -1,    -1,    -1,   105,   106,   107,   108,   109,   110,   111,
23057      112,   113,    -1,   115,    -1,   117,   118,   119,   120,   121,
23058      122,    -1,   124,   125,   126,   127,    -1,    -1,   130,   131,
23059      132,   133,   134,    -1,   136,   137,   138,    -1,   140,   141,
23060      142,    -1,   144,   145,   146,   147,   148,   149,   150,   151,
23061      152,   153,    -1,   155,    -1,   157,   158,   159,   160,    -1,
23062      162,    -1,   164,    -1,    -1,    -1,   168,   169,   170,   171,
23063       -1,   173,   174,    -1,   176,   177,   178,    -1,   180,   181,
23064      182,   183,   184,    -1,   186,   187,   188,   189,    -1,   191,
23065      192,   193,   194,   195,   196,   197,    -1,   199,    -1,   201,
23066      202,   203,   204,   205,   206,   207,    -1,   209,    -1,   211,
23067       -1,    -1,   214,    -1,   216,   217,   218,   219,   220,    -1,
23068       -1,   223,   224,    -1,   226,    -1,    -1,   229,   230,   231,
23069       -1,    -1,   234,   235,   236,   237,   238,   239,   240,   241,
23070      242,   243,   244,   245,   246,   247,   248,   249,   250,    -1,
23071      252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
23072      262,    -1,   264,   265,    -1,   267,    -1,   269,   270,   271,
23073      272,   273,   274,    -1,   276,   277,    -1,    -1,   280,   281,
23074      282,    -1,    -1,   285,   286,   287,    -1,   289,    -1,   291,
23075      292,   293,   294,   295,   296,   297,   298,   299,   300,    -1,
23076       -1,   303,   304,   305,   306,   307,   308,   309,   310,    -1,
23077      312,   313,   314,   315,   316,   317,   318,   319,   320,   321,
23078      322,   323,   324,   325,   326,    -1,   328,   329,   330,   331,
23079      332,   333,   334,   335,   336,   337,   338,   339,    -1,   341,
23080      342,    -1,   344,   345,   346,   347,   348,   349,   350,   351,
23081      352,   353,   354,   355,   356,   357,   358,    -1,   360,   361,
23082      362,   363,   364,    -1,   366,   367,   368,   369,   370,    -1,
23083      372,   373,   374,   375,    -1,   377,   378,   379,   380,   381,
23084      382,   383,   384,   385,   386,   387,   388,   389,   390,   391,
23085       -1,   393,   394,    -1,   396,    -1,   398,   399,   400,   401,
23086      402,    -1,   404,   405,   406,    -1,    -1,   409,   410,   411,
23087      412,   413,    -1,   415,   416,   417,   418,   419,   420,   421,
23088      422,    -1,    -1,   425,   426,   427,   428,   429,    -1,    -1,
23089      432,   433,   434,   435,   436,   437,   438,    -1,   440,    -1,
23090      442,   443,   444,   445,    -1,    -1,   448,    -1,    -1,   451,
23091      452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
23092      462,   463,   464,   465,   466,   467,   468,   469,   470,     3,
23093       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23094       -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
23095       24,    25,    26,    27,    -1,    29,    30,    31,    -1,    -1,
23096       -1,    -1,    -1,    -1,    -1,    39,    40,    -1,    42,    43,
23097       44,    -1,    46,    47,    48,    49,    50,    -1,    52,    53,
23098       -1,    55,    56,    57,    58,    59,    60,    -1,    -1,    63,
23099       64,    65,    66,    67,    -1,    69,    70,    71,    72,    73,
23100       -1,    -1,    -1,    77,    78,    79,    80,    81,    -1,    83,
23101       84,    85,    -1,    87,    88,    89,    90,    91,    92,    -1,
23102       -1,    95,    96,    97,    -1,    -1,    -1,    -1,    -1,    -1,
23103       -1,   105,   106,   107,   108,   109,   110,   111,   112,   113,
23104       -1,   115,    -1,   117,   118,   119,   120,   121,   122,    -1,
23105      124,   125,   126,   127,    -1,    -1,   130,   131,   132,   133,
23106      134,    -1,   136,   137,   138,    -1,   140,   141,   142,    -1,
23107      144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
23108       -1,   155,    -1,   157,   158,   159,   160,    -1,   162,    -1,
23109      164,    -1,    -1,    -1,   168,   169,   170,   171,    -1,   173,
23110      174,    -1,   176,   177,   178,    -1,   180,   181,   182,   183,
23111      184,    -1,   186,   187,   188,   189,    -1,   191,   192,   193,
23112      194,   195,   196,   197,    -1,   199,    -1,   201,   202,   203,
23113      204,   205,   206,   207,    -1,   209,    -1,   211,    -1,    -1,
23114      214,    -1,   216,   217,   218,   219,   220,    -1,    -1,   223,
23115      224,    -1,   226,    -1,    -1,   229,   230,   231,    -1,    -1,
23116      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
23117      244,   245,   246,   247,   248,   249,   250,    -1,   252,   253,
23118      254,   255,   256,   257,   258,   259,   260,   261,   262,    -1,
23119      264,   265,    -1,   267,    -1,   269,   270,   271,   272,   273,
23120      274,    -1,   276,   277,    -1,    -1,   280,   281,   282,    -1,
23121       -1,   285,   286,   287,    -1,   289,    -1,   291,   292,   293,
23122      294,   295,   296,   297,   298,   299,   300,    -1,    -1,   303,
23123      304,   305,   306,   307,   308,   309,   310,    -1,   312,   313,
23124      314,   315,   316,   317,   318,   319,   320,   321,   322,   323,
23125      324,   325,   326,    -1,   328,   329,   330,   331,   332,   333,
23126      334,   335,   336,   337,   338,   339,    -1,   341,   342,    -1,
23127      344,   345,   346,   347,   348,   349,   350,   351,   352,   353,
23128      354,   355,   356,   357,   358,    -1,   360,   361,   362,   363,
23129      364,    -1,   366,   367,   368,   369,   370,    -1,   372,   373,
23130      374,   375,    -1,   377,   378,   379,   380,   381,   382,   383,
23131      384,   385,   386,   387,   388,   389,   390,   391,    -1,   393,
23132      394,    -1,   396,    -1,   398,   399,   400,   401,   402,    -1,
23133      404,   405,   406,    -1,    -1,   409,   410,   411,   412,   413,
23134       -1,   415,   416,   417,   418,   419,   420,   421,   422,    -1,
23135       -1,   425,   426,   427,   428,   429,    -1,    -1,   432,   433,
23136      434,   435,   436,   437,   438,    -1,   440,    -1,   442,   443,
23137      444,   445,    -1,    -1,   448,    -1,    -1,   451,   452,   453,
23138      454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
23139      464,   465,   466,   467,   468,   469,   470,     3,    -1,    -1,
23140       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23141       -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
23142       26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,
23143       -1,    -1,    -1,    39,    40,    -1,    42,    43,    44,    -1,
23144       46,    47,    48,    49,    50,    -1,    52,    53,    -1,    55,
23145       56,    57,    58,    59,    60,    -1,    -1,    63,    64,    65,
23146       66,    67,    -1,    69,    70,    71,    72,    73,    -1,    -1,
23147       -1,    77,    78,    79,    80,    81,    -1,    83,    84,    85,
23148       -1,    87,    88,    89,    90,    91,    92,    -1,    -1,    95,
23149       96,    97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,
23150      106,   107,   108,   109,   110,   111,   112,   113,    -1,   115,
23151       -1,   117,   118,   119,   120,   121,   122,    -1,   124,   125,
23152      126,   127,    -1,    -1,   130,   131,   132,   133,   134,    -1,
23153      136,   137,   138,    -1,   140,   141,   142,    -1,   144,   145,
23154      146,   147,   148,   149,   150,   151,   152,   153,    -1,   155,
23155       -1,   157,   158,   159,   160,    -1,   162,    -1,   164,    -1,
23156       -1,    -1,   168,   169,   170,   171,    -1,   173,   174,    -1,
23157      176,   177,   178,    -1,   180,   181,   182,   183,   184,    -1,
23158      186,   187,   188,   189,    -1,   191,   192,   193,   194,   195,
23159      196,   197,    -1,   199,    -1,   201,   202,   203,   204,   205,
23160      206,   207,    -1,   209,    -1,   211,    -1,    -1,   214,    -1,
23161      216,   217,   218,   219,   220,    -1,    -1,   223,   224,    -1,
23162      226,    -1,    -1,   229,   230,   231,    -1,    -1,   234,   235,
23163      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
23164      246,   247,   248,   249,   250,    -1,   252,   253,   254,   255,
23165      256,   257,   258,   259,   260,   261,   262,    -1,   264,   265,
23166       -1,   267,    -1,   269,   270,   271,   272,   273,   274,    -1,
23167      276,   277,    -1,    -1,   280,   281,   282,    -1,    -1,   285,
23168      286,   287,    -1,   289,    -1,   291,   292,   293,   294,   295,
23169      296,   297,   298,   299,   300,    -1,    -1,   303,   304,   305,
23170      306,   307,   308,   309,   310,    -1,   312,   313,   314,   315,
23171      316,   317,   318,   319,   320,   321,   322,   323,   324,   325,
23172      326,    -1,   328,   329,   330,   331,   332,   333,   334,   335,
23173      336,   337,   338,   339,    -1,   341,   342,    -1,   344,   345,
23174      346,   347,   348,   349,   350,   351,   352,   353,   354,   355,
23175      356,   357,   358,    -1,   360,   361,   362,   363,   364,    -1,
23176      366,   367,   368,   369,   370,    -1,   372,   373,   374,   375,
23177       -1,   377,   378,   379,   380,   381,   382,   383,   384,   385,
23178      386,   387,   388,   389,   390,   391,    -1,   393,   394,    -1,
23179      396,    -1,   398,   399,   400,   401,   402,    -1,   404,   405,
23180      406,    -1,    -1,   409,   410,   411,   412,   413,    -1,   415,
23181      416,   417,   418,   419,   420,   421,   422,    -1,    -1,   425,
23182      426,   427,   428,   429,    -1,    -1,   432,   433,   434,   435,
23183      436,   437,   438,    -1,   440,    -1,   442,   443,   444,   445,
23184       -1,    -1,   448,    -1,    -1,   451,   452,   453,   454,   455,
23185      456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
23186      466,   467,   468,   469,   470,     3,    -1,    -1,    -1,    -1,
23187       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23188       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
23189       -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,
23190       -1,    39,    40,    -1,    42,    43,    44,    -1,    46,    47,
23191       48,    49,    50,    -1,    52,    53,    -1,    55,    56,    57,
23192       58,    59,    60,    -1,    -1,    63,    64,    65,    66,    67,
23193       -1,    69,    70,    71,    72,    73,    -1,    -1,    -1,    77,
23194       78,    79,    80,    81,    -1,    83,    84,    85,    -1,    87,
23195       88,    89,    90,    91,    92,    -1,    -1,    95,    96,    97,
23196       -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,   106,   107,
23197      108,   109,   110,   111,   112,   113,    -1,   115,    -1,   117,
23198      118,   119,   120,   121,   122,    -1,   124,   125,   126,   127,
23199       -1,    -1,   130,   131,   132,   133,   134,    -1,   136,   137,
23200      138,    -1,   140,   141,   142,    -1,   144,   145,   146,   147,
23201      148,   149,   150,   151,   152,   153,    -1,   155,    -1,   157,
23202      158,   159,   160,    -1,   162,    -1,   164,    -1,    -1,    -1,
23203      168,   169,   170,   171,    -1,   173,   174,    -1,   176,   177,
23204      178,    -1,   180,   181,   182,   183,   184,    -1,   186,   187,
23205      188,   189,    -1,   191,   192,   193,   194,   195,   196,   197,
23206       -1,   199,    -1,   201,   202,   203,   204,   205,   206,   207,
23207       -1,   209,    -1,   211,    -1,    -1,   214,    -1,   216,   217,
23208      218,   219,   220,    -1,    -1,   223,   224,    -1,   226,    -1,
23209       -1,   229,   230,   231,    -1,    -1,   234,   235,   236,   237,
23210      238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
23211      248,   249,   250,    -1,   252,   253,   254,   255,   256,   257,
23212      258,   259,   260,   261,   262,    -1,   264,   265,    -1,   267,
23213       -1,   269,   270,   271,   272,   273,   274,    -1,   276,   277,
23214       -1,    -1,   280,   281,   282,    -1,    -1,   285,   286,   287,
23215       -1,   289,    -1,   291,   292,   293,   294,   295,   296,   297,
23216      298,   299,   300,    -1,    -1,   303,   304,   305,   306,   307,
23217      308,   309,   310,    -1,   312,   313,   314,   315,   316,   317,
23218      318,   319,   320,   321,   322,   323,   324,   325,   326,    -1,
23219      328,   329,   330,   331,   332,   333,   334,   335,   336,   337,
23220      338,   339,    -1,   341,   342,    -1,   344,   345,   346,   347,
23221      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
23222      358,    -1,   360,   361,   362,   363,   364,    -1,   366,   367,
23223      368,   369,   370,    -1,   372,   373,   374,   375,    -1,   377,
23224      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
23225      388,   389,   390,   391,    -1,   393,   394,    -1,   396,    -1,
23226      398,   399,   400,   401,   402,    -1,   404,   405,   406,    -1,
23227       -1,   409,   410,   411,   412,   413,    -1,   415,   416,   417,
23228      418,   419,   420,   421,   422,    -1,    -1,   425,   426,   427,
23229      428,   429,    -1,    -1,   432,   433,   434,   435,   436,   437,
23230      438,    -1,   440,    -1,   442,   443,   444,   445,    -1,    -1,
23231      448,    -1,    -1,   451,   452,   453,   454,   455,   456,   457,
23232      458,   459,   460,   461,   462,   463,   464,   465,   466,   467,
23233      468,   469,   470,     3,    -1,    -1,    -1,    -1,    -1,    -1,
23234       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23235       20,    21,    22,    23,    24,    25,    26,    27,    -1,    29,
23236       30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,
23237       40,    -1,    42,    43,    44,    -1,    46,    47,    48,    49,
23238       50,    -1,    52,    53,    -1,    55,    56,    57,    58,    59,
23239       60,    -1,    -1,    63,    64,    65,    66,    67,    -1,    69,
23240       70,    71,    72,    73,    -1,    -1,    -1,    77,    78,    79,
23241       80,    81,    -1,    83,    84,    85,    -1,    87,    88,    89,
23242       90,    91,    92,    -1,    -1,    95,    96,    97,    -1,    -1,
23243       -1,    -1,    -1,    -1,    -1,   105,   106,   107,   108,   109,
23244      110,   111,   112,   113,    -1,   115,    -1,   117,   118,   119,
23245      120,   121,   122,    -1,   124,   125,   126,   127,    -1,    -1,
23246      130,   131,   132,   133,   134,    -1,   136,   137,   138,    -1,
23247      140,   141,   142,    -1,   144,   145,   146,   147,   148,   149,
23248      150,   151,   152,   153,    -1,   155,    -1,   157,   158,   159,
23249      160,    -1,   162,    -1,   164,    -1,    -1,    -1,   168,   169,
23250      170,   171,    -1,   173,   174,    -1,   176,   177,   178,    -1,
23251      180,   181,   182,   183,   184,    -1,   186,   187,   188,   189,
23252       -1,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
23253       -1,   201,   202,   203,   204,   205,   206,   207,    -1,   209,
23254       -1,   211,    -1,    -1,   214,    -1,   216,   217,   218,   219,
23255      220,    -1,    -1,   223,   224,    -1,   226,    -1,    -1,   229,
23256      230,   231,    -1,    -1,   234,   235,   236,   237,   238,   239,
23257      240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
23258      250,    -1,   252,   253,   254,   255,   256,   257,   258,   259,
23259      260,   261,   262,    -1,   264,   265,    -1,   267,    -1,   269,
23260      270,   271,   272,   273,   274,    -1,   276,   277,    -1,    -1,
23261      280,   281,   282,    -1,    -1,   285,   286,   287,    -1,   289,
23262       -1,   291,   292,   293,   294,   295,   296,   297,   298,   299,
23263      300,    -1,    -1,   303,   304,   305,   306,   307,   308,   309,
23264      310,    -1,   312,   313,   314,   315,   316,   317,   318,   319,
23265      320,   321,   322,   323,   324,   325,   326,    -1,   328,   329,
23266      330,   331,   332,   333,   334,   335,   336,   337,   338,   339,
23267       -1,   341,   342,    -1,   344,   345,   346,   347,   348,   349,
23268      350,   351,   352,   353,   354,   355,   356,   357,   358,    -1,
23269      360,   361,   362,   363,   364,    -1,   366,   367,   368,   369,
23270      370,    -1,   372,   373,   374,   375,    -1,   377,   378,   379,
23271      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
23272      390,   391,    -1,   393,   394,    -1,   396,    -1,   398,   399,
23273      400,   401,   402,    -1,   404,   405,   406,    -1,    -1,   409,
23274      410,   411,   412,   413,    -1,   415,   416,   417,   418,   419,
23275      420,   421,   422,    -1,    -1,   425,   426,   427,   428,   429,
23276       -1,    -1,   432,   433,   434,   435,   436,   437,   438,    -1,
23277      440,    -1,   442,   443,   444,   445,    -1,    -1,   448,    -1,
23278       -1,   451,   452,   453,   454,   455,   456,   457,   458,   459,
23279      460,   461,   462,   463,   464,   465,   466,   467,   468,   469,
23280      470,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23281       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,
23282       22,    23,    24,    25,    26,    27,    -1,    29,    30,    31,
23283       -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    -1,
23284       42,    43,    44,    -1,    46,    47,    48,    49,    50,    -1,
23285       52,    53,    -1,    55,    56,    57,    58,    59,    60,    -1,
23286       -1,    63,    64,    65,    66,    67,    -1,    69,    70,    71,
23287       72,    73,    -1,    -1,    -1,    77,    78,    79,    80,    81,
23288       -1,    83,    84,    85,    -1,    87,    88,    89,    90,    91,
23289       92,    -1,    -1,    95,    96,    97,    -1,    -1,    -1,    -1,
23290       -1,    -1,    -1,   105,   106,   107,   108,   109,   110,   111,
23291      112,   113,    -1,   115,    -1,   117,   118,   119,   120,   121,
23292      122,    -1,   124,   125,   126,   127,    -1,    -1,   130,   131,
23293      132,   133,   134,    -1,   136,   137,   138,    -1,   140,   141,
23294      142,    -1,   144,   145,   146,   147,   148,   149,   150,   151,
23295      152,   153,    -1,   155,    -1,   157,   158,   159,   160,    -1,
23296      162,    -1,   164,    -1,    -1,    -1,   168,   169,   170,   171,
23297       -1,   173,   174,    -1,   176,   177,   178,    -1,   180,   181,
23298      182,   183,   184,    -1,   186,   187,   188,   189,    -1,   191,
23299      192,   193,   194,   195,   196,   197,    -1,   199,    -1,   201,
23300      202,   203,   204,   205,   206,   207,    -1,   209,    -1,   211,
23301       -1,    -1,   214,    -1,   216,   217,   218,   219,   220,    -1,
23302       -1,   223,   224,    -1,   226,    -1,    -1,   229,   230,   231,
23303       -1,    -1,   234,   235,   236,   237,   238,   239,   240,   241,
23304      242,   243,   244,   245,   246,   247,   248,   249,   250,    -1,
23305      252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
23306      262,    -1,   264,   265,    -1,   267,    -1,   269,   270,   271,
23307      272,   273,   274,    -1,   276,   277,    -1,    -1,   280,   281,
23308      282,    -1,    -1,   285,   286,   287,    -1,   289,    -1,   291,
23309      292,   293,   294,   295,   296,   297,   298,   299,   300,    -1,
23310       -1,   303,   304,   305,   306,   307,   308,   309,   310,    -1,
23311      312,   313,   314,   315,   316,   317,   318,   319,   320,   321,
23312      322,   323,   324,   325,   326,    -1,   328,   329,   330,   331,
23313      332,   333,   334,   335,   336,   337,   338,   339,    -1,   341,
23314      342,    -1,   344,   345,   346,   347,   348,   349,   350,   351,
23315      352,   353,   354,   355,   356,   357,   358,    -1,   360,   361,
23316      362,   363,   364,    -1,   366,   367,   368,   369,   370,    -1,
23317      372,   373,   374,   375,    -1,   377,   378,   379,   380,   381,
23318      382,   383,   384,   385,   386,   387,   388,   389,   390,   391,
23319       -1,   393,   394,    -1,   396,    -1,   398,   399,   400,   401,
23320      402,    -1,   404,   405,   406,    -1,    -1,   409,   410,   411,
23321      412,   413,    -1,   415,   416,   417,   418,   419,   420,   421,
23322      422,    -1,    -1,   425,   426,   427,   428,   429,    -1,    -1,
23323      432,   433,   434,   435,   436,   437,   438,    -1,   440,    -1,
23324      442,   443,   444,   445,    -1,    -1,   448,    -1,    -1,   451,
23325      452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
23326      462,   463,   464,   465,   466,   467,   468,   469,   470,     3,
23327       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23328       -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
23329       24,    25,    26,    27,    -1,    29,    30,    31,    -1,    -1,
23330       -1,    -1,    -1,    -1,    -1,    39,    40,    -1,    42,    43,
23331       44,    -1,    46,    47,    48,    49,    50,    -1,    52,    53,
23332       -1,    55,    56,    57,    58,    59,    60,    -1,    -1,    63,
23333       64,    65,    66,    67,    -1,    69,    70,    71,    72,    73,
23334       -1,    -1,    -1,    77,    78,    79,    80,    81,    -1,    83,
23335       84,    85,    -1,    87,    88,    89,    90,    91,    92,    -1,
23336       -1,    95,    96,    97,    -1,    -1,    -1,    -1,    -1,    -1,
23337       -1,   105,   106,   107,   108,   109,   110,   111,   112,   113,
23338       -1,   115,    -1,   117,   118,   119,   120,   121,   122,    -1,
23339      124,   125,   126,   127,    -1,    -1,   130,   131,   132,   133,
23340      134,    -1,   136,   137,   138,    -1,   140,   141,   142,    -1,
23341      144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
23342       -1,   155,    -1,   157,   158,   159,   160,    -1,   162,    -1,
23343      164,    -1,    -1,    -1,   168,   169,   170,   171,    -1,   173,
23344      174,    -1,   176,   177,   178,    -1,   180,   181,   182,   183,
23345      184,    -1,   186,   187,   188,   189,    -1,   191,   192,   193,
23346      194,   195,   196,   197,    -1,   199,    -1,   201,   202,   203,
23347      204,   205,   206,   207,    -1,   209,    -1,   211,    -1,    -1,
23348      214,    -1,   216,   217,   218,   219,   220,    -1,    -1,   223,
23349      224,    -1,   226,    -1,    -1,   229,   230,   231,    -1,    -1,
23350      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
23351      244,   245,   246,   247,   248,   249,   250,    -1,   252,   253,
23352      254,   255,   256,   257,   258,   259,   260,   261,   262,    -1,
23353      264,   265,    -1,   267,    -1,   269,   270,   271,   272,   273,
23354      274,    -1,   276,   277,    -1,    -1,   280,   281,   282,    -1,
23355       -1,   285,   286,   287,    -1,   289,    -1,   291,   292,   293,
23356      294,   295,   296,   297,   298,   299,   300,    -1,    -1,   303,
23357      304,   305,   306,   307,   308,   309,   310,    -1,   312,   313,
23358      314,   315,   316,   317,   318,   319,   320,   321,   322,   323,
23359      324,   325,   326,    -1,   328,   329,   330,   331,   332,   333,
23360      334,   335,   336,   337,   338,   339,    -1,   341,   342,    -1,
23361      344,   345,   346,   347,   348,   349,   350,   351,   352,   353,
23362      354,   355,   356,   357,   358,    -1,   360,   361,   362,   363,
23363      364,    -1,   366,   367,   368,   369,   370,    -1,   372,   373,
23364      374,   375,    -1,   377,   378,   379,   380,   381,   382,   383,
23365      384,   385,   386,   387,   388,   389,   390,   391,    -1,   393,
23366      394,    -1,   396,    -1,   398,   399,   400,   401,   402,    -1,
23367      404,   405,   406,    -1,    -1,   409,   410,   411,   412,   413,
23368       -1,   415,   416,   417,   418,   419,   420,   421,   422,    -1,
23369       -1,   425,   426,   427,   428,   429,    -1,    -1,   432,   433,
23370      434,   435,   436,   437,   438,    -1,   440,    -1,   442,   443,
23371      444,   445,    -1,    -1,   448,    -1,    -1,   451,   452,   453,
23372      454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
23373      464,   465,   466,   467,   468,   469,   470,     3,    -1,    -1,
23374       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23375       -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
23376       26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,
23377       -1,    37,    -1,    39,    40,    -1,    42,    43,    44,    -1,
23378       46,    47,    48,    49,    50,    -1,    52,    53,    -1,    55,
23379       56,    57,    58,    59,    60,    -1,    -1,    63,    64,    65,
23380       66,    67,    -1,    69,    70,    71,    72,    73,    -1,    -1,
23381       -1,    77,    78,    79,    80,    81,    -1,    83,    84,    85,
23382       -1,    87,    88,    89,    90,    91,    92,    -1,    -1,    95,
23383       96,    97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,
23384      106,   107,   108,   109,   110,   111,   112,   113,    -1,   115,
23385       -1,   117,   118,   119,   120,   121,   122,    -1,   124,   125,
23386      126,   127,    -1,    -1,   130,   131,   132,   133,   134,    -1,
23387      136,   137,   138,    -1,   140,   141,   142,    -1,   144,   145,
23388      146,   147,   148,   149,   150,   151,   152,   153,    -1,   155,
23389       -1,   157,   158,   159,   160,    -1,   162,    -1,   164,    -1,
23390       -1,    -1,   168,   169,   170,   171,    -1,   173,   174,    -1,
23391      176,   177,   178,    -1,   180,   181,   182,   183,   184,    -1,
23392      186,   187,   188,   189,    -1,   191,   192,   193,   194,   195,
23393      196,   197,    -1,   199,    -1,   201,   202,   203,   204,   205,
23394      206,   207,    -1,   209,    -1,   211,    -1,    -1,   214,    -1,
23395      216,   217,   218,   219,   220,    -1,    -1,   223,   224,    -1,
23396      226,    -1,    -1,   229,   230,   231,    -1,    -1,   234,   235,
23397      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
23398      246,   247,   248,   249,   250,    -1,   252,   253,   254,   255,
23399      256,   257,   258,   259,   260,   261,   262,    -1,   264,   265,
23400       -1,   267,    -1,   269,   270,   271,   272,   273,   274,    -1,
23401      276,   277,    -1,    -1,   280,   281,   282,    -1,    -1,   285,
23402      286,   287,    -1,   289,    -1,   291,   292,   293,   294,   295,
23403      296,   297,   298,   299,   300,    -1,    -1,   303,   304,   305,
23404      306,   307,   308,   309,   310,    -1,   312,   313,   314,   315,
23405      316,   317,   318,   319,   320,   321,   322,   323,   324,   325,
23406      326,    -1,   328,   329,   330,   331,   332,   333,   334,   335,
23407      336,   337,   338,   339,    -1,   341,   342,    -1,   344,   345,
23408      346,   347,   348,   349,   350,   351,   352,   353,   354,   355,
23409      356,   357,   358,    -1,   360,   361,   362,   363,   364,    -1,
23410       -1,   367,   368,   369,   370,    -1,   372,   373,   374,   375,
23411       -1,   377,   378,   379,   380,   381,   382,   383,   384,   385,
23412      386,   387,   388,   389,   390,   391,    -1,   393,   394,    -1,
23413      396,    -1,   398,   399,   400,   401,   402,    -1,   404,   405,
23414      406,    -1,    -1,   409,   410,   411,   412,   413,    -1,   415,
23415      416,   417,   418,   419,   420,   421,   422,    -1,    -1,   425,
23416      426,   427,   428,   429,    -1,    -1,   432,   433,   434,   435,
23417      436,   437,   438,    -1,   440,    -1,   442,   443,   444,   445,
23418       -1,    -1,   448,    -1,    -1,   451,   452,   453,   454,   455,
23419      456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
23420      466,   467,   468,   469,   470,     3,    -1,    -1,    -1,    -1,
23421       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23422       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
23423       -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,
23424       -1,    39,    40,    -1,    42,    43,    44,    -1,    46,    47,
23425       48,    49,    50,    -1,    52,    53,    -1,    55,    56,    57,
23426       58,    59,    60,    -1,    -1,    63,    64,    65,    66,    67,
23427       -1,    69,    70,    71,    72,    73,    -1,    -1,    -1,    77,
23428       78,    79,    80,    81,    -1,    83,    84,    85,    -1,    87,
23429       88,    89,    90,    91,    92,    -1,    -1,    95,    96,    97,
23430       -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,   106,   107,
23431      108,   109,   110,   111,   112,   113,    -1,   115,    -1,   117,
23432      118,   119,   120,   121,   122,    -1,   124,   125,   126,   127,
23433       -1,    -1,   130,   131,   132,   133,   134,    -1,   136,   137,
23434      138,    -1,   140,   141,   142,    -1,   144,   145,   146,   147,
23435      148,   149,   150,   151,   152,   153,    -1,   155,    -1,   157,
23436      158,   159,   160,    -1,   162,    -1,   164,    -1,    -1,    -1,
23437      168,   169,   170,   171,    -1,   173,   174,    -1,   176,   177,
23438      178,    -1,   180,   181,   182,   183,   184,    -1,   186,   187,
23439      188,   189,    -1,   191,   192,   193,   194,   195,   196,   197,
23440       -1,   199,    -1,   201,   202,   203,   204,   205,   206,   207,
23441       -1,   209,    -1,   211,    -1,    -1,   214,    -1,   216,   217,
23442      218,   219,   220,    -1,    -1,   223,   224,    -1,   226,    -1,
23443       -1,   229,   230,   231,    -1,    -1,   234,   235,   236,   237,
23444      238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
23445      248,   249,   250,    -1,   252,   253,   254,   255,   256,   257,
23446      258,   259,   260,   261,   262,    -1,   264,   265,    -1,   267,
23447       -1,   269,   270,   271,   272,   273,   274,    -1,   276,   277,
23448       -1,    -1,   280,   281,   282,    -1,    -1,   285,   286,   287,
23449       -1,   289,    -1,   291,   292,   293,   294,   295,   296,   297,
23450      298,   299,   300,    -1,    -1,   303,   304,   305,   306,   307,
23451      308,   309,   310,    -1,   312,   313,   314,   315,   316,   317,
23452      318,   319,   320,   321,   322,   323,   324,   325,   326,    -1,
23453      328,   329,   330,   331,   332,   333,   334,   335,   336,   337,
23454      338,   339,    -1,   341,   342,    -1,   344,   345,   346,   347,
23455      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
23456      358,    -1,   360,   361,   362,   363,   364,    -1,   366,   367,
23457      368,   369,   370,    -1,   372,   373,   374,   375,    -1,   377,
23458      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
23459      388,   389,   390,   391,    -1,   393,   394,    -1,   396,    -1,
23460      398,   399,   400,   401,   402,    -1,   404,   405,   406,    -1,
23461       -1,   409,   410,   411,   412,   413,    -1,   415,   416,   417,
23462      418,   419,   420,   421,   422,    -1,    -1,   425,   426,   427,
23463      428,   429,    -1,    -1,   432,   433,   434,   435,   436,   437,
23464      438,    -1,   440,    -1,   442,   443,   444,   445,    -1,    -1,
23465      448,    -1,    -1,   451,   452,   453,   454,   455,   456,   457,
23466      458,   459,   460,   461,   462,   463,   464,   465,   466,   467,
23467      468,   469,   470,     3,    -1,    -1,    -1,    -1,    -1,    -1,
23468       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23469       20,    21,    22,    23,    24,    25,    26,    27,    -1,    29,
23470       30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,
23471       40,    -1,    42,    43,    44,    -1,    46,    47,    48,    49,
23472       50,    -1,    52,    53,    -1,    55,    56,    57,    58,    59,
23473       60,    -1,    -1,    63,    64,    65,    66,    67,    -1,    69,
23474       70,    71,    72,    73,    -1,    -1,    -1,    77,    78,    79,
23475       80,    81,    -1,    83,    84,    85,    -1,    87,    88,    89,
23476       90,    91,    92,    -1,    -1,    95,    96,    97,    -1,    -1,
23477       -1,    -1,    -1,    -1,    -1,   105,   106,   107,   108,   109,
23478      110,   111,   112,   113,    -1,   115,    -1,   117,   118,   119,
23479      120,   121,   122,    -1,   124,   125,   126,   127,    -1,    -1,
23480      130,   131,   132,   133,   134,    -1,   136,   137,   138,    -1,
23481      140,   141,   142,    -1,   144,   145,   146,   147,   148,   149,
23482      150,   151,   152,   153,    -1,   155,    -1,   157,   158,   159,
23483      160,    -1,   162,    -1,   164,    -1,    -1,    -1,   168,   169,
23484      170,   171,    -1,   173,   174,    -1,   176,   177,   178,    -1,
23485      180,   181,   182,   183,   184,    -1,   186,   187,   188,   189,
23486       -1,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
23487       -1,   201,   202,   203,   204,   205,   206,   207,    -1,   209,
23488       -1,   211,    -1,    -1,   214,    -1,   216,   217,   218,   219,
23489      220,    -1,    -1,   223,   224,    -1,   226,    -1,    -1,   229,
23490      230,   231,    -1,    -1,   234,   235,   236,   237,   238,   239,
23491      240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
23492      250,    -1,   252,   253,   254,   255,   256,   257,   258,   259,
23493      260,   261,   262,    -1,   264,   265,    -1,   267,    -1,   269,
23494      270,   271,   272,   273,   274,    -1,   276,   277,    -1,    -1,
23495      280,   281,   282,    -1,    -1,   285,   286,   287,    -1,   289,
23496       -1,   291,   292,   293,   294,   295,   296,   297,   298,   299,
23497      300,    -1,    -1,   303,   304,   305,   306,   307,   308,   309,
23498      310,    -1,   312,   313,   314,   315,   316,   317,   318,   319,
23499      320,   321,   322,   323,   324,   325,   326,    -1,   328,   329,
23500      330,   331,   332,   333,   334,   335,   336,   337,   338,   339,
23501       -1,   341,   342,    -1,   344,   345,   346,   347,   348,   349,
23502      350,   351,   352,   353,   354,   355,   356,   357,   358,    -1,
23503      360,   361,   362,   363,   364,    -1,   366,   367,   368,   369,
23504      370,    -1,   372,   373,   374,   375,    -1,   377,   378,   379,
23505      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
23506      390,   391,    -1,   393,   394,    -1,   396,    -1,   398,   399,
23507      400,   401,   402,    -1,   404,   405,   406,    -1,    -1,   409,
23508      410,   411,   412,   413,    -1,   415,   416,   417,   418,   419,
23509      420,   421,   422,    -1,    -1,   425,   426,   427,   428,   429,
23510       -1,    -1,   432,   433,   434,   435,   436,   437,   438,    -1,
23511      440,    -1,   442,   443,   444,   445,    -1,    -1,   448,    -1,
23512       -1,   451,   452,   453,   454,   455,   456,   457,   458,   459,
23513      460,   461,   462,   463,   464,   465,   466,   467,   468,   469,
23514      470,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23515       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,
23516       22,    23,    24,    25,    26,    27,    -1,    29,    30,    31,
23517       -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    -1,
23518       42,    43,    44,    -1,    46,    47,    48,    49,    50,    -1,
23519       52,    53,    -1,    55,    56,    57,    58,    59,    60,    -1,
23520       -1,    63,    64,    65,    66,    67,    -1,    69,    70,    71,
23521       72,    73,    -1,    -1,    -1,    77,    78,    79,    80,    81,
23522       -1,    83,    84,    85,    -1,    87,    88,    89,    90,    91,
23523       92,    -1,    -1,    95,    96,    97,    -1,    -1,    -1,    -1,
23524       -1,    -1,    -1,   105,   106,   107,   108,   109,   110,   111,
23525      112,   113,    -1,   115,    -1,   117,   118,   119,   120,   121,
23526      122,    -1,   124,   125,   126,   127,    -1,    -1,   130,   131,
23527      132,   133,   134,    -1,   136,   137,   138,    -1,   140,   141,
23528      142,    -1,   144,   145,   146,   147,   148,   149,   150,   151,
23529      152,   153,    -1,   155,    -1,   157,   158,   159,   160,    -1,
23530      162,    -1,   164,    -1,    -1,    -1,   168,   169,   170,   171,
23531       -1,   173,   174,    -1,   176,   177,   178,    -1,   180,   181,
23532      182,   183,   184,    -1,   186,   187,   188,   189,    -1,   191,
23533      192,   193,   194,   195,   196,   197,    -1,   199,    -1,   201,
23534      202,   203,   204,   205,   206,   207,    -1,   209,    -1,   211,
23535       -1,    -1,   214,    -1,   216,   217,   218,   219,   220,    -1,
23536       -1,   223,   224,    -1,   226,    -1,    -1,   229,   230,   231,
23537       -1,    -1,   234,   235,   236,   237,   238,   239,   240,   241,
23538      242,   243,   244,   245,   246,   247,   248,   249,   250,    -1,
23539      252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
23540      262,    -1,   264,   265,    -1,   267,    -1,   269,   270,   271,
23541      272,   273,   274,    -1,   276,   277,    -1,    -1,   280,   281,
23542      282,    -1,    -1,   285,   286,   287,    -1,   289,    -1,   291,
23543      292,   293,   294,   295,   296,   297,   298,   299,   300,    -1,
23544       -1,   303,   304,   305,   306,   307,   308,   309,   310,    -1,
23545      312,   313,   314,   315,   316,   317,   318,   319,   320,   321,
23546      322,   323,   324,   325,   326,    -1,   328,   329,   330,   331,
23547      332,   333,   334,   335,   336,   337,   338,   339,    -1,   341,
23548      342,    -1,   344,   345,   346,   347,   348,   349,   350,   351,
23549      352,   353,   354,   355,   356,   357,   358,    -1,   360,   361,
23550      362,   363,   364,    -1,   366,   367,   368,   369,   370,    -1,
23551      372,   373,   374,   375,    -1,   377,   378,   379,   380,   381,
23552      382,   383,   384,   385,   386,   387,   388,   389,   390,   391,
23553       -1,   393,   394,    -1,   396,    -1,   398,   399,   400,   401,
23554      402,    -1,   404,   405,   406,    -1,    -1,   409,   410,   411,
23555      412,   413,    -1,   415,   416,   417,   418,   419,   420,   421,
23556      422,    -1,    -1,   425,   426,   427,   428,   429,    -1,    -1,
23557      432,   433,   434,   435,   436,   437,   438,    -1,   440,    -1,
23558      442,   443,   444,   445,    -1,    -1,   448,    -1,    -1,   451,
23559      452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
23560      462,   463,   464,   465,   466,   467,   468,   469,   470,     3,
23561       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23562       -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
23563       24,    25,    26,    27,    -1,    29,    30,    31,    -1,    -1,
23564       -1,    -1,    -1,    -1,    -1,    39,    40,    -1,    42,    43,
23565       44,    -1,    46,    47,    48,    49,    50,    -1,    52,    53,
23566       -1,    55,    56,    57,    58,    59,    60,    -1,    -1,    63,
23567       64,    65,    66,    67,    -1,    69,    70,    71,    72,    73,
23568       -1,    -1,    -1,    77,    78,    79,    80,    81,    -1,    83,
23569       84,    85,    -1,    87,    88,    89,    90,    91,    92,    -1,
23570       -1,    95,    96,    97,    -1,    -1,    -1,    -1,    -1,    -1,
23571       -1,   105,   106,   107,   108,   109,   110,   111,   112,   113,
23572       -1,   115,    -1,   117,   118,   119,   120,   121,   122,    -1,
23573      124,   125,   126,   127,    -1,    -1,   130,   131,   132,   133,
23574      134,    -1,   136,   137,   138,    -1,   140,   141,   142,    -1,
23575      144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
23576       -1,   155,    -1,   157,   158,   159,   160,    -1,   162,    -1,
23577      164,    -1,    -1,    -1,   168,   169,   170,   171,    -1,   173,
23578      174,    -1,   176,   177,   178,    -1,   180,   181,   182,   183,
23579      184,    -1,   186,   187,   188,   189,    -1,   191,   192,   193,
23580      194,   195,   196,   197,    -1,   199,    -1,   201,   202,   203,
23581      204,   205,   206,   207,    -1,   209,    -1,   211,    -1,    -1,
23582      214,    -1,   216,   217,   218,   219,   220,    -1,    -1,   223,
23583      224,    -1,   226,    -1,    -1,   229,   230,   231,    -1,    -1,
23584      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
23585      244,   245,   246,   247,   248,   249,   250,    -1,   252,   253,
23586      254,   255,   256,   257,   258,   259,   260,   261,   262,    -1,
23587      264,   265,    -1,   267,    -1,   269,   270,   271,   272,   273,
23588      274,    -1,   276,   277,    -1,    -1,   280,   281,   282,    -1,
23589       -1,   285,   286,   287,    -1,   289,    -1,   291,   292,   293,
23590      294,   295,   296,   297,   298,   299,   300,    -1,    -1,   303,
23591      304,   305,   306,   307,   308,   309,   310,    -1,   312,   313,
23592      314,   315,   316,   317,   318,   319,   320,   321,   322,   323,
23593      324,   325,   326,    -1,   328,   329,   330,   331,   332,   333,
23594      334,   335,   336,   337,   338,   339,    -1,   341,   342,    -1,
23595      344,   345,   346,   347,   348,   349,   350,   351,   352,   353,
23596      354,   355,   356,   357,   358,    -1,   360,   361,   362,   363,
23597      364,    -1,   366,   367,   368,   369,   370,    -1,   372,   373,
23598      374,   375,    -1,   377,   378,   379,   380,   381,   382,   383,
23599      384,   385,   386,   387,   388,   389,   390,   391,    -1,   393,
23600      394,    -1,   396,    -1,   398,   399,   400,   401,   402,    -1,
23601      404,   405,   406,    -1,    -1,   409,   410,   411,   412,   413,
23602       -1,   415,   416,   417,   418,   419,   420,   421,   422,    -1,
23603       -1,   425,   426,   427,   428,   429,    -1,    -1,   432,   433,
23604      434,   435,   436,   437,   438,    -1,   440,    -1,   442,   443,
23605      444,   445,    -1,    -1,   448,    -1,    -1,   451,   452,   453,
23606      454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
23607      464,   465,   466,   467,   468,   469,   470,     3,    -1,    -1,
23608       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23609       -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
23610       26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,
23611       -1,    -1,    -1,    39,    40,    -1,    42,    43,    44,    -1,
23612       46,    47,    48,    49,    50,    -1,    52,    53,    -1,    55,
23613       56,    57,    58,    59,    60,    -1,    -1,    63,    64,    65,
23614       66,    67,    -1,    69,    70,    71,    72,    73,    -1,    -1,
23615       -1,    77,    78,    79,    80,    81,    -1,    83,    84,    85,
23616       -1,    87,    88,    89,    90,    91,    92,    -1,    -1,    95,
23617       96,    97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,
23618      106,   107,   108,   109,   110,   111,   112,   113,    -1,   115,
23619       -1,   117,   118,   119,   120,   121,   122,    -1,   124,   125,
23620      126,   127,    -1,    -1,   130,   131,   132,   133,   134,    -1,
23621      136,   137,   138,    -1,   140,   141,   142,    -1,   144,   145,
23622      146,   147,   148,   149,   150,   151,   152,   153,    -1,   155,
23623       -1,   157,   158,   159,   160,    -1,   162,    -1,   164,    -1,
23624       -1,    -1,   168,   169,   170,   171,    -1,   173,   174,    -1,
23625      176,   177,   178,    -1,   180,   181,   182,   183,   184,    -1,
23626      186,   187,   188,   189,    -1,   191,   192,   193,   194,   195,
23627      196,   197,    -1,   199,    -1,   201,   202,   203,   204,   205,
23628      206,   207,    -1,   209,    -1,   211,    -1,    -1,   214,    -1,
23629      216,   217,   218,   219,   220,    -1,    -1,   223,   224,    -1,
23630      226,    -1,    -1,   229,   230,   231,    -1,    -1,   234,   235,
23631      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
23632      246,   247,   248,   249,   250,    -1,   252,   253,   254,   255,
23633      256,   257,   258,   259,   260,   261,   262,    -1,   264,   265,
23634       -1,   267,    -1,   269,   270,   271,   272,   273,   274,    -1,
23635      276,   277,    -1,    -1,   280,   281,   282,    -1,    -1,   285,
23636      286,   287,    -1,   289,    -1,   291,   292,   293,   294,   295,
23637      296,   297,   298,   299,   300,    -1,    -1,   303,   304,   305,
23638      306,   307,   308,   309,   310,    -1,   312,   313,   314,   315,
23639      316,   317,   318,   319,   320,   321,   322,   323,   324,   325,
23640      326,    -1,   328,   329,   330,   331,   332,   333,   334,   335,
23641      336,   337,   338,   339,    -1,   341,   342,    -1,   344,   345,
23642      346,   347,   348,   349,   350,   351,   352,   353,   354,   355,
23643      356,   357,   358,    -1,   360,   361,   362,   363,   364,    -1,
23644      366,   367,   368,   369,   370,    -1,   372,   373,   374,   375,
23645       -1,   377,   378,   379,   380,   381,   382,   383,   384,   385,
23646      386,   387,   388,   389,   390,   391,    -1,   393,   394,    -1,
23647      396,    -1,   398,   399,   400,   401,   402,    -1,   404,   405,
23648      406,    -1,    -1,   409,   410,   411,   412,   413,    -1,   415,
23649      416,   417,   418,   419,   420,   421,   422,    -1,    -1,   425,
23650      426,   427,   428,   429,    -1,    -1,   432,   433,   434,   435,
23651      436,   437,   438,    -1,   440,    -1,   442,   443,   444,   445,
23652       -1,    -1,   448,    -1,    -1,   451,   452,   453,   454,   455,
23653      456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
23654      466,   467,   468,   469,   470,     3,    -1,    -1,    -1,    -1,
23655       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23656       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
23657       -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,
23658       -1,    39,    40,    -1,    42,    43,    44,    -1,    46,    47,
23659       48,    49,    50,    -1,    52,    53,    -1,    55,    56,    57,
23660       58,    59,    60,    -1,    -1,    63,    64,    65,    66,    67,
23661       -1,    69,    70,    71,    72,    73,    -1,    -1,    -1,    77,
23662       78,    79,    80,    81,    -1,    83,    84,    85,    -1,    87,
23663       88,    89,    90,    91,    92,    -1,    -1,    95,    96,    97,
23664       -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,   106,   107,
23665      108,   109,   110,   111,   112,   113,    -1,   115,    -1,   117,
23666      118,   119,   120,   121,   122,    -1,   124,   125,   126,   127,
23667       -1,    -1,   130,   131,   132,   133,   134,    -1,   136,   137,
23668      138,    -1,   140,   141,   142,    -1,   144,   145,   146,   147,
23669      148,   149,   150,   151,   152,   153,    -1,   155,    -1,   157,
23670      158,   159,   160,    -1,   162,    -1,   164,    -1,    -1,    -1,
23671      168,   169,   170,   171,    -1,   173,   174,    -1,   176,   177,
23672      178,    -1,   180,   181,   182,   183,   184,    -1,   186,   187,
23673      188,   189,    -1,   191,   192,   193,   194,   195,   196,   197,
23674       -1,   199,    -1,   201,   202,   203,   204,   205,   206,   207,
23675       -1,   209,    -1,   211,    -1,    -1,   214,    -1,   216,   217,
23676      218,   219,   220,    -1,    -1,   223,   224,    -1,   226,    -1,
23677       -1,   229,   230,   231,    -1,    -1,   234,   235,   236,   237,
23678      238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
23679      248,   249,   250,    -1,   252,   253,   254,   255,   256,   257,
23680      258,   259,   260,   261,   262,    -1,   264,   265,    -1,   267,
23681       -1,   269,   270,   271,   272,   273,   274,    -1,   276,   277,
23682       -1,    -1,   280,   281,   282,    -1,    -1,   285,   286,   287,
23683       -1,   289,    -1,   291,   292,   293,   294,   295,   296,   297,
23684      298,   299,   300,    -1,    -1,   303,   304,   305,   306,   307,
23685      308,   309,   310,    -1,   312,   313,   314,   315,   316,   317,
23686      318,   319,   320,   321,   322,   323,   324,   325,   326,    -1,
23687      328,   329,   330,   331,   332,   333,   334,   335,   336,   337,
23688      338,   339,    -1,   341,   342,    -1,   344,   345,   346,   347,
23689      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
23690      358,    -1,   360,   361,   362,   363,   364,    -1,   366,   367,
23691      368,   369,   370,    -1,   372,   373,   374,   375,    -1,   377,
23692      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
23693      388,   389,   390,   391,    -1,   393,   394,    -1,   396,    -1,
23694      398,   399,   400,   401,   402,    -1,   404,   405,   406,    -1,
23695       -1,   409,   410,   411,   412,   413,    -1,   415,   416,   417,
23696      418,   419,   420,   421,   422,    -1,    -1,   425,   426,   427,
23697      428,   429,    -1,    -1,   432,   433,   434,   435,   436,   437,
23698      438,    -1,   440,    -1,   442,   443,   444,   445,    -1,    -1,
23699      448,    -1,    -1,   451,   452,   453,   454,   455,   456,   457,
23700      458,   459,   460,   461,   462,   463,   464,   465,   466,   467,
23701      468,   469,   470,     3,    -1,    -1,    -1,    -1,    -1,    -1,
23702       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23703       20,    21,    22,    23,    24,    25,    26,    27,    -1,    29,
23704       30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,
23705       40,    -1,    42,    43,    44,    -1,    46,    47,    48,    49,
23706       50,    -1,    52,    53,    -1,    55,    56,    57,    58,    59,
23707       60,    -1,    -1,    63,    64,    65,    66,    67,    -1,    69,
23708       70,    71,    72,    73,    -1,    -1,    -1,    77,    78,    79,
23709       80,    81,    -1,    83,    84,    85,    -1,    87,    88,    89,
23710       90,    91,    92,    -1,    -1,    95,    96,    97,    -1,    -1,
23711       -1,    -1,    -1,    -1,    -1,   105,   106,   107,   108,   109,
23712      110,   111,   112,   113,    -1,   115,    -1,   117,   118,   119,
23713      120,   121,   122,    -1,   124,   125,   126,   127,    -1,    -1,
23714      130,   131,   132,   133,   134,    -1,   136,   137,   138,    -1,
23715      140,   141,   142,    -1,   144,   145,   146,   147,   148,   149,
23716      150,   151,   152,   153,    -1,   155,    -1,   157,   158,   159,
23717      160,    -1,   162,    -1,   164,    -1,    -1,    -1,   168,   169,
23718      170,   171,    -1,   173,   174,    -1,   176,   177,   178,    -1,
23719      180,   181,   182,   183,   184,    -1,   186,   187,   188,   189,
23720       -1,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
23721       -1,   201,   202,   203,   204,   205,   206,   207,    -1,   209,
23722       -1,   211,    -1,    -1,   214,    -1,   216,   217,   218,   219,
23723      220,    -1,    -1,   223,   224,    -1,   226,    -1,    -1,   229,
23724      230,   231,    -1,    -1,   234,   235,   236,   237,   238,   239,
23725      240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
23726      250,    -1,   252,   253,   254,   255,   256,   257,   258,   259,
23727      260,   261,   262,    -1,   264,   265,    -1,   267,    -1,   269,
23728      270,   271,   272,   273,   274,    -1,   276,   277,    -1,    -1,
23729      280,   281,   282,    -1,    -1,   285,   286,   287,    -1,   289,
23730       -1,   291,   292,   293,   294,   295,   296,   297,   298,   299,
23731      300,    -1,    -1,   303,   304,   305,   306,   307,   308,   309,
23732      310,    -1,   312,   313,   314,   315,   316,   317,   318,   319,
23733      320,   321,   322,   323,   324,   325,   326,    -1,   328,   329,
23734      330,   331,   332,   333,   334,   335,   336,   337,   338,   339,
23735       -1,   341,   342,    -1,   344,   345,   346,   347,   348,   349,
23736      350,   351,   352,   353,   354,   355,   356,   357,   358,    -1,
23737      360,   361,   362,   363,   364,    -1,   366,   367,   368,   369,
23738      370,    -1,   372,   373,   374,   375,    -1,   377,   378,   379,
23739      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
23740      390,   391,    -1,   393,   394,    -1,   396,    -1,   398,   399,
23741      400,   401,   402,    -1,   404,   405,   406,    -1,    -1,   409,
23742      410,   411,   412,   413,    -1,   415,   416,   417,   418,   419,
23743      420,   421,   422,    -1,    -1,   425,   426,   427,   428,   429,
23744       -1,    -1,   432,   433,   434,   435,   436,   437,   438,    -1,
23745      440,    -1,   442,   443,   444,   445,    -1,    -1,   448,    -1,
23746       -1,   451,   452,   453,   454,   455,   456,   457,   458,   459,
23747      460,   461,   462,   463,   464,   465,   466,   467,   468,   469,
23748      470,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23749       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,
23750       22,    23,    24,    25,    26,    27,    -1,    29,    30,    31,
23751       -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    -1,
23752       42,    43,    44,    -1,    46,    47,    48,    49,    50,    -1,
23753       52,    53,    -1,    55,    56,    57,    58,    59,    60,    -1,
23754       -1,    63,    64,    65,    66,    67,    -1,    69,    70,    71,
23755       72,    73,    -1,    -1,    -1,    77,    78,    79,    80,    81,
23756       -1,    83,    84,    85,    -1,    87,    88,    89,    90,    91,
23757       92,    -1,    -1,    95,    96,    97,    -1,    -1,    -1,    -1,
23758       -1,    -1,    -1,   105,   106,   107,   108,   109,   110,   111,
23759      112,   113,    -1,   115,    -1,   117,   118,   119,   120,   121,
23760      122,    -1,   124,   125,   126,   127,    -1,    -1,   130,   131,
23761      132,   133,   134,    -1,   136,   137,   138,    -1,   140,   141,
23762      142,    -1,   144,   145,   146,   147,   148,   149,   150,   151,
23763      152,   153,    -1,   155,    -1,   157,   158,   159,   160,    -1,
23764      162,    -1,   164,    -1,    -1,    -1,   168,   169,   170,   171,
23765       -1,   173,   174,    -1,   176,   177,   178,    -1,   180,   181,
23766      182,   183,   184,    -1,   186,   187,   188,   189,    -1,   191,
23767      192,   193,   194,   195,   196,   197,    -1,   199,    -1,   201,
23768      202,   203,   204,   205,   206,   207,    -1,   209,    -1,   211,
23769       -1,    -1,   214,    -1,   216,   217,   218,   219,   220,    -1,
23770       -1,   223,   224,    -1,   226,    -1,    -1,   229,   230,   231,
23771       -1,    -1,   234,   235,   236,   237,   238,   239,   240,   241,
23772      242,   243,   244,   245,   246,   247,   248,   249,   250,    -1,
23773      252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
23774      262,    -1,   264,   265,    -1,   267,    -1,   269,   270,   271,
23775      272,   273,   274,    -1,   276,   277,    -1,    -1,   280,   281,
23776      282,    -1,    -1,   285,   286,   287,    -1,   289,    -1,   291,
23777      292,   293,   294,   295,   296,   297,   298,   299,   300,    -1,
23778       -1,   303,   304,   305,   306,   307,   308,   309,   310,    -1,
23779      312,   313,   314,   315,   316,   317,   318,   319,   320,   321,
23780      322,   323,   324,   325,   326,    -1,   328,   329,   330,   331,
23781      332,   333,   334,   335,   336,   337,   338,   339,    -1,   341,
23782      342,    -1,   344,   345,   346,   347,   348,   349,   350,   351,
23783      352,   353,   354,   355,   356,   357,   358,    -1,   360,   361,
23784      362,   363,   364,    -1,   366,   367,   368,   369,   370,    -1,
23785      372,   373,   374,   375,    -1,   377,   378,   379,   380,   381,
23786      382,   383,   384,   385,   386,   387,   388,   389,   390,   391,
23787       -1,   393,   394,    -1,   396,    -1,   398,   399,   400,   401,
23788      402,    -1,   404,   405,   406,    -1,    -1,   409,   410,   411,
23789      412,   413,    -1,   415,   416,   417,   418,   419,   420,   421,
23790      422,    -1,    -1,   425,   426,   427,   428,   429,    -1,    -1,
23791      432,   433,   434,   435,   436,   437,   438,    -1,   440,    -1,
23792      442,   443,   444,   445,    -1,    -1,   448,    -1,    -1,   451,
23793      452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
23794      462,   463,   464,   465,   466,   467,   468,   469,   470,     3,
23795       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23796       -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
23797       24,    25,    26,    27,    -1,    29,    30,    31,    -1,    -1,
23798       -1,    -1,    -1,    -1,    -1,    39,    40,    -1,    42,    43,
23799       44,    -1,    46,    47,    48,    49,    50,    -1,    52,    53,
23800       -1,    55,    56,    57,    58,    59,    60,    -1,    -1,    63,
23801       64,    65,    66,    67,    -1,    69,    70,    71,    72,    73,
23802       -1,    -1,    -1,    77,    78,    79,    80,    81,    -1,    83,
23803       84,    85,    -1,    87,    88,    89,    90,    91,    92,    -1,
23804       -1,    95,    96,    97,    -1,    -1,    -1,    -1,    -1,    -1,
23805       -1,   105,   106,   107,   108,   109,   110,   111,   112,   113,
23806       -1,   115,    -1,   117,   118,   119,   120,   121,   122,    -1,
23807      124,   125,   126,   127,    -1,    -1,   130,   131,   132,   133,
23808      134,    -1,   136,   137,   138,    -1,   140,   141,   142,    -1,
23809      144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
23810       -1,   155,    -1,   157,   158,   159,   160,    -1,   162,    -1,
23811      164,    -1,    -1,    -1,   168,   169,   170,   171,    -1,   173,
23812      174,    -1,   176,   177,   178,    -1,   180,   181,   182,   183,
23813      184,    -1,   186,   187,   188,   189,    -1,   191,   192,   193,
23814      194,   195,   196,   197,    -1,   199,    -1,   201,   202,   203,
23815      204,   205,   206,   207,    -1,   209,    -1,   211,    -1,    -1,
23816      214,    -1,   216,   217,   218,   219,   220,    -1,    -1,   223,
23817      224,    -1,   226,    -1,    -1,   229,   230,   231,    -1,    -1,
23818      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
23819      244,   245,   246,   247,   248,   249,   250,    -1,   252,   253,
23820      254,   255,   256,   257,   258,   259,   260,   261,   262,    -1,
23821      264,   265,    -1,   267,    -1,   269,   270,   271,   272,   273,
23822      274,    -1,   276,   277,    -1,    -1,   280,   281,   282,    -1,
23823       -1,   285,   286,   287,    -1,   289,    -1,   291,   292,   293,
23824      294,   295,   296,   297,   298,   299,   300,    -1,    -1,   303,
23825      304,   305,   306,   307,   308,   309,   310,    -1,   312,   313,
23826      314,   315,   316,   317,   318,   319,   320,   321,   322,   323,
23827      324,   325,   326,    -1,   328,   329,   330,   331,   332,   333,
23828      334,   335,   336,   337,   338,   339,    -1,   341,   342,    -1,
23829      344,   345,   346,   347,   348,   349,   350,   351,   352,   353,
23830      354,   355,   356,   357,   358,    -1,   360,   361,   362,   363,
23831      364,    -1,   366,   367,   368,   369,   370,    -1,   372,   373,
23832      374,   375,    -1,   377,   378,   379,   380,   381,   382,   383,
23833      384,   385,   386,   387,   388,   389,   390,   391,    -1,   393,
23834      394,    -1,   396,    -1,   398,   399,   400,   401,   402,    -1,
23835      404,   405,   406,    -1,    -1,   409,   410,   411,   412,   413,
23836       -1,   415,   416,   417,   418,   419,   420,   421,   422,    -1,
23837       -1,   425,   426,   427,   428,   429,    -1,    -1,   432,   433,
23838      434,   435,   436,   437,   438,    -1,   440,    -1,   442,   443,
23839      444,   445,    -1,    -1,   448,    -1,    -1,   451,   452,   453,
23840      454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
23841      464,   465,   466,   467,   468,   469,   470,     3,    -1,    -1,
23842       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23843       -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
23844       26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,
23845       -1,    -1,    -1,    39,    40,    -1,    42,    43,    44,    -1,
23846       46,    47,    48,    49,    50,    -1,    52,    53,    -1,    55,
23847       56,    57,    58,    59,    60,    -1,    -1,    63,    64,    65,
23848       66,    67,    -1,    69,    70,    71,    72,    73,    -1,    -1,
23849       -1,    77,    78,    79,    80,    81,    -1,    83,    84,    85,
23850       -1,    87,    88,    89,    90,    91,    92,    -1,    -1,    95,
23851       96,    97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,
23852      106,   107,   108,   109,   110,   111,   112,   113,    -1,   115,
23853       -1,   117,   118,   119,   120,   121,   122,    -1,   124,   125,
23854      126,   127,    -1,    -1,   130,   131,   132,   133,   134,    -1,
23855      136,   137,   138,    -1,   140,   141,   142,    -1,   144,   145,
23856      146,   147,   148,   149,   150,   151,   152,   153,    -1,   155,
23857       -1,   157,   158,   159,   160,    -1,   162,    -1,   164,    -1,
23858       -1,    -1,   168,   169,   170,   171,    -1,   173,   174,    -1,
23859      176,   177,   178,    -1,   180,   181,   182,   183,   184,    -1,
23860      186,   187,   188,   189,    -1,   191,   192,   193,   194,   195,
23861      196,   197,    -1,   199,    -1,   201,   202,   203,   204,   205,
23862      206,   207,    -1,   209,    -1,   211,    -1,    -1,   214,    -1,
23863      216,   217,   218,   219,   220,    -1,    -1,   223,   224,    -1,
23864      226,    -1,    -1,   229,   230,   231,    -1,    -1,   234,   235,
23865      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
23866      246,   247,   248,   249,   250,    -1,   252,   253,   254,   255,
23867      256,   257,   258,   259,   260,   261,   262,    -1,   264,   265,
23868       -1,   267,    -1,   269,   270,   271,   272,   273,   274,    -1,
23869      276,   277,    -1,    -1,   280,   281,   282,    -1,    -1,   285,
23870      286,   287,    -1,   289,    -1,   291,   292,   293,   294,   295,
23871      296,   297,   298,   299,   300,    -1,    -1,   303,   304,   305,
23872      306,   307,   308,   309,   310,    -1,   312,   313,   314,   315,
23873      316,   317,   318,   319,   320,   321,   322,   323,   324,   325,
23874      326,    -1,   328,   329,   330,   331,   332,   333,   334,   335,
23875      336,   337,   338,   339,    -1,   341,   342,    -1,   344,   345,
23876      346,   347,   348,   349,   350,   351,   352,   353,   354,   355,
23877      356,   357,   358,    -1,   360,   361,   362,   363,   364,    -1,
23878      366,   367,   368,   369,   370,    -1,   372,   373,   374,   375,
23879       -1,   377,   378,   379,   380,   381,   382,   383,   384,   385,
23880      386,   387,   388,   389,   390,   391,    -1,   393,   394,    -1,
23881      396,    -1,   398,   399,   400,   401,   402,    -1,   404,   405,
23882      406,    -1,    -1,   409,   410,   411,   412,   413,    -1,   415,
23883      416,   417,   418,   419,   420,   421,   422,    -1,    -1,   425,
23884      426,   427,   428,   429,    -1,    -1,   432,   433,   434,   435,
23885      436,   437,   438,    -1,   440,    -1,   442,   443,   444,   445,
23886       -1,    -1,   448,    -1,    -1,   451,   452,   453,   454,   455,
23887      456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
23888      466,   467,   468,   469,   470,     3,    -1,    -1,    -1,    -1,
23889       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23890       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
23891       -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,
23892       -1,    39,    40,    -1,    42,    43,    44,    -1,    46,    47,
23893       48,    49,    50,    -1,    52,    53,    -1,    55,    56,    57,
23894       58,    59,    60,    -1,    -1,    63,    64,    65,    66,    67,
23895       -1,    69,    70,    71,    72,    73,    -1,    -1,    -1,    77,
23896       78,    79,    80,    81,    -1,    83,    84,    85,    -1,    87,
23897       88,    89,    90,    91,    92,    -1,    -1,    95,    96,    97,
23898       -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,   106,   107,
23899      108,   109,   110,   111,   112,   113,    -1,   115,    -1,   117,
23900      118,   119,   120,   121,   122,    -1,   124,   125,   126,   127,
23901       -1,    -1,   130,   131,   132,   133,   134,    -1,   136,   137,
23902      138,    -1,   140,   141,   142,    -1,   144,   145,   146,   147,
23903      148,   149,   150,   151,   152,   153,    -1,   155,    -1,   157,
23904      158,   159,   160,    -1,   162,    -1,   164,    -1,    -1,    -1,
23905      168,   169,   170,   171,    -1,   173,   174,    -1,   176,   177,
23906      178,    -1,   180,   181,   182,   183,   184,    -1,   186,   187,
23907      188,   189,    -1,   191,   192,   193,   194,   195,   196,   197,
23908       -1,   199,    -1,   201,   202,   203,   204,   205,   206,   207,
23909       -1,   209,    -1,   211,    -1,    -1,   214,    -1,   216,   217,
23910      218,   219,   220,    -1,    -1,   223,   224,    -1,   226,    -1,
23911       -1,   229,   230,   231,    -1,    -1,   234,   235,   236,   237,
23912      238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
23913      248,   249,   250,    -1,   252,   253,   254,   255,   256,   257,
23914      258,   259,   260,   261,   262,    -1,   264,   265,    -1,   267,
23915       -1,   269,   270,   271,   272,   273,   274,    -1,   276,   277,
23916       -1,    -1,   280,   281,   282,    -1,    -1,   285,   286,   287,
23917       -1,   289,    -1,   291,   292,   293,   294,   295,   296,   297,
23918      298,   299,   300,    -1,    -1,   303,   304,   305,   306,   307,
23919      308,   309,   310,    -1,   312,   313,   314,   315,   316,   317,
23920      318,   319,   320,   321,   322,   323,   324,   325,   326,    -1,
23921      328,   329,   330,   331,   332,   333,   334,   335,   336,   337,
23922      338,   339,    -1,   341,   342,    -1,   344,   345,   346,   347,
23923      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
23924      358,    -1,   360,   361,   362,   363,   364,    -1,   366,   367,
23925      368,   369,   370,    -1,   372,   373,   374,   375,    -1,   377,
23926      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
23927      388,   389,   390,   391,    -1,   393,   394,    -1,   396,    -1,
23928      398,   399,   400,   401,   402,    -1,   404,   405,   406,    -1,
23929       -1,   409,   410,   411,   412,   413,    -1,   415,   416,   417,
23930      418,   419,   420,   421,   422,    -1,    -1,   425,   426,   427,
23931      428,   429,    -1,    -1,   432,   433,   434,   435,   436,   437,
23932      438,    -1,   440,    -1,   442,   443,   444,   445,    -1,    -1,
23933      448,    -1,    -1,   451,   452,   453,   454,   455,   456,   457,
23934      458,   459,   460,   461,   462,   463,   464,   465,   466,   467,
23935      468,   469,   470,     3,    -1,    -1,    -1,    -1,    -1,    -1,
23936       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23937       20,    21,    22,    23,    24,    25,    26,    27,    -1,    29,
23938       30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,
23939       40,    -1,    42,    43,    44,    -1,    46,    47,    48,    49,
23940       50,    -1,    52,    53,    -1,    55,    56,    57,    58,    59,
23941       60,    -1,    -1,    63,    64,    65,    66,    67,    -1,    69,
23942       70,    71,    72,    73,    -1,    -1,    -1,    77,    78,    79,
23943       80,    81,    -1,    83,    84,    85,    -1,    87,    88,    89,
23944       90,    91,    92,    -1,    -1,    95,    96,    97,    -1,    -1,
23945       -1,    -1,    -1,    -1,    -1,   105,   106,   107,   108,   109,
23946      110,   111,   112,   113,    -1,   115,    -1,   117,   118,   119,
23947      120,   121,   122,    -1,   124,   125,   126,   127,    -1,    -1,
23948      130,   131,   132,   133,   134,    -1,   136,   137,   138,    -1,
23949      140,   141,   142,    -1,   144,   145,   146,   147,   148,   149,
23950      150,   151,   152,   153,    -1,   155,    -1,   157,   158,   159,
23951      160,    -1,   162,    -1,   164,    -1,    -1,    -1,   168,   169,
23952      170,   171,    -1,   173,   174,    -1,   176,   177,   178,    -1,
23953      180,   181,   182,   183,   184,    -1,   186,   187,   188,   189,
23954       -1,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
23955       -1,   201,   202,   203,   204,   205,   206,   207,    -1,   209,
23956       -1,   211,    -1,    -1,   214,    -1,   216,   217,   218,   219,
23957      220,    -1,    -1,   223,   224,    -1,   226,    -1,    -1,   229,
23958      230,   231,    -1,    -1,   234,   235,   236,   237,   238,   239,
23959      240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
23960      250,    -1,   252,   253,   254,   255,   256,   257,   258,   259,
23961      260,   261,   262,    -1,   264,   265,    -1,   267,    -1,   269,
23962      270,   271,   272,   273,   274,    -1,   276,   277,    -1,    -1,
23963      280,   281,   282,    -1,    -1,   285,   286,   287,    -1,   289,
23964       -1,   291,   292,   293,   294,   295,   296,   297,   298,   299,
23965      300,    -1,    -1,   303,   304,   305,   306,   307,   308,   309,
23966      310,    -1,   312,   313,   314,   315,   316,   317,   318,   319,
23967      320,   321,   322,   323,   324,   325,   326,    -1,   328,   329,
23968      330,   331,   332,   333,   334,   335,   336,   337,   338,   339,
23969       -1,   341,   342,    -1,   344,   345,   346,   347,   348,   349,
23970      350,   351,   352,   353,   354,   355,   356,   357,   358,    -1,
23971      360,   361,   362,   363,   364,    -1,   366,   367,   368,   369,
23972      370,    -1,   372,   373,   374,   375,    -1,   377,   378,   379,
23973      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
23974      390,   391,    -1,   393,   394,    -1,   396,    -1,   398,   399,
23975      400,   401,   402,    -1,   404,   405,   406,    -1,    -1,   409,
23976      410,   411,   412,   413,    -1,   415,   416,   417,   418,   419,
23977      420,   421,   422,    -1,    -1,   425,   426,   427,   428,   429,
23978       -1,    -1,   432,   433,   434,   435,   436,   437,   438,    -1,
23979      440,    -1,   442,   443,   444,   445,    -1,    -1,   448,    -1,
23980       -1,   451,   452,   453,   454,   455,   456,   457,   458,   459,
23981      460,   461,   462,   463,   464,   465,   466,   467,   468,   469,
23982      470,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23983       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,
23984       22,    23,    24,    25,    26,    27,    -1,    29,    30,    31,
23985       -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    -1,
23986       42,    43,    44,    -1,    46,    47,    48,    49,    50,    -1,
23987       52,    53,    -1,    55,    56,    57,    58,    59,    60,    -1,
23988       -1,    63,    64,    65,    66,    67,    -1,    69,    70,    71,
23989       72,    73,    -1,    -1,    -1,    77,    78,    79,    80,    81,
23990       -1,    83,    84,    85,    -1,    87,    88,    89,    90,    91,
23991       92,    -1,    -1,    95,    96,    97,    -1,    -1,    -1,    -1,
23992       -1,    -1,    -1,   105,   106,   107,   108,   109,   110,   111,
23993      112,   113,    -1,   115,    -1,   117,   118,   119,   120,   121,
23994      122,    -1,   124,   125,   126,   127,    -1,    -1,   130,   131,
23995      132,   133,   134,    -1,   136,   137,   138,    -1,   140,   141,
23996      142,    -1,   144,   145,   146,   147,   148,   149,   150,   151,
23997      152,   153,    -1,   155,    -1,   157,   158,   159,   160,    -1,
23998      162,    -1,   164,    -1,    -1,    -1,   168,   169,   170,   171,
23999       -1,   173,   174,    -1,   176,   177,   178,    -1,   180,   181,
24000      182,   183,   184,    -1,   186,   187,   188,   189,    -1,   191,
24001      192,   193,   194,   195,   196,   197,    -1,   199,    -1,   201,
24002      202,   203,   204,   205,   206,   207,    -1,   209,    -1,   211,
24003       -1,    -1,   214,    -1,   216,   217,   218,   219,   220,    -1,
24004       -1,   223,   224,    -1,   226,    -1,    -1,   229,   230,   231,
24005       -1,    -1,   234,   235,   236,   237,   238,   239,   240,   241,
24006      242,   243,   244,   245,   246,   247,   248,   249,   250,    -1,
24007      252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
24008      262,    -1,   264,   265,    -1,   267,    -1,   269,   270,   271,
24009      272,   273,   274,    -1,   276,   277,    -1,    -1,   280,   281,
24010      282,    -1,    -1,   285,   286,   287,    -1,   289,    -1,   291,
24011      292,   293,   294,   295,   296,   297,   298,   299,   300,    -1,
24012       -1,   303,   304,   305,   306,   307,   308,   309,   310,    -1,
24013      312,   313,   314,   315,   316,   317,   318,   319,   320,   321,
24014      322,   323,   324,   325,   326,    -1,   328,   329,   330,   331,
24015      332,   333,   334,   335,   336,   337,   338,   339,    -1,   341,
24016      342,    -1,   344,   345,   346,   347,   348,   349,   350,   351,
24017      352,   353,   354,   355,   356,   357,   358,    -1,   360,   361,
24018      362,   363,   364,    -1,   366,   367,   368,   369,   370,    -1,
24019      372,   373,   374,   375,    -1,   377,   378,   379,   380,   381,
24020      382,   383,   384,   385,   386,   387,   388,   389,   390,   391,
24021       -1,   393,   394,    -1,   396,    -1,   398,   399,   400,   401,
24022      402,    -1,   404,   405,   406,    -1,    -1,   409,   410,   411,
24023      412,   413,    -1,   415,   416,   417,   418,   419,   420,   421,
24024      422,    -1,    -1,   425,   426,   427,   428,   429,    -1,    -1,
24025      432,   433,   434,   435,   436,   437,   438,    -1,   440,    -1,
24026      442,   443,   444,   445,    -1,    -1,   448,    -1,    -1,   451,
24027      452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
24028      462,   463,   464,   465,   466,   467,   468,   469,   470,     3,
24029       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
24030       -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
24031       24,    25,    26,    27,    -1,    29,    30,    31,    -1,    -1,
24032       -1,    -1,    -1,    -1,    -1,    39,    40,    -1,    42,    43,
24033       44,    -1,    46,    47,    48,    49,    50,    -1,    52,    53,
24034       -1,    55,    56,    57,    58,    59,    60,    -1,    -1,    63,
24035       64,    65,    66,    67,    -1,    69,    70,    71,    72,    73,
24036       -1,    -1,    -1,    77,    78,    79,    80,    81,    -1,    83,
24037       84,    85,    -1,    87,    88,    89,    90,    91,    92,    -1,
24038       -1,    95,    96,    97,    -1,    -1,    -1,    -1,    -1,    -1,
24039       -1,   105,   106,   107,   108,   109,   110,   111,   112,   113,
24040       -1,   115,    -1,   117,   118,   119,   120,   121,   122,    -1,
24041      124,   125,   126,   127,    -1,    -1,   130,   131,   132,   133,
24042      134,    -1,   136,   137,   138,    -1,   140,   141,   142,    -1,
24043      144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
24044       -1,   155,    -1,   157,   158,   159,   160,    -1,   162,    -1,
24045      164,    -1,    -1,    -1,   168,   169,   170,   171,    -1,   173,
24046      174,    -1,   176,   177,   178,    -1,   180,   181,   182,   183,
24047      184,    -1,   186,   187,   188,   189,    -1,   191,   192,   193,
24048      194,   195,   196,   197,    -1,   199,    -1,   201,   202,   203,
24049      204,   205,   206,   207,    -1,   209,    -1,   211,    -1,    -1,
24050      214,    -1,   216,   217,   218,   219,   220,    -1,    -1,   223,
24051      224,    -1,   226,    -1,    -1,   229,   230,   231,    -1,    -1,
24052      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
24053      244,   245,   246,   247,   248,   249,   250,    -1,   252,   253,
24054      254,   255,   256,   257,   258,   259,   260,   261,   262,    -1,
24055      264,   265,    -1,   267,    -1,   269,   270,   271,   272,   273,
24056      274,    -1,   276,   277,    -1,    -1,   280,   281,   282,    -1,
24057       -1,   285,   286,   287,    -1,   289,    -1,   291,   292,   293,
24058      294,   295,   296,   297,   298,   299,   300,    -1,    -1,   303,
24059      304,   305,   306,   307,   308,   309,   310,    -1,   312,   313,
24060      314,   315,   316,   317,   318,   319,   320,   321,   322,   323,
24061      324,   325,   326,    -1,   328,   329,   330,   331,   332,   333,
24062      334,   335,   336,   337,   338,   339,    -1,   341,   342,    -1,
24063      344,   345,   346,   347,   348,   349,   350,   351,   352,   353,
24064      354,   355,   356,   357,   358,    -1,   360,   361,   362,   363,
24065      364,    -1,   366,   367,   368,   369,   370,    -1,   372,   373,
24066      374,   375,    -1,   377,   378,   379,   380,   381,   382,   383,
24067      384,   385,   386,   387,   388,   389,   390,   391,    -1,   393,
24068      394,    -1,   396,    -1,   398,   399,   400,   401,   402,    -1,
24069      404,   405,   406,    -1,    -1,   409,   410,   411,   412,   413,
24070       -1,   415,   416,   417,   418,   419,   420,   421,   422,    -1,
24071       -1,   425,   426,   427,   428,   429,    -1,    -1,   432,   433,
24072      434,   435,   436,   437,   438,    -1,   440,    -1,   442,   443,
24073      444,   445,    -1,    -1,   448,    -1,    -1,   451,   452,   453,
24074      454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
24075      464,   465,   466,   467,   468,   469,   470,     3,    -1,    -1,
24076       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
24077       -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
24078       26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,
24079       -1,    -1,    -1,    39,    40,    -1,    42,    43,    44,    -1,
24080       46,    47,    48,    49,    50,    -1,    52,    53,    -1,    55,
24081       56,    57,    58,    59,    60,    -1,    -1,    63,    64,    65,
24082       66,    67,    -1,    69,    70,    71,    72,    73,    -1,    -1,
24083       -1,    77,    78,    79,    80,    81,    -1,    83,    84,    85,
24084       -1,    87,    88,    89,    90,    91,    92,    -1,    -1,    95,
24085       96,    97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,
24086      106,   107,   108,   109,   110,   111,   112,   113,    -1,   115,
24087       -1,   117,   118,   119,   120,   121,   122,    -1,   124,   125,
24088      126,   127,    -1,    -1,   130,   131,   132,   133,   134,    -1,
24089      136,   137,   138,    -1,   140,   141,   142,    -1,   144,   145,
24090      146,   147,   148,   149,   150,   151,   152,   153,    -1,   155,
24091       -1,   157,   158,   159,   160,    -1,   162,    -1,   164,    -1,
24092       -1,    -1,   168,   169,   170,   171,    -1,   173,   174,    -1,
24093      176,   177,   178,    -1,   180,   181,   182,   183,   184,    -1,
24094      186,   187,   188,   189,    -1,   191,   192,   193,   194,   195,
24095      196,   197,    -1,   199,    -1,   201,   202,   203,   204,   205,
24096      206,   207,    -1,   209,    -1,   211,    -1,    -1,   214,    -1,
24097      216,   217,   218,   219,   220,    -1,    -1,   223,   224,    -1,
24098      226,    -1,    -1,   229,   230,   231,    -1,    -1,   234,   235,
24099      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
24100      246,   247,   248,   249,   250,    -1,   252,   253,   254,   255,
24101      256,   257,   258,   259,   260,   261,   262,    -1,   264,   265,
24102       -1,   267,    -1,   269,   270,   271,   272,   273,   274,    -1,
24103      276,   277,    -1,    -1,   280,   281,   282,    -1,    -1,   285,
24104      286,   287,    -1,   289,    -1,   291,   292,   293,   294,   295,
24105      296,   297,   298,   299,   300,    -1,    -1,   303,   304,   305,
24106      306,   307,   308,   309,   310,    -1,   312,   313,   314,   315,
24107      316,   317,   318,   319,   320,   321,   322,   323,   324,   325,
24108      326,    -1,   328,   329,   330,   331,   332,   333,   334,   335,
24109      336,   337,   338,   339,    -1,   341,   342,    -1,   344,   345,
24110      346,   347,   348,   349,   350,   351,   352,   353,   354,   355,
24111      356,   357,   358,    -1,   360,   361,   362,   363,   364,    -1,
24112      366,   367,   368,   369,   370,    -1,   372,   373,   374,   375,
24113       -1,   377,   378,   379,   380,   381,   382,   383,   384,   385,
24114      386,   387,   388,   389,   390,   391,    -1,   393,   394,    -1,
24115      396,    -1,   398,   399,   400,   401,   402,    -1,   404,   405,
24116      406,    -1,    -1,   409,   410,   411,   412,   413,    -1,   415,
24117      416,   417,   418,   419,   420,   421,   422,    -1,    -1,   425,
24118      426,   427,   428,   429,    -1,    -1,   432,   433,   434,   435,
24119      436,   437,   438,    -1,   440,    -1,   442,   443,   444,   445,
24120       -1,    -1,   448,    -1,    -1,   451,   452,   453,   454,   455,
24121      456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
24122      466,   467,   468,   469,   470,     3,    -1,    -1,    -1,    -1,
24123       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
24124       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
24125       -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,
24126       -1,    39,    40,    -1,    42,    43,    44,    45,    46,    47,
24127       48,    -1,    50,    51,    52,    53,    -1,    55,    56,    57,
24128       58,    59,    60,    -1,    -1,    63,    64,    65,    66,    67,
24129       -1,    69,    70,    71,    72,    -1,    -1,    75,    -1,    77,
24130       78,    79,    80,    81,    82,    83,    84,    85,    -1,    87,
24131       88,    89,    90,    91,    92,    -1,    94,    95,    96,    97,
24132       -1,    -1,    -1,   101,    -1,    -1,    -1,   105,   106,   107,
24133      108,   109,   110,   111,   112,   113,    -1,   115,    -1,   117,
24134      118,   119,   120,   121,   122,    -1,   124,   125,   126,   127,
24135       -1,    -1,   130,   131,   132,   133,   134,    -1,   136,   137,
24136      138,    -1,   140,   141,   142,    -1,   144,   145,   146,   147,
24137       -1,   149,   150,   151,   152,    -1,    -1,   155,    -1,   157,
24138      158,   159,   160,    -1,   162,    -1,   164,   165,    -1,   167,
24139      168,   169,   170,   171,    -1,   173,    -1,    -1,    -1,   177,
24140      178,    -1,   180,   181,   182,   183,   184,   185,   186,   187,
24141      188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
24142       -1,   199,   200,   201,   202,   203,   204,   205,   206,   207,
24143       -1,   209,    -1,   211,   212,   213,   214,   215,   216,   217,
24144      218,   219,   220,    -1,    -1,   223,    -1,   225,   226,   227,
24145       -1,   229,   230,   231,    -1,    -1,   234,   235,   236,   237,
24146      238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
24147      248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
24148      258,   259,    -1,    -1,   262,    -1,   264,   265,   266,   267,
24149       -1,    -1,   270,   271,   272,   273,   274,    -1,   276,   277,
24150       -1,    -1,   280,   281,   282,    -1,    -1,   285,   286,   287,
24151      288,   289,   290,    -1,   292,   293,   294,   295,   296,   297,
24152      298,   299,   300,    -1,    -1,   303,   304,    -1,   306,    -1,
24153      308,   309,   310,    -1,   312,   313,   314,   315,   316,   317,
24154      318,   319,   320,   321,   322,   323,   324,   325,   326,    -1,
24155      328,   329,   330,   331,   332,   333,   334,   335,   336,   337,
24156      338,   339,    -1,   341,   342,   343,   344,   345,   346,   347,
24157      348,    -1,   350,   351,   352,   353,   354,   355,   356,   357,
24158      358,    -1,   360,   361,   362,   363,   364,    -1,   366,   367,
24159      368,   369,   370,   371,   372,   373,   374,   375,    -1,   377,
24160      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
24161      388,   389,    -1,   391,    -1,   393,   394,    -1,   396,   397,
24162      398,   399,   400,   401,   402,    -1,   404,   405,   406,    -1,
24163       -1,   409,   410,    -1,   412,    -1,    -1,   415,   416,   417,
24164      418,   419,   420,   421,   422,    -1,    -1,   425,   426,   427,
24165      428,   429,    -1,    -1,   432,   433,   434,   435,   436,    -1,
24166      438,   439,   440,   441,   442,   443,   444,   445,    -1,    -1,
24167      448,    -1,    -1,   451,   452,   453,   454,   455,   456,     3,
24168       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
24169      468,   469,   470,    -1,    -1,    -1,    20,    21,    22,    23,
24170       24,    25,    26,    27,    -1,    29,    30,    31,    -1,    -1,
24171       -1,    -1,    -1,    -1,    -1,    39,    40,    -1,    42,    43,
24172       44,    -1,    46,    47,    48,    49,    50,    -1,    52,    53,
24173       -1,    55,    56,    57,    58,    59,    60,    -1,    -1,    63,
24174       64,    65,    66,    67,    -1,    69,    70,    71,    72,    73,
24175       -1,    -1,    -1,    77,    78,    79,    80,    81,    -1,    83,
24176       84,    85,    -1,    87,    88,    89,    90,    91,    92,    -1,
24177       -1,    95,    96,    97,    -1,    -1,    -1,    -1,    -1,    -1,
24178       -1,   105,   106,   107,   108,   109,   110,   111,   112,   113,
24179       -1,   115,    -1,   117,   118,   119,   120,   121,   122,    -1,
24180      124,   125,   126,   127,    -1,    -1,   130,   131,   132,   133,
24181      134,    -1,   136,   137,   138,    -1,   140,   141,   142,    -1,
24182      144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
24183       -1,   155,    -1,   157,   158,   159,   160,    -1,   162,    -1,
24184      164,    -1,    -1,    -1,   168,   169,   170,   171,    -1,   173,
24185      174,    -1,   176,    -1,   178,    -1,   180,   181,   182,   183,
24186      184,    -1,   186,   187,   188,   189,    -1,   191,   192,   193,
24187      194,   195,   196,   197,    -1,   199,    -1,   201,   202,   203,
24188      204,   205,   206,   207,    -1,   209,    -1,   211,    -1,    -1,
24189      214,    -1,   216,   217,   218,   219,   220,    -1,    -1,   223,
24190      224,    -1,   226,    -1,    -1,   229,   230,   231,    -1,    -1,
24191      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
24192      244,   245,   246,   247,   248,   249,   250,    -1,   252,   253,
24193      254,   255,   256,   257,   258,   259,   260,   261,   262,    -1,
24194      264,   265,    -1,   267,    -1,   269,   270,   271,   272,   273,
24195      274,    -1,   276,   277,    -1,    -1,   280,   281,   282,    -1,
24196       -1,   285,   286,   287,    -1,   289,    -1,   291,   292,   293,
24197      294,   295,   296,   297,    -1,   299,   300,    -1,    -1,   303,
24198      304,   305,   306,   307,   308,   309,   310,    -1,   312,   313,
24199      314,   315,   316,   317,   318,   319,    -1,   321,   322,   323,
24200      324,   325,   326,    -1,   328,   329,   330,   331,   332,   333,
24201      334,   335,   336,   337,   338,   339,    -1,   341,   342,    -1,
24202      344,   345,   346,   347,   348,   349,    -1,   351,   352,   353,
24203      354,   355,   356,   357,   358,    -1,   360,   361,   362,   363,
24204      364,    -1,   366,   367,   368,   369,   370,    -1,   372,   373,
24205      374,   375,    -1,   377,   378,   379,   380,   381,   382,   383,
24206      384,   385,   386,   387,   388,   389,   390,   391,    -1,   393,
24207      394,    -1,   396,    -1,   398,   399,   400,   401,   402,    -1,
24208      404,   405,   406,    -1,    -1,   409,   410,   411,   412,   413,
24209       -1,   415,   416,   417,   418,   419,   420,   421,   422,    -1,
24210       -1,   425,   426,   427,   428,   429,    -1,    -1,   432,   433,
24211      434,   435,   436,   437,   438,    -1,   440,    -1,   442,   443,
24212      444,   445,    -1,    -1,   448,    -1,    -1,   451,   452,   453,
24213      454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
24214      464,   465,   466,   467,   468,   469,   470,     3,    -1,    -1,
24215       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
24216       -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
24217       26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,
24218       -1,    -1,    -1,    39,    40,    -1,    42,    43,    44,    45,
24219       46,    47,    48,    -1,    50,    51,    52,    53,    -1,    55,
24220       56,    57,    58,    59,    60,    -1,    -1,    63,    64,    65,
24221       66,    67,    -1,    69,    70,    71,    72,    -1,    -1,    75,
24222       -1,    77,    78,    79,    80,    81,    82,    83,    84,    85,
24223       -1,    87,    88,    89,    90,    91,    92,    -1,    94,    95,
24224       96,    97,    -1,    -1,    -1,   101,    -1,    -1,    -1,   105,
24225      106,   107,   108,   109,   110,   111,   112,   113,    -1,   115,
24226       -1,   117,   118,   119,   120,   121,   122,    -1,   124,   125,
24227      126,   127,    -1,    -1,   130,   131,   132,   133,   134,    -1,
24228      136,   137,   138,    -1,   140,   141,   142,    -1,   144,   145,
24229      146,   147,    -1,   149,   150,   151,   152,    -1,    -1,   155,
24230       -1,   157,   158,   159,   160,    -1,   162,    -1,   164,   165,
24231       -1,   167,   168,   169,   170,   171,    -1,   173,    -1,    -1,
24232       -1,   177,   178,    -1,   180,   181,   182,   183,   184,   185,
24233      186,   187,   188,   189,    -1,   191,   192,   193,   194,   195,
24234      196,   197,    -1,   199,   200,    -1,   202,   203,   204,   205,
24235      206,   207,    -1,   209,    -1,   211,   212,   213,   214,   215,
24236      216,   217,   218,   219,   220,    -1,    -1,   223,    -1,   225,
24237      226,   227,    -1,   229,   230,   231,    -1,    -1,   234,   235,
24238      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
24239      246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
24240      256,   257,   258,   259,    -1,    -1,   262,    -1,   264,   265,
24241      266,   267,   268,    -1,   270,   271,   272,   273,   274,    -1,
24242      276,   277,    -1,    -1,   280,   281,   282,    -1,    -1,   285,
24243      286,    -1,   288,   289,   290,    -1,   292,   293,   294,   295,
24244      296,   297,   298,   299,   300,    -1,    -1,   303,   304,    -1,
24245      306,    -1,   308,   309,   310,    -1,   312,   313,   314,   315,
24246      316,   317,   318,   319,   320,   321,   322,   323,   324,   325,
24247      326,    -1,   328,   329,   330,   331,   332,   333,   334,   335,
24248      336,   337,   338,   339,    -1,   341,   342,   343,   344,   345,
24249      346,   347,   348,    -1,   350,   351,   352,   353,   354,   355,
24250      356,   357,   358,    -1,   360,   361,   362,   363,   364,    -1,
24251      366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
24252       -1,   377,   378,   379,   380,   381,   382,   383,   384,   385,
24253      386,   387,   388,   389,    -1,   391,    -1,   393,   394,   395,
24254      396,   397,   398,   399,   400,   401,   402,    -1,   404,   405,
24255      406,    -1,    -1,   409,   410,    -1,   412,    -1,    -1,   415,
24256      416,   417,   418,   419,   420,   421,   422,    -1,    -1,   425,
24257      426,   427,   428,   429,    -1,    -1,   432,   433,   434,   435,
24258      436,    -1,   438,    -1,   440,   441,   442,   443,   444,   445,
24259       -1,    -1,   448,    -1,    -1,   451,   452,   453,   454,   455,
24260      456,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
24261       -1,    -1,   468,   469,   470,    -1,    -1,    -1,    20,    21,
24262       22,    23,    24,    25,    26,    27,    -1,    29,    30,    31,
24263       -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    -1,
24264       42,    43,    44,    45,    46,    47,    48,    -1,    50,    51,
24265       52,    53,    -1,    55,    56,    57,    58,    59,    60,    -1,
24266       -1,    63,    64,    65,    66,    67,    -1,    69,    70,    71,
24267       72,    -1,    -1,    75,    -1,    77,    78,    79,    80,    81,
24268       82,    83,    84,    85,    -1,    87,    88,    89,    90,    91,
24269       92,    -1,    94,    95,    96,    97,    -1,    -1,    -1,   101,
24270       -1,    -1,    -1,   105,   106,   107,   108,   109,   110,   111,
24271      112,   113,    -1,   115,    -1,   117,   118,   119,   120,   121,
24272      122,    -1,   124,   125,   126,   127,    -1,    -1,   130,   131,
24273      132,   133,   134,    -1,   136,   137,   138,    -1,   140,   141,
24274      142,    -1,   144,   145,   146,   147,    -1,   149,   150,   151,
24275      152,    -1,    -1,   155,    -1,   157,   158,   159,   160,    -1,
24276      162,    -1,   164,   165,    -1,   167,   168,   169,   170,   171,
24277       -1,   173,    -1,    -1,    -1,   177,   178,    -1,   180,   181,
24278      182,   183,   184,   185,   186,   187,   188,   189,    -1,   191,
24279      192,   193,   194,   195,   196,   197,    -1,   199,   200,    -1,
24280      202,   203,   204,   205,   206,   207,    -1,   209,    -1,   211,
24281      212,   213,   214,   215,   216,   217,   218,   219,   220,    -1,
24282       -1,   223,    -1,   225,   226,   227,    -1,   229,   230,   231,
24283       -1,    -1,   234,   235,   236,   237,   238,   239,   240,   241,
24284      242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
24285      252,   253,   254,   255,   256,   257,   258,   259,   260,    -1,
24286      262,    -1,   264,   265,   266,   267,    -1,    -1,   270,   271,
24287      272,   273,   274,    -1,   276,   277,    -1,    -1,   280,   281,
24288      282,    -1,    -1,   285,   286,    -1,   288,   289,   290,    -1,
24289      292,   293,   294,   295,   296,   297,   298,   299,   300,    -1,
24290       -1,   303,   304,    -1,   306,    -1,   308,   309,   310,    -1,
24291      312,   313,   314,   315,   316,   317,   318,   319,   320,   321,
24292      322,   323,   324,   325,   326,    -1,   328,   329,   330,   331,
24293      332,   333,   334,   335,   336,   337,   338,   339,    -1,   341,
24294      342,   343,   344,   345,   346,   347,   348,    -1,   350,   351,
24295      352,   353,   354,   355,   356,   357,   358,    -1,   360,   361,
24296      362,   363,   364,    -1,   366,   367,   368,   369,   370,   371,
24297      372,   373,   374,   375,    -1,   377,   378,   379,   380,   381,
24298      382,   383,   384,   385,   386,   387,   388,   389,    -1,   391,
24299       -1,   393,   394,    -1,   396,   397,   398,   399,   400,   401,
24300      402,    -1,   404,   405,   406,    -1,    -1,   409,   410,    -1,
24301      412,    -1,    -1,   415,   416,   417,   418,   419,   420,   421,
24302      422,    -1,    -1,   425,   426,   427,   428,   429,    -1,    -1,
24303      432,   433,   434,   435,   436,    -1,   438,    -1,   440,   441,
24304      442,   443,   444,   445,    -1,    -1,   448,    -1,    -1,   451,
24305      452,   453,   454,   455,   456,     3,    -1,    -1,    -1,    -1,
24306       -1,    -1,    -1,    -1,    -1,    -1,   468,   469,   470,    -1,
24307       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
24308       -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,
24309       -1,    39,    40,    -1,    42,    43,    44,    45,    46,    47,
24310       48,    -1,    50,    51,    52,    53,    -1,    55,    56,    57,
24311       58,    59,    60,    -1,    -1,    63,    64,    65,    66,    67,
24312       -1,    69,    70,    71,    72,    -1,    -1,    75,    -1,    77,
24313       78,    79,    80,    81,    82,    83,    84,    85,    -1,    87,
24314       88,    89,    90,    91,    92,    -1,    94,    95,    96,    97,
24315       -1,    -1,    -1,   101,    -1,    -1,    -1,   105,   106,   107,
24316      108,   109,   110,   111,   112,   113,    -1,   115,    -1,   117,
24317      118,   119,   120,   121,   122,    -1,   124,   125,   126,   127,
24318       -1,    -1,   130,   131,   132,   133,   134,    -1,   136,   137,
24319      138,    -1,   140,   141,   142,    -1,   144,   145,   146,   147,
24320       -1,   149,   150,   151,   152,    -1,    -1,   155,    -1,   157,
24321      158,   159,   160,    -1,   162,    -1,   164,   165,    -1,   167,
24322      168,   169,   170,   171,    -1,   173,    -1,    -1,    -1,   177,
24323      178,    -1,   180,   181,   182,   183,   184,   185,   186,   187,
24324      188,   189,    -1,   191,   192,   193,   194,   195,   196,   197,
24325       -1,   199,   200,    -1,   202,   203,   204,   205,   206,   207,
24326       -1,   209,    -1,   211,   212,   213,   214,   215,   216,   217,
24327      218,   219,   220,    -1,    -1,   223,    -1,   225,   226,   227,
24328       -1,   229,   230,   231,    -1,    -1,   234,   235,   236,   237,
24329      238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
24330      248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
24331      258,   259,   260,    -1,   262,    -1,   264,   265,   266,   267,
24332       -1,    -1,   270,   271,   272,   273,   274,    -1,   276,   277,
24333       -1,    -1,   280,   281,   282,    -1,    -1,   285,   286,    -1,
24334      288,   289,   290,    -1,   292,   293,   294,   295,   296,   297,
24335      298,   299,   300,    -1,    -1,   303,   304,    -1,   306,    -1,
24336      308,   309,   310,    -1,   312,   313,   314,   315,   316,   317,
24337      318,   319,   320,   321,   322,   323,   324,   325,   326,    -1,
24338      328,   329,   330,   331,   332,   333,   334,   335,   336,   337,
24339      338,   339,    -1,   341,   342,   343,   344,   345,   346,   347,
24340      348,    -1,   350,   351,   352,   353,   354,   355,   356,   357,
24341      358,    -1,   360,   361,   362,   363,   364,    -1,   366,   367,
24342      368,   369,   370,   371,   372,   373,   374,   375,    -1,   377,
24343      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
24344      388,   389,    -1,   391,    -1,   393,   394,    -1,   396,   397,
24345      398,   399,   400,   401,   402,    -1,   404,   405,   406,    -1,
24346       -1,   409,   410,    -1,   412,    -1,    -1,   415,   416,   417,
24347      418,   419,   420,   421,   422,    -1,    -1,   425,   426,   427,
24348      428,   429,    -1,    -1,   432,   433,   434,   435,   436,    -1,
24349      438,    -1,   440,   441,   442,   443,   444,   445,    -1,    -1,
24350      448,    -1,    -1,   451,   452,   453,   454,   455,   456,     3,
24351       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
24352      468,   469,   470,    -1,    -1,    -1,    20,    21,    22,    23,
24353       24,    25,    26,    27,    -1,    29,    30,    31,    -1,    -1,
24354       -1,    -1,    -1,    -1,    -1,    39,    40,    -1,    42,    43,
24355       44,    45,    46,    47,    48,    -1,    50,    51,    52,    53,
24356       -1,    55,    56,    57,    58,    59,    60,    -1,    -1,    63,
24357       64,    65,    66,    67,    -1,    69,    70,    71,    72,    -1,
24358       -1,    75,    -1,    77,    78,    79,    80,    81,    82,    83,
24359       84,    85,    -1,    87,    88,    89,    90,    91,    92,    -1,
24360       94,    95,    96,    97,    -1,    -1,    -1,   101,    -1,    -1,
24361       -1,   105,   106,   107,   108,   109,   110,   111,   112,   113,
24362       -1,   115,    -1,   117,   118,   119,   120,   121,   122,    -1,
24363      124,   125,   126,   127,    -1,    -1,   130,   131,   132,   133,
24364      134,    -1,   136,   137,   138,    -1,   140,   141,   142,    -1,
24365      144,   145,   146,   147,    -1,   149,   150,   151,   152,    -1,
24366       -1,   155,    -1,   157,   158,   159,   160,   161,   162,    -1,
24367      164,   165,    -1,   167,   168,   169,   170,   171,    -1,   173,
24368       -1,    -1,    -1,   177,   178,    -1,   180,   181,   182,   183,
24369      184,   185,   186,   187,   188,   189,    -1,   191,   192,   193,
24370      194,   195,   196,   197,    -1,   199,   200,    -1,   202,   203,
24371      204,   205,   206,   207,    -1,   209,    -1,   211,   212,   213,
24372      214,   215,   216,   217,   218,   219,   220,    -1,    -1,   223,
24373       -1,   225,   226,   227,    -1,   229,   230,   231,    -1,    -1,
24374      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
24375      244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
24376      254,   255,   256,   257,   258,   259,    -1,    -1,   262,    -1,
24377      264,   265,   266,   267,    -1,    -1,   270,   271,   272,   273,
24378      274,    -1,   276,   277,    -1,    -1,   280,   281,   282,    -1,
24379       -1,   285,   286,    -1,   288,   289,   290,    -1,   292,   293,
24380      294,   295,   296,   297,   298,   299,   300,    -1,    -1,   303,
24381      304,    -1,   306,    -1,   308,   309,   310,    -1,   312,   313,
24382      314,   315,   316,   317,   318,   319,   320,   321,   322,   323,
24383      324,   325,   326,    -1,   328,   329,   330,   331,   332,   333,
24384      334,   335,   336,   337,   338,   339,    -1,   341,   342,   343,
24385      344,   345,   346,   347,   348,    -1,   350,   351,   352,   353,
24386      354,   355,   356,   357,   358,    -1,   360,   361,   362,   363,
24387      364,    -1,   366,   367,   368,   369,   370,   371,   372,   373,
24388      374,   375,    -1,   377,   378,   379,   380,   381,   382,   383,
24389      384,   385,   386,   387,   388,   389,    -1,   391,    -1,   393,
24390      394,    -1,   396,   397,   398,   399,   400,   401,   402,    -1,
24391      404,   405,   406,    -1,    -1,   409,   410,    -1,   412,    -1,
24392       -1,   415,   416,   417,   418,   419,   420,   421,   422,    -1,
24393       -1,   425,   426,   427,   428,   429,    -1,    -1,   432,   433,
24394      434,   435,   436,    -1,   438,    -1,   440,   441,   442,   443,
24395      444,   445,    -1,    -1,   448,    -1,    -1,   451,   452,   453,
24396      454,   455,   456,     3,    -1,    -1,    -1,    -1,    -1,    -1,
24397       -1,    -1,    -1,    -1,   468,   469,   470,    -1,    -1,    -1,
24398       20,    21,    22,    23,    24,    25,    26,    27,    -1,    29,
24399       30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,
24400       40,    -1,    42,    43,    44,    45,    46,    47,    48,    -1,
24401       50,    51,    52,    53,    -1,    55,    56,    57,    58,    59,
24402       60,    -1,    -1,    63,    64,    65,    66,    67,    -1,    69,
24403       70,    71,    72,    -1,    -1,    75,    -1,    77,    78,    79,
24404       80,    81,    82,    83,    84,    85,    -1,    87,    88,    89,
24405       90,    91,    92,    -1,    94,    95,    96,    97,    -1,    -1,
24406       -1,   101,    -1,    -1,    -1,   105,   106,   107,   108,   109,
24407      110,   111,   112,   113,    -1,   115,    -1,   117,   118,   119,
24408      120,   121,   122,    -1,   124,   125,   126,   127,    -1,    -1,
24409      130,   131,   132,   133,   134,    -1,   136,   137,   138,    -1,
24410      140,   141,   142,    -1,   144,   145,   146,   147,    -1,   149,
24411      150,   151,   152,    -1,    -1,   155,    -1,   157,   158,   159,
24412      160,    -1,   162,    -1,   164,   165,    -1,   167,   168,   169,
24413      170,   171,    -1,   173,    -1,    -1,    -1,   177,   178,    -1,
24414      180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
24415       -1,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
24416      200,    -1,   202,   203,   204,   205,   206,   207,    -1,   209,
24417       -1,   211,   212,   213,   214,   215,   216,   217,   218,   219,
24418      220,    -1,    -1,   223,    -1,   225,   226,   227,    -1,   229,
24419      230,   231,    -1,    -1,   234,   235,   236,   237,   238,   239,
24420      240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
24421      250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
24422       -1,    -1,   262,    -1,   264,   265,   266,   267,    -1,    -1,
24423      270,   271,   272,   273,   274,    -1,   276,   277,    -1,    -1,
24424      280,   281,   282,    -1,    -1,   285,   286,    -1,   288,   289,
24425      290,    -1,   292,   293,   294,   295,   296,   297,   298,   299,
24426      300,    -1,    -1,   303,   304,    -1,   306,    -1,   308,   309,
24427      310,    -1,   312,   313,   314,   315,   316,   317,   318,   319,
24428      320,   321,   322,   323,   324,   325,   326,    -1,   328,   329,
24429      330,   331,   332,   333,   334,   335,   336,   337,   338,   339,
24430       -1,   341,   342,   343,   344,   345,   346,   347,   348,    -1,
24431      350,   351,   352,   353,   354,   355,   356,   357,   358,    -1,
24432      360,   361,   362,   363,   364,    -1,   366,   367,   368,   369,
24433      370,   371,   372,   373,   374,   375,    -1,   377,   378,   379,
24434      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
24435       -1,   391,    -1,   393,   394,    -1,   396,   397,   398,   399,
24436      400,   401,   402,    -1,   404,   405,   406,    -1,    -1,   409,
24437      410,    -1,   412,    -1,    -1,   415,   416,   417,   418,   419,
24438      420,   421,   422,    -1,    -1,   425,   426,   427,   428,   429,
24439       -1,    -1,   432,   433,   434,   435,   436,    -1,   438,    -1,
24440      440,   441,   442,   443,   444,   445,    -1,    -1,   448,    -1,
24441       -1,   451,   452,   453,   454,   455,   456,     3,    -1,    -1,
24442       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   468,   469,
24443      470,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
24444       26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,
24445       -1,    -1,    -1,    39,    40,    -1,    42,    43,    44,    45,
24446       46,    47,    48,    -1,    50,    51,    52,    53,    -1,    55,
24447       56,    57,    58,    59,    60,    -1,    -1,    63,    64,    65,
24448       66,    67,    -1,    69,    70,    71,    72,    -1,    -1,    75,
24449       -1,    77,    78,    79,    80,    81,    82,    83,    84,    85,
24450       -1,    87,    88,    89,    90,    91,    92,    -1,    94,    95,
24451       96,    97,    -1,    -1,    -1,   101,    -1,    -1,    -1,   105,
24452      106,   107,   108,   109,   110,   111,   112,   113,    -1,   115,
24453       -1,   117,   118,   119,   120,   121,   122,    -1,   124,   125,
24454      126,   127,    -1,    -1,   130,   131,   132,   133,   134,    -1,
24455      136,   137,   138,    -1,   140,   141,   142,    -1,   144,   145,
24456      146,   147,    -1,   149,   150,   151,   152,    -1,    -1,   155,
24457       -1,   157,   158,   159,   160,    -1,   162,    -1,   164,   165,
24458       -1,   167,   168,   169,   170,   171,    -1,   173,    -1,    -1,
24459       -1,   177,   178,    -1,   180,   181,   182,   183,   184,   185,
24460      186,   187,   188,   189,    -1,   191,   192,   193,   194,   195,
24461      196,   197,    -1,   199,   200,    -1,   202,   203,   204,   205,
24462      206,   207,    -1,   209,    -1,   211,   212,   213,   214,   215,
24463      216,   217,   218,   219,   220,    -1,    -1,   223,    -1,   225,
24464      226,   227,    -1,   229,   230,   231,    -1,    -1,   234,   235,
24465      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
24466      246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
24467      256,   257,   258,   259,    -1,    -1,   262,    -1,   264,   265,
24468      266,   267,    -1,    -1,   270,   271,   272,   273,   274,    -1,
24469      276,   277,    -1,    -1,   280,   281,   282,    -1,    -1,   285,
24470      286,    -1,   288,   289,   290,    -1,   292,   293,   294,   295,
24471      296,   297,   298,   299,   300,    -1,    -1,   303,   304,    -1,
24472      306,    -1,   308,   309,   310,    -1,   312,   313,   314,   315,
24473      316,   317,   318,   319,   320,   321,   322,   323,   324,   325,
24474      326,    -1,   328,   329,   330,   331,   332,   333,   334,   335,
24475      336,   337,   338,   339,    -1,   341,   342,   343,   344,   345,
24476      346,   347,   348,    -1,   350,   351,   352,   353,   354,   355,
24477      356,   357,   358,    -1,   360,   361,   362,   363,   364,    -1,
24478      366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
24479       -1,   377,   378,   379,   380,   381,   382,   383,   384,   385,
24480      386,   387,   388,   389,    -1,   391,    -1,   393,   394,    -1,
24481      396,   397,   398,   399,   400,   401,   402,    -1,   404,   405,
24482      406,    -1,    -1,   409,   410,    -1,   412,    -1,    -1,   415,
24483      416,   417,   418,   419,   420,   421,   422,    -1,    -1,   425,
24484      426,   427,   428,   429,    -1,    -1,   432,   433,   434,   435,
24485      436,    -1,   438,    -1,   440,   441,   442,   443,   444,   445,
24486       -1,    -1,   448,    -1,    -1,   451,   452,   453,   454,   455,
24487      456,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
24488       -1,    -1,   468,   469,   470,    -1,    -1,    -1,    20,    21,
24489       22,    23,    24,    25,    26,    27,    -1,    29,    30,    31,
24490       -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    -1,
24491       42,    43,    44,    45,    46,    47,    48,    -1,    50,    51,
24492       52,    53,    -1,    55,    56,    57,    58,    59,    60,    -1,
24493       -1,    63,    64,    65,    66,    67,    -1,    69,    70,    71,
24494       72,    -1,    -1,    75,    -1,    77,    78,    79,    80,    81,
24495       82,    83,    84,    85,    -1,    87,    88,    89,    90,    91,
24496       92,    -1,    94,    95,    96,    97,    -1,    -1,    -1,   101,
24497       -1,    -1,    -1,   105,   106,   107,   108,   109,   110,   111,
24498      112,   113,    -1,   115,    -1,   117,   118,   119,   120,   121,
24499      122,    -1,   124,   125,   126,   127,    -1,    -1,   130,   131,
24500      132,   133,   134,    -1,   136,   137,   138,    -1,   140,   141,
24501      142,    -1,   144,   145,   146,   147,    -1,   149,   150,   151,
24502      152,    -1,    -1,   155,    -1,   157,   158,   159,   160,    -1,
24503      162,    -1,   164,   165,    -1,   167,   168,   169,   170,   171,
24504       -1,   173,    -1,    -1,    -1,   177,   178,    -1,   180,   181,
24505      182,   183,   184,   185,   186,   187,   188,   189,    -1,   191,
24506      192,   193,   194,   195,   196,   197,    -1,   199,   200,    -1,
24507      202,   203,   204,   205,   206,   207,    -1,   209,    -1,   211,
24508      212,   213,   214,   215,   216,   217,   218,   219,   220,    -1,
24509       -1,   223,    -1,   225,   226,   227,    -1,   229,   230,   231,
24510       -1,    -1,   234,   235,   236,   237,   238,   239,   240,   241,
24511      242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
24512      252,   253,   254,   255,   256,   257,   258,   259,    -1,    -1,
24513      262,    -1,   264,   265,   266,   267,    -1,    -1,   270,   271,
24514      272,   273,   274,    -1,   276,   277,    -1,    -1,   280,   281,
24515      282,    -1,    -1,   285,   286,    -1,   288,   289,   290,    -1,
24516      292,   293,   294,   295,   296,   297,   298,   299,   300,    -1,
24517       -1,   303,   304,    -1,   306,    -1,   308,   309,   310,    -1,
24518      312,   313,   314,   315,   316,   317,   318,   319,   320,   321,
24519      322,   323,   324,   325,   326,    -1,   328,   329,   330,   331,
24520      332,   333,   334,   335,   336,   337,   338,   339,    -1,   341,
24521      342,   343,   344,   345,   346,   347,   348,    -1,   350,   351,
24522      352,   353,   354,   355,   356,   357,   358,    -1,   360,   361,
24523      362,   363,   364,    -1,   366,   367,   368,   369,   370,   371,
24524      372,   373,   374,   375,    -1,   377,   378,   379,   380,   381,
24525      382,   383,   384,   385,   386,   387,   388,   389,    -1,   391,
24526       -1,   393,   394,    -1,   396,   397,   398,   399,   400,   401,
24527      402,    -1,   404,   405,   406,    -1,    -1,   409,   410,    -1,
24528      412,    -1,    -1,   415,   416,   417,   418,   419,   420,   421,
24529      422,    -1,    -1,   425,   426,   427,   428,   429,    -1,    -1,
24530      432,   433,   434,   435,   436,    -1,   438,    -1,   440,   441,
24531      442,   443,   444,   445,    -1,    -1,   448,    -1,    -1,   451,
24532      452,   453,   454,   455,   456,     3,    -1,    -1,    -1,    -1,
24533       -1,    -1,    -1,    -1,    -1,    -1,   468,   469,   470,    -1,
24534       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
24535       -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,
24536       -1,    39,    40,    -1,    42,    43,    44,    45,    46,    47,
24537       48,    -1,    50,    51,    52,    53,    -1,    55,    56,    57,
24538       58,    59,    60,    -1,    -1,    63,    64,    65,    66,    67,
24539       -1,    69,    70,    71,    72,    -1,    -1,    75,    -1,    77,
24540       78,    79,    80,    81,    82,    83,    84,    85,    -1,    87,
24541       88,    89,    90,    91,    92,    -1,    94,    95,    96,    97,
24542       -1,    -1,    -1,   101,    -1,    -1,    -1,   105,   106,   107,
24543      108,   109,   110,   111,   112,   113,    -1,   115,    -1,   117,
24544      118,   119,   120,   121,   122,    -1,   124,   125,   126,   127,
24545       -1,    -1,   130,   131,   132,   133,   134,    -1,   136,   137,
24546      138,    -1,   140,   141,   142,    -1,   144,   145,   146,   147,
24547       -1,   149,   150,   151,   152,    -1,    -1,   155,    -1,   157,
24548      158,   159,   160,    -1,   162,    -1,   164,   165,    -1,   167,
24549      168,   169,   170,   171,    -1,   173,    -1,    -1,    -1,   177,
24550      178,    -1,   180,   181,   182,   183,   184,   185,   186,   187,
24551      188,   189,    -1,   191,   192,   193,   194,   195,   196,   197,
24552       -1,   199,   200,    -1,   202,   203,   204,   205,   206,   207,
24553       -1,   209,    -1,   211,   212,   213,   214,   215,   216,   217,
24554      218,   219,   220,    -1,    -1,   223,    -1,   225,   226,   227,
24555       -1,   229,   230,   231,    -1,    -1,   234,   235,   236,   237,
24556      238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
24557      248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
24558      258,   259,    -1,    -1,   262,    -1,   264,   265,   266,   267,
24559       -1,    -1,   270,   271,   272,   273,   274,    -1,   276,   277,
24560       -1,    -1,   280,   281,   282,    -1,    -1,   285,   286,    -1,
24561      288,   289,   290,    -1,   292,   293,   294,   295,   296,   297,
24562      298,   299,   300,    -1,    -1,   303,   304,    -1,   306,    -1,
24563      308,   309,   310,    -1,   312,   313,   314,   315,   316,   317,
24564      318,   319,   320,   321,   322,   323,   324,   325,   326,    -1,
24565      328,   329,   330,   331,   332,   333,   334,   335,   336,   337,
24566      338,   339,    -1,   341,   342,   343,   344,   345,   346,   347,
24567      348,    -1,   350,   351,   352,   353,   354,   355,   356,   357,
24568      358,    -1,   360,   361,   362,   363,   364,    -1,   366,   367,
24569      368,   369,   370,   371,   372,   373,   374,   375,    -1,   377,
24570      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
24571      388,   389,    -1,   391,    -1,   393,   394,    -1,   396,   397,
24572      398,   399,   400,   401,   402,    -1,   404,   405,   406,    -1,
24573       -1,   409,   410,    -1,   412,    -1,    -1,   415,   416,   417,
24574      418,   419,   420,   421,   422,    -1,    -1,   425,   426,   427,
24575      428,   429,    -1,    -1,   432,   433,   434,   435,   436,    -1,
24576      438,    -1,   440,   441,   442,   443,   444,   445,    -1,    -1,
24577      448,    -1,    -1,   451,   452,   453,   454,   455,   456,     3,
24578       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
24579      468,   469,   470,    -1,    -1,    -1,    20,    21,    22,    23,
24580       24,    25,    26,    27,    -1,    29,    30,    31,    -1,    -1,
24581       -1,    -1,    -1,    -1,    -1,    39,    40,    -1,    42,    43,
24582       44,    45,    46,    47,    48,    -1,    50,    51,    52,    53,
24583       -1,    55,    56,    57,    58,    59,    60,    -1,    -1,    63,
24584       64,    65,    66,    67,    -1,    69,    70,    71,    72,    -1,
24585       -1,    75,    -1,    77,    78,    79,    80,    81,    82,    83,
24586       84,    85,    -1,    87,    88,    89,    90,    91,    92,    -1,
24587       94,    95,    96,    97,    -1,    -1,    -1,   101,    -1,    -1,
24588       -1,   105,   106,   107,   108,   109,   110,   111,   112,   113,
24589       -1,   115,    -1,   117,   118,   119,   120,   121,   122,    -1,
24590      124,   125,   126,   127,    -1,    -1,   130,   131,   132,   133,
24591      134,    -1,   136,   137,   138,    -1,   140,   141,   142,    -1,
24592      144,   145,   146,   147,    -1,   149,   150,   151,   152,    -1,
24593       -1,   155,    -1,   157,   158,   159,   160,    -1,   162,    -1,
24594      164,   165,    -1,   167,   168,   169,   170,   171,    -1,   173,
24595       -1,    -1,    -1,   177,   178,    -1,   180,   181,   182,   183,
24596      184,   185,   186,   187,   188,   189,    -1,   191,   192,   193,
24597      194,   195,   196,   197,    -1,   199,   200,    -1,   202,   203,
24598      204,   205,   206,   207,    -1,   209,    -1,   211,   212,   213,
24599      214,   215,   216,   217,   218,   219,   220,    -1,    -1,   223,
24600       -1,   225,   226,   227,    -1,   229,   230,   231,    -1,    -1,
24601      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
24602      244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
24603      254,   255,   256,   257,   258,   259,    -1,    -1,   262,    -1,
24604      264,   265,   266,   267,    -1,    -1,   270,   271,   272,   273,
24605      274,    -1,   276,   277,    -1,    -1,   280,   281,   282,    -1,
24606       -1,   285,   286,    -1,   288,   289,   290,    -1,   292,   293,
24607      294,   295,   296,   297,   298,   299,   300,    -1,    -1,   303,
24608      304,    -1,   306,    -1,   308,   309,   310,    -1,   312,   313,
24609      314,   315,   316,   317,   318,   319,   320,   321,   322,   323,
24610      324,   325,   326,    -1,   328,   329,   330,   331,   332,   333,
24611      334,   335,   336,   337,   338,   339,    -1,   341,   342,   343,
24612      344,   345,   346,   347,   348,    -1,   350,   351,   352,   353,
24613      354,   355,   356,   357,   358,    -1,   360,   361,   362,   363,
24614      364,    -1,   366,   367,    -1,   369,   370,   371,   372,   373,
24615      374,   375,    -1,   377,   378,   379,   380,   381,   382,   383,
24616      384,   385,   386,   387,   388,   389,    -1,   391,    -1,   393,
24617      394,    -1,   396,   397,   398,   399,   400,   401,   402,    -1,
24618      404,   405,   406,    -1,    -1,   409,   410,    -1,   412,    -1,
24619       -1,   415,   416,   417,   418,   419,   420,   421,   422,    -1,
24620       -1,   425,   426,   427,   428,   429,    -1,    -1,   432,   433,
24621      434,   435,   436,    -1,   438,    -1,   440,   441,   442,   443,
24622      444,   445,    -1,    -1,   448,    -1,    -1,   451,   452,   453,
24623      454,   455,   456,     3,    -1,    -1,    -1,    -1,    -1,    -1,
24624       -1,    -1,    -1,    -1,   468,   469,   470,    -1,    -1,    -1,
24625       20,    21,    22,    23,    24,    25,    26,    27,    -1,    29,
24626       30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,
24627       40,    -1,    42,    43,    44,    45,    46,    47,    48,    -1,
24628       -1,    51,    -1,    -1,    -1,    55,    56,    57,    58,    59,
24629       60,    -1,    -1,    63,    64,    -1,    -1,    67,    -1,    69,
24630       70,    71,    72,    -1,    -1,    75,    -1,    77,    78,    79,
24631       80,    81,    82,    83,    84,    85,    -1,    87,    88,    89,
24632       90,    91,    92,    -1,    94,    95,    96,    97,    -1,    -1,
24633       -1,   101,    -1,    -1,    -1,   105,   106,   107,   108,   109,
24634      110,    -1,    -1,   113,    -1,   115,    -1,   117,   118,   119,
24635      120,   121,   122,    -1,   124,   125,   126,   127,    -1,    -1,
24636      130,   131,   132,   133,   134,    -1,   136,   137,   138,    -1,
24637      140,   141,   142,    -1,   144,   145,   146,   147,    -1,   149,
24638      150,   151,   152,    -1,    -1,   155,    -1,   157,   158,    -1,
24639      160,    -1,   162,    -1,   164,   165,    -1,   167,   168,   169,
24640      170,   171,    -1,   173,    -1,    -1,    -1,   177,   178,    -1,
24641      180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
24642       -1,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
24643      200,    -1,   202,   203,   204,   205,    -1,    -1,    -1,    -1,
24644       -1,   211,   212,   213,   214,   215,   216,   217,   218,   219,
24645      220,    -1,    -1,   223,    -1,   225,   226,   227,    -1,   229,
24646      230,   231,    -1,    -1,   234,   235,   236,   237,   238,   239,
24647      240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
24648       -1,   251,    -1,   253,   254,   255,   256,   257,   258,   259,
24649       -1,    -1,   262,    -1,   264,   265,   266,   267,    -1,    -1,
24650      270,    -1,   272,   273,   274,    -1,   276,   277,    -1,    -1,
24651      280,   281,   282,    -1,    -1,   285,   286,    -1,   288,   289,
24652      290,    -1,   292,   293,   294,   295,   296,   297,   298,   299,
24653      300,    -1,    -1,   303,   304,    -1,   306,    -1,   308,   309,
24654      310,    -1,   312,   313,   314,   315,   316,   317,   318,   319,
24655      320,   321,    -1,   323,   324,   325,   326,    -1,   328,   329,
24656      330,   331,   332,   333,   334,   335,   336,   337,   338,   339,
24657       -1,   341,   342,   343,   344,   345,   346,   347,   348,    -1,
24658      350,   351,   352,   353,   354,   355,   356,   357,   358,    -1,
24659      360,   361,   362,   363,   364,    -1,   366,   367,    -1,   369,
24660      370,   371,   372,   373,    -1,   375,    -1,   377,   378,   379,
24661      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
24662       -1,   391,    -1,   393,   394,    -1,   396,   397,   398,   399,
24663      400,   401,   402,    -1,   404,    -1,    -1,    -1,    -1,   409,
24664      410,    -1,   412,    -1,    -1,   415,   416,   417,   418,   419,
24665      420,   421,   422,    -1,    -1,   425,   426,   427,   428,   429,
24666       -1,    -1,   432,   433,   434,   435,   436,    -1,    -1,    -1,
24667      440,   441,   442,   443,   444,   445,    -1,    -1,   448,    -1,
24668       -1,   451,   452,   453,   454,   455,   456,    -1,    -1,    -1,
24669       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   468,   469,
24670      470
24671 };
24672 
24673   /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
24674      symbol of state STATE-NUM.  */
24675 static const yytype_uint16 yystos[] =
24676 {
24677        0,    20,    30,    32,    33,    48,    57,    69,    71,    72,
24678       78,    80,    91,    93,   110,   113,   127,   129,   133,   139,
24679      147,   149,   156,   172,   189,   229,   230,   235,   247,   265,
24680      301,   309,   323,   329,   330,   332,   337,   342,   345,   352,
24681      358,   359,   366,   370,   380,   395,   415,   426,   432,   437,
24682      450,   473,   487,   494,   495,   496,   497,   498,   504,   505,
24683      507,   508,   509,   510,   512,   516,   528,   533,   534,   537,
24684      538,   539,   558,   561,   562,   577,   621,   622,   623,   626,
24685      629,   630,   631,   639,   645,   647,   649,   650,   653,   656,
24686      657,   661,   670,   674,   675,   676,   677,   680,   682,   683,
24687      684,   685,   693,   695,   715,   719,   721,   722,   732,   734,
24688      741,   742,   745,   746,   747,   748,   749,   757,   759,   763,
24689      768,   772,   773,   781,   782,   785,   790,   804,   831,   834,
24690      835,   836,   841,   844,   846,   848,   850,   851,   856,   857,
24691      860,   862,   863,   867,   868,   869,   872,   873,   876,   877,
24692      878,   885,   887,   888,   889,   895,   897,   898,   904,   905,
24693      906,   909,   910,   911,   912,   914,   915,   917,   918,   920,
24694      921,   923,   935,   941,   944,   946,   947,   956,   958,   963,
24695      968,   972,   973,   974,   975,   976,   977,   981,  1016,   409,
24696      453,   890,    27,    75,    90,   108,   114,   131,   142,   151,
24697      163,   168,   175,   194,   219,   240,   280,   304,   314,   315,
24698      318,   344,   347,   351,   353,   360,   363,   382,   389,   394,
24699      395,   398,   402,   412,   417,   430,   443,   646,   890,     3,
24700       20,    21,    22,    23,    24,    25,    26,    27,    29,    30,
24701       31,    39,    40,    42,    43,    44,    45,    46,    47,    48,
24702       49,    50,    51,    52,    53,    55,    56,    57,    58,    59,
24703       60,    63,    64,    65,    66,    67,    69,    70,    71,    72,
24704       73,    75,    77,    78,    79,    80,    81,    82,    83,    84,
24705       85,    87,    88,    89,    90,    91,    92,    94,    95,    96,
24706       97,   101,   105,   106,   107,   108,   109,   110,   111,   112,
24707      113,   115,   117,   118,   119,   120,   121,   122,   124,   125,
24708      126,   127,   130,   131,   132,   133,   134,   136,   137,   138,
24709      140,   141,   142,   144,   145,   146,   147,   148,   149,   150,
24710      151,   152,   153,   155,   157,   158,   159,   160,   162,   164,
24711      165,   167,   168,   169,   170,   171,   173,   174,   176,   177,
24712      178,   180,   181,   182,   183,   184,   185,   186,   187,   188,
24713      189,   191,   192,   193,   194,   195,   196,   197,   199,   200,
24714      201,   202,   203,   204,   205,   206,   207,   209,   211,   212,
24715      213,   214,   215,   216,   217,   218,   219,   220,   223,   224,
24716      225,   226,   227,   229,   230,   231,   234,   235,   236,   237,
24717      238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
24718      248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
24719      258,   259,   260,   261,   262,   264,   265,   266,   267,   269,
24720      270,   271,   272,   273,   274,   276,   277,   280,   281,   282,
24721      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
24722      295,   296,   297,   298,   299,   300,   303,   304,   305,   306,
24723      307,   308,   309,   310,   312,   313,   314,   315,   316,   317,
24724      318,   319,   320,   321,   322,   323,   324,   325,   326,   328,
24725      329,   330,   331,   332,   333,   334,   335,   336,   337,   338,
24726      339,   341,   342,   343,   344,   345,   346,   347,   348,   349,
24727      350,   351,   352,   353,   354,   355,   356,   357,   358,   360,
24728      361,   362,   363,   364,   366,   367,   368,   369,   370,   371,
24729      372,   373,   374,   375,   377,   378,   379,   380,   381,   382,
24730      383,   384,   385,   386,   387,   388,   389,   390,   391,   393,
24731      394,   396,   397,   398,   399,   400,   401,   402,   404,   405,
24732      406,   409,   410,   411,   412,   413,   415,   416,   417,   418,
24733      419,   420,   421,   422,   425,   426,   427,   428,   429,   432,
24734      433,   434,   435,   436,   437,   438,   440,   441,   442,   443,
24735      444,   445,   448,   451,   452,   453,   454,   455,   456,   457,
24736      458,   459,   460,   461,   462,   463,   464,   465,   466,   467,
24737      468,   469,   470,  1075,  1150,  1158,  1159,  1162,  1163,  1164,
24738        3,    28,   969,  1144,  1158,  1162,   441,   928,   278,   310,
24739      890,    51,   487,   569,    22,    39,    62,    75,    86,   108,
24740      114,   131,   142,   151,   163,   171,   175,   231,   280,   283,
24741      304,   318,   344,   353,   363,   382,   389,   398,   399,   401,
24742      402,   412,   417,   424,   427,   430,   578,   628,   737,   791,
24743      805,    28,   309,  1144,   969,    28,   303,   361,   399,   401,
24744        6,   218,   842,   843,  1153,    22,    27,    62,    75,    90,
24745      108,   131,   142,   151,   163,   168,   175,   194,   240,   280,
24746      293,   304,   315,   318,   344,   347,   351,   353,   360,   363,
24747      382,   389,   395,   398,   402,   410,   412,   417,   430,   443,
24748      646,   750,   751,   752,   890,  1144,    93,   441,   487,   623,
24749      626,   629,   923,   936,   944,   947,   956,   963,   968,   972,
24750       11,    21,    28,    46,   158,   164,   166,   190,   220,   254,
24751      312,   331,   478,   479,   769,   770,   969,  1152,  1154,    28,
24752       93,   327,   359,   774,   775,   776,  1158,   163,  1158,  1149,
24753     1153,   395,   984,   769,  1158,   337,   366,   370,   409,  1144,
24754      293,   240,   108,   194,   353,   394,   395,   487,   852,   853,
24755      352,  1158,    28,   364,   405,   409,   520,   529,   530,  1158,
24756       25,   172,   774,   775,   310,   890,  1158,   217,    28,   128,
24757      986,   987,    63,    87,   231,   249,   344,   353,   364,   405,
24758      409,   456,   517,   518,   519,   520,    28,   364,   405,   409,
24759      520,   409,   279,  1027,  1142,  1158,   984,   480,  1158,   167,
24760      487,   929,   487,   325,   978,   979,  1144,   978,   973,   974,
24761      977,     0,   490,   487,   928,   143,   208,   284,   423,   988,
24762      989,   973,   975,   976,   119,   204,   429,   491,    34,   894,
24763      821,  1150,   754,  1158,   754,  1145,  1158,   313,   754,   412,
24764     1144,   107,   395,   809,  1150,  1158,  1164,     3,   104,   365,
24765     1155,  1156,  1160,  1162,  1163,  1164,    28,   184,  1142,   272,
24766      443,    10,    17,    18,    19,    70,   155,   474,   475,   476,
24767      478,   479,   480,   481,   482,   483,   838,   840,  1105,  1106,
24768     1158,   184,  1144,   809,  1144,    28,  1155,  1156,   809,  1144,
24769     1144,   184,  1142,  1144,   184,   754,  1144,   337,   366,    28,
24770      184,  1027,  1144,   356,  1144,   754,    28,   238,  1155,  1156,
24771      184,  1142,   218,   116,   214,   263,   321,   891,   892,   893,
24772      487,   485,   489,  1133,  1135,  1142,  1148,  1158,    22,    27,
24773       62,    75,    76,    86,    90,   108,   131,   142,   151,   163,
24774      168,   194,   219,   240,   280,   304,   315,   318,   344,   347,
24775      351,   353,   360,   363,   382,   389,   395,   398,   402,   410,
24776      412,   417,   443,   646,   760,   761,  1153,   894,   943,   947,
24777      956,   963,   972,  1142,   242,   754,   487,   184,   754,   412,
24778     1145,   754,   412,   184,  1144,   107,   395,   399,   401,  1155,
24779     1156,   399,   401,    70,   155,   838,   335,  1144,  1144,  1155,
24780      184,   513,  1158,   184,  1144,   184,   754,  1144,  1144,   356,
24781     1144,   754,   238,  1155,   325,   360,   395,   443,   240,    90,
24782      194,    27,   168,   315,   351,   410,   416,   640,    28,  1144,
24783      970,   527,  1153,  1160,   843,   242,   184,   821,   822,   184,
24784      847,   184,  1145,     3,    50,    52,    53,    65,    66,   111,
24785      112,   132,   159,   184,   206,   207,   209,   250,   252,   271,
24786      322,   368,   374,   405,   406,   438,   756,  1049,  1051,  1053,
24787     1055,  1057,  1059,  1060,  1061,  1063,  1064,  1065,  1067,  1068,
24788     1159,  1162,   412,   107,   395,   184,   808,   809,   184,  1156,
24789     1157,    82,   443,    70,   155,   184,   839,   840,    55,   184,
24790      808,   184,  1157,   184,   808,   184,  1144,   184,  1144,   356,
24791      847,   184,   756,   184,   238,  1157,   218,   184,   753,   754,
24792      184,  1143,  1144,   184,  1144,   894,   487,   945,   578,   936,
24793      437,   923,   937,   938,   939,  1160,   928,  1154,   770,   771,
24794       28,   771,  1154,   771,    28,   771,  1154,   771,   771,   771,
24795     1154,  1152,  1152,   969,   771,   313,   487,   487,   598,   598,
24796      598,   278,   407,   491,   598,   353,  1027,  1028,   491,   886,
24797      530,   518,   520,    28,   520,  1153,   487,   942,    55,   443,
24798      441,   854,   855,    82,   792,   792,  1158,    45,   470,   214,
24799      489,   281,   281,   278,   166,  1153,   407,   894,   161,   764,
24800      278,     5,     8,     9,    10,    12,    36,    50,    52,    53,
24801       61,    62,    65,    66,    73,    75,    98,    99,   100,   101,
24802      102,   103,   104,   111,   112,   114,   148,   153,   154,   159,
24803      174,   176,   206,   207,   209,   224,   232,   233,   250,   252,
24804      261,   263,   268,   269,   271,   280,   291,   305,   322,   349,
24805      365,   374,   390,   405,   406,   411,   413,   414,   424,   430,
24806      438,   458,   459,   460,   461,   463,   464,   465,   466,   471,
24807      478,   479,   480,   487,   973,  1052,  1055,  1058,  1059,  1060,
24808     1062,  1063,  1064,  1067,  1068,  1072,  1074,  1075,  1076,  1078,
24809     1101,  1102,  1103,  1107,  1127,  1132,  1139,  1140,  1150,  1151,
24810     1152,  1153,  1158,  1138,  1139,  1153,    28,   535,  1141,  1142,
24811      364,   517,   114,   526,  1153,   527,  1153,    45,    67,   517,
24812      470,   375,   892,   281,   166,   407,   476,    45,   470,   214,
24813      893,   487,  1142,   480,  1135,  1028,   922,   923,   924,   925,
24814     1160,   165,   930,  1072,  1110,   978,   491,   487,   931,   488,
24815      488,   496,   922,   932,   933,   934,  1142,    28,   128,   985,
24816      985,    55,   985,   156,   161,   228,   275,   992,   994,   995,
24817     1010,  1012,  1013,  1014,   988,   989,   166,   210,  1027,  1029,
24818      487,    64,   259,   294,   333,   366,   487,   819,   294,   329,
24819      333,   366,   489,   755,   294,   333,   366,     3,    85,   137,
24820      234,   294,   301,   333,   366,   398,   400,   450,   528,   531,
24821      899,   900,   901,   902,   786,    24,   133,   294,   333,   366,
24822      434,   544,  1144,    24,   133,   366,   429,   511,   454,   184,
24823     1027,    58,    92,   152,   187,   223,   259,   263,   294,   295,
24824      333,   341,   350,   358,   366,   378,   387,   391,   445,   528,
24825      532,   824,   832,   861,   487,   806,  1135,   333,   511,   190,
24826      148,    24,    30,    43,    72,   126,   133,   136,   162,   196,
24827      259,   263,   273,   282,   294,   333,   336,   337,   366,   434,
24828      540,   542,   543,   664,   861,     5,   478,   479,   637,  1154,
24829       28,   184,  1142,   754,   754,   487,   837,   294,   366,   489,
24830      148,   278,   294,   333,   366,   832,   861,    24,   133,   294,
24831      333,   366,   190,   506,   333,   450,   473,   499,   506,   294,
24832      333,   366,   832,   861,   278,   294,   333,   148,    37,    56,
24833      106,   193,   241,   244,   259,   293,   333,   338,   360,   366,
24834      380,   540,   634,   635,   294,   333,   442,   664,   672,   148,
24835      294,   333,   366,    85,   126,   136,   294,   329,   333,   366,
24836      530,   518,   190,   148,    43,   124,   259,   333,   366,   540,
24837      541,   294,   333,   337,   366,    83,   125,   296,   400,   278,
24838       24,    30,   133,   294,   333,   366,   559,   560,   506,   161,
24839      333,   499,   506,   148,   333,   366,   540,  1144,   226,   116,
24840      279,   455,   491,   891,    28,   128,   439,   480,   488,   814,
24841     1072,  1111,  1112,  1159,  1072,  1134,     3,    28,    32,    33,
24842       34,    35,    36,    37,    38,    41,    54,    61,    62,    68,
24843       74,    76,    86,    93,    98,    99,   100,   102,   103,   104,
24844      114,   116,   123,   128,   129,   135,   139,   143,   154,   156,
24845      161,   163,   166,   172,   175,   179,   190,   198,   208,   210,
24846      221,   222,   228,   232,   233,   263,   268,   275,   278,   279,
24847      283,   284,   302,   311,   327,   340,   359,   365,   376,   392,
24848      395,   403,   407,   408,   414,   423,   424,   430,   431,   439,
24849      446,   447,   449,   450,   480,  1147,  1161,  1162,  1163,  1164,
24850     1165,  1133,   431,   919,   278,   242,   821,   487,  1144,  1049,
24851      412,   107,   395,   809,   272,   443,    70,   155,   840,  1144,
24852      809,   809,  1144,   356,   161,  1144,  1049,   218,   754,  1144,
24853      488,   598,  1144,    68,  1049,   263,   166,   487,   723,  1144,
24854      499,    37,   913,  1144,   263,   499,   454,   184,  1142,   499,
24855      754,   754,   723,   427,   578,   278,   161,   870,   871,   499,
24856      263,    45,   514,   263,   417,   671,   263,   931,    85,   294,
24857      648,    83,   125,   296,   400,    26,    47,   205,   696,    37,
24858      723,   161,   184,   499,   443,   184,  1142,   184,   624,  1142,
24859     1142,   443,   754,   792,  1150,  1150,  1150,  1144,   161,   646,
24860       51,   105,   203,   259,   355,   148,    59,   339,   491,   545,
24861      148,   487,   148,   499,   440,  1066,  1066,  1066,   487,  1054,
24862     1054,   307,   487,  1056,   148,    65,    66,  1066,  1054,  1051,
24863      452,   473,   487,  1069,   487,  1069,   491,   545,    36,  1050,
24864      487,   109,   182,   243,   246,   357,   468,   487,  1070,  1071,
24865      755,  1054,   454,   148,   491,   545,   148,   491,   184,   753,
24866      184,   754,   184,   754,   148,   491,   545,  1157,   148,   545,
24867      148,   148,   545,   148,   545,   148,    83,   125,   296,   400,
24868      161,   148,   545,   148,   161,   184,   184,   527,   148,   491,
24869      545,   148,   491,   545,   148,   278,  1110,   395,   488,   491,
24870      154,   278,   414,   524,   527,   637,   940,   936,   771,   969,
24871      771,   969,   771,   969,   771,   969,   771,   969,   969,   969,
24872      771,   969,   487,   599,   600,  1158,   599,    28,   108,   131,
24873      163,   168,   218,   219,   315,   347,   353,   360,   395,   398,
24874      417,   777,  1141,  1157,   776,  1144,   190,   491,   959,  1153,
24875     1049,  1113,    37,  1157,   792,   488,   491,  1142,  1144,   226,
24876     1158,   161,   161,   777,  1157,   352,  1158,   527,   278,   487,
24877     1136,   485,   973,  1114,  1072,  1131,   487,   487,   161,   487,
24878      487,   973,   487,   487,   487,   487,   487,   487,   487,  1072,
24879      487,   487,   487,   487,   487,   487,   487,   487,   973,   487,
24880      487,   487,   487,   487,   487,   487,   487,  1072,  1072,  1072,
24881      973,  1072,  1110,  1135,  1153,   487,  1153,     3,    10,    13,
24882       17,    18,    19,    34,    37,    42,    49,    74,   185,   190,
24883      212,   213,   227,   266,   280,   283,   371,   471,   474,   475,
24884      476,   478,   479,   480,   481,   482,   483,  1105,  1107,  1109,
24885      451,  1088,   290,  1072,   210,   491,   982,   487,  1153,  1135,
24886      982,   117,   186,   536,   491,    67,   114,   527,    37,     3,
24887      114,   231,   525,   637,  1068,  1153,  1153,    88,   130,  1084,
24888       97,   114,   521,   522,   524,   637,   114,   521,   226,  1142,
24889       89,   338,   758,   488,   491,   524,   637,   926,   928,   488,
24890      491,   979,  1143,    37,   488,   491,   931,   975,   975,   990,
24891      991,  1072,   975,   158,   254,  1001,   216,   259,   321,   369,
24892      429,    28,   996,  1072,   478,   479,   997,   998,  1072,  1074,
24893     1010,  1011,   995,   994,   992,   993,   161,  1013,   273,  1015,
24894      992,  1010,  1029,   948,  1142,    37,  1158,   366,  1110,    64,
24895      407,   407,   353,   190,   201,   284,   287,   368,   439,   480,
24896      812,   813,   814,   816,   818,   820,  1049,  1159,   407,   442,
24897      407,   353,  1147,   489,   407,   407,   353,   228,   407,   407,
24898      398,   517,   294,   899,   901,   476,   903,   161,   172,   190,
24899      342,   787,   788,    68,    86,   144,   163,   311,   424,   595,
24900      596,    86,   114,   263,   407,    86,   407,   114,   263,   353,
24901       86,   126,   136,   294,   333,   720,   353,   654,    22,    27,
24902       62,    75,    90,   131,   142,   163,   168,   240,   280,   315,
24903      347,   353,   360,   363,   395,   402,   410,   417,   443,   646,
24904     1144,   148,   333,   366,   540,   278,   637,   358,   223,   407,
24905     1158,   407,   268,   637,   118,   211,   353,   364,   409,   519,
24906      754,   339,   366,   824,   833,   122,   488,   807,   812,   407,
24907      430,   398,  1142,    76,   144,   184,   585,   595,  1158,    76,
24908       86,   858,   298,   278,   349,   351,   412,    86,   858,    31,
24909      336,   349,   351,   412,   349,  1142,   162,   196,   273,   754,
24910      487,   407,   407,   183,   487,   549,   237,   398,   427,   452,
24911      549,    86,   491,   122,     5,     5,   294,   190,   148,   333,
24912      366,   540,   861,   431,   431,   260,  1049,   407,   353,   487,
24913      838,  1144,  1142,   407,   407,   353,   833,   122,   395,   395,
24914      407,   407,   395,   723,   108,   366,   531,   407,   501,   531,
24915      407,   407,   353,   833,   122,  1142,   407,   407,  1142,  1051,
24916      637,    55,   636,   637,   637,   106,   241,   244,    55,   407,
24917      499,   248,   353,   499,   259,   635,   407,   407,   268,  1153,
24918      664,   754,   407,   407,   353,   382,  1153,   407,   318,   407,
24919      318,   723,   398,  1027,   298,   298,    86,   407,   858,   353,
24920      407,   407,   549,   549,   754,   754,   754,   754,  1142,    44,
24921      436,    44,    44,   407,    44,   407,   436,   353,   487,   491,
24922      531,   430,   681,  1156,   407,   501,   531,  1142,   407,   858,
24923      353,   294,   333,   321,   334,   362,   523,   891,  1111,  1111,
24924     1112,   488,    15,    16,   491,   988,   989,   486,   492,  1148,
24925     1158,  1142,   212,  1049,   278,   212,   454,   212,   637,   754,
24926      754,   212,   278,   212,   212,   278,    83,   125,   296,   400,
24927     1049,   278,   212,   212,   212,   407,   166,   407,   563,   417,
24928      487,    37,   148,   754,   724,   725,  1161,    26,   899,  1049,
24929      278,   148,   651,  1144,   263,   298,   487,   500,   737,   431,
24930      325,   443,  1142,    28,   395,   450,   828,   500,   148,  1156,
24931       93,   172,   515,   577,   630,   695,   772,   790,   895,   148,
24932     1153,   672,   673,   148,   278,  1153,  1156,   234,   754,   754,
24933      754,   754,   273,   119,   204,   415,   429,   697,   698,   140,
24934      320,   487,   681,   263,   500,  1142,   263,   632,   634,   263,
24935       37,   273,   298,   487,   598,   598,   184,   627,  1142,   161,
24936      184,   793,  1148,   487,   727,   819,   487,   810,   810,    37,
24937     1049,   218,   450,   452,   971,   355,   822,   821,  1049,  1145,
24938      487,   487,  1110,  1152,   756,  1066,  1066,    36,  1050,   405,
24939      405,  1152,  1152,  1049,   485,   485,  1152,   407,   407,   407,
24940      487,   407,  1152,  1054,   808,   809,  1157,  1156,   148,   545,
24941      148,   431,   148,   431,   839,   840,   545,   808,  1157,   808,
24942     1144,  1144,  1049,   756,  1157,   681,   148,   148,   545,   753,
24943      754,  1143,  1144,  1144,   754,   488,   184,  1142,   936,   938,
24944      969,   969,   969,   969,   969,   969,   599,   488,   491,   488,
24945      169,   316,   348,   361,   396,  1143,   753,   107,   363,   808,
24946     1143,   272,   808,   808,  1143,  1141,  1141,  1143,   753,   407,
24947      450,   783,   143,   228,   678,   679,    22,   146,   349,   369,
24948      960,  1027,   267,   961,   488,   491,   943,   407,  1142,   852,
24949      853,   855,   775,   774,   775,   166,   173,   784,  1158,    27,
24950       76,   108,   131,   142,   163,   168,   219,   240,   315,   318,
24951      344,   347,   353,   360,   389,   395,   398,   417,   443,   646,
24952      765,   766,  1110,  1133,   486,  1110,  1114,  1115,   446,  1128,
24953     1129,  1072,  1110,   487,  1152,  1152,     3,   109,   182,   243,
24954      246,   357,   468,  1116,  1117,  1153,  1110,  1110,  1110,  1152,
24955     1152,  1072,  1072,   838,  1072,  1119,   349,   478,   479,   487,
24956     1073,  1074,  1107,  1121,   488,  1110,  1072,  1110,  1122,  1072,
24957       54,   166,   222,   408,  1072,  1110,  1125,  1110,   248,  1074,
24958     1072,  1082,  1083,  1084,   248,  1072,  1084,   488,   491,  1152,
24959     1070,  1049,  1072,  1072,  1072,  1072,  1161,   405,    41,   392,
24960     1137,   754,  1072,   487,   973,  1126,   128,   130,   154,   255,
24961      256,   257,   258,   262,   263,   268,   273,   414,   425,  1118,
24962     1072,   487,  1072,   407,    49,   185,   190,   227,   371,  1072,
24963     1072,  1072,  1072,  1072,  1072,  1072,  1072,  1072,  1072,    28,
24964       35,   376,  1104,   175,   157,  1089,   349,   487,  1101,   171,
24965      231,   395,   399,   401,   427,   983,  1142,  1140,   166,  1017,
24966     1111,  1017,  1142,   409,   487,  1153,   491,   488,   183,   183,
24967      545,   934,   924,   923,   927,  1072,   488,   240,   263,   980,
24968      934,   932,   491,    38,   123,   431,   802,   349,   350,   478,
24969      479,   998,  1000,  1074,   369,   216,   279,   491,     5,   999,
24970     1152,   999,   349,   350,  1000,  1141,   267,   373,   962,  1011,
24971      993,   431,   957,   114,   292,   487,   949,   972,    37,  1158,
24972      487,   964,   965,   966,  1158,   488,  1156,  1144,  1144,   287,
24973       55,  1159,   488,   814,   816,   813,   816,  1159,   284,   488,
24974      491,   755,  1156,  1144,  1144,  1147,  1156,  1144,  1144,  1156,
24975     1145,  1144,   114,   524,  1154,   344,   430,   774,   353,   172,
24976      774,   487,  1144,   431,   794,   216,   216,   431,   487,   620,
24977      184,  1144,   268,  1156,  1144,  1144,  1072,   268,  1144,  1144,
24978       31,   336,   407,   407,  1144,   407,   655,   242,   821,   487,
24979      754,   754,  1049,   412,   107,   395,   809,   443,    70,   155,
24980      840,   809,   809,  1144,   754,  1144,   754,   356,   161,  1049,
24981      754,   218,   178,   259,   294,   333,   435,   658,   659,   660,
24982     1027,   407,   858,   353,   268,   118,   211,  1156,  1144,   278,
24983     1144,   278,   488,   491,  1155,  1157,  1144,   333,   540,   184,
24984      585,   263,  1049,  1144,  1152,  1158,  1142,  1144,   226,  1144,
24985       28,   430,  1144,   184,  1144,   184,  1158,   351,   412,   351,
24986      412,   226,  1144,    28,   430,  1144,   226,   349,  1142,    24,
24987      133,   366,   665,   666,   667,   668,  1161,  1156,  1144,   114,
24988      167,   264,   431,   548,   551,   552,  1161,  1144,    72,   276,
24989     1144,   543,   278,   407,   398,  1142,   407,   858,   353,   122,
24990     1146,  1158,  1146,   491,   488,   491,  1156,  1144,   864,   865,
24991     1161,   278,   333,   407,   689,  1156,  1144,  1144,   278,  1028,
24992     1028,  1156,  1144,  1028,  1145,  1155,     3,    85,   138,   196,
24993      300,   422,   430,   433,   502,  1156,  1144,  1144,   278,   333,
24994     1156,  1144,   333,   366,   540,   634,   637,   754,  1144,   637,
24995      754,  1144,   637,  1156,  1144,   366,  1156,  1144,  1144,  1154,
24996     1156,   828,  1144,   874,   875,  1161,  1144,   333,   366,   540,
24997      541,  1142,  1142,  1144,  1144,  1144,  1144,  1156,  1144,    24,
24998       30,   133,   294,   333,   366,   294,   333,   366,   723,   333,
24999      366,   333,   366,   333,   861,  1041,  1158,   184,   733,  1158,
25000      184,  1158,  1156,  1144,  1144,  1153,  1144,   864,    24,   560,
25001      363,  1155,   333,   366,   540,  1144,  1144,  1144,   407,   407,
25002       81,   421,   321,   491,   988,   988,   988,  1072,  1072,   439,
25003     1112,   488,  1072,  1134,   268,   762,  1153,    37,   131,   754,
25004      762,   762,   212,   431,   431,   762,   754,   762,   762,   754,
25005      218,   754,   762,   762,   762,   317,   564,   564,   194,   395,
25006      694,  1072,  1049,   754,   488,   491,   476,   697,   587,  1161,
25007     1144,    59,   166,   353,   442,   652,   659,   660,   148,   273,
25008      227,   579,   581,   583,   585,   592,   595,    25,   190,   344,
25009      393,   502,   503,   161,  1146,   443,  1142,    37,   690,   396,
25010     1028,   723,   513,  1158,   514,   283,   578,  1144,   163,   754,
25011     1110,   318,  1153,   723,   723,   723,   723,   273,   278,   283,
25012      487,   723,  1039,  1040,  1041,   363,   148,   487,   148,   148,
25013      147,   972,   754,   273,   579,  1158,   431,   615,   450,   550,
25014      263,    37,   598,  1153,   263,   278,     3,   728,   729,   723,
25015      488,   811,   812,   817,    37,   218,   341,   410,   449,   823,
25016      824,   825,   823,   278,   218,   527,   181,   181,   161,   545,
25017       37,   499,   162,   907,   908,  1110,   488,   488,   545,   485,
25018      470,   470,   488,   488,  1152,   486,  1152,   488,   182,   243,
25019     1071,   243,  1071,  1071,  1152,   246,   488,   545,   753,   754,
25020     1146,   754,  1146,   545,   545,   545,   545,   218,   545,   363,
25021      161,   527,   545,   545,   278,   545,   263,   488,   600,   190,
25022      190,   190,   190,   190,   454,  1143,   637,   638,   175,   778,
25023      779,  1156,    25,   784,   407,   487,   166,   146,   369,   146,
25024      369,   349,   429,   245,  1049,  1156,   450,   625,   792,   792,
25025      166,   278,   778,    55,   545,   821,  1049,   412,   395,   809,
25026      272,   443,   809,   809,  1049,   218,   754,  1144,   488,   486,
25027      486,   491,  1072,   135,  1129,  1130,    37,   488,  1072,   488,
25028      488,   488,   166,   488,   488,   488,   488,   488,   488,   491,
25029      491,   488,   302,  1120,   488,   487,  1073,  1073,  1110,    13,
25030       17,    18,    19,   190,   212,   280,   474,   475,   476,   478,
25031      479,   480,   481,   482,   483,  1107,  1073,   488,   488,   161,
25032      166,  1123,  1124,   488,    37,  1125,  1110,  1125,  1125,   166,
25033      488,   488,  1161,   299,  1086,    37,   488,   491,  1072,  1161,
25034      491,  1072,  1136,  1072,   488,   470,  1073,  1073,   141,  1110,
25035      166,   128,   130,   154,   262,   268,   273,   414,   425,  1118,
25036      487,   262,   141,   838,  1072,   392,  1137,  1072,  1126,  1072,
25037      407,   487,   973,   487,   487,   289,  1093,   487,  1110,   399,
25038      401,   399,   401,  1142,   984,   984,   984,   221,   350,   467,
25039      487,   973,  1018,  1019,  1020,  1027,  1032,  1042,  1075,  1077,
25040     1078,  1158,   447,  1037,   988,  1037,   892,  1152,  1070,   522,
25041      934,   240,   487,   991,   280,  1105,  1108,   472,   803,     5,
25042     1152,  1000,   279,   450,   429,   997,   236,  1018,   447,  1038,
25043      437,   394,   430,   950,   951,   952,  1158,   278,   953,  1158,
25044      966,   967,   491,  1017,   476,  1136,   820,   755,   816,   816,
25045       55,   818,   482,  1157,  1157,   278,  1143,   281,   278,  1072,
25046      596,  1146,   487,   487,   487,   620,   194,   599,   713,   148,
25047      545,   407,  1156,  1144,   527,  1144,  1049,  1144,   454,   754,
25048      754,   754,   754,    83,   125,   296,   400,  1049,  1144,   641,
25049     1144,   178,   435,   407,   407,   641,   658,   664,   333,   366,
25050      540,  1144,  1144,  1144,   202,   268,   151,   812,   293,   366,
25051      407,   263,   148,   282,   662,   713,   366,    24,   133,   337,
25052      338,   366,   544,   553,   554,   664,   859,   358,   148,   545,
25053      148,   545,  1144,  1144,  1144,  1144,   358,   358,   226,   667,
25054      668,   667,   488,   491,   669,  1153,   194,   488,   491,   476,
25055      489,   151,  1156,  1144,   333,   366,   540,  1144,  1144,  1144,
25056      278,   294,   333,   366,    24,   133,   294,   333,   366,  1049,
25057      260,  1049,   488,   491,   476,  1142,   407,  1157,   431,   686,
25058      151,   228,   300,   268,  1153,   300,  1157,   428,   151,   407,
25059      407,   353,   382,   491,   828,   293,   366,    86,   407,   858,
25060      353,   114,   161,   555,   407,   407,   238,   238,   238,   407,
25061      407,   353,   407,   407,   353,   407,   353,   407,   353,   407,
25062      122,   545,  1049,   263,  1153,   366,   859,   148,   545,   407,
25063      407,   488,  1144,   407,   858,   353,   407,  1156,  1144,   488,
25064      488,   488,  1112,   486,  1049,   754,   212,   762,  1146,  1146,
25065      212,   212,  1144,   212,   383,   384,   565,  1153,   565,   178,
25066      488,   488,   166,   723,   725,   260,   280,   478,   479,   637,
25067      726,   816,  1108,  1153,  1165,   278,    68,    74,    86,   114,
25068      116,   170,   198,   263,   268,   311,   327,   424,   588,   589,
25069      591,   147,   446,   499,   527,  1144,   527,   662,  1142,  1142,
25070     1142,   488,   491,  1157,   175,   344,  1157,  1152,   417,  1142,
25071      598,     3,   161,   691,    45,   514,   335,   395,   671,   107,
25072      931,   166,   874,   550,   599,  1142,   698,   730,   731,  1153,
25073      488,   491,  1144,   161,   599,  1142,   624,  1142,  1144,   625,
25074      487,   580,  1142,   488,  1146,   450,   452,   616,   549,    37,
25075      148,   972,   615,   407,   148,  1027,   476,   488,   491,   488,
25076      491,   114,   476,   826,  1153,   527,   395,   815,   816,   161,
25077      827,   825,   119,   204,   359,   429,   883,  1144,   178,   972,
25078     1049,   487,   488,   491,   488,  1152,  1069,  1069,   486,   486,
25079      488,   545,   431,   545,   431,   545,  1144,  1144,   681,   545,
25080      754,   148,   353,   353,   353,   353,   353,  1143,   491,  1156,
25081      450,   491,   780,   281,  1028,   363,   146,   146,   107,   259,
25082     1142,  1144,  1157,   777,   545,  1156,   212,   212,   212,   637,
25083      212,   212,   212,   212,   212,  1114,   403,  1072,   139,  1049,
25084      488,  1072,  1118,  1072,  1072,  1123,   488,  1110,   491,  1049,
25085     1073,  1073,  1073,  1073,   128,   130,   263,   273,  1073,  1073,
25086     1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,  1072,  1072,
25087     1124,  1123,  1049,   488,   488,   488,  1110,   488,   491,    55,
25088     1074,  1087,   488,  1161,  1083,   308,   388,  1085,   488,   491,
25089      442,  1079,    37,   488,  1153,  1072,    34,    34,  1072,   488,
25090     1072,   166,   487,   262,  1113,  1072,   488,   141,  1073,  1073,
25091      141,   141,  1072,  1072,   989,   447,   487,  1094,  1158,   488,
25092     1110,   491,   984,   984,   984,   984,  1142,  1142,  1142,   973,
25093     1032,  1042,   166,   487,   973,  1019,  1020,    37,  1021,  1022,
25094     1158,   491,    94,   167,   200,   215,   225,   251,   343,  1024,
25095     1022,    37,  1021,  1023,  1158,  1022,   473,  1036,  1135,  1072,
25096      175,  1002,   488,  1002,   488,   943,   487,   803,   158,   220,
25097      279,   450,   404,    97,  1072,   340,   955,   436,   488,   491,
25098     1136,    84,   955,   488,   491,   965,  1038,  1072,   488,   482,
25099      820,   417,   169,   348,   354,   361,   396,   418,   789,   161,
25100      789,   488,   487,   603,   604,   797,  1077,  1158,   599,   599,
25101      713,  1148,   488,   116,   198,   259,   263,   714,  1144,  1144,
25102       37,  1144,   431,   431,   754,   754,   754,   754,   218,   755,
25103     1156,  1144,   407,   858,   353,   407,   202,  1144,    55,   398,
25104     1144,   148,   585,   487,   587,   382,   170,   150,   183,   263,
25105      549,   499,   107,   170,   263,   382,   385,   549,   635,   366,
25106      554,   417,  1144,  1158,   358,   666,  1144,   552,   726,  1161,
25107     1144,   293,   366,   407,   858,   353,   407,   151,   407,   407,
25108      353,   168,   280,   385,   735,   736,   168,   280,   743,   744,
25109      407,   407,   353,   488,   488,   488,   865,   260,   637,   816,
25110      866,  1108,  1153,  1165,   333,  1144,   487,   450,   687,  1144,
25111     1154,  1153,  1153,  1153,  1144,  1144,  1144,  1144,  1154,   875,
25112       55,   398,  1144,  1144,  1144,  1144,   437,  1144,  1144,   161,
25113      161,   335,   161,   184,  1156,  1144,  1144,  1156,  1144,  1144,
25114     1144,  1144,  1144,  1144,  1144,   278,    74,   546,   148,    26,
25115       47,   417,  1158,  1144,  1153,   664,  1144,  1144,  1144,  1144,
25116      988,   488,   212,   762,   212,   212,   762,   762,   212,   762,
25117      499,   431,   570,   571,   641,   713,   450,   452,   754,  1142,
25118      487,   754,  1144,  1073,    31,    55,   590,   117,   186,   116,
25119      268,   216,  1142,   828,   168,   315,   709,   716,   717,  1158,
25120      651,   298,   487,   580,   593,   197,   610,   583,  1157,  1157,
25121     1049,   487,   550,    28,   119,   204,   359,   429,   692,   407,
25122      688,  1156,   184,  1142,   673,   454,   278,  1018,   828,   328,
25123      699,   488,   491,  1041,   662,   681,   488,   632,    37,   273,
25124      298,   487,   945,   582,   584,   586,   595,  1158,   298,   611,
25125      612,   580,   610,   549,   276,   278,   617,   972,   627,   625,
25126      550,  1153,  1148,   794,   726,     3,   729,   817,  1072,  1072,
25127      491,   487,   823,   417,   491,   407,   487,   641,   488,   907,
25128      908,   486,  1146,  1146,   545,   363,   545,  1143,  1143,  1143,
25129     1143,  1143,   637,   172,   779,   488,  1144,   107,   784,   166,
25130      268,   767,  1153,   767,   767,   212,   767,   767,   767,   767,
25131      767,  1072,   488,   488,   488,  1124,   488,  1072,   166,   128,
25132      130,   273,   487,   488,   457,  1081,  1110,   326,   436,    55,
25133     1087,  1074,   448,   448,   488,  1072,   259,  1072,   491,  1080,
25134     1051,  1072,  1072,  1072,  1113,   488,  1072,    34,    34,  1072,
25135     1072,   141,   488,   488,  1072,  1095,  1158,   488,  1072,  1142,
25136     1142,  1142,  1142,  1022,  1023,  1022,   487,   462,  1074,   488,
25137     1158,   487,  1019,   215,   288,  1025,  1019,  1025,   215,  1024,
25138     1025,   215,   397,  1030,   487,  1158,   487,   285,    55,   179,
25139     1009,  1153,  1009,  1153,   488,   838,   404,   273,  1139,   972,
25140      292,   972,   952,   278,   487,   954,   476,   966,   955,   417,
25141      488,   407,   774,   166,   713,  1072,   488,   491,   450,    74,
25142      796,   800,   796,   488,   488,   191,   601,   117,   186,   196,
25143      116,   433,   545,  1049,  1146,  1146,  1144,  1144,  1144,  1144,
25144     1144,  1157,  1144,   585,   663,   667,  1154,   590,   184,   184,
25145      268,   637,   590,   268,  1154,  1158,  1049,   545,   545,   476,
25146       55,   398,  1144,  1144,  1144,  1144,  1144,  1156,  1144,  1144,
25147     1152,  1152,  1049,   491,  1152,  1152,   491,  1156,  1144,  1144,
25148      407,  1072,    68,  1157,  1144,   407,   407,   166,   190,   450,
25149     1143,  1143,   754,  1143,   148,   151,   754,  1153,  1153,  1049,
25150      545,   545,   407,   488,   212,   762,   762,   762,   762,   487,
25151      566,   567,   499,   121,   168,   201,   168,   166,   712,  1072,
25152      263,   589,   114,    37,   828,   598,   431,   619,  1150,    34,
25153      147,   190,   273,   579,   555,   145,   192,   487,   363,   431,
25154      599,    37,  1157,   686,   514,   263,   487,   163,  1144,  1110,
25155      253,   277,   700,   701,   702,   161,   705,  1153,   363,   550,
25156      147,   972,   754,   273,   579,   625,   488,   491,   450,   587,
25157       55,   615,   555,   611,    80,   398,   618,   450,   896,    37,
25158      618,   166,   278,   487,  1153,   814,   829,   830,  1159,  1049,
25159      161,  1142,   166,   407,   849,   199,   642,   545,   488,   545,
25160      545,  1144,   281,   210,   545,   778,   767,   488,  1073,   166,
25161      487,  1113,   487,   488,   491,   488,  1087,   488,   436,   379,
25162      488,   488,   488,  1072,  1072,  1072,   488,   298,  1096,   488,
25163     1033,  1034,  1077,   487,  1086,  1021,   487,  1143,  1019,   278,
25164      431,  1026,  1019,   215,  1019,  1150,  1040,   487,  1040,  1158,
25165       96,   176,   346,   487,  1003,  1004,  1005,  1006,  1007,  1008,
25166     1072,  1072,   449,  1090,  1090,   488,   969,   950,    86,   795,
25167      797,   129,  1072,   778,   278,   778,   488,   601,   604,   280,
25168      838,   754,   754,   801,   327,   601,   487,   828,   488,   407,
25169      366,   961,   488,   491,    37,   148,   148,   546,   726,  1157,
25170     1144,   407,   487,   809,   838,   840,   736,   487,   487,   744,
25171     1144,   488,   487,   366,   961,  1144,  1144,   487,   487,   487,
25172      450,   473,   916,   335,   916,   916,   161,  1144,   546,  1144,
25173      762,   572,   573,  1161,    51,    95,   120,   137,   141,   162,
25174      165,   180,   268,   319,   568,   566,  1153,   809,    37,   845,
25175      845,  1142,   713,   488,   183,   487,   619,   239,   602,   194,
25176      487,   717,   709,   487,  1142,   488,   363,    28,    79,    87,
25177      115,   170,   183,   195,   382,   385,   594,   594,  1141,  1144,
25178     1146,   488,   972,   687,   148,   107,   662,   166,   701,   349,
25179      395,   703,   134,   706,   446,   708,  1144,    37,  1144,   625,
25180      580,  1142,   488,   584,   282,  1158,   616,   611,   615,   119,
25181      133,   308,  1144,    60,    68,   231,   972,   754,  1027,   795,
25182      816,   488,   491,   417,  1037,   377,   377,   488,   641,   259,
25183      435,   643,   644,  1144,   545,  1073,  1113,   488,  1082,  1110,
25184      259,   469,    55,   988,   488,   491,    37,  1035,   114,  1047,
25185     1048,  1073,    77,  1143,   488,  1072,   487,  1019,  1026,   487,
25186      488,  1040,   488,   487,   367,   487,   488,   491,  1091,  1092,
25187     1158,   436,  1144,   488,   491,   264,   429,   780,   789,   545,
25188      796,   828,   487,   549,   802,  1142,   828,   599,   619,  1144,
25189      398,   667,   183,   431,   547,   366,   961,  1144,  1113,   161,
25190      739,   739,  1113,  1113,  1072,   398,  1110,  1110,   556,   557,
25191     1160,   753,   754,   753,   754,  1143,   545,   488,   491,   480,
25192      487,   524,   574,   637,   913,  1153,   913,   263,   268,   319,
25193      913,   913,  1037,   845,    40,   188,   161,   259,   597,   487,
25194      633,  1072,   167,   297,   372,   278,   606,   607,   608,   398,
25195      488,  1150,     6,   718,   580,   610,  1144,   488,   662,   155,
25196      738,   550,   896,  1142,   454,  1018,   913,   349,   381,   707,
25197      487,   147,   662,   972,   945,   611,   580,   610,   587,   487,
25198      617,   615,   616,   350,   350,    68,   281,    68,   625,   794,
25199      488,   823,   829,  1049,   129,   450,   450,   435,   641,   662,
25200      488,   488,   488,   436,  1110,   177,   320,   350,  1097,  1036,
25201     1033,   487,  1073,   488,   491,    37,  1043,  1044,  1158,   488,
25202     1143,  1110,   488,  1110,   487,  1110,  1004,   491,    37,   972,
25203     1037,   797,   366,   166,   619,   838,   802,   803,   598,   619,
25204      488,   713,  1144,   633,  1072,   398,   488,   284,   356,   324,
25205      740,   740,   488,   488,   488,  1144,   488,   488,   488,   491,
25206     1152,   916,   573,   524,   575,   576,  1153,  1153,   268,   599,
25207      480,   599,  1153,  1153,   134,   196,   634,   488,   119,   429,
25208      278,   608,   278,   607,  1144,   487,   488,   491,   555,   363,
25209      662,   754,    37,    37,   487,  1144,   704,  1158,  1072,   709,
25210      896,   625,   615,   555,   611,   487,   613,   614,  1077,  1158,
25211      618,   616,   617,   281,   281,   487,   191,   798,    29,   205,
25212      884,   168,   168,    49,    97,   420,  1072,  1098,  1099,  1098,
25213     1098,   488,  1040,   491,  1048,  1161,   488,   491,   161,  1049,
25214      488,   488,   488,  1003,   488,  1092,  1094,   964,   778,   447,
25215      605,   488,   803,   602,   713,   961,  1144,   809,    55,   961,
25216      407,   556,   754,   488,   491,   599,   349,   488,   386,    59,
25217      259,   339,   366,   609,   609,   488,     6,   363,  1144,   735,
25218      972,   662,   488,  1150,   616,   611,   615,  1072,   488,   491,
25219      800,   800,   617,   618,   795,   487,   550,   264,   487,   879,
25220      881,   885,   947,   956,   963,   972,   809,   809,  1099,   349,
25221      160,   306,   160,   306,   144,  1100,  1100,  1100,   488,  1074,
25222     1044,   285,     3,   114,   263,   268,  1045,  1046,   334,  1031,
25223      488,  1037,   545,   487,   713,   606,   961,   754,   487,   576,
25224      708,    23,   114,   268,  1144,   662,   896,   487,   617,   615,
25225      616,   488,   614,   754,   801,   801,   618,   488,   797,   799,
25226      618,   880,   881,   882,   973,   974,   491,   491,    34,    97,
25227      175,   259,   404,  1086,  1073,  1073,   268,  1046,   487,  1072,
25228      713,  1110,   147,   662,     5,   710,   711,  1152,  1153,  1161,
25229      618,   616,   617,   800,   798,   488,   491,  1037,   488,   490,
25230      407,   166,  1099,   349,   286,    77,  1072,   488,   488,   709,
25231      488,   491,   617,   618,   801,   550,   797,   882,   377,   377,
25232     1043,   488,  1150,   711,   618,   618,   450,   450,   488,   487,
25233     1037,   168,   168,   710,   809,   809,   488
25234 };
25235 
25236   /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
25237 static const yytype_uint16 yyr1[] =
25238 {
25239        0,   493,   494,   495,   495,   496,   496,   496,   496,   496,
25240      496,   496,   496,   496,   496,   496,   496,   496,   496,   496,
25241      496,   496,   496,   496,   496,   496,   496,   496,   496,   496,
25242      496,   496,   496,   496,   496,   496,   496,   496,   496,   496,
25243      496,   496,   496,   496,   496,   496,   496,   496,   496,   496,
25244      496,   496,   496,   496,   496,   496,   496,   496,   496,   496,
25245      496,   496,   496,   496,   496,   496,   496,   496,   496,   496,
25246      496,   496,   496,   496,   496,   496,   496,   496,   496,   496,
25247      496,   496,   496,   496,   496,   496,   496,   496,   496,   496,
25248      496,   496,   496,   496,   496,   496,   496,   496,   496,   496,
25249      496,   496,   496,   496,   496,   496,   496,   496,   496,   496,
25250      496,   496,   496,   496,   496,   496,   496,   496,   496,   496,
25251      496,   496,   496,   496,   496,   496,   496,   496,   496,   496,
25252      496,   497,   498,   499,   499,   499,   500,   500,   501,   501,
25253      502,   502,   502,   502,   502,   502,   502,   502,   502,   503,
25254      503,   503,   503,   503,   503,   504,   505,   505,   506,   506,
25255      507,   507,   507,   507,   508,   508,   508,   508,   508,   508,
25256      509,   510,   511,   511,   512,   512,   512,   512,   513,   513,
25257      514,   514,   515,   515,   515,   515,   515,   515,   516,   516,
25258      516,   516,   517,   517,   517,   518,   518,   518,   518,   519,
25259      519,   519,   519,   519,   519,   519,   519,   519,   519,   519,
25260      520,   520,   521,   521,   522,   522,   523,   523,   523,   523,
25261      524,   524,   524,   524,   525,   525,   525,   525,   525,   525,
25262      525,   526,   526,   526,   527,   527,   528,   528,   529,   529,
25263      529,   529,   530,   530,   531,   531,   532,   532,   533,   533,
25264      533,   533,   533,   533,   533,   534,   535,   535,   536,   536,
25265      537,   538,   538,   538,   538,   538,   539,   539,   539,   539,
25266      539,   539,   539,   539,   539,   539,   539,   539,   539,   539,
25267      539,   539,   539,   539,   539,   540,   540,   541,   541,   542,
25268      543,   543,   543,   543,   543,   543,   543,   543,   543,   543,
25269      543,   543,   543,   543,   543,   543,   543,   543,   543,   543,
25270      543,   543,   543,   543,   543,   543,   543,   543,   543,   543,
25271      543,   543,   543,   543,   543,   543,   543,   543,   543,   543,
25272      543,   543,   543,   543,   543,   543,   543,   543,   543,   543,
25273      543,   543,   543,   543,   543,   543,   543,   543,   544,   544,
25274      545,   545,   545,   546,   546,   547,   547,   548,   548,   548,
25275      548,   549,   550,   550,   551,   551,   552,   552,   552,   552,
25276      553,   553,   554,   554,   554,   554,   555,   555,   555,   555,
25277      556,   557,   557,   558,   559,   559,   560,   560,   560,   560,
25278      561,   561,   562,   562,   563,   563,   564,   564,   565,   565,
25279      565,   566,   566,   567,   567,   568,   568,   568,   568,   568,
25280      568,   568,   568,   568,   568,   568,   568,   568,   569,   569,
25281      570,   570,   571,   571,   572,   572,   573,   574,   574,   574,
25282      574,   574,   575,   575,   576,   577,   577,   577,   577,   577,
25283      577,   578,   578,   578,   578,   578,   578,   578,   578,   579,
25284      579,   580,   580,   581,   581,   582,   582,   583,   583,   583,
25285      584,   584,   585,   586,   586,   587,   587,   588,   588,   588,
25286      588,   589,   589,   589,   589,   589,   589,   589,   589,   589,
25287      590,   590,   591,   591,   591,   591,   592,   593,   593,   593,
25288      594,   594,   594,   594,   594,   594,   594,   594,   594,   595,
25289      595,   596,   596,   596,   596,   596,   596,   596,   597,   597,
25290      598,   598,   599,   599,   600,   601,   601,   602,   602,   602,
25291      602,   603,   603,   604,   604,   605,   605,   606,   606,   606,
25292      606,   606,   607,   608,   609,   609,   609,   609,   609,   610,
25293      610,   611,   611,   612,   613,   613,   614,   614,   614,   615,
25294      615,   616,   616,   616,   617,   617,   617,   617,   618,   618,
25295      619,   619,   620,   621,   621,   622,   622,   623,   623,   624,
25296      625,   625,   625,   626,   626,   627,   628,   628,   629,   630,
25297      630,   631,   631,   632,   632,   633,   633,   634,   634,   635,
25298      635,   635,   635,   635,   635,   635,   635,   635,   635,   635,
25299      635,   635,   635,   636,   636,   637,   637,   637,   637,   638,
25300      638,   639,   639,   640,   640,   641,   641,   642,   642,   643,
25301      643,   644,   644,   645,   645,   646,   646,   647,   648,   648,
25302      649,   649,   650,   650,   651,   651,   652,   652,   652,   652,
25303      653,   654,   654,   655,   656,   656,   656,   656,   656,   656,
25304      656,   656,   656,   656,   656,   656,   656,   656,   656,   656,
25305      656,   656,   656,   656,   656,   656,   656,   656,   656,   656,
25306      656,   656,   657,   658,   658,   658,   658,   659,   659,   660,
25307      660,   661,   661,   662,   662,   663,   663,   664,   665,   665,
25308      666,   666,   666,   666,   667,   668,   669,   670,   670,   671,
25309      671,   672,   672,   673,   673,   674,   674,   674,   675,   675,
25310      675,   675,   676,   676,   677,   678,   678,   679,   679,   680,
25311      680,   681,   681,   682,   682,   683,   684,   685,   686,   686,
25312      687,   687,   688,   688,   689,   689,   690,   690,   691,   691,
25313      692,   692,   692,   692,   692,   693,   694,   694,   695,   695,
25314      696,   696,   696,   697,   697,   698,   698,   698,   698,   698,
25315      699,   699,   700,   700,   701,   702,   702,   703,   703,   704,
25316      705,   705,   706,   706,   707,   707,   708,   708,   709,   709,
25317      710,   710,   710,   711,   711,   711,   711,   712,   712,   713,
25318      713,   714,   714,   714,   714,   714,   714,   715,   715,   716,
25319      716,   717,   718,   718,   719,   720,   720,   720,   720,   721,
25320      722,   722,   722,   722,   722,   722,   722,   722,   722,   722,
25321      722,   722,   722,   722,   722,   722,   723,   724,   724,   725,
25322      725,   726,   726,   726,   726,   726,   726,   727,   728,   728,
25323      729,   730,   730,   731,   731,   732,   732,   732,   732,   733,
25324      733,   734,   735,   735,   736,   736,   736,   736,   736,   737,
25325      737,   738,   738,   739,   739,   739,   740,   740,   741,   742,
25326      742,   743,   743,   744,   744,   745,   745,   746,   746,   747,
25327      748,   749,   749,   749,   749,   749,   749,   749,   749,   749,
25328      749,   749,   749,   750,   750,   750,   750,   750,   750,   750,
25329      750,   750,   750,   750,   750,   750,   751,   751,   751,   751,
25330      751,   751,   751,   752,   752,   752,   753,   753,   754,   754,
25331      755,   755,   756,   756,   757,   758,   758,   758,   759,   759,
25332      759,   759,   759,   759,   759,   759,   759,   759,   759,   759,
25333      759,   759,   759,   759,   759,   759,   759,   760,   760,   760,
25334      760,   760,   760,   760,   760,   760,   760,   760,   760,   760,
25335      760,   761,   761,   761,   761,   761,   761,   761,   761,   761,
25336      761,   761,   761,   762,   762,   763,   763,   763,   763,   763,
25337      763,   763,   763,   763,   764,   764,   765,   765,   765,   765,
25338      765,   765,   766,   766,   766,   766,   766,   766,   766,   766,
25339      767,   767,   768,   768,   769,   769,   769,   769,   769,   769,
25340      769,   769,   769,   769,   769,   769,   769,   769,   769,   769,
25341      770,   770,   771,   771,   772,   773,   773,   774,   774,   774,
25342      774,   774,   775,   775,   776,   776,   776,   776,   777,   777,
25343      777,   777,   777,   777,   777,   777,   777,   777,   777,   777,
25344      777,   777,   777,   777,   777,   777,   777,   777,   778,   778,
25345      779,   779,   780,   780,   781,   782,   782,   783,   783,   784,
25346      784,   785,   786,   786,   787,   787,   787,   788,   788,   788,
25347      789,   789,   789,   789,   789,   789,   790,   790,   791,   791,
25348      792,   792,   793,   793,   794,   794,   795,   795,   796,   796,
25349      797,   797,   797,   798,   798,   799,   799,   800,   800,   801,
25350      801,   802,   802,   802,   803,   803,   803,   804,   804,   804,
25351      804,   805,   805,   806,   806,   807,   807,   808,   808,   809,
25352      809,   809,   809,   810,   810,   811,   811,   812,   812,   812,
25353      812,   812,   813,   813,   813,   813,   813,   814,   815,   816,
25354      816,   816,   817,   817,   817,   818,   819,   819,   819,   819,
25355      820,   820,   821,   822,   822,   823,   823,   824,   824,   824,
25356      824,   824,   824,   824,   824,   824,   824,   824,   824,   824,
25357      824,   824,   824,   824,   825,   825,   825,   825,   825,   826,
25358      826,   827,   827,   828,   828,   829,   830,   830,   831,   831,
25359      831,   832,   832,   833,   833,   834,   834,   834,   834,   834,
25360      834,   835,   835,   836,   836,   837,   837,   837,   837,   838,
25361      838,   839,   839,   840,   841,   842,   842,   843,   843,   844,
25362      844,   844,   845,   845,   845,   846,   847,   847,   848,   849,
25363      849,   849,   849,   850,   851,   851,   851,   851,   852,   852,
25364      853,   853,   853,   854,   854,   855,   856,   856,   857,   857,
25365      857,   857,   857,   857,   857,   857,   857,   857,   857,   857,
25366      857,   857,   857,   857,   857,   857,   857,   857,   857,   857,
25367      857,   857,   857,   857,   857,   857,   857,   857,   857,   857,
25368      857,   857,   857,   857,   857,   857,   857,   857,   857,   857,
25369      857,   857,   857,   857,   857,   857,   857,   857,   857,   857,
25370      857,   857,   857,   858,   858,   859,   859,   860,   860,   860,
25371      860,   860,   860,   861,   861,   862,   862,   862,   862,   862,
25372      862,   862,   862,   862,   862,   862,   862,   862,   862,   862,
25373      862,   862,   862,   862,   862,   862,   862,   862,   862,   862,
25374      862,   862,   863,   864,   864,   865,   865,   866,   866,   866,
25375      866,   866,   867,   868,   868,   868,   868,   868,   868,   868,
25376      868,   868,   868,   868,   868,   868,   868,   868,   868,   868,
25377      868,   868,   868,   868,   868,   868,   868,   869,   870,   870,
25378      871,   871,   872,   872,   872,   872,   873,   874,   874,   875,
25379      876,   876,   876,   876,   876,   876,   877,   877,   878,   879,
25380      879,   879,   880,   880,   881,   881,   881,   881,   881,   882,
25381      882,   883,   883,   883,   883,   884,   884,   884,   885,   886,
25382      886,   887,   888,   888,   889,   889,   889,   889,   889,   889,
25383      889,   889,   889,   889,   889,   889,   889,   889,   890,   890,
25384      890,   891,   891,   891,   891,   891,   892,   892,   892,   893,
25385      893,   894,   894,   894,   895,   895,   895,   895,   896,   896,
25386      896,   896,   897,   898,   899,   899,   900,   900,   901,   901,
25387      901,   902,   902,   902,   902,   902,   902,   902,   903,   903,
25388      904,   904,   904,   905,   906,   906,   906,   906,   907,   907,
25389      908,   909,   910,   910,   911,   912,   912,   912,   912,   912,
25390      912,   912,   913,   913,   914,   915,   915,   915,   915,   915,
25391      915,   916,   916,   917,   918,   918,   918,   919,   919,   920,
25392      920,   921,   921,   922,   922,   923,   923,   924,   925,   925,
25393      926,   926,   926,   927,   927,   928,   928,   929,   929,   930,
25394      930,   931,   931,   932,   933,   933,   934,   934,   935,   935,
25395      935,   935,   936,   936,   936,   936,   936,   936,   936,   936,
25396      936,   937,   937,   938,   939,   939,   940,   940,   940,   941,
25397      942,   942,   943,   943,   943,   943,   944,   944,   944,   945,
25398      945,   946,   946,   946,   946,   947,   948,   948,   949,   949,
25399      949,   949,   949,   950,   950,   951,   951,   952,   953,   953,
25400      953,   954,   954,   954,   955,   955,   956,   957,   957,   958,
25401      959,   959,   960,   960,   960,   960,   960,   960,   960,   960,
25402      961,   961,   962,   962,   962,   963,   964,   964,   965,   965,
25403      966,   967,   967,   968,   969,   970,   970,   970,   970,   970,
25404      971,   971,   971,   972,   972,   973,   973,   974,   974,   974,
25405      974,   974,   974,   974,   974,   975,   975,   976,   976,   976,
25406      976,   976,   976,   976,   977,   977,   977,   978,   978,   979,
25407      980,   980,   980,   981,   981,   982,   982,   983,   983,   983,
25408      983,   983,   983,   983,   983,   983,   984,   984,   985,   985,
25409      985,   986,   986,   987,   987,   988,   988,   989,   990,   990,
25410      991,   991,   992,   992,   992,   992,   993,   993,   994,   994,
25411      994,   994,   994,   994,   995,   995,   996,   996,   997,   998,
25412      998,   998,   999,   999,  1000,  1000,  1001,  1001,  1002,  1002,
25413     1003,  1003,  1004,  1004,  1004,  1004,  1004,  1005,  1006,  1007,
25414     1008,  1009,  1009,  1010,  1010,  1011,  1011,  1012,  1012,  1013,
25415     1014,  1014,  1014,  1014,  1015,  1015,  1016,  1016,  1017,  1017,
25416     1018,  1018,  1019,  1019,  1019,  1019,  1019,  1019,  1019,  1019,
25417     1019,  1019,  1020,  1020,  1020,  1020,  1020,  1020,  1021,  1021,
25418     1021,  1021,  1022,  1022,  1023,  1023,  1023,  1023,  1023,  1024,
25419     1024,  1024,  1024,  1025,  1025,  1026,  1026,  1027,  1027,  1027,
25420     1027,  1028,  1028,  1029,  1029,  1029,  1030,  1031,  1031,  1032,
25421     1032,  1033,  1034,  1034,  1035,  1035,  1036,  1036,  1037,  1037,
25422     1038,  1038,  1038,  1039,  1039,  1040,  1040,  1041,  1042,  1042,
25423     1043,  1043,  1044,  1044,  1044,  1045,  1045,  1046,  1046,  1046,
25424     1046,  1047,  1047,  1048,  1048,  1049,  1049,  1049,  1049,  1049,
25425     1049,  1050,  1050,  1050,  1051,  1051,  1051,  1051,  1051,  1051,
25426     1051,  1052,  1052,  1052,  1052,  1053,  1053,  1054,  1054,  1055,
25427     1055,  1055,  1055,  1055,  1055,  1055,  1055,  1055,  1055,  1055,
25428     1056,  1056,  1057,  1057,  1058,  1058,  1059,  1060,  1061,  1061,
25429     1062,  1062,  1063,  1064,  1065,  1065,  1065,  1065,  1065,  1065,
25430     1066,  1066,  1067,  1067,  1067,  1067,  1068,  1069,  1069,  1069,
25431     1070,  1070,  1070,  1070,  1070,  1070,  1070,  1070,  1070,  1070,
25432     1070,  1070,  1070,  1070,  1071,  1071,  1072,  1072,  1072,  1072,
25433     1072,  1072,  1072,  1072,  1072,  1072,  1072,  1072,  1072,  1072,
25434     1072,  1072,  1072,  1072,  1072,  1072,  1072,  1072,  1072,  1072,
25435     1072,  1072,  1072,  1072,  1072,  1072,  1072,  1072,  1072,  1072,
25436     1072,  1072,  1072,  1072,  1072,  1072,  1072,  1072,  1072,  1072,
25437     1072,  1072,  1072,  1072,  1072,  1072,  1072,  1072,  1072,  1072,
25438     1072,  1072,  1072,  1072,  1072,  1072,  1072,  1072,  1072,  1072,
25439     1072,  1072,  1072,  1072,  1073,  1073,  1073,  1073,  1073,  1073,
25440     1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,
25441     1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,  1074,
25442     1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,
25443     1074,  1074,  1074,  1075,  1075,  1075,  1075,  1075,  1075,  1075,
25444     1076,  1076,  1077,  1077,  1078,  1078,  1078,  1078,  1078,  1078,
25445     1078,  1078,  1078,  1078,  1078,  1078,  1078,  1078,  1078,  1078,
25446     1078,  1078,  1078,  1078,  1078,  1078,  1078,  1078,  1078,  1078,
25447     1078,  1078,  1078,  1078,  1078,  1078,  1078,  1078,  1078,  1078,
25448     1078,  1078,  1078,  1078,  1078,  1078,  1078,  1078,  1079,  1079,
25449     1080,  1080,  1080,  1080,  1081,  1082,  1082,  1083,  1083,  1084,
25450     1084,  1085,  1085,  1085,  1086,  1086,  1086,  1086,  1087,  1087,
25451     1088,  1088,  1089,  1089,  1090,  1090,  1091,  1091,  1092,  1093,
25452     1093,  1093,  1094,  1095,  1095,  1096,  1096,  1097,  1097,  1097,
25453     1097,  1098,  1098,  1099,  1099,  1099,  1099,  1099,  1100,  1100,
25454     1100,  1100,  1100,  1101,  1101,  1101,  1102,  1102,  1103,  1104,
25455     1104,  1104,  1105,  1105,  1106,  1106,  1106,  1106,  1106,  1106,
25456     1106,  1106,  1106,  1106,  1106,  1106,  1107,  1107,  1108,  1108,
25457     1109,  1109,  1109,  1109,  1109,  1109,  1110,  1110,  1111,  1111,
25458     1112,  1112,  1112,  1113,  1113,  1114,  1114,  1114,  1115,  1115,
25459     1116,  1116,  1117,  1117,  1117,  1117,  1117,  1117,  1117,  1117,
25460     1118,  1118,  1118,  1118,  1119,  1119,  1120,  1121,  1121,  1122,
25461     1122,  1122,  1122,  1122,  1122,  1123,  1124,  1125,  1125,  1125,
25462     1126,  1126,  1127,  1128,  1128,  1129,  1130,  1130,  1131,  1131,
25463     1132,  1132,  1133,  1133,  1133,  1133,  1134,  1134,  1135,  1135,
25464     1136,  1136,  1137,  1137,  1138,  1138,  1139,  1139,  1140,  1140,
25465     1140,  1140,  1141,  1141,  1142,  1142,  1143,  1143,  1144,  1145,
25466     1146,  1147,  1148,  1149,  1150,  1150,  1151,  1151,  1151,  1151,
25467     1151,  1151,  1151,  1151,  1151,  1151,  1151,  1151,  1151,  1152,
25468     1153,  1154,  1154,  1154,  1155,  1156,  1156,  1156,  1157,  1157,
25469     1158,  1158,  1158,  1159,  1159,  1159,  1160,  1160,  1160,  1160,
25470     1161,  1161,  1161,  1161,  1161,  1162,  1162,  1162,  1162,  1162,
25471     1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,
25472     1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,
25473     1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,
25474     1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,
25475     1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,
25476     1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,
25477     1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,
25478     1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,
25479     1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,
25480     1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,
25481     1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,
25482     1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,
25483     1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,
25484     1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,
25485     1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,
25486     1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,
25487     1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,
25488     1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,
25489     1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,
25490     1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,
25491     1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,
25492     1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,
25493     1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,
25494     1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,
25495     1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,
25496     1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,
25497     1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,
25498     1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,
25499     1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,
25500     1162,  1162,  1162,  1162,  1163,  1163,  1163,  1163,  1163,  1163,
25501     1163,  1163,  1163,  1163,  1163,  1163,  1163,  1163,  1163,  1163,
25502     1163,  1163,  1163,  1163,  1163,  1163,  1163,  1163,  1163,  1163,
25503     1163,  1163,  1163,  1163,  1163,  1163,  1163,  1163,  1163,  1163,
25504     1163,  1163,  1163,  1163,  1163,  1163,  1163,  1163,  1163,  1163,
25505     1163,  1163,  1163,  1163,  1163,  1164,  1164,  1164,  1164,  1164,
25506     1164,  1164,  1164,  1164,  1164,  1164,  1164,  1164,  1164,  1164,
25507     1164,  1164,  1164,  1164,  1164,  1164,  1164,  1164,  1165,  1165,
25508     1165,  1165,  1165,  1165,  1165,  1165,  1165,  1165,  1165,  1165,
25509     1165,  1165,  1165,  1165,  1165,  1165,  1165,  1165,  1165,  1165,
25510     1165,  1165,  1165,  1165,  1165,  1165,  1165,  1165,  1165,  1165,
25511     1165,  1165,  1165,  1165,  1165,  1165,  1165,  1165,  1165,  1165,
25512     1165,  1165,  1165,  1165,  1165,  1165,  1165,  1165,  1165,  1165,
25513     1165,  1165,  1165,  1165,  1165,  1165,  1165,  1165,  1165,  1165,
25514     1165,  1165,  1165,  1165,  1165,  1165,  1165,  1165,  1165,  1165,
25515     1165,  1165,  1165,  1165,  1165
25516 };
25517 
25518   /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.  */
25519 static const yytype_uint8 yyr2[] =
25520 {
25521        0,     2,     1,     3,     1,     1,     1,     1,     1,     1,
25522        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25523        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25524        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25525        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25526        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25527        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25528        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25529        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25530        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25531        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25532        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25533        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25534        0,     2,     5,     1,     1,     0,     2,     0,     2,     0,
25535        2,     2,     3,     3,     1,     3,     3,     2,     1,     1,
25536        2,     2,     2,     3,     3,     5,     5,     5,     0,     3,
25537        5,     5,     5,     5,     3,     5,     3,     5,     3,     5,
25538        5,     6,     1,     1,     6,     4,     9,     7,     1,     0,
25539        2,     0,     1,     1,     1,     1,     1,     1,     3,     2,
25540        3,     3,     2,     5,     1,     3,     3,     3,     3,     1,
25541        3,     3,     2,     2,     2,     2,     3,     3,     3,     3,
25542        1,     3,     1,     3,     1,     1,     2,     2,     2,     1,
25543        1,     1,     1,     1,     1,     1,     3,     5,     1,     1,
25544        1,     1,     1,     0,     1,     1,     2,     3,     1,     2,
25545        3,     2,     1,     1,     2,     1,     2,     1,     3,     3,
25546        2,     3,     4,     3,     2,     4,     1,     1,     1,     1,
25547        1,     2,     2,     2,     2,     2,     4,     6,     4,     6,
25548       10,    13,     4,     6,     4,    10,    13,     4,     6,     4,
25549        6,     5,     7,    11,    14,     1,     3,     4,     3,     3,
25550        2,     5,     3,     6,     4,     6,     6,     5,     7,     6,
25551        6,     5,     5,     6,     9,     4,     5,     7,     6,     4,
25552        8,     4,     2,     4,     3,     6,     4,     3,     3,     3,
25553        2,     2,     3,     4,     4,     3,     3,     3,     3,     3,
25554        3,     4,     4,     3,     2,     3,     2,     2,     3,     3,
25555        2,     2,     3,     4,     4,     4,     5,     1,     3,     2,
25556        1,     1,     0,     2,     0,     2,     0,     1,     1,     1,
25557        3,     3,     2,     0,     1,     3,     3,     1,     5,     3,
25558        1,     2,     1,     3,     2,     3,     6,     6,    10,     1,
25559        2,     1,     3,     4,     1,     3,     4,     6,     4,     8,
25560        2,     2,    11,     9,     1,     1,     1,     0,     1,     1,
25561        1,     1,     3,     2,     0,     1,     1,     3,     3,     1,
25562        1,     3,     3,     3,     3,     4,     3,     2,     1,     0,
25563        3,     0,     1,     0,     1,     3,     2,     1,     1,     1,
25564        3,     0,     1,     3,     1,    13,    16,    12,    15,    14,
25565       17,     1,     1,     2,     2,     2,     2,     1,     0,     1,
25566        0,     3,     0,     1,     3,     1,     3,     1,     1,     1,
25567        1,     1,     4,     2,     4,     2,     0,     3,     1,     1,
25568        2,     2,     1,     3,     4,     5,     2,     5,     7,     5,
25569        1,     2,     1,     2,     2,     2,     3,     3,     3,     0,
25570        1,     1,     1,     1,     1,     1,     1,     1,     1,     3,
25571        1,     5,     8,     3,     9,     4,    10,    11,     2,     0,
25572        3,     0,     1,     3,     1,     4,     0,     2,     2,     2,
25573        0,     1,     3,     3,     6,     4,     0,     1,     1,     2,
25574        2,     0,     3,     3,     2,     1,     1,     2,     2,     4,
25575        0,     1,     0,     6,     1,     3,     3,     3,     5,     2,
25576        0,     2,     2,     0,     3,     4,     4,     0,     2,     0,
25577        4,     0,     3,     8,    11,     6,     8,     7,    10,     6,
25578        2,     3,     0,     8,    11,     5,     1,     0,     6,     5,
25579        8,     4,     6,     1,     0,     3,     0,     1,     2,     2,
25580        2,     1,     2,     3,     2,     2,     2,     2,     3,     3,
25581        3,     1,     3,     1,     0,     1,     2,     2,     1,     1,
25582        3,     6,    10,     1,     0,     1,     2,     2,     0,     2,
25583        2,     1,     0,     5,     7,     1,     0,     7,     2,     0,
25584        3,     5,     5,     8,     2,     0,     2,     2,     2,     1,
25585        5,     2,     0,     2,     7,     6,    10,     6,     6,     6,
25586        6,     7,     6,     9,     9,     6,     6,     6,     7,     6,
25587        8,     8,     8,     8,     6,     6,     7,     7,     8,     6,
25588        9,     6,     7,     2,     2,     2,     2,     1,     2,     1,
25589        0,     7,     6,     4,     0,     1,     3,     4,     1,     3,
25590        1,     2,     2,     2,     2,     1,     1,    10,    13,     2,
25591        0,     2,     2,     1,     0,     5,     4,     4,    11,    14,
25592       12,    15,     5,     7,    11,     2,     1,     4,     0,     8,
25593       11,     1,     1,     7,     9,     8,    10,     8,     4,     0,
25594        5,     0,     2,     0,     2,     0,     2,     0,     2,     0,
25595        1,     1,     1,     1,     1,     8,     1,     1,    16,    20,
25596        1,     1,     2,     1,     3,     1,     1,     1,     3,     1,
25597        2,     0,     1,     2,     4,     1,     1,     1,     1,     1,
25598        3,     0,     1,     0,     1,     1,     4,     0,     1,     1,
25599        1,     3,     0,     1,     1,     1,     1,     2,     0,     0,
25600        2,     2,     1,     2,     2,     2,     2,    11,    13,     1,
25601        3,     5,     1,     3,     5,     1,     2,     2,     1,     8,
25602        6,     5,     4,     4,     3,     7,     8,     6,     6,     6,
25603        6,     6,     4,     7,     5,     8,     3,     1,     3,     3,
25604        1,     1,     1,     1,     1,     1,     1,     3,     1,     3,
25605        3,     1,     0,     1,     3,     7,     9,     9,     8,     3,
25606        0,    13,     1,     3,     5,     5,     3,     6,     2,     1,
25607        0,     2,     0,     2,     4,     0,     1,     0,     6,     8,
25608        8,     1,     3,     5,     5,     7,     9,     7,     9,     5,
25609        6,     6,     4,     6,     4,     6,     8,     4,     6,     4,
25610        6,     5,     7,     1,     1,     1,     2,     1,     2,     1,
25611        1,     1,     3,     3,     3,     3,     2,     2,     1,     3,
25612        1,     1,     1,     1,     1,     1,     1,     3,     1,     2,
25613        2,     3,     1,     3,     5,     2,     2,     0,     6,     6,
25614        6,     6,     6,     6,     6,     8,     9,     8,     6,     6,
25615        8,     9,     8,     9,     9,     7,    10,     1,     1,     1,
25616        1,     1,     1,     2,     1,     1,     2,     3,     3,     3,
25617        3,     2,     1,     2,     1,     3,     2,     1,     1,     1,
25618        1,     1,     1,     1,     1,     8,     8,     8,     8,     8,
25619        8,     9,     8,     8,     2,     0,     1,     2,     1,     1,
25620        1,     2,     1,     2,     2,     1,     1,     1,     1,     1,
25621        1,     1,     2,     2,     1,     2,     3,     3,     3,     3,
25622        4,     4,     3,     3,     3,     4,     4,     3,     4,     4,
25623        1,     1,     1,     0,     7,     7,    10,     1,     1,     2,
25624        4,     5,     1,     3,     2,     2,     2,     2,     1,     2,
25625        2,     4,     3,     2,     2,     2,     2,     2,     2,     3,
25626        2,     2,     2,     5,     5,     5,     5,     5,     1,     3,
25627        1,     2,     3,     0,     6,     6,     9,     3,     0,     3,
25628        0,     5,     2,     0,     3,     3,     3,     7,     7,    10,
25629        1,     1,     1,     1,     1,     1,    15,    18,     1,     0,
25630        1,     0,     1,     0,     2,     0,     1,     3,     4,     5,
25631        2,     2,     4,     4,     0,     1,     3,     2,     0,     1,
25632        0,     1,     1,     0,     2,     2,     0,     8,    11,     6,
25633        6,     2,     0,     3,     2,     1,     3,     1,     3,     2,
25634        1,     1,     2,     3,     2,     1,     3,     3,     3,     2,
25635        2,     1,     1,     1,     1,     2,     1,     1,     1,     1,
25636        4,     5,     1,     3,     3,     1,     3,     3,     5,     6,
25637        1,     3,     2,     1,     3,     1,     2,     4,     5,     1,
25638        1,     1,     1,     3,     3,     2,     2,     1,     2,     2,
25639        2,     2,     1,     2,     2,     2,     2,     1,     1,     1,
25640        3,     3,     5,     2,     0,     2,     1,     3,     5,     5,
25641        5,     1,     2,     1,     0,     4,     6,     4,     6,     4,
25642        6,     4,     6,     4,     6,     3,     5,     5,     5,     1,
25643        3,     1,     3,     2,     2,     1,     2,     1,     2,    11,
25644       10,    10,     2,     2,     0,     9,     2,     0,    10,    11,
25645       11,     5,     5,     8,     4,     4,     7,     7,     1,     1,
25646        1,     1,     1,     1,     3,     1,     5,     5,     6,     6,
25647        6,     6,     6,     8,     8,     6,     6,     7,     9,     9,
25648        8,    10,     6,     6,     6,     6,     6,     6,     6,     8,
25649        6,     8,     6,     8,     7,     9,     6,     8,     7,     9,
25650        8,    10,     8,    10,     9,    11,     8,    10,     9,    11,
25651        8,     8,     7,     6,     6,     6,     6,     8,     8,     8,
25652        8,     6,     9,     1,     0,     2,     0,     8,     8,     8,
25653       10,     9,     8,     1,     0,     6,     6,     6,     6,     6,
25654        6,     6,     9,     9,     6,     6,     6,     8,     6,     8,
25655        8,     8,     8,     6,     8,     6,     8,     7,     9,     7,
25656        9,     6,     7,     1,     3,     3,     3,     1,     1,     1,
25657        1,     1,     7,     6,     6,     6,     6,     6,     6,     7,
25658        7,     6,     9,     9,     6,     6,     6,     6,     6,     6,
25659        8,     8,     8,     6,     7,     6,     6,     5,     1,     0,
25660        3,     3,     5,     6,     6,     6,     8,     1,     3,     1,
25661        5,     5,     6,     7,     4,     4,     4,     6,    13,     1,
25662        1,     3,     3,     1,     1,     1,     1,     1,     1,     1,
25663        0,     1,     1,     1,     1,     1,     1,     0,     3,     2,
25664        0,     2,     2,     2,     3,     3,     3,     3,     3,     3,
25665        2,     3,     2,     5,     4,     3,     3,     3,     1,     1,
25666        0,     3,     2,     2,     1,     2,     1,     3,     2,     1,
25667        0,     2,     3,     0,     9,    11,    12,    14,     3,     4,
25668        4,     0,     2,     5,     1,     0,     1,     2,     3,     3,
25669        3,     1,     2,     1,     1,     1,     1,     1,     1,     0,
25670        5,     4,     6,     4,     3,     5,     7,     9,     1,     3,
25671        1,     5,     4,     4,     6,     4,     6,     6,     5,     7,
25672        9,     6,     1,     0,     6,    11,    11,    11,    13,     9,
25673       11,     1,     1,    10,     4,     2,     5,     2,     0,     6,
25674        5,     3,     5,     1,     3,     1,     1,     2,     1,     1,
25675        1,     1,     0,     1,     0,     1,     0,     1,     0,     1,
25676        0,     3,     0,     2,     1,     3,     1,     0,     2,     4,
25677        3,     5,     1,     1,     1,     1,     1,     1,     1,     1,
25678        1,     1,     3,     2,     1,     1,     1,     1,     0,     5,
25679        3,     0,     1,     1,     1,     1,     3,     9,    12,     3,
25680        0,     2,     3,     2,     3,     7,     1,     3,     1,     4,
25681        4,     7,     2,     1,     1,     1,     3,     2,     8,     5,
25682        0,     4,     3,     0,     2,     0,     7,     2,     0,     5,
25683        3,     0,     2,     2,     2,     3,     1,     3,     1,     2,
25684        1,     0,     1,     2,     0,     8,     1,     3,     3,     5,
25685        2,     1,     3,     7,     1,     0,     3,     2,     2,     2,
25686        0,     2,     2,     1,     1,     3,     3,     1,     2,     4,
25687        4,     2,     3,     5,     5,     1,     1,     9,     9,     1,
25688        2,     4,     4,     4,     2,     2,     3,     1,     3,     7,
25689        1,     2,     0,     1,     0,     2,     0,     3,     3,     4,
25690        4,     4,     4,     3,     2,     1,     1,     0,     1,     1,
25691        0,     1,     5,     1,     0,     1,     0,     3,     1,     3,
25692        4,     3,     2,     2,     1,     1,     1,     0,     2,     4,
25693        5,     6,     4,     5,     2,     3,     1,     1,     1,     1,
25694        2,     2,     1,     1,     1,     1,     1,     1,     3,     0,
25695        1,     3,     1,     1,     1,     1,     1,     2,     4,     4,
25696        5,     2,     0,     1,     3,     1,     0,     1,     2,     3,
25697        2,     4,     2,     3,     2,     0,     4,     5,     2,     0,
25698        1,     3,     2,     3,     2,     3,     2,     3,     2,     3,
25699        1,     4,     3,     4,     5,     4,     5,     4,     5,     2,
25700        4,     1,     1,     0,     1,     4,     5,     4,     0,     2,
25701        2,     2,     1,     1,     0,     4,     2,     1,     2,     2,
25702        4,     1,     3,     1,     2,     3,     6,     4,     0,     2,
25703        6,     2,     1,     3,     4,     0,     2,     0,     2,     0,
25704        2,     4,     0,     1,     0,     1,     3,     3,     7,    12,
25705        1,     3,     2,     3,     3,     1,     2,     2,     2,     2,
25706        1,     1,     3,     3,     2,     2,     3,     5,     6,     2,
25707        3,     3,     4,     0,     1,     1,     1,     1,     1,     2,
25708        4,     1,     1,     1,     1,     2,     3,     3,     0,     1,
25709        1,     1,     1,     1,     2,     2,     2,     2,     2,     1,
25710        3,     0,     1,     1,     1,     1,     5,     2,     1,     1,
25711        1,     1,     4,     1,     2,     2,     1,     3,     3,     2,
25712        1,     0,     5,     2,     5,     2,     1,     3,     3,     0,
25713        1,     1,     1,     1,     1,     1,     3,     3,     3,     3,
25714        3,     3,     3,     0,     1,     4,     1,     3,     3,     5,
25715        2,     2,     3,     3,     3,     3,     3,     3,     3,     3,
25716        3,     3,     3,     3,     3,     2,     2,     3,     3,     2,
25717        2,     3,     5,     4,     6,     3,     5,     4,     6,     4,
25718        6,     5,     7,     3,     2,     4,     2,     3,     3,     4,
25719        3,     4,     3,     4,     5,     6,     6,     7,     6,     7,
25720        6,     7,     3,     4,     4,     6,     2,     3,     4,     3,
25721        4,     4,     5,     1,     1,     3,     2,     2,     3,     3,
25722        3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
25723        3,     2,     2,     5,     6,     6,     7,     3,     4,     1,
25724        1,     2,     4,     1,     1,     1,     2,     2,     2,     2,
25725        1,     1,     4,     3,     5,     6,     8,     6,     6,     4,
25726        4,     1,     1,     1,     5,     1,     1,     4,     1,     4,
25727        1,     4,     1,     4,     1,     1,     1,     1,     1,     1,
25728        6,     4,     4,     6,     4,     4,     4,     6,     5,     5,
25729        5,     4,     6,     4,     4,     4,     4,     5,     7,     7,
25730        9,     5,     4,     6,     5,     7,     7,     7,     2,     3,
25731        3,     3,     4,     0,     4,     1,     3,     3,     1,     1,
25732        1,     2,     2,     0,     2,     3,     3,     4,     2,     2,
25733        5,     0,     5,     0,     2,     0,     1,     3,     3,     2,
25734        2,     0,     6,     1,     0,     3,     0,     3,     3,     3,
25735        0,     1,     4,     2,     2,     2,     2,     2,     3,     2,
25736        2,     3,     0,     4,     3,     5,     4,     3,     5,     1,
25737        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25738        1,     1,     1,     1,     1,     1,     1,     4,     1,     4,
25739        1,     4,     1,     2,     1,     2,     1,     3,     1,     3,
25740        1,     3,     3,     1,     3,     3,     3,     2,     1,     3,
25741        3,     0,     1,     1,     1,     1,     1,     1,     1,     1,
25742        1,     1,     1,     1,     4,     3,     2,     3,     0,     3,
25743        3,     2,     2,     1,     0,     2,     2,     3,     2,     1,
25744        1,     3,     5,     1,     2,     4,     2,     0,     1,     0,
25745        1,     2,     2,     2,     3,     5,     1,     0,     1,     2,
25746        0,     2,     1,     0,     1,     0,     1,     3,     3,     2,
25747        1,     1,     1,     3,     1,     2,     1,     3,     1,     1,
25748        1,     1,     1,     1,     1,     2,     1,     1,     1,     1,
25749        1,     2,     6,     2,     3,     5,     1,     1,     1,     1,
25750        1,     1,     2,     2,     1,     1,     1,     1,     1,     3,
25751        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25752        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25753        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25754        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25755        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25756        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25757        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25758        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25759        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25760        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25761        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25762        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25763        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25764        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25765        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25766        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25767        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25768        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25769        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25770        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25771        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25772        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25773        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25774        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25775        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25776        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25777        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25778        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25779        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25780        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25781        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25782        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25783        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25784        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25785        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25786        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25787        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25788        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25789        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25790        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25791        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25792        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25793        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25794        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25795        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25796        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25797        1,     1,     1,     1,     1
25798 };
25799 
25800 
25801 #define yyerrok         (yyerrstatus = 0)
25802 #define yyclearin       (yychar = YYEMPTY)
25803 #define YYEMPTY         (-2)
25804 #define YYEOF           0
25805 
25806 #define YYACCEPT        goto yyacceptlab
25807 #define YYABORT         goto yyabortlab
25808 #define YYERROR         goto yyerrorlab
25809 
25810 
25811 #define YYRECOVERING()  (!!yyerrstatus)
25812 
25813 #define YYBACKUP(Token, Value)                                  \
25814 do                                                              \
25815   if (yychar == YYEMPTY)                                        \
25816     {                                                           \
25817       yychar = (Token);                                         \
25818       yylval = (Value);                                         \
25819       YYPOPSTACK (yylen);                                       \
25820       yystate = *yyssp;                                         \
25821       goto yybackup;                                            \
25822     }                                                           \
25823   else                                                          \
25824     {                                                           \
25825       yyerror (&yylloc, yyscanner, YY_("syntax error: cannot back up")); \
25826       YYERROR;                                                  \
25827     }                                                           \
25828 while (0)
25829 
25830 /* Error token number */
25831 #define YYTERROR        1
25832 #define YYERRCODE       256
25833 
25834 
25835 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
25836    If N is 0, then set CURRENT to the empty location which ends
25837    the previous symbol: RHS[0] (always defined).  */
25838 
25839 #ifndef YYLLOC_DEFAULT
25840 # define YYLLOC_DEFAULT(Current, Rhs, N)                                \
25841     do                                                                  \
25842       if (N)                                                            \
25843         {                                                               \
25844           (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;        \
25845           (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \
25846           (Current).last_line    = YYRHSLOC (Rhs, N).last_line;         \
25847           (Current).last_column  = YYRHSLOC (Rhs, N).last_column;       \
25848         }                                                               \
25849       else                                                              \
25850         {                                                               \
25851           (Current).first_line   = (Current).last_line   =              \
25852             YYRHSLOC (Rhs, 0).last_line;                                \
25853           (Current).first_column = (Current).last_column =              \
25854             YYRHSLOC (Rhs, 0).last_column;                              \
25855         }                                                               \
25856     while (0)
25857 #endif
25858 
25859 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
25860 
25861 
25862 /* Enable debugging if requested.  */
25863 #if YYDEBUG
25864 
25865 # ifndef YYFPRINTF
25866 #  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
25867 #  define YYFPRINTF fprintf
25868 # endif
25869 
25870 # define YYDPRINTF(Args)                        \
25871 do {                                            \
25872   if (yydebug)                                  \
25873     YYFPRINTF Args;                             \
25874 } while (0)
25875 
25876 
25877 /* YY_LOCATION_PRINT -- Print the location on the stream.
25878    This macro was not mandated originally: define only if we know
25879    we won't break user code: when these are the locations we know.  */
25880 
25881 #ifndef YY_LOCATION_PRINT
25882 # if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
25883 
25884 /* Print *YYLOCP on YYO.  Private, do not rely on its existence. */
25885 
25886 YY_ATTRIBUTE_UNUSED
25887 static unsigned
yy_location_print_(FILE * yyo,YYLTYPE const * const yylocp)25888 yy_location_print_ (FILE *yyo, YYLTYPE const * const yylocp)
25889 {
25890   unsigned res = 0;
25891   int end_col = 0 != yylocp->last_column ? yylocp->last_column - 1 : 0;
25892   if (0 <= yylocp->first_line)
25893     {
25894       res += YYFPRINTF (yyo, "%d", yylocp->first_line);
25895       if (0 <= yylocp->first_column)
25896         res += YYFPRINTF (yyo, ".%d", yylocp->first_column);
25897     }
25898   if (0 <= yylocp->last_line)
25899     {
25900       if (yylocp->first_line < yylocp->last_line)
25901         {
25902           res += YYFPRINTF (yyo, "-%d", yylocp->last_line);
25903           if (0 <= end_col)
25904             res += YYFPRINTF (yyo, ".%d", end_col);
25905         }
25906       else if (0 <= end_col && yylocp->first_column < end_col)
25907         res += YYFPRINTF (yyo, "-%d", end_col);
25908     }
25909   return res;
25910  }
25911 
25912 #  define YY_LOCATION_PRINT(File, Loc)          \
25913   yy_location_print_ (File, &(Loc))
25914 
25915 # else
25916 #  define YY_LOCATION_PRINT(File, Loc) ((void) 0)
25917 # endif
25918 #endif
25919 
25920 
25921 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)                    \
25922 do {                                                                      \
25923   if (yydebug)                                                            \
25924     {                                                                     \
25925       YYFPRINTF (stderr, "%s ", Title);                                   \
25926       yy_symbol_print (stderr,                                            \
25927                   Type, Value, Location, yyscanner); \
25928       YYFPRINTF (stderr, "\n");                                           \
25929     }                                                                     \
25930 } while (0)
25931 
25932 
25933 /*----------------------------------------.
25934 | Print this symbol's value on YYOUTPUT.  |
25935 `----------------------------------------*/
25936 
25937 static void
yy_symbol_value_print(FILE * yyoutput,int yytype,YYSTYPE const * const yyvaluep,YYLTYPE const * const yylocationp,core_yyscan_t yyscanner)25938 yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, core_yyscan_t yyscanner)
25939 {
25940   FILE *yyo = yyoutput;
25941   YYUSE (yyo);
25942   YYUSE (yylocationp);
25943   YYUSE (yyscanner);
25944   if (!yyvaluep)
25945     return;
25946 # ifdef YYPRINT
25947   if (yytype < YYNTOKENS)
25948     YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
25949 # endif
25950   YYUSE (yytype);
25951 }
25952 
25953 
25954 /*--------------------------------.
25955 | Print this symbol on YYOUTPUT.  |
25956 `--------------------------------*/
25957 
25958 static void
yy_symbol_print(FILE * yyoutput,int yytype,YYSTYPE const * const yyvaluep,YYLTYPE const * const yylocationp,core_yyscan_t yyscanner)25959 yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, core_yyscan_t yyscanner)
25960 {
25961   YYFPRINTF (yyoutput, "%s %s (",
25962              yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
25963 
25964   YY_LOCATION_PRINT (yyoutput, *yylocationp);
25965   YYFPRINTF (yyoutput, ": ");
25966   yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp, yyscanner);
25967   YYFPRINTF (yyoutput, ")");
25968 }
25969 
25970 /*------------------------------------------------------------------.
25971 | yy_stack_print -- Print the state stack from its BOTTOM up to its |
25972 | TOP (included).                                                   |
25973 `------------------------------------------------------------------*/
25974 
25975 static void
yy_stack_print(yytype_int16 * yybottom,yytype_int16 * yytop)25976 yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
25977 {
25978   YYFPRINTF (stderr, "Stack now");
25979   for (; yybottom <= yytop; yybottom++)
25980     {
25981       int yybot = *yybottom;
25982       YYFPRINTF (stderr, " %d", yybot);
25983     }
25984   YYFPRINTF (stderr, "\n");
25985 }
25986 
25987 # define YY_STACK_PRINT(Bottom, Top)                            \
25988 do {                                                            \
25989   if (yydebug)                                                  \
25990     yy_stack_print ((Bottom), (Top));                           \
25991 } while (0)
25992 
25993 
25994 /*------------------------------------------------.
25995 | Report that the YYRULE is going to be reduced.  |
25996 `------------------------------------------------*/
25997 
25998 static void
yy_reduce_print(yytype_int16 * yyssp,YYSTYPE * yyvsp,YYLTYPE * yylsp,int yyrule,core_yyscan_t yyscanner)25999 yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, YYLTYPE *yylsp, int yyrule, core_yyscan_t yyscanner)
26000 {
26001   unsigned long int yylno = yyrline[yyrule];
26002   int yynrhs = yyr2[yyrule];
26003   int yyi;
26004   YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
26005              yyrule - 1, yylno);
26006   /* The symbols being reduced.  */
26007   for (yyi = 0; yyi < yynrhs; yyi++)
26008     {
26009       YYFPRINTF (stderr, "   $%d = ", yyi + 1);
26010       yy_symbol_print (stderr,
26011                        yystos[yyssp[yyi + 1 - yynrhs]],
26012                        &(yyvsp[(yyi + 1) - (yynrhs)])
26013                        , &(yylsp[(yyi + 1) - (yynrhs)])                       , yyscanner);
26014       YYFPRINTF (stderr, "\n");
26015     }
26016 }
26017 
26018 # define YY_REDUCE_PRINT(Rule)          \
26019 do {                                    \
26020   if (yydebug)                          \
26021     yy_reduce_print (yyssp, yyvsp, yylsp, Rule, yyscanner); \
26022 } while (0)
26023 
26024 /* Nonzero means print parse trace.  It is left uninitialized so that
26025    multiple parsers can coexist.  */
26026 int yydebug;
26027 #else /* !YYDEBUG */
26028 # define YYDPRINTF(Args)
26029 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
26030 # define YY_STACK_PRINT(Bottom, Top)
26031 # define YY_REDUCE_PRINT(Rule)
26032 #endif /* !YYDEBUG */
26033 
26034 
26035 /* YYINITDEPTH -- initial size of the parser's stacks.  */
26036 #ifndef YYINITDEPTH
26037 # define YYINITDEPTH 200
26038 #endif
26039 
26040 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
26041    if the built-in stack extension method is used).
26042 
26043    Do not make this value too large; the results are undefined if
26044    YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
26045    evaluated with infinite-precision integer arithmetic.  */
26046 
26047 #ifndef YYMAXDEPTH
26048 # define YYMAXDEPTH 10000
26049 #endif
26050 
26051 
26052 #if YYERROR_VERBOSE
26053 
26054 # ifndef yystrlen
26055 #  if defined __GLIBC__ && defined _STRING_H
26056 #   define yystrlen strlen
26057 #  else
26058 /* Return the length of YYSTR.  */
26059 static YYSIZE_T
yystrlen(const char * yystr)26060 yystrlen (const char *yystr)
26061 {
26062   YYSIZE_T yylen;
26063   for (yylen = 0; yystr[yylen]; yylen++)
26064     continue;
26065   return yylen;
26066 }
26067 #  endif
26068 # endif
26069 
26070 # ifndef yystpcpy
26071 #  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
26072 #   define yystpcpy stpcpy
26073 #  else
26074 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
26075    YYDEST.  */
26076 static char *
yystpcpy(char * yydest,const char * yysrc)26077 yystpcpy (char *yydest, const char *yysrc)
26078 {
26079   char *yyd = yydest;
26080   const char *yys = yysrc;
26081 
26082   while ((*yyd++ = *yys++) != '\0')
26083     continue;
26084 
26085   return yyd - 1;
26086 }
26087 #  endif
26088 # endif
26089 
26090 # ifndef yytnamerr
26091 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
26092    quotes and backslashes, so that it's suitable for yyerror.  The
26093    heuristic is that double-quoting is unnecessary unless the string
26094    contains an apostrophe, a comma, or backslash (other than
26095    backslash-backslash).  YYSTR is taken from yytname.  If YYRES is
26096    null, do not copy; instead, return the length of what the result
26097    would have been.  */
26098 static YYSIZE_T
yytnamerr(char * yyres,const char * yystr)26099 yytnamerr (char *yyres, const char *yystr)
26100 {
26101   if (*yystr == '"')
26102     {
26103       YYSIZE_T yyn = 0;
26104       char const *yyp = yystr;
26105 
26106       for (;;)
26107         switch (*++yyp)
26108           {
26109           case '\'':
26110           case ',':
26111             goto do_not_strip_quotes;
26112 
26113           case '\\':
26114             if (*++yyp != '\\')
26115               goto do_not_strip_quotes;
26116             /* Fall through.  */
26117           default:
26118             if (yyres)
26119               yyres[yyn] = *yyp;
26120             yyn++;
26121             break;
26122 
26123           case '"':
26124             if (yyres)
26125               yyres[yyn] = '\0';
26126             return yyn;
26127           }
26128     do_not_strip_quotes: ;
26129     }
26130 
26131   if (! yyres)
26132     return yystrlen (yystr);
26133 
26134   return yystpcpy (yyres, yystr) - yyres;
26135 }
26136 # endif
26137 
26138 /* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
26139    about the unexpected token YYTOKEN for the state stack whose top is
26140    YYSSP.
26141 
26142    Return 0 if *YYMSG was successfully written.  Return 1 if *YYMSG is
26143    not large enough to hold the message.  In that case, also set
26144    *YYMSG_ALLOC to the required number of bytes.  Return 2 if the
26145    required number of bytes is too large to store.  */
26146 static int
yysyntax_error(YYSIZE_T * yymsg_alloc,char ** yymsg,yytype_int16 * yyssp,int yytoken)26147 yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
26148                 yytype_int16 *yyssp, int yytoken)
26149 {
26150   YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]);
26151   YYSIZE_T yysize = yysize0;
26152   enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
26153   /* Internationalized format string. */
26154   const char *yyformat = YY_NULLPTR;
26155   /* Arguments of yyformat. */
26156   char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
26157   /* Number of reported tokens (one for the "unexpected", one per
26158      "expected"). */
26159   int yycount = 0;
26160 
26161   /* There are many possibilities here to consider:
26162      - If this state is a consistent state with a default action, then
26163        the only way this function was invoked is if the default action
26164        is an error action.  In that case, don't check for expected
26165        tokens because there are none.
26166      - The only way there can be no lookahead present (in yychar) is if
26167        this state is a consistent state with a default action.  Thus,
26168        detecting the absence of a lookahead is sufficient to determine
26169        that there is no unexpected or expected token to report.  In that
26170        case, just report a simple "syntax error".
26171      - Don't assume there isn't a lookahead just because this state is a
26172        consistent state with a default action.  There might have been a
26173        previous inconsistent state, consistent state with a non-default
26174        action, or user semantic action that manipulated yychar.
26175      - Of course, the expected token list depends on states to have
26176        correct lookahead information, and it depends on the parser not
26177        to perform extra reductions after fetching a lookahead from the
26178        scanner and before detecting a syntax error.  Thus, state merging
26179        (from LALR or IELR) and default reductions corrupt the expected
26180        token list.  However, the list is correct for canonical LR with
26181        one exception: it will still contain any token that will not be
26182        accepted due to an error action in a later state.
26183   */
26184   if (yytoken != YYEMPTY)
26185     {
26186       int yyn = yypact[*yyssp];
26187       yyarg[yycount++] = yytname[yytoken];
26188       if (!yypact_value_is_default (yyn))
26189         {
26190           /* Start YYX at -YYN if negative to avoid negative indexes in
26191              YYCHECK.  In other words, skip the first -YYN actions for
26192              this state because they are default actions.  */
26193           int yyxbegin = yyn < 0 ? -yyn : 0;
26194           /* Stay within bounds of both yycheck and yytname.  */
26195           int yychecklim = YYLAST - yyn + 1;
26196           int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
26197           int yyx;
26198 
26199           for (yyx = yyxbegin; yyx < yyxend; ++yyx)
26200             if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
26201                 && !yytable_value_is_error (yytable[yyx + yyn]))
26202               {
26203                 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
26204                   {
26205                     yycount = 1;
26206                     yysize = yysize0;
26207                     break;
26208                   }
26209                 yyarg[yycount++] = yytname[yyx];
26210                 {
26211                   YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
26212                   if (! (yysize <= yysize1
26213                          && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
26214                     return 2;
26215                   yysize = yysize1;
26216                 }
26217               }
26218         }
26219     }
26220 
26221   switch (yycount)
26222     {
26223 # define YYCASE_(N, S)                      \
26224       case N:                               \
26225         yyformat = S;                       \
26226       break
26227       YYCASE_(0, YY_("syntax error"));
26228       YYCASE_(1, YY_("syntax error, unexpected %s"));
26229       YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
26230       YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
26231       YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
26232       YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
26233 # undef YYCASE_
26234     }
26235 
26236   {
26237     YYSIZE_T yysize1 = yysize + yystrlen (yyformat);
26238     if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
26239       return 2;
26240     yysize = yysize1;
26241   }
26242 
26243   if (*yymsg_alloc < yysize)
26244     {
26245       *yymsg_alloc = 2 * yysize;
26246       if (! (yysize <= *yymsg_alloc
26247              && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))
26248         *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;
26249       return 1;
26250     }
26251 
26252   /* Avoid sprintf, as that infringes on the user's name space.
26253      Don't have undefined behavior even if the translation
26254      produced a string with the wrong number of "%s"s.  */
26255   {
26256     char *yyp = *yymsg;
26257     int yyi = 0;
26258     while ((*yyp = *yyformat) != '\0')
26259       if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
26260         {
26261           yyp += yytnamerr (yyp, yyarg[yyi++]);
26262           yyformat += 2;
26263         }
26264       else
26265         {
26266           yyp++;
26267           yyformat++;
26268         }
26269   }
26270   return 0;
26271 }
26272 #endif /* YYERROR_VERBOSE */
26273 
26274 /*-----------------------------------------------.
26275 | Release the memory associated to this symbol.  |
26276 `-----------------------------------------------*/
26277 
26278 static void
yydestruct(const char * yymsg,int yytype,YYSTYPE * yyvaluep,YYLTYPE * yylocationp,core_yyscan_t yyscanner)26279 yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocationp, core_yyscan_t yyscanner)
26280 {
26281   YYUSE (yyvaluep);
26282   YYUSE (yylocationp);
26283   YYUSE (yyscanner);
26284   if (!yymsg)
26285     yymsg = "Deleting";
26286   YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
26287 
26288   YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
26289   YYUSE (yytype);
26290   YY_IGNORE_MAYBE_UNINITIALIZED_END
26291 }
26292 
26293 
26294 
26295 
26296 /*----------.
26297 | yyparse.  |
26298 `----------*/
26299 
26300 int
yyparse(core_yyscan_t yyscanner)26301 yyparse (core_yyscan_t yyscanner)
26302 {
26303 /* The lookahead symbol.  */
26304 int yychar;
26305 
26306 
26307 /* The semantic value of the lookahead symbol.  */
26308 /* Default value used for initialization, for pacifying older GCCs
26309    or non-GCC compilers.  */
26310 YY_INITIAL_VALUE (static YYSTYPE yyval_default;)
26311 YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
26312 
26313 /* Location data for the lookahead symbol.  */
26314 static YYLTYPE yyloc_default
26315 # if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
26316   = { 1, 1, 1, 1 }
26317 # endif
26318 ;
26319 YYLTYPE yylloc = yyloc_default;
26320 
26321     /* Number of syntax errors so far.  */
26322     int yynerrs;
26323 
26324     int yystate;
26325     /* Number of tokens to shift before error messages enabled.  */
26326     int yyerrstatus;
26327 
26328     /* The stacks and their tools:
26329        'yyss': related to states.
26330        'yyvs': related to semantic values.
26331        'yyls': related to locations.
26332 
26333        Refer to the stacks through separate pointers, to allow yyoverflow
26334        to reallocate them elsewhere.  */
26335 
26336     /* The state stack.  */
26337     yytype_int16 yyssa[YYINITDEPTH];
26338     yytype_int16 *yyss;
26339     yytype_int16 *yyssp;
26340 
26341     /* The semantic value stack.  */
26342     YYSTYPE yyvsa[YYINITDEPTH];
26343     YYSTYPE *yyvs;
26344     YYSTYPE *yyvsp;
26345 
26346     /* The location stack.  */
26347     YYLTYPE yylsa[YYINITDEPTH];
26348     YYLTYPE *yyls;
26349     YYLTYPE *yylsp;
26350 
26351     /* The locations where the error started and ended.  */
26352     YYLTYPE yyerror_range[3];
26353 
26354     YYSIZE_T yystacksize;
26355 
26356   int yyn;
26357   int yyresult;
26358   /* Lookahead token as an internal (translated) token number.  */
26359   int yytoken = 0;
26360   /* The variables used to return semantic value and location from the
26361      action routines.  */
26362   YYSTYPE yyval;
26363   YYLTYPE yyloc;
26364 
26365 #if YYERROR_VERBOSE
26366   /* Buffer for error messages, and its allocated size.  */
26367   char yymsgbuf[128];
26368   char *yymsg = yymsgbuf;
26369   YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
26370 #endif
26371 
26372 #define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N), yylsp -= (N))
26373 
26374   /* The number of symbols on the RHS of the reduced rule.
26375      Keep to zero when no symbol should be popped.  */
26376   int yylen = 0;
26377 
26378   yyssp = yyss = yyssa;
26379   yyvsp = yyvs = yyvsa;
26380   yylsp = yyls = yylsa;
26381   yystacksize = YYINITDEPTH;
26382 
26383   YYDPRINTF ((stderr, "Starting parse\n"));
26384 
26385   yystate = 0;
26386   yyerrstatus = 0;
26387   yynerrs = 0;
26388   yychar = YYEMPTY; /* Cause a token to be read.  */
26389   yylsp[0] = yylloc;
26390   goto yysetstate;
26391 
26392 /*------------------------------------------------------------.
26393 | yynewstate -- Push a new state, which is found in yystate.  |
26394 `------------------------------------------------------------*/
26395  yynewstate:
26396   /* In all cases, when you get here, the value and location stacks
26397      have just been pushed.  So pushing a state here evens the stacks.  */
26398   yyssp++;
26399 
26400  yysetstate:
26401   *yyssp = yystate;
26402 
26403   if (yyss + yystacksize - 1 <= yyssp)
26404     {
26405       /* Get the current used size of the three stacks, in elements.  */
26406       YYSIZE_T yysize = yyssp - yyss + 1;
26407 
26408 #ifdef yyoverflow
26409       {
26410         /* Give user a chance to reallocate the stack.  Use copies of
26411            these so that the &'s don't force the real ones into
26412            memory.  */
26413         YYSTYPE *yyvs1 = yyvs;
26414         yytype_int16 *yyss1 = yyss;
26415         YYLTYPE *yyls1 = yyls;
26416 
26417         /* Each stack pointer address is followed by the size of the
26418            data in use in that stack, in bytes.  This used to be a
26419            conditional around just the two extra args, but that might
26420            be undefined if yyoverflow is a macro.  */
26421         yyoverflow (YY_("memory exhausted"),
26422                     &yyss1, yysize * sizeof (*yyssp),
26423                     &yyvs1, yysize * sizeof (*yyvsp),
26424                     &yyls1, yysize * sizeof (*yylsp),
26425                     &yystacksize);
26426 
26427         yyls = yyls1;
26428         yyss = yyss1;
26429         yyvs = yyvs1;
26430       }
26431 #else /* no yyoverflow */
26432 # ifndef YYSTACK_RELOCATE
26433       goto yyexhaustedlab;
26434 # else
26435       /* Extend the stack our own way.  */
26436       if (YYMAXDEPTH <= yystacksize)
26437         goto yyexhaustedlab;
26438       yystacksize *= 2;
26439       if (YYMAXDEPTH < yystacksize)
26440         yystacksize = YYMAXDEPTH;
26441 
26442       {
26443         yytype_int16 *yyss1 = yyss;
26444         union yyalloc *yyptr =
26445           (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
26446         if (! yyptr)
26447           goto yyexhaustedlab;
26448         YYSTACK_RELOCATE (yyss_alloc, yyss);
26449         YYSTACK_RELOCATE (yyvs_alloc, yyvs);
26450         YYSTACK_RELOCATE (yyls_alloc, yyls);
26451 #  undef YYSTACK_RELOCATE
26452         if (yyss1 != yyssa)
26453           YYSTACK_FREE (yyss1);
26454       }
26455 # endif
26456 #endif /* no yyoverflow */
26457 
26458       yyssp = yyss + yysize - 1;
26459       yyvsp = yyvs + yysize - 1;
26460       yylsp = yyls + yysize - 1;
26461 
26462       YYDPRINTF ((stderr, "Stack size increased to %lu\n",
26463                   (unsigned long int) yystacksize));
26464 
26465       if (yyss + yystacksize - 1 <= yyssp)
26466         YYABORT;
26467     }
26468 
26469   YYDPRINTF ((stderr, "Entering state %d\n", yystate));
26470 
26471   if (yystate == YYFINAL)
26472     YYACCEPT;
26473 
26474   goto yybackup;
26475 
26476 /*-----------.
26477 | yybackup.  |
26478 `-----------*/
26479 yybackup:
26480 
26481   /* Do appropriate processing given the current state.  Read a
26482      lookahead token if we need one and don't already have one.  */
26483 
26484   /* First try to decide what to do without reference to lookahead token.  */
26485   yyn = yypact[yystate];
26486   if (yypact_value_is_default (yyn))
26487     goto yydefault;
26488 
26489   /* Not known => get a lookahead token if don't already have one.  */
26490 
26491   /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol.  */
26492   if (yychar == YYEMPTY)
26493     {
26494       YYDPRINTF ((stderr, "Reading a token: "));
26495       yychar = yylex (&yylval, &yylloc, yyscanner);
26496     }
26497 
26498   if (yychar <= YYEOF)
26499     {
26500       yychar = yytoken = YYEOF;
26501       YYDPRINTF ((stderr, "Now at end of input.\n"));
26502     }
26503   else
26504     {
26505       yytoken = YYTRANSLATE (yychar);
26506       YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
26507     }
26508 
26509   /* If the proper action on seeing token YYTOKEN is to reduce or to
26510      detect an error, take that action.  */
26511   yyn += yytoken;
26512   if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
26513     goto yydefault;
26514   yyn = yytable[yyn];
26515   if (yyn <= 0)
26516     {
26517       if (yytable_value_is_error (yyn))
26518         goto yyerrlab;
26519       yyn = -yyn;
26520       goto yyreduce;
26521     }
26522 
26523   /* Count tokens shifted since error; after three, turn off error
26524      status.  */
26525   if (yyerrstatus)
26526     yyerrstatus--;
26527 
26528   /* Shift the lookahead token.  */
26529   YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
26530 
26531   /* Discard the shifted token.  */
26532   yychar = YYEMPTY;
26533 
26534   yystate = yyn;
26535   YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
26536   *++yyvsp = yylval;
26537   YY_IGNORE_MAYBE_UNINITIALIZED_END
26538   *++yylsp = yylloc;
26539   goto yynewstate;
26540 
26541 
26542 /*-----------------------------------------------------------.
26543 | yydefault -- do the default action for the current state.  |
26544 `-----------------------------------------------------------*/
26545 yydefault:
26546   yyn = yydefact[yystate];
26547   if (yyn == 0)
26548     goto yyerrlab;
26549   goto yyreduce;
26550 
26551 
26552 /*-----------------------------.
26553 | yyreduce -- Do a reduction.  |
26554 `-----------------------------*/
26555 yyreduce:
26556   /* yyn is the number of a rule to reduce with.  */
26557   yylen = yyr2[yyn];
26558 
26559   /* If YYLEN is nonzero, implement the default value of the action:
26560      '$$ = $1'.
26561 
26562      Otherwise, the following line sets YYVAL to garbage.
26563      This behavior is undocumented and Bison
26564      users should not rely upon it.  Assigning to YYVAL
26565      unconditionally makes the parser a bit smaller, and it avoids a
26566      GCC warning that YYVAL may be used uninitialized.  */
26567   yyval = yyvsp[1-yylen];
26568 
26569   /* Default location.  */
26570   YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen);
26571   YY_REDUCE_PRINT (yyn);
26572   switch (yyn)
26573     {
26574         case 2:
26575 #line 842 "gram.y" /* yacc.c:1646  */
26576     {
26577 				pg_yyget_extra(yyscanner)->parsetree = (yyvsp[0].list);
26578 			}
26579 #line 26580 "gram.c" /* yacc.c:1646  */
26580     break;
26581 
26582   case 3:
26583 #line 858 "gram.y" /* yacc.c:1646  */
26584     {
26585 					if ((yyvsp[-2].list) != NIL)
26586 					{
26587 						/* update length of previous stmt */
26588 						updateRawStmtEnd(llast_node(RawStmt, (yyvsp[-2].list)), (yylsp[-1]));
26589 					}
26590 					if ((yyvsp[0].node) != NULL)
26591 						(yyval.list) = lappend((yyvsp[-2].list), makeRawStmt((yyvsp[0].node), (yylsp[-1]) + 1));
26592 					else
26593 						(yyval.list) = (yyvsp[-2].list);
26594 				}
26595 #line 26596 "gram.c" /* yacc.c:1646  */
26596     break;
26597 
26598   case 4:
26599 #line 870 "gram.y" /* yacc.c:1646  */
26600     {
26601 					if ((yyvsp[0].node) != NULL)
26602 						(yyval.list) = list_make1(makeRawStmt((yyvsp[0].node), 0));
26603 					else
26604 						(yyval.list) = NIL;
26605 				}
26606 #line 26607 "gram.c" /* yacc.c:1646  */
26607     break;
26608 
26609   case 130:
26610 #line 1005 "gram.y" /* yacc.c:1646  */
26611     { (yyval.node) = NULL; }
26612 #line 26613 "gram.c" /* yacc.c:1646  */
26613     break;
26614 
26615   case 131:
26616 #line 1015 "gram.y" /* yacc.c:1646  */
26617     {
26618 					CallStmt *n = makeNode(CallStmt);
26619 					n->funccall = castNode(FuncCall, (yyvsp[0].node));
26620 					(yyval.node) = (Node *)n;
26621 				}
26622 #line 26623 "gram.c" /* yacc.c:1646  */
26623     break;
26624 
26625   case 132:
26626 #line 1030 "gram.y" /* yacc.c:1646  */
26627     {
26628 					CreateRoleStmt *n = makeNode(CreateRoleStmt);
26629 					n->stmt_type = ROLESTMT_ROLE;
26630 					n->role = (yyvsp[-2].str);
26631 					n->options = (yyvsp[0].list);
26632 					(yyval.node) = (Node *)n;
26633 				}
26634 #line 26635 "gram.c" /* yacc.c:1646  */
26635     break;
26636 
26637   case 133:
26638 #line 1040 "gram.y" /* yacc.c:1646  */
26639     {}
26640 #line 26641 "gram.c" /* yacc.c:1646  */
26641     break;
26642 
26643   case 134:
26644 #line 1041 "gram.y" /* yacc.c:1646  */
26645     {}
26646 #line 26647 "gram.c" /* yacc.c:1646  */
26647     break;
26648 
26649   case 135:
26650 #line 1042 "gram.y" /* yacc.c:1646  */
26651     {}
26652 #line 26653 "gram.c" /* yacc.c:1646  */
26653     break;
26654 
26655   case 136:
26656 #line 1051 "gram.y" /* yacc.c:1646  */
26657     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
26658 #line 26659 "gram.c" /* yacc.c:1646  */
26659     break;
26660 
26661   case 137:
26662 #line 1052 "gram.y" /* yacc.c:1646  */
26663     { (yyval.list) = NIL; }
26664 #line 26665 "gram.c" /* yacc.c:1646  */
26665     break;
26666 
26667   case 138:
26668 #line 1056 "gram.y" /* yacc.c:1646  */
26669     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
26670 #line 26671 "gram.c" /* yacc.c:1646  */
26671     break;
26672 
26673   case 139:
26674 #line 1057 "gram.y" /* yacc.c:1646  */
26675     { (yyval.list) = NIL; }
26676 #line 26677 "gram.c" /* yacc.c:1646  */
26677     break;
26678 
26679   case 140:
26680 #line 1062 "gram.y" /* yacc.c:1646  */
26681     {
26682 					(yyval.defelt) = makeDefElem("password",
26683 									 (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
26684 				}
26685 #line 26686 "gram.c" /* yacc.c:1646  */
26686     break;
26687 
26688   case 141:
26689 #line 1067 "gram.y" /* yacc.c:1646  */
26690     {
26691 					(yyval.defelt) = makeDefElem("password", NULL, (yylsp[-1]));
26692 				}
26693 #line 26694 "gram.c" /* yacc.c:1646  */
26694     break;
26695 
26696   case 142:
26697 #line 1071 "gram.y" /* yacc.c:1646  */
26698     {
26699 					/*
26700 					 * These days, passwords are always stored in encrypted
26701 					 * form, so there is no difference between PASSWORD and
26702 					 * ENCRYPTED PASSWORD.
26703 					 */
26704 					(yyval.defelt) = makeDefElem("password",
26705 									 (Node *)makeString((yyvsp[0].str)), (yylsp[-2]));
26706 				}
26707 #line 26708 "gram.c" /* yacc.c:1646  */
26708     break;
26709 
26710   case 143:
26711 #line 1081 "gram.y" /* yacc.c:1646  */
26712     {
26713 					ereport(ERROR,
26714 							(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
26715 							 errmsg("UNENCRYPTED PASSWORD is no longer supported"),
26716 							 errhint("Remove UNENCRYPTED to store the password in encrypted form instead."),
26717 							 parser_errposition((yylsp[-2]))));
26718 				}
26719 #line 26720 "gram.c" /* yacc.c:1646  */
26720     break;
26721 
26722   case 144:
26723 #line 1089 "gram.y" /* yacc.c:1646  */
26724     {
26725 					(yyval.defelt) = makeDefElem("inherit", (Node *)makeInteger(true), (yylsp[0]));
26726 				}
26727 #line 26728 "gram.c" /* yacc.c:1646  */
26728     break;
26729 
26730   case 145:
26731 #line 1093 "gram.y" /* yacc.c:1646  */
26732     {
26733 					(yyval.defelt) = makeDefElem("connectionlimit", (Node *)makeInteger((yyvsp[0].ival)), (yylsp[-2]));
26734 				}
26735 #line 26736 "gram.c" /* yacc.c:1646  */
26736     break;
26737 
26738   case 146:
26739 #line 1097 "gram.y" /* yacc.c:1646  */
26740     {
26741 					(yyval.defelt) = makeDefElem("validUntil", (Node *)makeString((yyvsp[0].str)), (yylsp[-2]));
26742 				}
26743 #line 26744 "gram.c" /* yacc.c:1646  */
26744     break;
26745 
26746   case 147:
26747 #line 1102 "gram.y" /* yacc.c:1646  */
26748     {
26749 					(yyval.defelt) = makeDefElem("rolemembers", (Node *)(yyvsp[0].list), (yylsp[-1]));
26750 				}
26751 #line 26752 "gram.c" /* yacc.c:1646  */
26752     break;
26753 
26754   case 148:
26755 #line 1106 "gram.y" /* yacc.c:1646  */
26756     {
26757 					/*
26758 					 * We handle identifiers that aren't parser keywords with
26759 					 * the following special-case codes, to avoid bloating the
26760 					 * size of the main parser.
26761 					 */
26762 					if (strcmp((yyvsp[0].str), "superuser") == 0)
26763 						(yyval.defelt) = makeDefElem("superuser", (Node *)makeInteger(true), (yylsp[0]));
26764 					else if (strcmp((yyvsp[0].str), "nosuperuser") == 0)
26765 						(yyval.defelt) = makeDefElem("superuser", (Node *)makeInteger(false), (yylsp[0]));
26766 					else if (strcmp((yyvsp[0].str), "createrole") == 0)
26767 						(yyval.defelt) = makeDefElem("createrole", (Node *)makeInteger(true), (yylsp[0]));
26768 					else if (strcmp((yyvsp[0].str), "nocreaterole") == 0)
26769 						(yyval.defelt) = makeDefElem("createrole", (Node *)makeInteger(false), (yylsp[0]));
26770 					else if (strcmp((yyvsp[0].str), "replication") == 0)
26771 						(yyval.defelt) = makeDefElem("isreplication", (Node *)makeInteger(true), (yylsp[0]));
26772 					else if (strcmp((yyvsp[0].str), "noreplication") == 0)
26773 						(yyval.defelt) = makeDefElem("isreplication", (Node *)makeInteger(false), (yylsp[0]));
26774 					else if (strcmp((yyvsp[0].str), "createdb") == 0)
26775 						(yyval.defelt) = makeDefElem("createdb", (Node *)makeInteger(true), (yylsp[0]));
26776 					else if (strcmp((yyvsp[0].str), "nocreatedb") == 0)
26777 						(yyval.defelt) = makeDefElem("createdb", (Node *)makeInteger(false), (yylsp[0]));
26778 					else if (strcmp((yyvsp[0].str), "login") == 0)
26779 						(yyval.defelt) = makeDefElem("canlogin", (Node *)makeInteger(true), (yylsp[0]));
26780 					else if (strcmp((yyvsp[0].str), "nologin") == 0)
26781 						(yyval.defelt) = makeDefElem("canlogin", (Node *)makeInteger(false), (yylsp[0]));
26782 					else if (strcmp((yyvsp[0].str), "bypassrls") == 0)
26783 						(yyval.defelt) = makeDefElem("bypassrls", (Node *)makeInteger(true), (yylsp[0]));
26784 					else if (strcmp((yyvsp[0].str), "nobypassrls") == 0)
26785 						(yyval.defelt) = makeDefElem("bypassrls", (Node *)makeInteger(false), (yylsp[0]));
26786 					else if (strcmp((yyvsp[0].str), "noinherit") == 0)
26787 					{
26788 						/*
26789 						 * Note that INHERIT is a keyword, so it's handled by main parser, but
26790 						 * NOINHERIT is handled here.
26791 						 */
26792 						(yyval.defelt) = makeDefElem("inherit", (Node *)makeInteger(false), (yylsp[0]));
26793 					}
26794 					else
26795 						ereport(ERROR,
26796 								(errcode(ERRCODE_SYNTAX_ERROR),
26797 								 errmsg("unrecognized role option \"%s\"", (yyvsp[0].str)),
26798 									 parser_errposition((yylsp[0]))));
26799 				}
26800 #line 26801 "gram.c" /* yacc.c:1646  */
26801     break;
26802 
26803   case 149:
26804 #line 1153 "gram.y" /* yacc.c:1646  */
26805     { (yyval.defelt) = (yyvsp[0].defelt); }
26806 #line 26807 "gram.c" /* yacc.c:1646  */
26807     break;
26808 
26809   case 150:
26810 #line 1156 "gram.y" /* yacc.c:1646  */
26811     {
26812 					(yyval.defelt) = makeDefElem("sysid", (Node *)makeInteger((yyvsp[0].ival)), (yylsp[-1]));
26813 				}
26814 #line 26815 "gram.c" /* yacc.c:1646  */
26815     break;
26816 
26817   case 151:
26818 #line 1160 "gram.y" /* yacc.c:1646  */
26819     {
26820 					(yyval.defelt) = makeDefElem("adminmembers", (Node *)(yyvsp[0].list), (yylsp[-1]));
26821 				}
26822 #line 26823 "gram.c" /* yacc.c:1646  */
26823     break;
26824 
26825   case 152:
26826 #line 1164 "gram.y" /* yacc.c:1646  */
26827     {
26828 					(yyval.defelt) = makeDefElem("rolemembers", (Node *)(yyvsp[0].list), (yylsp[-1]));
26829 				}
26830 #line 26831 "gram.c" /* yacc.c:1646  */
26831     break;
26832 
26833   case 153:
26834 #line 1168 "gram.y" /* yacc.c:1646  */
26835     {
26836 					(yyval.defelt) = makeDefElem("addroleto", (Node *)(yyvsp[0].list), (yylsp[-2]));
26837 				}
26838 #line 26839 "gram.c" /* yacc.c:1646  */
26839     break;
26840 
26841   case 154:
26842 #line 1172 "gram.y" /* yacc.c:1646  */
26843     {
26844 					(yyval.defelt) = makeDefElem("addroleto", (Node *)(yyvsp[0].list), (yylsp[-2]));
26845 				}
26846 #line 26847 "gram.c" /* yacc.c:1646  */
26847     break;
26848 
26849   case 155:
26850 #line 1186 "gram.y" /* yacc.c:1646  */
26851     {
26852 					CreateRoleStmt *n = makeNode(CreateRoleStmt);
26853 					n->stmt_type = ROLESTMT_USER;
26854 					n->role = (yyvsp[-2].str);
26855 					n->options = (yyvsp[0].list);
26856 					(yyval.node) = (Node *)n;
26857 				}
26858 #line 26859 "gram.c" /* yacc.c:1646  */
26859     break;
26860 
26861   case 156:
26862 #line 1204 "gram.y" /* yacc.c:1646  */
26863     {
26864 					AlterRoleStmt *n = makeNode(AlterRoleStmt);
26865 					n->role = (yyvsp[-2].rolespec);
26866 					n->action = +1;	/* add, if there are members */
26867 					n->options = (yyvsp[0].list);
26868 					(yyval.node) = (Node *)n;
26869 				 }
26870 #line 26871 "gram.c" /* yacc.c:1646  */
26871     break;
26872 
26873   case 157:
26874 #line 1212 "gram.y" /* yacc.c:1646  */
26875     {
26876 					AlterRoleStmt *n = makeNode(AlterRoleStmt);
26877 					n->role = (yyvsp[-2].rolespec);
26878 					n->action = +1;	/* add, if there are members */
26879 					n->options = (yyvsp[0].list);
26880 					(yyval.node) = (Node *)n;
26881 				 }
26882 #line 26883 "gram.c" /* yacc.c:1646  */
26883     break;
26884 
26885   case 158:
26886 #line 1222 "gram.y" /* yacc.c:1646  */
26887     { (yyval.str) = NULL; }
26888 #line 26889 "gram.c" /* yacc.c:1646  */
26889     break;
26890 
26891   case 159:
26892 #line 1223 "gram.y" /* yacc.c:1646  */
26893     { (yyval.str) = (yyvsp[0].str); }
26894 #line 26895 "gram.c" /* yacc.c:1646  */
26895     break;
26896 
26897   case 160:
26898 #line 1228 "gram.y" /* yacc.c:1646  */
26899     {
26900 					AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
26901 					n->role = (yyvsp[-2].rolespec);
26902 					n->database = (yyvsp[-1].str);
26903 					n->setstmt = (yyvsp[0].vsetstmt);
26904 					(yyval.node) = (Node *)n;
26905 				}
26906 #line 26907 "gram.c" /* yacc.c:1646  */
26907     break;
26908 
26909   case 161:
26910 #line 1236 "gram.y" /* yacc.c:1646  */
26911     {
26912 					AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
26913 					n->role = NULL;
26914 					n->database = (yyvsp[-1].str);
26915 					n->setstmt = (yyvsp[0].vsetstmt);
26916 					(yyval.node) = (Node *)n;
26917 				}
26918 #line 26919 "gram.c" /* yacc.c:1646  */
26919     break;
26920 
26921   case 162:
26922 #line 1244 "gram.y" /* yacc.c:1646  */
26923     {
26924 					AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
26925 					n->role = (yyvsp[-2].rolespec);
26926 					n->database = (yyvsp[-1].str);
26927 					n->setstmt = (yyvsp[0].vsetstmt);
26928 					(yyval.node) = (Node *)n;
26929 				}
26930 #line 26931 "gram.c" /* yacc.c:1646  */
26931     break;
26932 
26933   case 163:
26934 #line 1252 "gram.y" /* yacc.c:1646  */
26935     {
26936 					AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
26937 					n->role = NULL;
26938 					n->database = (yyvsp[-1].str);
26939 					n->setstmt = (yyvsp[0].vsetstmt);
26940 					(yyval.node) = (Node *)n;
26941 				}
26942 #line 26943 "gram.c" /* yacc.c:1646  */
26943     break;
26944 
26945   case 164:
26946 #line 1273 "gram.y" /* yacc.c:1646  */
26947     {
26948 					DropRoleStmt *n = makeNode(DropRoleStmt);
26949 					n->missing_ok = false;
26950 					n->roles = (yyvsp[0].list);
26951 					(yyval.node) = (Node *)n;
26952 				}
26953 #line 26954 "gram.c" /* yacc.c:1646  */
26954     break;
26955 
26956   case 165:
26957 #line 1280 "gram.y" /* yacc.c:1646  */
26958     {
26959 					DropRoleStmt *n = makeNode(DropRoleStmt);
26960 					n->missing_ok = true;
26961 					n->roles = (yyvsp[0].list);
26962 					(yyval.node) = (Node *)n;
26963 				}
26964 #line 26965 "gram.c" /* yacc.c:1646  */
26965     break;
26966 
26967   case 166:
26968 #line 1287 "gram.y" /* yacc.c:1646  */
26969     {
26970 					DropRoleStmt *n = makeNode(DropRoleStmt);
26971 					n->missing_ok = false;
26972 					n->roles = (yyvsp[0].list);
26973 					(yyval.node) = (Node *)n;
26974 				}
26975 #line 26976 "gram.c" /* yacc.c:1646  */
26976     break;
26977 
26978   case 167:
26979 #line 1294 "gram.y" /* yacc.c:1646  */
26980     {
26981 					DropRoleStmt *n = makeNode(DropRoleStmt);
26982 					n->roles = (yyvsp[0].list);
26983 					n->missing_ok = true;
26984 					(yyval.node) = (Node *)n;
26985 				}
26986 #line 26987 "gram.c" /* yacc.c:1646  */
26987     break;
26988 
26989   case 168:
26990 #line 1301 "gram.y" /* yacc.c:1646  */
26991     {
26992 					DropRoleStmt *n = makeNode(DropRoleStmt);
26993 					n->missing_ok = false;
26994 					n->roles = (yyvsp[0].list);
26995 					(yyval.node) = (Node *)n;
26996 				}
26997 #line 26998 "gram.c" /* yacc.c:1646  */
26998     break;
26999 
27000   case 169:
27001 #line 1308 "gram.y" /* yacc.c:1646  */
27002     {
27003 					DropRoleStmt *n = makeNode(DropRoleStmt);
27004 					n->missing_ok = true;
27005 					n->roles = (yyvsp[0].list);
27006 					(yyval.node) = (Node *)n;
27007 				}
27008 #line 27009 "gram.c" /* yacc.c:1646  */
27009     break;
27010 
27011   case 170:
27012 #line 1325 "gram.y" /* yacc.c:1646  */
27013     {
27014 					CreateRoleStmt *n = makeNode(CreateRoleStmt);
27015 					n->stmt_type = ROLESTMT_GROUP;
27016 					n->role = (yyvsp[-2].str);
27017 					n->options = (yyvsp[0].list);
27018 					(yyval.node) = (Node *)n;
27019 				}
27020 #line 27021 "gram.c" /* yacc.c:1646  */
27021     break;
27022 
27023   case 171:
27024 #line 1343 "gram.y" /* yacc.c:1646  */
27025     {
27026 					AlterRoleStmt *n = makeNode(AlterRoleStmt);
27027 					n->role = (yyvsp[-3].rolespec);
27028 					n->action = (yyvsp[-2].ival);
27029 					n->options = list_make1(makeDefElem("rolemembers",
27030 														(Node *)(yyvsp[0].list), (yylsp[0])));
27031 					(yyval.node) = (Node *)n;
27032 				}
27033 #line 27034 "gram.c" /* yacc.c:1646  */
27034     break;
27035 
27036   case 172:
27037 #line 1353 "gram.y" /* yacc.c:1646  */
27038     { (yyval.ival) = +1; }
27039 #line 27040 "gram.c" /* yacc.c:1646  */
27040     break;
27041 
27042   case 173:
27043 #line 1354 "gram.y" /* yacc.c:1646  */
27044     { (yyval.ival) = -1; }
27045 #line 27046 "gram.c" /* yacc.c:1646  */
27046     break;
27047 
27048   case 174:
27049 #line 1366 "gram.y" /* yacc.c:1646  */
27050     {
27051 					CreateSchemaStmt *n = makeNode(CreateSchemaStmt);
27052 					/* One can omit the schema name or the authorization id. */
27053 					n->schemaname = (yyvsp[-3].str);
27054 					n->authrole = (yyvsp[-1].rolespec);
27055 					n->schemaElts = (yyvsp[0].list);
27056 					n->if_not_exists = false;
27057 					(yyval.node) = (Node *)n;
27058 				}
27059 #line 27060 "gram.c" /* yacc.c:1646  */
27060     break;
27061 
27062   case 175:
27063 #line 1376 "gram.y" /* yacc.c:1646  */
27064     {
27065 					CreateSchemaStmt *n = makeNode(CreateSchemaStmt);
27066 					/* ...but not both */
27067 					n->schemaname = (yyvsp[-1].str);
27068 					n->authrole = NULL;
27069 					n->schemaElts = (yyvsp[0].list);
27070 					n->if_not_exists = false;
27071 					(yyval.node) = (Node *)n;
27072 				}
27073 #line 27074 "gram.c" /* yacc.c:1646  */
27074     break;
27075 
27076   case 176:
27077 #line 1386 "gram.y" /* yacc.c:1646  */
27078     {
27079 					CreateSchemaStmt *n = makeNode(CreateSchemaStmt);
27080 					/* schema name can be omitted here, too */
27081 					n->schemaname = (yyvsp[-3].str);
27082 					n->authrole = (yyvsp[-1].rolespec);
27083 					if ((yyvsp[0].list) != NIL)
27084 						ereport(ERROR,
27085 								(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
27086 								 errmsg("CREATE SCHEMA IF NOT EXISTS cannot include schema elements"),
27087 								 parser_errposition((yylsp[0]))));
27088 					n->schemaElts = (yyvsp[0].list);
27089 					n->if_not_exists = true;
27090 					(yyval.node) = (Node *)n;
27091 				}
27092 #line 27093 "gram.c" /* yacc.c:1646  */
27093     break;
27094 
27095   case 177:
27096 #line 1401 "gram.y" /* yacc.c:1646  */
27097     {
27098 					CreateSchemaStmt *n = makeNode(CreateSchemaStmt);
27099 					/* ...but not here */
27100 					n->schemaname = (yyvsp[-1].str);
27101 					n->authrole = NULL;
27102 					if ((yyvsp[0].list) != NIL)
27103 						ereport(ERROR,
27104 								(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
27105 								 errmsg("CREATE SCHEMA IF NOT EXISTS cannot include schema elements"),
27106 								 parser_errposition((yylsp[0]))));
27107 					n->schemaElts = (yyvsp[0].list);
27108 					n->if_not_exists = true;
27109 					(yyval.node) = (Node *)n;
27110 				}
27111 #line 27112 "gram.c" /* yacc.c:1646  */
27112     break;
27113 
27114   case 178:
27115 #line 1418 "gram.y" /* yacc.c:1646  */
27116     { (yyval.str) = (yyvsp[0].str); }
27117 #line 27118 "gram.c" /* yacc.c:1646  */
27118     break;
27119 
27120   case 179:
27121 #line 1419 "gram.y" /* yacc.c:1646  */
27122     { (yyval.str) = NULL; }
27123 #line 27124 "gram.c" /* yacc.c:1646  */
27124     break;
27125 
27126   case 180:
27127 #line 1424 "gram.y" /* yacc.c:1646  */
27128     {
27129 					if ((yyloc) < 0)			/* see comments for YYLLOC_DEFAULT */
27130 						(yyloc) = (yylsp[0]);
27131 					(yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node));
27132 				}
27133 #line 27134 "gram.c" /* yacc.c:1646  */
27134     break;
27135 
27136   case 181:
27137 #line 1430 "gram.y" /* yacc.c:1646  */
27138     { (yyval.list) = NIL; }
27139 #line 27140 "gram.c" /* yacc.c:1646  */
27140     break;
27141 
27142   case 188:
27143 #line 1458 "gram.y" /* yacc.c:1646  */
27144     {
27145 					VariableSetStmt *n = (yyvsp[0].vsetstmt);
27146 					n->type = T_PgpoolVariableSetStmt; /* Hack to keep changes minumum */
27147 					n->is_local = false;
27148 					(yyval.node) = (Node *) n;
27149 				}
27150 #line 27151 "gram.c" /* yacc.c:1646  */
27151     break;
27152 
27153   case 189:
27154 #line 1465 "gram.y" /* yacc.c:1646  */
27155     {
27156 					VariableSetStmt *n = (yyvsp[0].vsetstmt);
27157 					n->is_local = false;
27158 					(yyval.node) = (Node *) n;
27159 				}
27160 #line 27161 "gram.c" /* yacc.c:1646  */
27161     break;
27162 
27163   case 190:
27164 #line 1471 "gram.y" /* yacc.c:1646  */
27165     {
27166 					VariableSetStmt *n = (yyvsp[0].vsetstmt);
27167 					n->is_local = true;
27168 					(yyval.node) = (Node *) n;
27169 				}
27170 #line 27171 "gram.c" /* yacc.c:1646  */
27171     break;
27172 
27173   case 191:
27174 #line 1477 "gram.y" /* yacc.c:1646  */
27175     {
27176 					VariableSetStmt *n = (yyvsp[0].vsetstmt);
27177 					n->is_local = false;
27178 					(yyval.node) = (Node *) n;
27179 				}
27180 #line 27181 "gram.c" /* yacc.c:1646  */
27181     break;
27182 
27183   case 192:
27184 #line 1486 "gram.y" /* yacc.c:1646  */
27185     {
27186 					VariableSetStmt *n = makeNode(VariableSetStmt);
27187 					n->kind = VAR_SET_MULTI;
27188 					n->name = "TRANSACTION";
27189 					n->args = (yyvsp[0].list);
27190 					(yyval.vsetstmt) = n;
27191 				}
27192 #line 27193 "gram.c" /* yacc.c:1646  */
27193     break;
27194 
27195   case 193:
27196 #line 1494 "gram.y" /* yacc.c:1646  */
27197     {
27198 					VariableSetStmt *n = makeNode(VariableSetStmt);
27199 					n->kind = VAR_SET_MULTI;
27200 					n->name = "SESSION CHARACTERISTICS";
27201 					n->args = (yyvsp[0].list);
27202 					(yyval.vsetstmt) = n;
27203 				}
27204 #line 27205 "gram.c" /* yacc.c:1646  */
27205     break;
27206 
27207   case 195:
27208 #line 1506 "gram.y" /* yacc.c:1646  */
27209     {
27210 					VariableSetStmt *n = makeNode(VariableSetStmt);
27211 					n->kind = VAR_SET_VALUE;
27212 					n->name = (yyvsp[-2].str);
27213 					n->args = (yyvsp[0].list);
27214 					(yyval.vsetstmt) = n;
27215 				}
27216 #line 27217 "gram.c" /* yacc.c:1646  */
27217     break;
27218 
27219   case 196:
27220 #line 1514 "gram.y" /* yacc.c:1646  */
27221     {
27222 					VariableSetStmt *n = makeNode(VariableSetStmt);
27223 					n->kind = VAR_SET_VALUE;
27224 					n->name = (yyvsp[-2].str);
27225 					n->args = (yyvsp[0].list);
27226 					(yyval.vsetstmt) = n;
27227 				}
27228 #line 27229 "gram.c" /* yacc.c:1646  */
27229     break;
27230 
27231   case 197:
27232 #line 1522 "gram.y" /* yacc.c:1646  */
27233     {
27234 					VariableSetStmt *n = makeNode(VariableSetStmt);
27235 					n->kind = VAR_SET_DEFAULT;
27236 					n->name = (yyvsp[-2].str);
27237 					(yyval.vsetstmt) = n;
27238 				}
27239 #line 27240 "gram.c" /* yacc.c:1646  */
27240     break;
27241 
27242   case 198:
27243 #line 1529 "gram.y" /* yacc.c:1646  */
27244     {
27245 					VariableSetStmt *n = makeNode(VariableSetStmt);
27246 					n->kind = VAR_SET_DEFAULT;
27247 					n->name = (yyvsp[-2].str);
27248 					(yyval.vsetstmt) = n;
27249 				}
27250 #line 27251 "gram.c" /* yacc.c:1646  */
27251     break;
27252 
27253   case 199:
27254 #line 1538 "gram.y" /* yacc.c:1646  */
27255     {(yyval.vsetstmt) = (yyvsp[0].vsetstmt);}
27256 #line 27257 "gram.c" /* yacc.c:1646  */
27257     break;
27258 
27259   case 200:
27260 #line 1540 "gram.y" /* yacc.c:1646  */
27261     {
27262 					VariableSetStmt *n = makeNode(VariableSetStmt);
27263 					n->kind = VAR_SET_CURRENT;
27264 					n->name = (yyvsp[-2].str);
27265 					(yyval.vsetstmt) = n;
27266 				}
27267 #line 27268 "gram.c" /* yacc.c:1646  */
27268     break;
27269 
27270   case 201:
27271 #line 1548 "gram.y" /* yacc.c:1646  */
27272     {
27273 					VariableSetStmt *n = makeNode(VariableSetStmt);
27274 					n->kind = VAR_SET_VALUE;
27275 					n->name = "timezone";
27276 					if ((yyvsp[0].node) != NULL)
27277 						n->args = list_make1((yyvsp[0].node));
27278 					else
27279 						n->kind = VAR_SET_DEFAULT;
27280 					(yyval.vsetstmt) = n;
27281 				}
27282 #line 27283 "gram.c" /* yacc.c:1646  */
27283     break;
27284 
27285   case 202:
27286 #line 1559 "gram.y" /* yacc.c:1646  */
27287     {
27288 					ereport(ERROR,
27289 							(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
27290 							 errmsg("current database cannot be changed"),
27291 							 parser_errposition((yylsp[0]))));
27292 					(yyval.vsetstmt) = NULL; /*not reached*/
27293 				}
27294 #line 27295 "gram.c" /* yacc.c:1646  */
27295     break;
27296 
27297   case 203:
27298 #line 1567 "gram.y" /* yacc.c:1646  */
27299     {
27300 					VariableSetStmt *n = makeNode(VariableSetStmt);
27301 					n->kind = VAR_SET_VALUE;
27302 					n->name = "search_path";
27303 					n->args = list_make1(makeStringConst((yyvsp[0].str), (yylsp[0])));
27304 					(yyval.vsetstmt) = n;
27305 				}
27306 #line 27307 "gram.c" /* yacc.c:1646  */
27307     break;
27308 
27309   case 204:
27310 #line 1575 "gram.y" /* yacc.c:1646  */
27311     {
27312 					VariableSetStmt *n = makeNode(VariableSetStmt);
27313 					n->kind = VAR_SET_VALUE;
27314 					n->name = "client_encoding";
27315 					if ((yyvsp[0].str) != NULL)
27316 						n->args = list_make1(makeStringConst((yyvsp[0].str), (yylsp[0])));
27317 					else
27318 						n->kind = VAR_SET_DEFAULT;
27319 					(yyval.vsetstmt) = n;
27320 				}
27321 #line 27322 "gram.c" /* yacc.c:1646  */
27322     break;
27323 
27324   case 205:
27325 #line 1586 "gram.y" /* yacc.c:1646  */
27326     {
27327 					VariableSetStmt *n = makeNode(VariableSetStmt);
27328 					n->kind = VAR_SET_VALUE;
27329 					n->name = "role";
27330 					n->args = list_make1(makeStringConst((yyvsp[0].str), (yylsp[0])));
27331 					(yyval.vsetstmt) = n;
27332 				}
27333 #line 27334 "gram.c" /* yacc.c:1646  */
27334     break;
27335 
27336   case 206:
27337 #line 1594 "gram.y" /* yacc.c:1646  */
27338     {
27339 					VariableSetStmt *n = makeNode(VariableSetStmt);
27340 					n->kind = VAR_SET_VALUE;
27341 					n->name = "session_authorization";
27342 					n->args = list_make1(makeStringConst((yyvsp[0].str), (yylsp[0])));
27343 					(yyval.vsetstmt) = n;
27344 				}
27345 #line 27346 "gram.c" /* yacc.c:1646  */
27346     break;
27347 
27348   case 207:
27349 #line 1602 "gram.y" /* yacc.c:1646  */
27350     {
27351 					VariableSetStmt *n = makeNode(VariableSetStmt);
27352 					n->kind = VAR_SET_DEFAULT;
27353 					n->name = "session_authorization";
27354 					(yyval.vsetstmt) = n;
27355 				}
27356 #line 27357 "gram.c" /* yacc.c:1646  */
27357     break;
27358 
27359   case 208:
27360 #line 1609 "gram.y" /* yacc.c:1646  */
27361     {
27362 					VariableSetStmt *n = makeNode(VariableSetStmt);
27363 					n->kind = VAR_SET_VALUE;
27364 					n->name = "xmloption";
27365 					n->args = list_make1(makeStringConst((yyvsp[0].ival) == XMLOPTION_DOCUMENT ? "DOCUMENT" : "CONTENT", (yylsp[0])));
27366 					(yyval.vsetstmt) = n;
27367 				}
27368 #line 27369 "gram.c" /* yacc.c:1646  */
27369     break;
27370 
27371   case 209:
27372 #line 1618 "gram.y" /* yacc.c:1646  */
27373     {
27374 					VariableSetStmt *n = makeNode(VariableSetStmt);
27375 					n->kind = VAR_SET_MULTI;
27376 					n->name = "TRANSACTION SNAPSHOT";
27377 					n->args = list_make1(makeStringConst((yyvsp[0].str), (yylsp[0])));
27378 					(yyval.vsetstmt) = n;
27379 				}
27380 #line 27381 "gram.c" /* yacc.c:1646  */
27381     break;
27382 
27383   case 210:
27384 #line 1627 "gram.y" /* yacc.c:1646  */
27385     { (yyval.str) = (yyvsp[0].str); }
27386 #line 27387 "gram.c" /* yacc.c:1646  */
27387     break;
27388 
27389   case 211:
27390 #line 1629 "gram.y" /* yacc.c:1646  */
27391     { (yyval.str) = psprintf("%s.%s", (yyvsp[-2].str), (yyvsp[0].str)); }
27392 #line 27393 "gram.c" /* yacc.c:1646  */
27393     break;
27394 
27395   case 212:
27396 #line 1632 "gram.y" /* yacc.c:1646  */
27397     { (yyval.list) = list_make1((yyvsp[0].node)); }
27398 #line 27399 "gram.c" /* yacc.c:1646  */
27399     break;
27400 
27401   case 213:
27402 #line 1633 "gram.y" /* yacc.c:1646  */
27403     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
27404 #line 27405 "gram.c" /* yacc.c:1646  */
27405     break;
27406 
27407   case 214:
27408 #line 1637 "gram.y" /* yacc.c:1646  */
27409     { (yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0])); }
27410 #line 27411 "gram.c" /* yacc.c:1646  */
27411     break;
27412 
27413   case 215:
27414 #line 1639 "gram.y" /* yacc.c:1646  */
27415     { (yyval.node) = makeAConst((yyvsp[0].value), (yylsp[0])); }
27416 #line 27417 "gram.c" /* yacc.c:1646  */
27417     break;
27418 
27419   case 216:
27420 #line 1642 "gram.y" /* yacc.c:1646  */
27421     { (yyval.str) = "read uncommitted"; }
27422 #line 27423 "gram.c" /* yacc.c:1646  */
27423     break;
27424 
27425   case 217:
27426 #line 1643 "gram.y" /* yacc.c:1646  */
27427     { (yyval.str) = "read committed"; }
27428 #line 27429 "gram.c" /* yacc.c:1646  */
27429     break;
27430 
27431   case 218:
27432 #line 1644 "gram.y" /* yacc.c:1646  */
27433     { (yyval.str) = "repeatable read"; }
27434 #line 27435 "gram.c" /* yacc.c:1646  */
27435     break;
27436 
27437   case 219:
27438 #line 1645 "gram.y" /* yacc.c:1646  */
27439     { (yyval.str) = "serializable"; }
27440 #line 27441 "gram.c" /* yacc.c:1646  */
27441     break;
27442 
27443   case 220:
27444 #line 1649 "gram.y" /* yacc.c:1646  */
27445     { (yyval.str) = "true"; }
27446 #line 27447 "gram.c" /* yacc.c:1646  */
27447     break;
27448 
27449   case 221:
27450 #line 1650 "gram.y" /* yacc.c:1646  */
27451     { (yyval.str) = "false"; }
27452 #line 27453 "gram.c" /* yacc.c:1646  */
27453     break;
27454 
27455   case 222:
27456 #line 1651 "gram.y" /* yacc.c:1646  */
27457     { (yyval.str) = "on"; }
27458 #line 27459 "gram.c" /* yacc.c:1646  */
27459     break;
27460 
27461   case 223:
27462 #line 1657 "gram.y" /* yacc.c:1646  */
27463     { (yyval.str) = (yyvsp[0].str); }
27464 #line 27465 "gram.c" /* yacc.c:1646  */
27465     break;
27466 
27467   case 224:
27468 #line 1670 "gram.y" /* yacc.c:1646  */
27469     {
27470 					(yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0]));
27471 				}
27472 #line 27473 "gram.c" /* yacc.c:1646  */
27473     break;
27474 
27475   case 225:
27476 #line 1674 "gram.y" /* yacc.c:1646  */
27477     {
27478 					(yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0]));
27479 				}
27480 #line 27481 "gram.c" /* yacc.c:1646  */
27481     break;
27482 
27483   case 226:
27484 #line 1678 "gram.y" /* yacc.c:1646  */
27485     {
27486 					TypeName *t = (yyvsp[-2].typnam);
27487 					if ((yyvsp[0].list) != NIL)
27488 					{
27489 						A_Const *n = (A_Const *) linitial((yyvsp[0].list));
27490 						if ((n->val.val.ival & ~(INTERVAL_MASK(HOUR) | INTERVAL_MASK(MINUTE))) != 0)
27491 							ereport(ERROR,
27492 									(errcode(ERRCODE_SYNTAX_ERROR),
27493 									 errmsg("time zone interval must be HOUR or HOUR TO MINUTE"),
27494 									 parser_errposition((yylsp[0]))));
27495 					}
27496 					t->typmods = (yyvsp[0].list);
27497 					(yyval.node) = makeStringConstCast((yyvsp[-1].str), (yylsp[-1]), t);
27498 				}
27499 #line 27500 "gram.c" /* yacc.c:1646  */
27500     break;
27501 
27502   case 227:
27503 #line 1693 "gram.y" /* yacc.c:1646  */
27504     {
27505 					TypeName *t = (yyvsp[-4].typnam);
27506 					t->typmods = list_make2(makeIntConst(INTERVAL_FULL_RANGE, -1),
27507 											makeIntConst((yyvsp[-2].ival), (yylsp[-2])));
27508 					(yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), t);
27509 				}
27510 #line 27511 "gram.c" /* yacc.c:1646  */
27511     break;
27512 
27513   case 228:
27514 #line 1699 "gram.y" /* yacc.c:1646  */
27515     { (yyval.node) = makeAConst((yyvsp[0].value), (yylsp[0])); }
27516 #line 27517 "gram.c" /* yacc.c:1646  */
27517     break;
27518 
27519   case 229:
27520 #line 1700 "gram.y" /* yacc.c:1646  */
27521     { (yyval.node) = NULL; }
27522 #line 27523 "gram.c" /* yacc.c:1646  */
27523     break;
27524 
27525   case 230:
27526 #line 1701 "gram.y" /* yacc.c:1646  */
27527     { (yyval.node) = NULL; }
27528 #line 27529 "gram.c" /* yacc.c:1646  */
27529     break;
27530 
27531   case 231:
27532 #line 1705 "gram.y" /* yacc.c:1646  */
27533     { (yyval.str) = (yyvsp[0].str); }
27534 #line 27535 "gram.c" /* yacc.c:1646  */
27535     break;
27536 
27537   case 232:
27538 #line 1706 "gram.y" /* yacc.c:1646  */
27539     { (yyval.str) = NULL; }
27540 #line 27541 "gram.c" /* yacc.c:1646  */
27541     break;
27542 
27543   case 233:
27544 #line 1707 "gram.y" /* yacc.c:1646  */
27545     { (yyval.str) = NULL; }
27546 #line 27547 "gram.c" /* yacc.c:1646  */
27547     break;
27548 
27549   case 234:
27550 #line 1711 "gram.y" /* yacc.c:1646  */
27551     { (yyval.str) = (yyvsp[0].str); }
27552 #line 27553 "gram.c" /* yacc.c:1646  */
27553     break;
27554 
27555   case 235:
27556 #line 1712 "gram.y" /* yacc.c:1646  */
27557     { (yyval.str) = (yyvsp[0].str); }
27558 #line 27559 "gram.c" /* yacc.c:1646  */
27559     break;
27560 
27561   case 236:
27562 #line 1716 "gram.y" /* yacc.c:1646  */
27563     { (yyval.node) = (Node *) (yyvsp[0].vsetstmt); }
27564 #line 27565 "gram.c" /* yacc.c:1646  */
27565     break;
27566 
27567   case 237:
27568 #line 1718 "gram.y" /* yacc.c:1646  */
27569     {
27570 					VariableSetStmt *n = (yyvsp[0].vsetstmt);
27571 					n->type = T_PgpoolVariableSetStmt; /* Hack to keep the changes minumum */
27572 					(yyval.node) = (Node *) n;
27573 				}
27574 #line 27575 "gram.c" /* yacc.c:1646  */
27575     break;
27576 
27577   case 238:
27578 #line 1726 "gram.y" /* yacc.c:1646  */
27579     { (yyval.vsetstmt) = (yyvsp[0].vsetstmt); }
27580 #line 27581 "gram.c" /* yacc.c:1646  */
27581     break;
27582 
27583   case 239:
27584 #line 1728 "gram.y" /* yacc.c:1646  */
27585     {
27586 					VariableSetStmt *n = makeNode(VariableSetStmt);
27587 					n->kind = VAR_RESET;
27588 					n->name = "timezone";
27589 					(yyval.vsetstmt) = n;
27590 				}
27591 #line 27592 "gram.c" /* yacc.c:1646  */
27592     break;
27593 
27594   case 240:
27595 #line 1735 "gram.y" /* yacc.c:1646  */
27596     {
27597 					VariableSetStmt *n = makeNode(VariableSetStmt);
27598 					n->kind = VAR_RESET;
27599 					n->name = "transaction_isolation";
27600 					(yyval.vsetstmt) = n;
27601 				}
27602 #line 27603 "gram.c" /* yacc.c:1646  */
27603     break;
27604 
27605   case 241:
27606 #line 1742 "gram.y" /* yacc.c:1646  */
27607     {
27608 					VariableSetStmt *n = makeNode(VariableSetStmt);
27609 					n->kind = VAR_RESET;
27610 					n->name = "session_authorization";
27611 					(yyval.vsetstmt) = n;
27612 				}
27613 #line 27614 "gram.c" /* yacc.c:1646  */
27614     break;
27615 
27616   case 242:
27617 #line 1752 "gram.y" /* yacc.c:1646  */
27618     {
27619 					VariableSetStmt *n = makeNode(VariableSetStmt);
27620 					n->kind = VAR_RESET;
27621 					n->name = (yyvsp[0].str);
27622 					(yyval.vsetstmt) = n;
27623 				}
27624 #line 27625 "gram.c" /* yacc.c:1646  */
27625     break;
27626 
27627   case 243:
27628 #line 1759 "gram.y" /* yacc.c:1646  */
27629     {
27630 					VariableSetStmt *n = makeNode(VariableSetStmt);
27631 					n->kind = VAR_RESET_ALL;
27632 					(yyval.vsetstmt) = n;
27633 				}
27634 #line 27635 "gram.c" /* yacc.c:1646  */
27635     break;
27636 
27637   case 244:
27638 #line 1768 "gram.y" /* yacc.c:1646  */
27639     { (yyval.vsetstmt) = (yyvsp[0].vsetstmt); }
27640 #line 27641 "gram.c" /* yacc.c:1646  */
27641     break;
27642 
27643   case 245:
27644 #line 1769 "gram.y" /* yacc.c:1646  */
27645     { (yyval.vsetstmt) = (VariableSetStmt *) (yyvsp[0].node); }
27646 #line 27647 "gram.c" /* yacc.c:1646  */
27647     break;
27648 
27649   case 246:
27650 #line 1774 "gram.y" /* yacc.c:1646  */
27651     { (yyval.vsetstmt) = (yyvsp[0].vsetstmt); }
27652 #line 27653 "gram.c" /* yacc.c:1646  */
27653     break;
27654 
27655   case 247:
27656 #line 1775 "gram.y" /* yacc.c:1646  */
27657     { (yyval.vsetstmt) = (VariableSetStmt *) (yyvsp[0].node); }
27658 #line 27659 "gram.c" /* yacc.c:1646  */
27659     break;
27660 
27661   case 248:
27662 #line 1782 "gram.y" /* yacc.c:1646  */
27663     {
27664 				VariableShowStmt *n = (VariableShowStmt *)newNode(sizeof(VariableShowStmt),T_PgpoolVariableShowStmt);
27665 				n->name = (yyvsp[0].str);
27666 				(yyval.node) = (Node *) n;
27667 			}
27668 #line 27669 "gram.c" /* yacc.c:1646  */
27669     break;
27670 
27671   case 249:
27672 #line 1788 "gram.y" /* yacc.c:1646  */
27673     {
27674 				VariableShowStmt *n = (VariableShowStmt *)newNode(sizeof(VariableShowStmt),T_PgpoolVariableShowStmt);
27675 				n->name = "all";
27676 				(yyval.node) = (Node *) n;
27677 			}
27678 #line 27679 "gram.c" /* yacc.c:1646  */
27679     break;
27680 
27681   case 250:
27682 #line 1794 "gram.y" /* yacc.c:1646  */
27683     {
27684 					VariableShowStmt *n = makeNode(VariableShowStmt);
27685 					n->name = (yyvsp[0].str);
27686 					(yyval.node) = (Node *) n;
27687 				}
27688 #line 27689 "gram.c" /* yacc.c:1646  */
27689     break;
27690 
27691   case 251:
27692 #line 1800 "gram.y" /* yacc.c:1646  */
27693     {
27694 					VariableShowStmt *n = makeNode(VariableShowStmt);
27695 					n->name = "timezone";
27696 					(yyval.node) = (Node *) n;
27697 				}
27698 #line 27699 "gram.c" /* yacc.c:1646  */
27699     break;
27700 
27701   case 252:
27702 #line 1806 "gram.y" /* yacc.c:1646  */
27703     {
27704 					VariableShowStmt *n = makeNode(VariableShowStmt);
27705 					n->name = "transaction_isolation";
27706 					(yyval.node) = (Node *) n;
27707 				}
27708 #line 27709 "gram.c" /* yacc.c:1646  */
27709     break;
27710 
27711   case 253:
27712 #line 1812 "gram.y" /* yacc.c:1646  */
27713     {
27714 					VariableShowStmt *n = makeNode(VariableShowStmt);
27715 					n->name = "session_authorization";
27716 					(yyval.node) = (Node *) n;
27717 				}
27718 #line 27719 "gram.c" /* yacc.c:1646  */
27719     break;
27720 
27721   case 254:
27722 #line 1818 "gram.y" /* yacc.c:1646  */
27723     {
27724 					VariableShowStmt *n = makeNode(VariableShowStmt);
27725 					n->name = "all";
27726 					(yyval.node) = (Node *) n;
27727 				}
27728 #line 27729 "gram.c" /* yacc.c:1646  */
27729     break;
27730 
27731   case 255:
27732 #line 1828 "gram.y" /* yacc.c:1646  */
27733     {
27734 					ConstraintsSetStmt *n = makeNode(ConstraintsSetStmt);
27735 					n->constraints = (yyvsp[-1].list);
27736 					n->deferred = (yyvsp[0].boolean);
27737 					(yyval.node) = (Node *) n;
27738 				}
27739 #line 27740 "gram.c" /* yacc.c:1646  */
27740     break;
27741 
27742   case 256:
27743 #line 1837 "gram.y" /* yacc.c:1646  */
27744     { (yyval.list) = NIL; }
27745 #line 27746 "gram.c" /* yacc.c:1646  */
27746     break;
27747 
27748   case 257:
27749 #line 1838 "gram.y" /* yacc.c:1646  */
27750     { (yyval.list) = (yyvsp[0].list); }
27751 #line 27752 "gram.c" /* yacc.c:1646  */
27752     break;
27753 
27754   case 258:
27755 #line 1842 "gram.y" /* yacc.c:1646  */
27756     { (yyval.boolean) = true; }
27757 #line 27758 "gram.c" /* yacc.c:1646  */
27758     break;
27759 
27760   case 259:
27761 #line 1843 "gram.y" /* yacc.c:1646  */
27762     { (yyval.boolean) = false; }
27763 #line 27764 "gram.c" /* yacc.c:1646  */
27764     break;
27765 
27766   case 260:
27767 #line 1852 "gram.y" /* yacc.c:1646  */
27768     {
27769 					CheckPointStmt *n = makeNode(CheckPointStmt);
27770 					(yyval.node) = (Node *)n;
27771 				}
27772 #line 27773 "gram.c" /* yacc.c:1646  */
27773     break;
27774 
27775   case 261:
27776 #line 1867 "gram.y" /* yacc.c:1646  */
27777     {
27778 					DiscardStmt *n = makeNode(DiscardStmt);
27779 					n->target = DISCARD_ALL;
27780 					(yyval.node) = (Node *) n;
27781 				}
27782 #line 27783 "gram.c" /* yacc.c:1646  */
27783     break;
27784 
27785   case 262:
27786 #line 1873 "gram.y" /* yacc.c:1646  */
27787     {
27788 					DiscardStmt *n = makeNode(DiscardStmt);
27789 					n->target = DISCARD_TEMP;
27790 					(yyval.node) = (Node *) n;
27791 				}
27792 #line 27793 "gram.c" /* yacc.c:1646  */
27793     break;
27794 
27795   case 263:
27796 #line 1879 "gram.y" /* yacc.c:1646  */
27797     {
27798 					DiscardStmt *n = makeNode(DiscardStmt);
27799 					n->target = DISCARD_TEMP;
27800 					(yyval.node) = (Node *) n;
27801 				}
27802 #line 27803 "gram.c" /* yacc.c:1646  */
27803     break;
27804 
27805   case 264:
27806 #line 1885 "gram.y" /* yacc.c:1646  */
27807     {
27808 					DiscardStmt *n = makeNode(DiscardStmt);
27809 					n->target = DISCARD_PLANS;
27810 					(yyval.node) = (Node *) n;
27811 				}
27812 #line 27813 "gram.c" /* yacc.c:1646  */
27813     break;
27814 
27815   case 265:
27816 #line 1891 "gram.y" /* yacc.c:1646  */
27817     {
27818 					DiscardStmt *n = makeNode(DiscardStmt);
27819 					n->target = DISCARD_SEQUENCES;
27820 					(yyval.node) = (Node *) n;
27821 				}
27822 #line 27823 "gram.c" /* yacc.c:1646  */
27823     break;
27824 
27825   case 266:
27826 #line 1910 "gram.y" /* yacc.c:1646  */
27827     {
27828 					AlterTableStmt *n = makeNode(AlterTableStmt);
27829 					n->relation = (yyvsp[-1].range);
27830 					n->cmds = (yyvsp[0].list);
27831 					n->relkind = OBJECT_TABLE;
27832 					n->missing_ok = false;
27833 					(yyval.node) = (Node *)n;
27834 				}
27835 #line 27836 "gram.c" /* yacc.c:1646  */
27836     break;
27837 
27838   case 267:
27839 #line 1919 "gram.y" /* yacc.c:1646  */
27840     {
27841 					AlterTableStmt *n = makeNode(AlterTableStmt);
27842 					n->relation = (yyvsp[-1].range);
27843 					n->cmds = (yyvsp[0].list);
27844 					n->relkind = OBJECT_TABLE;
27845 					n->missing_ok = true;
27846 					(yyval.node) = (Node *)n;
27847 				}
27848 #line 27849 "gram.c" /* yacc.c:1646  */
27849     break;
27850 
27851   case 268:
27852 #line 1928 "gram.y" /* yacc.c:1646  */
27853     {
27854 					AlterTableStmt *n = makeNode(AlterTableStmt);
27855 					n->relation = (yyvsp[-1].range);
27856 					n->cmds = list_make1((yyvsp[0].node));
27857 					n->relkind = OBJECT_TABLE;
27858 					n->missing_ok = false;
27859 					(yyval.node) = (Node *)n;
27860 				}
27861 #line 27862 "gram.c" /* yacc.c:1646  */
27862     break;
27863 
27864   case 269:
27865 #line 1937 "gram.y" /* yacc.c:1646  */
27866     {
27867 					AlterTableStmt *n = makeNode(AlterTableStmt);
27868 					n->relation = (yyvsp[-1].range);
27869 					n->cmds = list_make1((yyvsp[0].node));
27870 					n->relkind = OBJECT_TABLE;
27871 					n->missing_ok = true;
27872 					(yyval.node) = (Node *)n;
27873 				}
27874 #line 27875 "gram.c" /* yacc.c:1646  */
27875     break;
27876 
27877   case 270:
27878 #line 1946 "gram.y" /* yacc.c:1646  */
27879     {
27880 					AlterTableMoveAllStmt *n =
27881 						makeNode(AlterTableMoveAllStmt);
27882 					n->orig_tablespacename = (yyvsp[-4].str);
27883 					n->objtype = OBJECT_TABLE;
27884 					n->roles = NIL;
27885 					n->new_tablespacename = (yyvsp[-1].str);
27886 					n->nowait = (yyvsp[0].boolean);
27887 					(yyval.node) = (Node *)n;
27888 				}
27889 #line 27890 "gram.c" /* yacc.c:1646  */
27890     break;
27891 
27892   case 271:
27893 #line 1957 "gram.y" /* yacc.c:1646  */
27894     {
27895 					AlterTableMoveAllStmt *n =
27896 						makeNode(AlterTableMoveAllStmt);
27897 					n->orig_tablespacename = (yyvsp[-7].str);
27898 					n->objtype = OBJECT_TABLE;
27899 					n->roles = (yyvsp[-4].list);
27900 					n->new_tablespacename = (yyvsp[-1].str);
27901 					n->nowait = (yyvsp[0].boolean);
27902 					(yyval.node) = (Node *)n;
27903 				}
27904 #line 27905 "gram.c" /* yacc.c:1646  */
27905     break;
27906 
27907   case 272:
27908 #line 1968 "gram.y" /* yacc.c:1646  */
27909     {
27910 					AlterTableStmt *n = makeNode(AlterTableStmt);
27911 					n->relation = (yyvsp[-1].range);
27912 					n->cmds = (yyvsp[0].list);
27913 					n->relkind = OBJECT_INDEX;
27914 					n->missing_ok = false;
27915 					(yyval.node) = (Node *)n;
27916 				}
27917 #line 27918 "gram.c" /* yacc.c:1646  */
27918     break;
27919 
27920   case 273:
27921 #line 1977 "gram.y" /* yacc.c:1646  */
27922     {
27923 					AlterTableStmt *n = makeNode(AlterTableStmt);
27924 					n->relation = (yyvsp[-1].range);
27925 					n->cmds = (yyvsp[0].list);
27926 					n->relkind = OBJECT_INDEX;
27927 					n->missing_ok = true;
27928 					(yyval.node) = (Node *)n;
27929 				}
27930 #line 27931 "gram.c" /* yacc.c:1646  */
27931     break;
27932 
27933   case 274:
27934 #line 1986 "gram.y" /* yacc.c:1646  */
27935     {
27936 					AlterTableStmt *n = makeNode(AlterTableStmt);
27937 					n->relation = (yyvsp[-1].range);
27938 					n->cmds = list_make1((yyvsp[0].node));
27939 					n->relkind = OBJECT_INDEX;
27940 					n->missing_ok = false;
27941 					(yyval.node) = (Node *)n;
27942 				}
27943 #line 27944 "gram.c" /* yacc.c:1646  */
27944     break;
27945 
27946   case 275:
27947 #line 1995 "gram.y" /* yacc.c:1646  */
27948     {
27949 					AlterTableMoveAllStmt *n =
27950 						makeNode(AlterTableMoveAllStmt);
27951 					n->orig_tablespacename = (yyvsp[-4].str);
27952 					n->objtype = OBJECT_INDEX;
27953 					n->roles = NIL;
27954 					n->new_tablespacename = (yyvsp[-1].str);
27955 					n->nowait = (yyvsp[0].boolean);
27956 					(yyval.node) = (Node *)n;
27957 				}
27958 #line 27959 "gram.c" /* yacc.c:1646  */
27959     break;
27960 
27961   case 276:
27962 #line 2006 "gram.y" /* yacc.c:1646  */
27963     {
27964 					AlterTableMoveAllStmt *n =
27965 						makeNode(AlterTableMoveAllStmt);
27966 					n->orig_tablespacename = (yyvsp[-7].str);
27967 					n->objtype = OBJECT_INDEX;
27968 					n->roles = (yyvsp[-4].list);
27969 					n->new_tablespacename = (yyvsp[-1].str);
27970 					n->nowait = (yyvsp[0].boolean);
27971 					(yyval.node) = (Node *)n;
27972 				}
27973 #line 27974 "gram.c" /* yacc.c:1646  */
27974     break;
27975 
27976   case 277:
27977 #line 2017 "gram.y" /* yacc.c:1646  */
27978     {
27979 					AlterTableStmt *n = makeNode(AlterTableStmt);
27980 					n->relation = (yyvsp[-1].range);
27981 					n->cmds = (yyvsp[0].list);
27982 					n->relkind = OBJECT_SEQUENCE;
27983 					n->missing_ok = false;
27984 					(yyval.node) = (Node *)n;
27985 				}
27986 #line 27987 "gram.c" /* yacc.c:1646  */
27987     break;
27988 
27989   case 278:
27990 #line 2026 "gram.y" /* yacc.c:1646  */
27991     {
27992 					AlterTableStmt *n = makeNode(AlterTableStmt);
27993 					n->relation = (yyvsp[-1].range);
27994 					n->cmds = (yyvsp[0].list);
27995 					n->relkind = OBJECT_SEQUENCE;
27996 					n->missing_ok = true;
27997 					(yyval.node) = (Node *)n;
27998 				}
27999 #line 28000 "gram.c" /* yacc.c:1646  */
28000     break;
28001 
28002   case 279:
28003 #line 2035 "gram.y" /* yacc.c:1646  */
28004     {
28005 					AlterTableStmt *n = makeNode(AlterTableStmt);
28006 					n->relation = (yyvsp[-1].range);
28007 					n->cmds = (yyvsp[0].list);
28008 					n->relkind = OBJECT_VIEW;
28009 					n->missing_ok = false;
28010 					(yyval.node) = (Node *)n;
28011 				}
28012 #line 28013 "gram.c" /* yacc.c:1646  */
28013     break;
28014 
28015   case 280:
28016 #line 2044 "gram.y" /* yacc.c:1646  */
28017     {
28018 					AlterTableStmt *n = makeNode(AlterTableStmt);
28019 					n->relation = (yyvsp[-1].range);
28020 					n->cmds = (yyvsp[0].list);
28021 					n->relkind = OBJECT_VIEW;
28022 					n->missing_ok = true;
28023 					(yyval.node) = (Node *)n;
28024 				}
28025 #line 28026 "gram.c" /* yacc.c:1646  */
28026     break;
28027 
28028   case 281:
28029 #line 2053 "gram.y" /* yacc.c:1646  */
28030     {
28031 					AlterTableStmt *n = makeNode(AlterTableStmt);
28032 					n->relation = (yyvsp[-1].range);
28033 					n->cmds = (yyvsp[0].list);
28034 					n->relkind = OBJECT_MATVIEW;
28035 					n->missing_ok = false;
28036 					(yyval.node) = (Node *)n;
28037 				}
28038 #line 28039 "gram.c" /* yacc.c:1646  */
28039     break;
28040 
28041   case 282:
28042 #line 2062 "gram.y" /* yacc.c:1646  */
28043     {
28044 					AlterTableStmt *n = makeNode(AlterTableStmt);
28045 					n->relation = (yyvsp[-1].range);
28046 					n->cmds = (yyvsp[0].list);
28047 					n->relkind = OBJECT_MATVIEW;
28048 					n->missing_ok = true;
28049 					(yyval.node) = (Node *)n;
28050 				}
28051 #line 28052 "gram.c" /* yacc.c:1646  */
28052     break;
28053 
28054   case 283:
28055 #line 2071 "gram.y" /* yacc.c:1646  */
28056     {
28057 					AlterTableMoveAllStmt *n =
28058 						makeNode(AlterTableMoveAllStmt);
28059 					n->orig_tablespacename = (yyvsp[-4].str);
28060 					n->objtype = OBJECT_MATVIEW;
28061 					n->roles = NIL;
28062 					n->new_tablespacename = (yyvsp[-1].str);
28063 					n->nowait = (yyvsp[0].boolean);
28064 					(yyval.node) = (Node *)n;
28065 				}
28066 #line 28067 "gram.c" /* yacc.c:1646  */
28067     break;
28068 
28069   case 284:
28070 #line 2082 "gram.y" /* yacc.c:1646  */
28071     {
28072 					AlterTableMoveAllStmt *n =
28073 						makeNode(AlterTableMoveAllStmt);
28074 					n->orig_tablespacename = (yyvsp[-7].str);
28075 					n->objtype = OBJECT_MATVIEW;
28076 					n->roles = (yyvsp[-4].list);
28077 					n->new_tablespacename = (yyvsp[-1].str);
28078 					n->nowait = (yyvsp[0].boolean);
28079 					(yyval.node) = (Node *)n;
28080 				}
28081 #line 28082 "gram.c" /* yacc.c:1646  */
28082     break;
28083 
28084   case 285:
28085 #line 2095 "gram.y" /* yacc.c:1646  */
28086     { (yyval.list) = list_make1((yyvsp[0].node)); }
28087 #line 28088 "gram.c" /* yacc.c:1646  */
28088     break;
28089 
28090   case 286:
28091 #line 2096 "gram.y" /* yacc.c:1646  */
28092     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
28093 #line 28094 "gram.c" /* yacc.c:1646  */
28094     break;
28095 
28096   case 287:
28097 #line 2102 "gram.y" /* yacc.c:1646  */
28098     {
28099 					AlterTableCmd *n = makeNode(AlterTableCmd);
28100 					PartitionCmd *cmd = makeNode(PartitionCmd);
28101 
28102 					n->subtype = AT_AttachPartition;
28103 					cmd->name = (yyvsp[-1].range);
28104 					cmd->bound = (yyvsp[0].partboundspec);
28105 					n->def = (Node *) cmd;
28106 
28107 					(yyval.node) = (Node *) n;
28108 				}
28109 #line 28110 "gram.c" /* yacc.c:1646  */
28110     break;
28111 
28112   case 288:
28113 #line 2115 "gram.y" /* yacc.c:1646  */
28114     {
28115 					AlterTableCmd *n = makeNode(AlterTableCmd);
28116 					PartitionCmd *cmd = makeNode(PartitionCmd);
28117 
28118 					n->subtype = AT_DetachPartition;
28119 					cmd->name = (yyvsp[0].range);
28120 					cmd->bound = NULL;
28121 					n->def = (Node *) cmd;
28122 
28123 					(yyval.node) = (Node *) n;
28124 				}
28125 #line 28126 "gram.c" /* yacc.c:1646  */
28126     break;
28127 
28128   case 289:
28129 #line 2131 "gram.y" /* yacc.c:1646  */
28130     {
28131 					AlterTableCmd *n = makeNode(AlterTableCmd);
28132 					PartitionCmd *cmd = makeNode(PartitionCmd);
28133 
28134 					n->subtype = AT_AttachPartition;
28135 					cmd->name = (yyvsp[0].range);
28136 					cmd->bound = NULL;
28137 					n->def = (Node *) cmd;
28138 
28139 					(yyval.node) = (Node *) n;
28140 				}
28141 #line 28142 "gram.c" /* yacc.c:1646  */
28142     break;
28143 
28144   case 290:
28145 #line 2147 "gram.y" /* yacc.c:1646  */
28146     {
28147 					AlterTableCmd *n = makeNode(AlterTableCmd);
28148 					n->subtype = AT_AddColumn;
28149 					n->def = (yyvsp[0].node);
28150 					n->missing_ok = false;
28151 					(yyval.node) = (Node *)n;
28152 				}
28153 #line 28154 "gram.c" /* yacc.c:1646  */
28154     break;
28155 
28156   case 291:
28157 #line 2156 "gram.y" /* yacc.c:1646  */
28158     {
28159 					AlterTableCmd *n = makeNode(AlterTableCmd);
28160 					n->subtype = AT_AddColumn;
28161 					n->def = (yyvsp[0].node);
28162 					n->missing_ok = true;
28163 					(yyval.node) = (Node *)n;
28164 				}
28165 #line 28166 "gram.c" /* yacc.c:1646  */
28166     break;
28167 
28168   case 292:
28169 #line 2165 "gram.y" /* yacc.c:1646  */
28170     {
28171 					AlterTableCmd *n = makeNode(AlterTableCmd);
28172 					n->subtype = AT_AddColumn;
28173 					n->def = (yyvsp[0].node);
28174 					n->missing_ok = false;
28175 					(yyval.node) = (Node *)n;
28176 				}
28177 #line 28178 "gram.c" /* yacc.c:1646  */
28178     break;
28179 
28180   case 293:
28181 #line 2174 "gram.y" /* yacc.c:1646  */
28182     {
28183 					AlterTableCmd *n = makeNode(AlterTableCmd);
28184 					n->subtype = AT_AddColumn;
28185 					n->def = (yyvsp[0].node);
28186 					n->missing_ok = true;
28187 					(yyval.node) = (Node *)n;
28188 				}
28189 #line 28190 "gram.c" /* yacc.c:1646  */
28190     break;
28191 
28192   case 294:
28193 #line 2183 "gram.y" /* yacc.c:1646  */
28194     {
28195 					AlterTableCmd *n = makeNode(AlterTableCmd);
28196 					n->subtype = AT_ColumnDefault;
28197 					n->name = (yyvsp[-1].str);
28198 					n->def = (yyvsp[0].node);
28199 					(yyval.node) = (Node *)n;
28200 				}
28201 #line 28202 "gram.c" /* yacc.c:1646  */
28202     break;
28203 
28204   case 295:
28205 #line 2192 "gram.y" /* yacc.c:1646  */
28206     {
28207 					AlterTableCmd *n = makeNode(AlterTableCmd);
28208 					n->subtype = AT_DropNotNull;
28209 					n->name = (yyvsp[-3].str);
28210 					(yyval.node) = (Node *)n;
28211 				}
28212 #line 28213 "gram.c" /* yacc.c:1646  */
28213     break;
28214 
28215   case 296:
28216 #line 2200 "gram.y" /* yacc.c:1646  */
28217     {
28218 					AlterTableCmd *n = makeNode(AlterTableCmd);
28219 					n->subtype = AT_SetNotNull;
28220 					n->name = (yyvsp[-3].str);
28221 					(yyval.node) = (Node *)n;
28222 				}
28223 #line 28224 "gram.c" /* yacc.c:1646  */
28224     break;
28225 
28226   case 297:
28227 #line 2208 "gram.y" /* yacc.c:1646  */
28228     {
28229 					AlterTableCmd *n = makeNode(AlterTableCmd);
28230 					n->subtype = AT_DropExpression;
28231 					n->name = (yyvsp[-2].str);
28232 					(yyval.node) = (Node *)n;
28233 				}
28234 #line 28235 "gram.c" /* yacc.c:1646  */
28235     break;
28236 
28237   case 298:
28238 #line 2216 "gram.y" /* yacc.c:1646  */
28239     {
28240 					AlterTableCmd *n = makeNode(AlterTableCmd);
28241 					n->subtype = AT_DropExpression;
28242 					n->name = (yyvsp[-4].str);
28243 					n->missing_ok = true;
28244 					(yyval.node) = (Node *)n;
28245 				}
28246 #line 28247 "gram.c" /* yacc.c:1646  */
28247     break;
28248 
28249   case 299:
28250 #line 2225 "gram.y" /* yacc.c:1646  */
28251     {
28252 					AlterTableCmd *n = makeNode(AlterTableCmd);
28253 					n->subtype = AT_SetStatistics;
28254 					n->name = (yyvsp[-3].str);
28255 					n->def = (Node *) makeInteger((yyvsp[0].ival));
28256 					(yyval.node) = (Node *)n;
28257 				}
28258 #line 28259 "gram.c" /* yacc.c:1646  */
28259     break;
28260 
28261   case 300:
28262 #line 2234 "gram.y" /* yacc.c:1646  */
28263     {
28264 					AlterTableCmd *n = makeNode(AlterTableCmd);
28265 
28266 					if ((yyvsp[-3].ival) <= 0 || (yyvsp[-3].ival) > PG_INT16_MAX)
28267 						ereport(ERROR,
28268 								(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
28269 								 errmsg("column number must be in range from 1 to %d", PG_INT16_MAX),
28270 								 parser_errposition((yylsp[-3]))));
28271 
28272 					n->subtype = AT_SetStatistics;
28273 					n->num = (int16) (yyvsp[-3].ival);
28274 					n->def = (Node *) makeInteger((yyvsp[0].ival));
28275 					(yyval.node) = (Node *)n;
28276 				}
28277 #line 28278 "gram.c" /* yacc.c:1646  */
28278     break;
28279 
28280   case 301:
28281 #line 2250 "gram.y" /* yacc.c:1646  */
28282     {
28283 					AlterTableCmd *n = makeNode(AlterTableCmd);
28284 					n->subtype = AT_SetOptions;
28285 					n->name = (yyvsp[-2].str);
28286 					n->def = (Node *) (yyvsp[0].list);
28287 					(yyval.node) = (Node *)n;
28288 				}
28289 #line 28290 "gram.c" /* yacc.c:1646  */
28290     break;
28291 
28292   case 302:
28293 #line 2259 "gram.y" /* yacc.c:1646  */
28294     {
28295 					AlterTableCmd *n = makeNode(AlterTableCmd);
28296 					n->subtype = AT_ResetOptions;
28297 					n->name = (yyvsp[-2].str);
28298 					n->def = (Node *) (yyvsp[0].list);
28299 					(yyval.node) = (Node *)n;
28300 				}
28301 #line 28302 "gram.c" /* yacc.c:1646  */
28302     break;
28303 
28304   case 303:
28305 #line 2268 "gram.y" /* yacc.c:1646  */
28306     {
28307 					AlterTableCmd *n = makeNode(AlterTableCmd);
28308 					n->subtype = AT_SetStorage;
28309 					n->name = (yyvsp[-3].str);
28310 					n->def = (Node *) makeString((yyvsp[0].str));
28311 					(yyval.node) = (Node *)n;
28312 				}
28313 #line 28314 "gram.c" /* yacc.c:1646  */
28314     break;
28315 
28316   case 304:
28317 #line 2277 "gram.y" /* yacc.c:1646  */
28318     {
28319 					AlterTableCmd *n = makeNode(AlterTableCmd);
28320 					Constraint *c = makeNode(Constraint);
28321 
28322 					c->contype = CONSTR_IDENTITY;
28323 					c->generated_when = (yyvsp[-3].ival);
28324 					c->options = (yyvsp[0].list);
28325 					c->location = (yylsp[-4]);
28326 
28327 					n->subtype = AT_AddIdentity;
28328 					n->name = (yyvsp[-6].str);
28329 					n->def = (Node *) c;
28330 
28331 					(yyval.node) = (Node *)n;
28332 				}
28333 #line 28334 "gram.c" /* yacc.c:1646  */
28334     break;
28335 
28336   case 305:
28337 #line 2294 "gram.y" /* yacc.c:1646  */
28338     {
28339 					AlterTableCmd *n = makeNode(AlterTableCmd);
28340 					n->subtype = AT_SetIdentity;
28341 					n->name = (yyvsp[-1].str);
28342 					n->def = (Node *) (yyvsp[0].list);
28343 					(yyval.node) = (Node *)n;
28344 				}
28345 #line 28346 "gram.c" /* yacc.c:1646  */
28346     break;
28347 
28348   case 306:
28349 #line 2303 "gram.y" /* yacc.c:1646  */
28350     {
28351 					AlterTableCmd *n = makeNode(AlterTableCmd);
28352 					n->subtype = AT_DropIdentity;
28353 					n->name = (yyvsp[-2].str);
28354 					n->missing_ok = false;
28355 					(yyval.node) = (Node *)n;
28356 				}
28357 #line 28358 "gram.c" /* yacc.c:1646  */
28358     break;
28359 
28360   case 307:
28361 #line 2312 "gram.y" /* yacc.c:1646  */
28362     {
28363 					AlterTableCmd *n = makeNode(AlterTableCmd);
28364 					n->subtype = AT_DropIdentity;
28365 					n->name = (yyvsp[-4].str);
28366 					n->missing_ok = true;
28367 					(yyval.node) = (Node *)n;
28368 				}
28369 #line 28370 "gram.c" /* yacc.c:1646  */
28370     break;
28371 
28372   case 308:
28373 #line 2321 "gram.y" /* yacc.c:1646  */
28374     {
28375 					AlterTableCmd *n = makeNode(AlterTableCmd);
28376 					n->subtype = AT_DropColumn;
28377 					n->name = (yyvsp[-1].str);
28378 					n->behavior = (yyvsp[0].dbehavior);
28379 					n->missing_ok = true;
28380 					(yyval.node) = (Node *)n;
28381 				}
28382 #line 28383 "gram.c" /* yacc.c:1646  */
28383     break;
28384 
28385   case 309:
28386 #line 2331 "gram.y" /* yacc.c:1646  */
28387     {
28388 					AlterTableCmd *n = makeNode(AlterTableCmd);
28389 					n->subtype = AT_DropColumn;
28390 					n->name = (yyvsp[-1].str);
28391 					n->behavior = (yyvsp[0].dbehavior);
28392 					n->missing_ok = false;
28393 					(yyval.node) = (Node *)n;
28394 				}
28395 #line 28396 "gram.c" /* yacc.c:1646  */
28396     break;
28397 
28398   case 310:
28399 #line 2344 "gram.y" /* yacc.c:1646  */
28400     {
28401 					AlterTableCmd *n = makeNode(AlterTableCmd);
28402 					ColumnDef *def = makeNode(ColumnDef);
28403 					n->subtype = AT_AlterColumnType;
28404 					n->name = (yyvsp[-5].str);
28405 					n->def = (Node *) def;
28406 					/* We only use these fields of the ColumnDef node */
28407 					def->typeName = (yyvsp[-2].typnam);
28408 					def->collClause = (CollateClause *) (yyvsp[-1].node);
28409 					def->raw_default = (yyvsp[0].node);
28410 					def->location = (yylsp[-5]);
28411 					(yyval.node) = (Node *)n;
28412 				}
28413 #line 28414 "gram.c" /* yacc.c:1646  */
28414     break;
28415 
28416   case 311:
28417 #line 2359 "gram.y" /* yacc.c:1646  */
28418     {
28419 					AlterTableCmd *n = makeNode(AlterTableCmd);
28420 					n->subtype = AT_AlterColumnGenericOptions;
28421 					n->name = (yyvsp[-1].str);
28422 					n->def = (Node *) (yyvsp[0].list);
28423 					(yyval.node) = (Node *)n;
28424 				}
28425 #line 28426 "gram.c" /* yacc.c:1646  */
28426     break;
28427 
28428   case 312:
28429 #line 2368 "gram.y" /* yacc.c:1646  */
28430     {
28431 					AlterTableCmd *n = makeNode(AlterTableCmd);
28432 					n->subtype = AT_AddConstraint;
28433 					n->def = (yyvsp[0].node);
28434 					n->missing_ok = false;
28435 					(yyval.node) = (Node *)n;
28436 				}
28437 #line 28438 "gram.c" /* yacc.c:1646  */
28438     break;
28439 
28440   case 313:
28441 #line 2377 "gram.y" /* yacc.c:1646  */
28442     {
28443 					AlterTableCmd *n = makeNode(AlterTableCmd);
28444 					Constraint *c = makeNode(Constraint);
28445 					n->subtype = AT_AlterConstraint;
28446 					n->def = (Node *) c;
28447 					c->contype = CONSTR_FOREIGN; /* others not supported, yet */
28448 					c->conname = (yyvsp[-1].str);
28449 					processCASbits((yyvsp[0].ival), (yylsp[0]), "ALTER CONSTRAINT statement",
28450 									&c->deferrable,
28451 									&c->initdeferred,
28452 									NULL, NULL, yyscanner);
28453 					(yyval.node) = (Node *)n;
28454 				}
28455 #line 28456 "gram.c" /* yacc.c:1646  */
28456     break;
28457 
28458   case 314:
28459 #line 2392 "gram.y" /* yacc.c:1646  */
28460     {
28461 					AlterTableCmd *n = makeNode(AlterTableCmd);
28462 					n->subtype = AT_ValidateConstraint;
28463 					n->name = (yyvsp[0].str);
28464 					(yyval.node) = (Node *)n;
28465 				}
28466 #line 28467 "gram.c" /* yacc.c:1646  */
28467     break;
28468 
28469   case 315:
28470 #line 2400 "gram.y" /* yacc.c:1646  */
28471     {
28472 					AlterTableCmd *n = makeNode(AlterTableCmd);
28473 					n->subtype = AT_DropConstraint;
28474 					n->name = (yyvsp[-1].str);
28475 					n->behavior = (yyvsp[0].dbehavior);
28476 					n->missing_ok = true;
28477 					(yyval.node) = (Node *)n;
28478 				}
28479 #line 28480 "gram.c" /* yacc.c:1646  */
28480     break;
28481 
28482   case 316:
28483 #line 2410 "gram.y" /* yacc.c:1646  */
28484     {
28485 					AlterTableCmd *n = makeNode(AlterTableCmd);
28486 					n->subtype = AT_DropConstraint;
28487 					n->name = (yyvsp[-1].str);
28488 					n->behavior = (yyvsp[0].dbehavior);
28489 					n->missing_ok = false;
28490 					(yyval.node) = (Node *)n;
28491 				}
28492 #line 28493 "gram.c" /* yacc.c:1646  */
28493     break;
28494 
28495   case 317:
28496 #line 2420 "gram.y" /* yacc.c:1646  */
28497     {
28498 					AlterTableCmd *n = makeNode(AlterTableCmd);
28499 					n->subtype = AT_DropOids;
28500 					(yyval.node) = (Node *)n;
28501 				}
28502 #line 28503 "gram.c" /* yacc.c:1646  */
28503     break;
28504 
28505   case 318:
28506 #line 2427 "gram.y" /* yacc.c:1646  */
28507     {
28508 					AlterTableCmd *n = makeNode(AlterTableCmd);
28509 					n->subtype = AT_ClusterOn;
28510 					n->name = (yyvsp[0].str);
28511 					(yyval.node) = (Node *)n;
28512 				}
28513 #line 28514 "gram.c" /* yacc.c:1646  */
28514     break;
28515 
28516   case 319:
28517 #line 2435 "gram.y" /* yacc.c:1646  */
28518     {
28519 					AlterTableCmd *n = makeNode(AlterTableCmd);
28520 					n->subtype = AT_DropCluster;
28521 					n->name = NULL;
28522 					(yyval.node) = (Node *)n;
28523 				}
28524 #line 28525 "gram.c" /* yacc.c:1646  */
28525     break;
28526 
28527   case 320:
28528 #line 2443 "gram.y" /* yacc.c:1646  */
28529     {
28530 					AlterTableCmd *n = makeNode(AlterTableCmd);
28531 					n->subtype = AT_SetLogged;
28532 					(yyval.node) = (Node *)n;
28533 				}
28534 #line 28535 "gram.c" /* yacc.c:1646  */
28535     break;
28536 
28537   case 321:
28538 #line 2450 "gram.y" /* yacc.c:1646  */
28539     {
28540 					AlterTableCmd *n = makeNode(AlterTableCmd);
28541 					n->subtype = AT_SetUnLogged;
28542 					(yyval.node) = (Node *)n;
28543 				}
28544 #line 28545 "gram.c" /* yacc.c:1646  */
28545     break;
28546 
28547   case 322:
28548 #line 2457 "gram.y" /* yacc.c:1646  */
28549     {
28550 					AlterTableCmd *n = makeNode(AlterTableCmd);
28551 					n->subtype = AT_EnableTrig;
28552 					n->name = (yyvsp[0].str);
28553 					(yyval.node) = (Node *)n;
28554 				}
28555 #line 28556 "gram.c" /* yacc.c:1646  */
28556     break;
28557 
28558   case 323:
28559 #line 2465 "gram.y" /* yacc.c:1646  */
28560     {
28561 					AlterTableCmd *n = makeNode(AlterTableCmd);
28562 					n->subtype = AT_EnableAlwaysTrig;
28563 					n->name = (yyvsp[0].str);
28564 					(yyval.node) = (Node *)n;
28565 				}
28566 #line 28567 "gram.c" /* yacc.c:1646  */
28567     break;
28568 
28569   case 324:
28570 #line 2473 "gram.y" /* yacc.c:1646  */
28571     {
28572 					AlterTableCmd *n = makeNode(AlterTableCmd);
28573 					n->subtype = AT_EnableReplicaTrig;
28574 					n->name = (yyvsp[0].str);
28575 					(yyval.node) = (Node *)n;
28576 				}
28577 #line 28578 "gram.c" /* yacc.c:1646  */
28578     break;
28579 
28580   case 325:
28581 #line 2481 "gram.y" /* yacc.c:1646  */
28582     {
28583 					AlterTableCmd *n = makeNode(AlterTableCmd);
28584 					n->subtype = AT_EnableTrigAll;
28585 					(yyval.node) = (Node *)n;
28586 				}
28587 #line 28588 "gram.c" /* yacc.c:1646  */
28588     break;
28589 
28590   case 326:
28591 #line 2488 "gram.y" /* yacc.c:1646  */
28592     {
28593 					AlterTableCmd *n = makeNode(AlterTableCmd);
28594 					n->subtype = AT_EnableTrigUser;
28595 					(yyval.node) = (Node *)n;
28596 				}
28597 #line 28598 "gram.c" /* yacc.c:1646  */
28598     break;
28599 
28600   case 327:
28601 #line 2495 "gram.y" /* yacc.c:1646  */
28602     {
28603 					AlterTableCmd *n = makeNode(AlterTableCmd);
28604 					n->subtype = AT_DisableTrig;
28605 					n->name = (yyvsp[0].str);
28606 					(yyval.node) = (Node *)n;
28607 				}
28608 #line 28609 "gram.c" /* yacc.c:1646  */
28609     break;
28610 
28611   case 328:
28612 #line 2503 "gram.y" /* yacc.c:1646  */
28613     {
28614 					AlterTableCmd *n = makeNode(AlterTableCmd);
28615 					n->subtype = AT_DisableTrigAll;
28616 					(yyval.node) = (Node *)n;
28617 				}
28618 #line 28619 "gram.c" /* yacc.c:1646  */
28619     break;
28620 
28621   case 329:
28622 #line 2510 "gram.y" /* yacc.c:1646  */
28623     {
28624 					AlterTableCmd *n = makeNode(AlterTableCmd);
28625 					n->subtype = AT_DisableTrigUser;
28626 					(yyval.node) = (Node *)n;
28627 				}
28628 #line 28629 "gram.c" /* yacc.c:1646  */
28629     break;
28630 
28631   case 330:
28632 #line 2517 "gram.y" /* yacc.c:1646  */
28633     {
28634 					AlterTableCmd *n = makeNode(AlterTableCmd);
28635 					n->subtype = AT_EnableRule;
28636 					n->name = (yyvsp[0].str);
28637 					(yyval.node) = (Node *)n;
28638 				}
28639 #line 28640 "gram.c" /* yacc.c:1646  */
28640     break;
28641 
28642   case 331:
28643 #line 2525 "gram.y" /* yacc.c:1646  */
28644     {
28645 					AlterTableCmd *n = makeNode(AlterTableCmd);
28646 					n->subtype = AT_EnableAlwaysRule;
28647 					n->name = (yyvsp[0].str);
28648 					(yyval.node) = (Node *)n;
28649 				}
28650 #line 28651 "gram.c" /* yacc.c:1646  */
28651     break;
28652 
28653   case 332:
28654 #line 2533 "gram.y" /* yacc.c:1646  */
28655     {
28656 					AlterTableCmd *n = makeNode(AlterTableCmd);
28657 					n->subtype = AT_EnableReplicaRule;
28658 					n->name = (yyvsp[0].str);
28659 					(yyval.node) = (Node *)n;
28660 				}
28661 #line 28662 "gram.c" /* yacc.c:1646  */
28662     break;
28663 
28664   case 333:
28665 #line 2541 "gram.y" /* yacc.c:1646  */
28666     {
28667 					AlterTableCmd *n = makeNode(AlterTableCmd);
28668 					n->subtype = AT_DisableRule;
28669 					n->name = (yyvsp[0].str);
28670 					(yyval.node) = (Node *)n;
28671 				}
28672 #line 28673 "gram.c" /* yacc.c:1646  */
28673     break;
28674 
28675   case 334:
28676 #line 2549 "gram.y" /* yacc.c:1646  */
28677     {
28678 					AlterTableCmd *n = makeNode(AlterTableCmd);
28679 					n->subtype = AT_AddInherit;
28680 					n->def = (Node *) (yyvsp[0].range);
28681 					(yyval.node) = (Node *)n;
28682 				}
28683 #line 28684 "gram.c" /* yacc.c:1646  */
28684     break;
28685 
28686   case 335:
28687 #line 2557 "gram.y" /* yacc.c:1646  */
28688     {
28689 					AlterTableCmd *n = makeNode(AlterTableCmd);
28690 					n->subtype = AT_DropInherit;
28691 					n->def = (Node *) (yyvsp[0].range);
28692 					(yyval.node) = (Node *)n;
28693 				}
28694 #line 28695 "gram.c" /* yacc.c:1646  */
28695     break;
28696 
28697   case 336:
28698 #line 2565 "gram.y" /* yacc.c:1646  */
28699     {
28700 					AlterTableCmd *n = makeNode(AlterTableCmd);
28701 					TypeName *def = makeTypeNameFromNameList((yyvsp[0].list));
28702 					def->location = (yylsp[0]);
28703 					n->subtype = AT_AddOf;
28704 					n->def = (Node *) def;
28705 					(yyval.node) = (Node *)n;
28706 				}
28707 #line 28708 "gram.c" /* yacc.c:1646  */
28708     break;
28709 
28710   case 337:
28711 #line 2575 "gram.y" /* yacc.c:1646  */
28712     {
28713 					AlterTableCmd *n = makeNode(AlterTableCmd);
28714 					n->subtype = AT_DropOf;
28715 					(yyval.node) = (Node *)n;
28716 				}
28717 #line 28718 "gram.c" /* yacc.c:1646  */
28718     break;
28719 
28720   case 338:
28721 #line 2582 "gram.y" /* yacc.c:1646  */
28722     {
28723 					AlterTableCmd *n = makeNode(AlterTableCmd);
28724 					n->subtype = AT_ChangeOwner;
28725 					n->newowner = (yyvsp[0].rolespec);
28726 					(yyval.node) = (Node *)n;
28727 				}
28728 #line 28729 "gram.c" /* yacc.c:1646  */
28729     break;
28730 
28731   case 339:
28732 #line 2590 "gram.y" /* yacc.c:1646  */
28733     {
28734 					AlterTableCmd *n = makeNode(AlterTableCmd);
28735 					n->subtype = AT_SetTableSpace;
28736 					n->name = (yyvsp[0].str);
28737 					(yyval.node) = (Node *)n;
28738 				}
28739 #line 28740 "gram.c" /* yacc.c:1646  */
28740     break;
28741 
28742   case 340:
28743 #line 2598 "gram.y" /* yacc.c:1646  */
28744     {
28745 					AlterTableCmd *n = makeNode(AlterTableCmd);
28746 					n->subtype = AT_SetRelOptions;
28747 					n->def = (Node *)(yyvsp[0].list);
28748 					(yyval.node) = (Node *)n;
28749 				}
28750 #line 28751 "gram.c" /* yacc.c:1646  */
28751     break;
28752 
28753   case 341:
28754 #line 2606 "gram.y" /* yacc.c:1646  */
28755     {
28756 					AlterTableCmd *n = makeNode(AlterTableCmd);
28757 					n->subtype = AT_ResetRelOptions;
28758 					n->def = (Node *)(yyvsp[0].list);
28759 					(yyval.node) = (Node *)n;
28760 				}
28761 #line 28762 "gram.c" /* yacc.c:1646  */
28762     break;
28763 
28764   case 342:
28765 #line 2614 "gram.y" /* yacc.c:1646  */
28766     {
28767 					AlterTableCmd *n = makeNode(AlterTableCmd);
28768 					n->subtype = AT_ReplicaIdentity;
28769 					n->def = (yyvsp[0].node);
28770 					(yyval.node) = (Node *)n;
28771 				}
28772 #line 28773 "gram.c" /* yacc.c:1646  */
28773     break;
28774 
28775   case 343:
28776 #line 2622 "gram.y" /* yacc.c:1646  */
28777     {
28778 					AlterTableCmd *n = makeNode(AlterTableCmd);
28779 					n->subtype = AT_EnableRowSecurity;
28780 					(yyval.node) = (Node *)n;
28781 				}
28782 #line 28783 "gram.c" /* yacc.c:1646  */
28783     break;
28784 
28785   case 344:
28786 #line 2629 "gram.y" /* yacc.c:1646  */
28787     {
28788 					AlterTableCmd *n = makeNode(AlterTableCmd);
28789 					n->subtype = AT_DisableRowSecurity;
28790 					(yyval.node) = (Node *)n;
28791 				}
28792 #line 28793 "gram.c" /* yacc.c:1646  */
28793     break;
28794 
28795   case 345:
28796 #line 2636 "gram.y" /* yacc.c:1646  */
28797     {
28798 					AlterTableCmd *n = makeNode(AlterTableCmd);
28799 					n->subtype = AT_ForceRowSecurity;
28800 					(yyval.node) = (Node *)n;
28801 				}
28802 #line 28803 "gram.c" /* yacc.c:1646  */
28803     break;
28804 
28805   case 346:
28806 #line 2643 "gram.y" /* yacc.c:1646  */
28807     {
28808 					AlterTableCmd *n = makeNode(AlterTableCmd);
28809 					n->subtype = AT_NoForceRowSecurity;
28810 					(yyval.node) = (Node *)n;
28811 				}
28812 #line 28813 "gram.c" /* yacc.c:1646  */
28813     break;
28814 
28815   case 347:
28816 #line 2649 "gram.y" /* yacc.c:1646  */
28817     {
28818 					AlterTableCmd *n = makeNode(AlterTableCmd);
28819 					n->subtype = AT_GenericOptions;
28820 					n->def = (Node *)(yyvsp[0].list);
28821 					(yyval.node) = (Node *) n;
28822 				}
28823 #line 28824 "gram.c" /* yacc.c:1646  */
28824     break;
28825 
28826   case 348:
28827 #line 2658 "gram.y" /* yacc.c:1646  */
28828     { (yyval.node) = (yyvsp[0].node); }
28829 #line 28830 "gram.c" /* yacc.c:1646  */
28830     break;
28831 
28832   case 349:
28833 #line 2659 "gram.y" /* yacc.c:1646  */
28834     { (yyval.node) = NULL; }
28835 #line 28836 "gram.c" /* yacc.c:1646  */
28836     break;
28837 
28838   case 350:
28839 #line 2663 "gram.y" /* yacc.c:1646  */
28840     { (yyval.dbehavior) = DROP_CASCADE; }
28841 #line 28842 "gram.c" /* yacc.c:1646  */
28842     break;
28843 
28844   case 351:
28845 #line 2664 "gram.y" /* yacc.c:1646  */
28846     { (yyval.dbehavior) = DROP_RESTRICT; }
28847 #line 28848 "gram.c" /* yacc.c:1646  */
28848     break;
28849 
28850   case 352:
28851 #line 2665 "gram.y" /* yacc.c:1646  */
28852     { (yyval.dbehavior) = DROP_RESTRICT; /* default */ }
28853 #line 28854 "gram.c" /* yacc.c:1646  */
28854     break;
28855 
28856   case 353:
28857 #line 2670 "gram.y" /* yacc.c:1646  */
28858     {
28859 					CollateClause *n = makeNode(CollateClause);
28860 					n->arg = NULL;
28861 					n->collname = (yyvsp[0].list);
28862 					n->location = (yylsp[-1]);
28863 					(yyval.node) = (Node *) n;
28864 				}
28865 #line 28866 "gram.c" /* yacc.c:1646  */
28866     break;
28867 
28868   case 354:
28869 #line 2677 "gram.y" /* yacc.c:1646  */
28870     { (yyval.node) = NULL; }
28871 #line 28872 "gram.c" /* yacc.c:1646  */
28872     break;
28873 
28874   case 355:
28875 #line 2681 "gram.y" /* yacc.c:1646  */
28876     { (yyval.node) = (yyvsp[0].node); }
28877 #line 28878 "gram.c" /* yacc.c:1646  */
28878     break;
28879 
28880   case 356:
28881 #line 2682 "gram.y" /* yacc.c:1646  */
28882     { (yyval.node) = NULL; }
28883 #line 28884 "gram.c" /* yacc.c:1646  */
28884     break;
28885 
28886   case 357:
28887 #line 2687 "gram.y" /* yacc.c:1646  */
28888     {
28889 					ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
28890 					n->identity_type = REPLICA_IDENTITY_NOTHING;
28891 					n->name = NULL;
28892 					(yyval.node) = (Node *) n;
28893 				}
28894 #line 28895 "gram.c" /* yacc.c:1646  */
28895     break;
28896 
28897   case 358:
28898 #line 2694 "gram.y" /* yacc.c:1646  */
28899     {
28900 					ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
28901 					n->identity_type = REPLICA_IDENTITY_FULL;
28902 					n->name = NULL;
28903 					(yyval.node) = (Node *) n;
28904 				}
28905 #line 28906 "gram.c" /* yacc.c:1646  */
28906     break;
28907 
28908   case 359:
28909 #line 2701 "gram.y" /* yacc.c:1646  */
28910     {
28911 					ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
28912 					n->identity_type = REPLICA_IDENTITY_DEFAULT;
28913 					n->name = NULL;
28914 					(yyval.node) = (Node *) n;
28915 				}
28916 #line 28917 "gram.c" /* yacc.c:1646  */
28917     break;
28918 
28919   case 360:
28920 #line 2708 "gram.y" /* yacc.c:1646  */
28921     {
28922 					ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
28923 					n->identity_type = REPLICA_IDENTITY_INDEX;
28924 					n->name = (yyvsp[0].str);
28925 					(yyval.node) = (Node *) n;
28926 				}
28927 #line 28928 "gram.c" /* yacc.c:1646  */
28928     break;
28929 
28930   case 361:
28931 #line 2717 "gram.y" /* yacc.c:1646  */
28932     { (yyval.list) = (yyvsp[-1].list); }
28933 #line 28934 "gram.c" /* yacc.c:1646  */
28934     break;
28935 
28936   case 362:
28937 #line 2720 "gram.y" /* yacc.c:1646  */
28938     { (yyval.list) = (yyvsp[0].list); }
28939 #line 28940 "gram.c" /* yacc.c:1646  */
28940     break;
28941 
28942   case 363:
28943 #line 2721 "gram.y" /* yacc.c:1646  */
28944     { (yyval.list) = NIL; }
28945 #line 28946 "gram.c" /* yacc.c:1646  */
28946     break;
28947 
28948   case 364:
28949 #line 2725 "gram.y" /* yacc.c:1646  */
28950     { (yyval.list) = list_make1((yyvsp[0].defelt)); }
28951 #line 28952 "gram.c" /* yacc.c:1646  */
28952     break;
28953 
28954   case 365:
28955 #line 2726 "gram.y" /* yacc.c:1646  */
28956     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
28957 #line 28958 "gram.c" /* yacc.c:1646  */
28958     break;
28959 
28960   case 366:
28961 #line 2732 "gram.y" /* yacc.c:1646  */
28962     {
28963 					(yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *) (yyvsp[0].node), (yylsp[-2]));
28964 				}
28965 #line 28966 "gram.c" /* yacc.c:1646  */
28966     break;
28967 
28968   case 367:
28969 #line 2736 "gram.y" /* yacc.c:1646  */
28970     {
28971 					(yyval.defelt) = makeDefElem((yyvsp[0].str), NULL, (yylsp[0]));
28972 				}
28973 #line 28974 "gram.c" /* yacc.c:1646  */
28974     break;
28975 
28976   case 368:
28977 #line 2740 "gram.y" /* yacc.c:1646  */
28978     {
28979 					(yyval.defelt) = makeDefElemExtended((yyvsp[-4].str), (yyvsp[-2].str), (Node *) (yyvsp[0].node),
28980 											 DEFELEM_UNSPEC, (yylsp[-4]));
28981 				}
28982 #line 28983 "gram.c" /* yacc.c:1646  */
28983     break;
28984 
28985   case 369:
28986 #line 2745 "gram.y" /* yacc.c:1646  */
28987     {
28988 					(yyval.defelt) = makeDefElemExtended((yyvsp[-2].str), (yyvsp[0].str), NULL, DEFELEM_UNSPEC, (yylsp[-2]));
28989 				}
28990 #line 28991 "gram.c" /* yacc.c:1646  */
28991     break;
28992 
28993   case 370:
28994 #line 2752 "gram.y" /* yacc.c:1646  */
28995     { (yyval.list) = list_make1((yyvsp[0].defelt)); }
28996 #line 28997 "gram.c" /* yacc.c:1646  */
28997     break;
28998 
28999   case 371:
29000 #line 2754 "gram.y" /* yacc.c:1646  */
29001     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
29002 #line 29003 "gram.c" /* yacc.c:1646  */
29003     break;
29004 
29005   case 372:
29006 #line 2759 "gram.y" /* yacc.c:1646  */
29007     {
29008 					(yyval.defelt) = makeDefElem("restart", NULL, (yylsp[0]));
29009 				}
29010 #line 29011 "gram.c" /* yacc.c:1646  */
29011     break;
29012 
29013   case 373:
29014 #line 2763 "gram.y" /* yacc.c:1646  */
29015     {
29016 					(yyval.defelt) = makeDefElem("restart", (Node *)(yyvsp[0].value), (yylsp[-2]));
29017 				}
29018 #line 29019 "gram.c" /* yacc.c:1646  */
29019     break;
29020 
29021   case 374:
29022 #line 2767 "gram.y" /* yacc.c:1646  */
29023     {
29024 					if (strcmp((yyvsp[0].defelt)->defname, "as") == 0 ||
29025 						strcmp((yyvsp[0].defelt)->defname, "restart") == 0 ||
29026 						strcmp((yyvsp[0].defelt)->defname, "owned_by") == 0)
29027 						ereport(ERROR,
29028 								(errcode(ERRCODE_SYNTAX_ERROR),
29029 								 errmsg("sequence option \"%s\" not supported here", (yyvsp[0].defelt)->defname),
29030 								 parser_errposition((yylsp[0]))));
29031 					(yyval.defelt) = (yyvsp[0].defelt);
29032 				}
29033 #line 29034 "gram.c" /* yacc.c:1646  */
29034     break;
29035 
29036   case 375:
29037 #line 2778 "gram.y" /* yacc.c:1646  */
29038     {
29039 					(yyval.defelt) = makeDefElem("generated", (Node *) makeInteger((yyvsp[0].ival)), (yylsp[-2]));
29040 				}
29041 #line 29042 "gram.c" /* yacc.c:1646  */
29042     break;
29043 
29044   case 376:
29045 #line 2786 "gram.y" /* yacc.c:1646  */
29046     {
29047 					ListCell   *lc;
29048 					PartitionBoundSpec *n = makeNode(PartitionBoundSpec);
29049 
29050 					n->strategy = PARTITION_STRATEGY_HASH;
29051 					n->modulus = n->remainder = -1;
29052 
29053 					foreach (lc, (yyvsp[-1].list))
29054 					{
29055 						DefElem    *opt = lfirst_node(DefElem, lc);
29056 
29057 						if (strcmp(opt->defname, "modulus") == 0)
29058 						{
29059 							if (n->modulus != -1)
29060 								ereport(ERROR,
29061 										(errcode(ERRCODE_DUPLICATE_OBJECT),
29062 										 errmsg("modulus for hash partition provided more than once"),
29063 										 parser_errposition(opt->location)));
29064 							n->modulus = defGetInt32(opt);
29065 						}
29066 						else if (strcmp(opt->defname, "remainder") == 0)
29067 						{
29068 							if (n->remainder != -1)
29069 								ereport(ERROR,
29070 										(errcode(ERRCODE_DUPLICATE_OBJECT),
29071 										 errmsg("remainder for hash partition provided more than once"),
29072 										 parser_errposition(opt->location)));
29073 							n->remainder = defGetInt32(opt);
29074 						}
29075 						else
29076 							ereport(ERROR,
29077 									(errcode(ERRCODE_SYNTAX_ERROR),
29078 									 errmsg("unrecognized hash partition bound specification \"%s\"",
29079 											opt->defname),
29080 									 parser_errposition(opt->location)));
29081 					}
29082 
29083 					if (n->modulus == -1)
29084 						ereport(ERROR,
29085 								(errcode(ERRCODE_SYNTAX_ERROR),
29086 								 errmsg("modulus for hash partition must be specified")));
29087 					if (n->remainder == -1)
29088 						ereport(ERROR,
29089 								(errcode(ERRCODE_SYNTAX_ERROR),
29090 								 errmsg("remainder for hash partition must be specified")));
29091 
29092 					n->location = (yylsp[-3]);
29093 
29094 					(yyval.partboundspec) = n;
29095 				}
29096 #line 29097 "gram.c" /* yacc.c:1646  */
29097     break;
29098 
29099   case 377:
29100 #line 2839 "gram.y" /* yacc.c:1646  */
29101     {
29102 					PartitionBoundSpec *n = makeNode(PartitionBoundSpec);
29103 
29104 					n->strategy = PARTITION_STRATEGY_LIST;
29105 					n->is_default = false;
29106 					n->listdatums = (yyvsp[-1].list);
29107 					n->location = (yylsp[-3]);
29108 
29109 					(yyval.partboundspec) = n;
29110 				}
29111 #line 29112 "gram.c" /* yacc.c:1646  */
29112     break;
29113 
29114   case 378:
29115 #line 2852 "gram.y" /* yacc.c:1646  */
29116     {
29117 					PartitionBoundSpec *n = makeNode(PartitionBoundSpec);
29118 
29119 					n->strategy = PARTITION_STRATEGY_RANGE;
29120 					n->is_default = false;
29121 					n->lowerdatums = (yyvsp[-5].list);
29122 					n->upperdatums = (yyvsp[-1].list);
29123 					n->location = (yylsp[-7]);
29124 
29125 					(yyval.partboundspec) = n;
29126 				}
29127 #line 29128 "gram.c" /* yacc.c:1646  */
29128     break;
29129 
29130   case 379:
29131 #line 2866 "gram.y" /* yacc.c:1646  */
29132     {
29133 					PartitionBoundSpec *n = makeNode(PartitionBoundSpec);
29134 
29135 					n->is_default = true;
29136 					n->location = (yylsp[0]);
29137 
29138 					(yyval.partboundspec) = n;
29139 				}
29140 #line 29141 "gram.c" /* yacc.c:1646  */
29141     break;
29142 
29143   case 380:
29144 #line 2878 "gram.y" /* yacc.c:1646  */
29145     {
29146 				(yyval.defelt) = makeDefElem((yyvsp[-1].str), (Node *)makeInteger((yyvsp[0].ival)), (yylsp[-1]));
29147 			}
29148 #line 29149 "gram.c" /* yacc.c:1646  */
29149     break;
29150 
29151   case 381:
29152 #line 2885 "gram.y" /* yacc.c:1646  */
29153     {
29154 				(yyval.list) = list_make1((yyvsp[0].defelt));
29155 			}
29156 #line 29157 "gram.c" /* yacc.c:1646  */
29157     break;
29158 
29159   case 382:
29160 #line 2889 "gram.y" /* yacc.c:1646  */
29161     {
29162 				(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
29163 			}
29164 #line 29165 "gram.c" /* yacc.c:1646  */
29165     break;
29166 
29167   case 383:
29168 #line 2903 "gram.y" /* yacc.c:1646  */
29169     {
29170 					AlterTableStmt *n = makeNode(AlterTableStmt);
29171 
29172 					/* can't use qualified_name, sigh */
29173 					n->relation = makeRangeVarFromAnyName((yyvsp[-1].list), (yylsp[-1]), yyscanner);
29174 					n->cmds = (yyvsp[0].list);
29175 					n->relkind = OBJECT_TYPE;
29176 					(yyval.node) = (Node *)n;
29177 				}
29178 #line 29179 "gram.c" /* yacc.c:1646  */
29179     break;
29180 
29181   case 384:
29182 #line 2915 "gram.y" /* yacc.c:1646  */
29183     { (yyval.list) = list_make1((yyvsp[0].node)); }
29184 #line 29185 "gram.c" /* yacc.c:1646  */
29185     break;
29186 
29187   case 385:
29188 #line 2916 "gram.y" /* yacc.c:1646  */
29189     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
29190 #line 29191 "gram.c" /* yacc.c:1646  */
29191     break;
29192 
29193   case 386:
29194 #line 2922 "gram.y" /* yacc.c:1646  */
29195     {
29196 					AlterTableCmd *n = makeNode(AlterTableCmd);
29197 					n->subtype = AT_AddColumn;
29198 					n->def = (yyvsp[-1].node);
29199 					n->behavior = (yyvsp[0].dbehavior);
29200 					(yyval.node) = (Node *)n;
29201 				}
29202 #line 29203 "gram.c" /* yacc.c:1646  */
29203     break;
29204 
29205   case 387:
29206 #line 2931 "gram.y" /* yacc.c:1646  */
29207     {
29208 					AlterTableCmd *n = makeNode(AlterTableCmd);
29209 					n->subtype = AT_DropColumn;
29210 					n->name = (yyvsp[-1].str);
29211 					n->behavior = (yyvsp[0].dbehavior);
29212 					n->missing_ok = true;
29213 					(yyval.node) = (Node *)n;
29214 				}
29215 #line 29216 "gram.c" /* yacc.c:1646  */
29216     break;
29217 
29218   case 388:
29219 #line 2941 "gram.y" /* yacc.c:1646  */
29220     {
29221 					AlterTableCmd *n = makeNode(AlterTableCmd);
29222 					n->subtype = AT_DropColumn;
29223 					n->name = (yyvsp[-1].str);
29224 					n->behavior = (yyvsp[0].dbehavior);
29225 					n->missing_ok = false;
29226 					(yyval.node) = (Node *)n;
29227 				}
29228 #line 29229 "gram.c" /* yacc.c:1646  */
29229     break;
29230 
29231   case 389:
29232 #line 2951 "gram.y" /* yacc.c:1646  */
29233     {
29234 					AlterTableCmd *n = makeNode(AlterTableCmd);
29235 					ColumnDef *def = makeNode(ColumnDef);
29236 					n->subtype = AT_AlterColumnType;
29237 					n->name = (yyvsp[-5].str);
29238 					n->def = (Node *) def;
29239 					n->behavior = (yyvsp[0].dbehavior);
29240 					/* We only use these fields of the ColumnDef node */
29241 					def->typeName = (yyvsp[-2].typnam);
29242 					def->collClause = (CollateClause *) (yyvsp[-1].node);
29243 					def->raw_default = NULL;
29244 					def->location = (yylsp[-5]);
29245 					(yyval.node) = (Node *)n;
29246 				}
29247 #line 29248 "gram.c" /* yacc.c:1646  */
29248     break;
29249 
29250   case 390:
29251 #line 2977 "gram.y" /* yacc.c:1646  */
29252     {
29253 					ClosePortalStmt *n = makeNode(ClosePortalStmt);
29254 					n->portalname = (yyvsp[0].str);
29255 					(yyval.node) = (Node *)n;
29256 				}
29257 #line 29258 "gram.c" /* yacc.c:1646  */
29258     break;
29259 
29260   case 391:
29261 #line 2983 "gram.y" /* yacc.c:1646  */
29262     {
29263 					ClosePortalStmt *n = makeNode(ClosePortalStmt);
29264 					n->portalname = NULL;
29265 					(yyval.node) = (Node *)n;
29266 				}
29267 #line 29268 "gram.c" /* yacc.c:1646  */
29268     break;
29269 
29270   case 392:
29271 #line 3018 "gram.y" /* yacc.c:1646  */
29272     {
29273 					CopyStmt *n = makeNode(CopyStmt);
29274 					n->relation = (yyvsp[-8].range);
29275 					n->query = NULL;
29276 					n->attlist = (yyvsp[-7].list);
29277 					n->is_from = (yyvsp[-6].boolean);
29278 					n->is_program = (yyvsp[-5].boolean);
29279 					n->filename = (yyvsp[-4].str);
29280 					n->whereClause = (yyvsp[0].node);
29281 
29282 					if (n->is_program && n->filename == NULL)
29283 						ereport(ERROR,
29284 								(errcode(ERRCODE_SYNTAX_ERROR),
29285 								 errmsg("STDIN/STDOUT not allowed with PROGRAM"),
29286 								 parser_errposition((yylsp[-3]))));
29287 
29288 					if (!n->is_from && n->whereClause != NULL)
29289 						ereport(ERROR,
29290 								(errcode(ERRCODE_SYNTAX_ERROR),
29291 								 errmsg("WHERE clause not allowed with COPY TO"),
29292 								 parser_errposition((yylsp[0]))));
29293 
29294 					n->options = NIL;
29295 					/* Concatenate user-supplied flags */
29296 					if ((yyvsp[-9].defelt))
29297 						n->options = lappend(n->options, (yyvsp[-9].defelt));
29298 					if ((yyvsp[-3].defelt))
29299 						n->options = lappend(n->options, (yyvsp[-3].defelt));
29300 					if ((yyvsp[-1].list))
29301 						n->options = list_concat(n->options, (yyvsp[-1].list));
29302 					(yyval.node) = (Node *)n;
29303 				}
29304 #line 29305 "gram.c" /* yacc.c:1646  */
29305     break;
29306 
29307   case 393:
29308 #line 3051 "gram.y" /* yacc.c:1646  */
29309     {
29310 					CopyStmt *n = makeNode(CopyStmt);
29311 					n->relation = NULL;
29312 					n->query = (yyvsp[-6].node);
29313 					n->attlist = NIL;
29314 					n->is_from = false;
29315 					n->is_program = (yyvsp[-3].boolean);
29316 					n->filename = (yyvsp[-2].str);
29317 					n->options = (yyvsp[0].list);
29318 
29319 					if (n->is_program && n->filename == NULL)
29320 						ereport(ERROR,
29321 								(errcode(ERRCODE_SYNTAX_ERROR),
29322 								 errmsg("STDIN/STDOUT not allowed with PROGRAM"),
29323 								 parser_errposition((yylsp[-4]))));
29324 
29325 					(yyval.node) = (Node *)n;
29326 				}
29327 #line 29328 "gram.c" /* yacc.c:1646  */
29328     break;
29329 
29330   case 394:
29331 #line 3072 "gram.y" /* yacc.c:1646  */
29332     { (yyval.boolean) = true; }
29333 #line 29334 "gram.c" /* yacc.c:1646  */
29334     break;
29335 
29336   case 395:
29337 #line 3073 "gram.y" /* yacc.c:1646  */
29338     { (yyval.boolean) = false; }
29339 #line 29340 "gram.c" /* yacc.c:1646  */
29340     break;
29341 
29342   case 396:
29343 #line 3077 "gram.y" /* yacc.c:1646  */
29344     { (yyval.boolean) = true; }
29345 #line 29346 "gram.c" /* yacc.c:1646  */
29346     break;
29347 
29348   case 397:
29349 #line 3078 "gram.y" /* yacc.c:1646  */
29350     { (yyval.boolean) = false; }
29351 #line 29352 "gram.c" /* yacc.c:1646  */
29352     break;
29353 
29354   case 398:
29355 #line 3087 "gram.y" /* yacc.c:1646  */
29356     { (yyval.str) = (yyvsp[0].str); }
29357 #line 29358 "gram.c" /* yacc.c:1646  */
29358     break;
29359 
29360   case 399:
29361 #line 3088 "gram.y" /* yacc.c:1646  */
29362     { (yyval.str) = NULL; }
29363 #line 29364 "gram.c" /* yacc.c:1646  */
29364     break;
29365 
29366   case 400:
29367 #line 3089 "gram.y" /* yacc.c:1646  */
29368     { (yyval.str) = NULL; }
29369 #line 29370 "gram.c" /* yacc.c:1646  */
29370     break;
29371 
29372   case 401:
29373 #line 3092 "gram.y" /* yacc.c:1646  */
29374     { (yyval.list) = (yyvsp[0].list); }
29375 #line 29376 "gram.c" /* yacc.c:1646  */
29376     break;
29377 
29378   case 402:
29379 #line 3093 "gram.y" /* yacc.c:1646  */
29380     { (yyval.list) = (yyvsp[-1].list); }
29381 #line 29382 "gram.c" /* yacc.c:1646  */
29382     break;
29383 
29384   case 403:
29385 #line 3098 "gram.y" /* yacc.c:1646  */
29386     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
29387 #line 29388 "gram.c" /* yacc.c:1646  */
29388     break;
29389 
29390   case 404:
29391 #line 3099 "gram.y" /* yacc.c:1646  */
29392     { (yyval.list) = NIL; }
29393 #line 29394 "gram.c" /* yacc.c:1646  */
29394     break;
29395 
29396   case 405:
29397 #line 3104 "gram.y" /* yacc.c:1646  */
29398     {
29399 					(yyval.defelt) = makeDefElem("format", (Node *)makeString("binary"), (yylsp[0]));
29400 				}
29401 #line 29402 "gram.c" /* yacc.c:1646  */
29402     break;
29403 
29404   case 406:
29405 #line 3108 "gram.y" /* yacc.c:1646  */
29406     {
29407 					(yyval.defelt) = makeDefElem("freeze", (Node *)makeInteger(true), (yylsp[0]));
29408 				}
29409 #line 29410 "gram.c" /* yacc.c:1646  */
29410     break;
29411 
29412   case 407:
29413 #line 3112 "gram.y" /* yacc.c:1646  */
29414     {
29415 					(yyval.defelt) = makeDefElem("delimiter", (Node *)makeString((yyvsp[0].str)), (yylsp[-2]));
29416 				}
29417 #line 29418 "gram.c" /* yacc.c:1646  */
29418     break;
29419 
29420   case 408:
29421 #line 3116 "gram.y" /* yacc.c:1646  */
29422     {
29423 					(yyval.defelt) = makeDefElem("null", (Node *)makeString((yyvsp[0].str)), (yylsp[-2]));
29424 				}
29425 #line 29426 "gram.c" /* yacc.c:1646  */
29426     break;
29427 
29428   case 409:
29429 #line 3120 "gram.y" /* yacc.c:1646  */
29430     {
29431 					(yyval.defelt) = makeDefElem("format", (Node *)makeString("csv"), (yylsp[0]));
29432 				}
29433 #line 29434 "gram.c" /* yacc.c:1646  */
29434     break;
29435 
29436   case 410:
29437 #line 3124 "gram.y" /* yacc.c:1646  */
29438     {
29439 					(yyval.defelt) = makeDefElem("header", (Node *)makeInteger(true), (yylsp[0]));
29440 				}
29441 #line 29442 "gram.c" /* yacc.c:1646  */
29442     break;
29443 
29444   case 411:
29445 #line 3128 "gram.y" /* yacc.c:1646  */
29446     {
29447 					(yyval.defelt) = makeDefElem("quote", (Node *)makeString((yyvsp[0].str)), (yylsp[-2]));
29448 				}
29449 #line 29450 "gram.c" /* yacc.c:1646  */
29450     break;
29451 
29452   case 412:
29453 #line 3132 "gram.y" /* yacc.c:1646  */
29454     {
29455 					(yyval.defelt) = makeDefElem("escape", (Node *)makeString((yyvsp[0].str)), (yylsp[-2]));
29456 				}
29457 #line 29458 "gram.c" /* yacc.c:1646  */
29458     break;
29459 
29460   case 413:
29461 #line 3136 "gram.y" /* yacc.c:1646  */
29462     {
29463 					(yyval.defelt) = makeDefElem("force_quote", (Node *)(yyvsp[0].list), (yylsp[-2]));
29464 				}
29465 #line 29466 "gram.c" /* yacc.c:1646  */
29466     break;
29467 
29468   case 414:
29469 #line 3140 "gram.y" /* yacc.c:1646  */
29470     {
29471 					(yyval.defelt) = makeDefElem("force_quote", (Node *)makeNode(A_Star), (yylsp[-2]));
29472 				}
29473 #line 29474 "gram.c" /* yacc.c:1646  */
29474     break;
29475 
29476   case 415:
29477 #line 3144 "gram.y" /* yacc.c:1646  */
29478     {
29479 					(yyval.defelt) = makeDefElem("force_not_null", (Node *)(yyvsp[0].list), (yylsp[-3]));
29480 				}
29481 #line 29482 "gram.c" /* yacc.c:1646  */
29482     break;
29483 
29484   case 416:
29485 #line 3148 "gram.y" /* yacc.c:1646  */
29486     {
29487 					(yyval.defelt) = makeDefElem("force_null", (Node *)(yyvsp[0].list), (yylsp[-2]));
29488 				}
29489 #line 29490 "gram.c" /* yacc.c:1646  */
29490     break;
29491 
29492   case 417:
29493 #line 3152 "gram.y" /* yacc.c:1646  */
29494     {
29495 					(yyval.defelt) = makeDefElem("encoding", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
29496 				}
29497 #line 29498 "gram.c" /* yacc.c:1646  */
29498     break;
29499 
29500   case 418:
29501 #line 3161 "gram.y" /* yacc.c:1646  */
29502     {
29503 					(yyval.defelt) = makeDefElem("format", (Node *)makeString("binary"), (yylsp[0]));
29504 				}
29505 #line 29506 "gram.c" /* yacc.c:1646  */
29506     break;
29507 
29508   case 419:
29509 #line 3164 "gram.y" /* yacc.c:1646  */
29510     { (yyval.defelt) = NULL; }
29511 #line 29512 "gram.c" /* yacc.c:1646  */
29512     break;
29513 
29514   case 420:
29515 #line 3169 "gram.y" /* yacc.c:1646  */
29516     {
29517 					(yyval.defelt) = makeDefElem("delimiter", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
29518 				}
29519 #line 29520 "gram.c" /* yacc.c:1646  */
29520     break;
29521 
29522   case 421:
29523 #line 3172 "gram.y" /* yacc.c:1646  */
29524     { (yyval.defelt) = NULL; }
29525 #line 29526 "gram.c" /* yacc.c:1646  */
29526     break;
29527 
29528   case 422:
29529 #line 3176 "gram.y" /* yacc.c:1646  */
29530     {}
29531 #line 29532 "gram.c" /* yacc.c:1646  */
29532     break;
29533 
29534   case 423:
29535 #line 3177 "gram.y" /* yacc.c:1646  */
29536     {}
29537 #line 29538 "gram.c" /* yacc.c:1646  */
29538     break;
29539 
29540   case 424:
29541 #line 3183 "gram.y" /* yacc.c:1646  */
29542     {
29543 					(yyval.list) = list_make1((yyvsp[0].defelt));
29544 				}
29545 #line 29546 "gram.c" /* yacc.c:1646  */
29546     break;
29547 
29548   case 425:
29549 #line 3187 "gram.y" /* yacc.c:1646  */
29550     {
29551 					(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
29552 				}
29553 #line 29554 "gram.c" /* yacc.c:1646  */
29554     break;
29555 
29556   case 426:
29557 #line 3194 "gram.y" /* yacc.c:1646  */
29558     {
29559 					(yyval.defelt) = makeDefElem((yyvsp[-1].str), (yyvsp[0].node), (yylsp[-1]));
29560 				}
29561 #line 29562 "gram.c" /* yacc.c:1646  */
29562     break;
29563 
29564   case 427:
29565 #line 3200 "gram.y" /* yacc.c:1646  */
29566     { (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
29567 #line 29568 "gram.c" /* yacc.c:1646  */
29568     break;
29569 
29570   case 428:
29571 #line 3201 "gram.y" /* yacc.c:1646  */
29572     { (yyval.node) = (Node *) (yyvsp[0].value); }
29573 #line 29574 "gram.c" /* yacc.c:1646  */
29574     break;
29575 
29576   case 429:
29577 #line 3202 "gram.y" /* yacc.c:1646  */
29578     { (yyval.node) = (Node *) makeNode(A_Star); }
29579 #line 29580 "gram.c" /* yacc.c:1646  */
29580     break;
29581 
29582   case 430:
29583 #line 3203 "gram.y" /* yacc.c:1646  */
29584     { (yyval.node) = (Node *) (yyvsp[-1].list); }
29585 #line 29586 "gram.c" /* yacc.c:1646  */
29586     break;
29587 
29588   case 431:
29589 #line 3204 "gram.y" /* yacc.c:1646  */
29590     { (yyval.node) = NULL; }
29591 #line 29592 "gram.c" /* yacc.c:1646  */
29592     break;
29593 
29594   case 432:
29595 #line 3209 "gram.y" /* yacc.c:1646  */
29596     {
29597 					(yyval.list) = list_make1((yyvsp[0].node));
29598 				}
29599 #line 29600 "gram.c" /* yacc.c:1646  */
29600     break;
29601 
29602   case 433:
29603 #line 3213 "gram.y" /* yacc.c:1646  */
29604     {
29605 					(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
29606 				}
29607 #line 29608 "gram.c" /* yacc.c:1646  */
29608     break;
29609 
29610   case 434:
29611 #line 3220 "gram.y" /* yacc.c:1646  */
29612     { (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
29613 #line 29614 "gram.c" /* yacc.c:1646  */
29614     break;
29615 
29616   case 435:
29617 #line 3234 "gram.y" /* yacc.c:1646  */
29618     {
29619 					CreateStmt *n = makeNode(CreateStmt);
29620 					(yyvsp[-9].range)->relpersistence = (yyvsp[-11].ival);
29621 					n->relation = (yyvsp[-9].range);
29622 					n->tableElts = (yyvsp[-7].list);
29623 					n->inhRelations = (yyvsp[-5].list);
29624 					n->partspec = (yyvsp[-4].partspec);
29625 					n->ofTypename = NULL;
29626 					n->constraints = NIL;
29627 					n->accessMethod = (yyvsp[-3].str);
29628 					n->options = (yyvsp[-2].list);
29629 					n->oncommit = (yyvsp[-1].oncommit);
29630 					n->tablespacename = (yyvsp[0].str);
29631 					n->if_not_exists = false;
29632 					(yyval.node) = (Node *)n;
29633 				}
29634 #line 29635 "gram.c" /* yacc.c:1646  */
29635     break;
29636 
29637   case 436:
29638 #line 3253 "gram.y" /* yacc.c:1646  */
29639     {
29640 					CreateStmt *n = makeNode(CreateStmt);
29641 					(yyvsp[-9].range)->relpersistence = (yyvsp[-14].ival);
29642 					n->relation = (yyvsp[-9].range);
29643 					n->tableElts = (yyvsp[-7].list);
29644 					n->inhRelations = (yyvsp[-5].list);
29645 					n->partspec = (yyvsp[-4].partspec);
29646 					n->ofTypename = NULL;
29647 					n->constraints = NIL;
29648 					n->accessMethod = (yyvsp[-3].str);
29649 					n->options = (yyvsp[-2].list);
29650 					n->oncommit = (yyvsp[-1].oncommit);
29651 					n->tablespacename = (yyvsp[0].str);
29652 					n->if_not_exists = true;
29653 					(yyval.node) = (Node *)n;
29654 				}
29655 #line 29656 "gram.c" /* yacc.c:1646  */
29656     break;
29657 
29658   case 437:
29659 #line 3272 "gram.y" /* yacc.c:1646  */
29660     {
29661 					CreateStmt *n = makeNode(CreateStmt);
29662 					(yyvsp[-8].range)->relpersistence = (yyvsp[-10].ival);
29663 					n->relation = (yyvsp[-8].range);
29664 					n->tableElts = (yyvsp[-5].list);
29665 					n->inhRelations = NIL;
29666 					n->partspec = (yyvsp[-4].partspec);
29667 					n->ofTypename = makeTypeNameFromNameList((yyvsp[-6].list));
29668 					n->ofTypename->location = (yylsp[-6]);
29669 					n->constraints = NIL;
29670 					n->accessMethod = (yyvsp[-3].str);
29671 					n->options = (yyvsp[-2].list);
29672 					n->oncommit = (yyvsp[-1].oncommit);
29673 					n->tablespacename = (yyvsp[0].str);
29674 					n->if_not_exists = false;
29675 					(yyval.node) = (Node *)n;
29676 				}
29677 #line 29678 "gram.c" /* yacc.c:1646  */
29678     break;
29679 
29680   case 438:
29681 #line 3292 "gram.y" /* yacc.c:1646  */
29682     {
29683 					CreateStmt *n = makeNode(CreateStmt);
29684 					(yyvsp[-8].range)->relpersistence = (yyvsp[-13].ival);
29685 					n->relation = (yyvsp[-8].range);
29686 					n->tableElts = (yyvsp[-5].list);
29687 					n->inhRelations = NIL;
29688 					n->partspec = (yyvsp[-4].partspec);
29689 					n->ofTypename = makeTypeNameFromNameList((yyvsp[-6].list));
29690 					n->ofTypename->location = (yylsp[-6]);
29691 					n->constraints = NIL;
29692 					n->accessMethod = (yyvsp[-3].str);
29693 					n->options = (yyvsp[-2].list);
29694 					n->oncommit = (yyvsp[-1].oncommit);
29695 					n->tablespacename = (yyvsp[0].str);
29696 					n->if_not_exists = true;
29697 					(yyval.node) = (Node *)n;
29698 				}
29699 #line 29700 "gram.c" /* yacc.c:1646  */
29700     break;
29701 
29702   case 439:
29703 #line 3312 "gram.y" /* yacc.c:1646  */
29704     {
29705 					CreateStmt *n = makeNode(CreateStmt);
29706 					(yyvsp[-10].range)->relpersistence = (yyvsp[-12].ival);
29707 					n->relation = (yyvsp[-10].range);
29708 					n->tableElts = (yyvsp[-6].list);
29709 					n->inhRelations = list_make1((yyvsp[-7].range));
29710 					n->partbound = (yyvsp[-5].partboundspec);
29711 					n->partspec = (yyvsp[-4].partspec);
29712 					n->ofTypename = NULL;
29713 					n->constraints = NIL;
29714 					n->accessMethod = (yyvsp[-3].str);
29715 					n->options = (yyvsp[-2].list);
29716 					n->oncommit = (yyvsp[-1].oncommit);
29717 					n->tablespacename = (yyvsp[0].str);
29718 					n->if_not_exists = false;
29719 					(yyval.node) = (Node *)n;
29720 				}
29721 #line 29722 "gram.c" /* yacc.c:1646  */
29722     break;
29723 
29724   case 440:
29725 #line 3332 "gram.y" /* yacc.c:1646  */
29726     {
29727 					CreateStmt *n = makeNode(CreateStmt);
29728 					(yyvsp[-10].range)->relpersistence = (yyvsp[-15].ival);
29729 					n->relation = (yyvsp[-10].range);
29730 					n->tableElts = (yyvsp[-6].list);
29731 					n->inhRelations = list_make1((yyvsp[-7].range));
29732 					n->partbound = (yyvsp[-5].partboundspec);
29733 					n->partspec = (yyvsp[-4].partspec);
29734 					n->ofTypename = NULL;
29735 					n->constraints = NIL;
29736 					n->accessMethod = (yyvsp[-3].str);
29737 					n->options = (yyvsp[-2].list);
29738 					n->oncommit = (yyvsp[-1].oncommit);
29739 					n->tablespacename = (yyvsp[0].str);
29740 					n->if_not_exists = true;
29741 					(yyval.node) = (Node *)n;
29742 				}
29743 #line 29744 "gram.c" /* yacc.c:1646  */
29744     break;
29745 
29746   case 441:
29747 #line 3362 "gram.y" /* yacc.c:1646  */
29748     { (yyval.ival) = RELPERSISTENCE_TEMP; }
29749 #line 29750 "gram.c" /* yacc.c:1646  */
29750     break;
29751 
29752   case 442:
29753 #line 3363 "gram.y" /* yacc.c:1646  */
29754     { (yyval.ival) = RELPERSISTENCE_TEMP; }
29755 #line 29756 "gram.c" /* yacc.c:1646  */
29756     break;
29757 
29758   case 443:
29759 #line 3364 "gram.y" /* yacc.c:1646  */
29760     { (yyval.ival) = RELPERSISTENCE_TEMP; }
29761 #line 29762 "gram.c" /* yacc.c:1646  */
29762     break;
29763 
29764   case 444:
29765 #line 3365 "gram.y" /* yacc.c:1646  */
29766     { (yyval.ival) = RELPERSISTENCE_TEMP; }
29767 #line 29768 "gram.c" /* yacc.c:1646  */
29768     break;
29769 
29770   case 445:
29771 #line 3367 "gram.y" /* yacc.c:1646  */
29772     {
29773 					ereport(WARNING,
29774 							(errmsg("GLOBAL is deprecated in temporary table creation"),
29775 							 parser_errposition((yylsp[-1]))));
29776 					(yyval.ival) = RELPERSISTENCE_TEMP;
29777 				}
29778 #line 29779 "gram.c" /* yacc.c:1646  */
29779     break;
29780 
29781   case 446:
29782 #line 3374 "gram.y" /* yacc.c:1646  */
29783     {
29784 					ereport(WARNING,
29785 							(errmsg("GLOBAL is deprecated in temporary table creation"),
29786 							 parser_errposition((yylsp[-1]))));
29787 					(yyval.ival) = RELPERSISTENCE_TEMP;
29788 				}
29789 #line 29790 "gram.c" /* yacc.c:1646  */
29790     break;
29791 
29792   case 447:
29793 #line 3380 "gram.y" /* yacc.c:1646  */
29794     { (yyval.ival) = RELPERSISTENCE_UNLOGGED; }
29795 #line 29796 "gram.c" /* yacc.c:1646  */
29796     break;
29797 
29798   case 448:
29799 #line 3381 "gram.y" /* yacc.c:1646  */
29800     { (yyval.ival) = RELPERSISTENCE_PERMANENT; }
29801 #line 29802 "gram.c" /* yacc.c:1646  */
29802     break;
29803 
29804   case 449:
29805 #line 3385 "gram.y" /* yacc.c:1646  */
29806     { (yyval.list) = (yyvsp[0].list); }
29807 #line 29808 "gram.c" /* yacc.c:1646  */
29808     break;
29809 
29810   case 450:
29811 #line 3386 "gram.y" /* yacc.c:1646  */
29812     { (yyval.list) = NIL; }
29813 #line 29814 "gram.c" /* yacc.c:1646  */
29814     break;
29815 
29816   case 451:
29817 #line 3390 "gram.y" /* yacc.c:1646  */
29818     { (yyval.list) = (yyvsp[-1].list); }
29819 #line 29820 "gram.c" /* yacc.c:1646  */
29820     break;
29821 
29822   case 452:
29823 #line 3391 "gram.y" /* yacc.c:1646  */
29824     { (yyval.list) = NIL; }
29825 #line 29826 "gram.c" /* yacc.c:1646  */
29826     break;
29827 
29828   case 453:
29829 #line 3396 "gram.y" /* yacc.c:1646  */
29830     {
29831 					(yyval.list) = list_make1((yyvsp[0].node));
29832 				}
29833 #line 29834 "gram.c" /* yacc.c:1646  */
29834     break;
29835 
29836   case 454:
29837 #line 3400 "gram.y" /* yacc.c:1646  */
29838     {
29839 					(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
29840 				}
29841 #line 29842 "gram.c" /* yacc.c:1646  */
29842     break;
29843 
29844   case 455:
29845 #line 3407 "gram.y" /* yacc.c:1646  */
29846     {
29847 					(yyval.list) = list_make1((yyvsp[0].node));
29848 				}
29849 #line 29850 "gram.c" /* yacc.c:1646  */
29850     break;
29851 
29852   case 456:
29853 #line 3411 "gram.y" /* yacc.c:1646  */
29854     {
29855 					(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
29856 				}
29857 #line 29858 "gram.c" /* yacc.c:1646  */
29858     break;
29859 
29860   case 457:
29861 #line 3417 "gram.y" /* yacc.c:1646  */
29862     { (yyval.node) = (yyvsp[0].node); }
29863 #line 29864 "gram.c" /* yacc.c:1646  */
29864     break;
29865 
29866   case 458:
29867 #line 3418 "gram.y" /* yacc.c:1646  */
29868     { (yyval.node) = (yyvsp[0].node); }
29869 #line 29870 "gram.c" /* yacc.c:1646  */
29870     break;
29871 
29872   case 459:
29873 #line 3419 "gram.y" /* yacc.c:1646  */
29874     { (yyval.node) = (yyvsp[0].node); }
29875 #line 29876 "gram.c" /* yacc.c:1646  */
29876     break;
29877 
29878   case 460:
29879 #line 3423 "gram.y" /* yacc.c:1646  */
29880     { (yyval.node) = (yyvsp[0].node); }
29881 #line 29882 "gram.c" /* yacc.c:1646  */
29882     break;
29883 
29884   case 461:
29885 #line 3424 "gram.y" /* yacc.c:1646  */
29886     { (yyval.node) = (yyvsp[0].node); }
29887 #line 29888 "gram.c" /* yacc.c:1646  */
29888     break;
29889 
29890   case 462:
29891 #line 3428 "gram.y" /* yacc.c:1646  */
29892     {
29893 					ColumnDef *n = makeNode(ColumnDef);
29894 					n->colname = (yyvsp[-3].str);
29895 					n->typeName = (yyvsp[-2].typnam);
29896 					n->inhcount = 0;
29897 					n->is_local = true;
29898 					n->is_not_null = false;
29899 					n->is_from_type = false;
29900 					n->storage = 0;
29901 					n->raw_default = NULL;
29902 					n->cooked_default = NULL;
29903 					n->collOid = InvalidOid;
29904 					n->fdwoptions = (yyvsp[-1].list);
29905 					SplitColQualList((yyvsp[0].list), &n->constraints, &n->collClause,
29906 									 yyscanner);
29907 					n->location = (yylsp[-3]);
29908 					(yyval.node) = (Node *)n;
29909 				}
29910 #line 29911 "gram.c" /* yacc.c:1646  */
29911     break;
29912 
29913   case 463:
29914 #line 3449 "gram.y" /* yacc.c:1646  */
29915     {
29916 					ColumnDef *n = makeNode(ColumnDef);
29917 					n->colname = (yyvsp[-1].str);
29918 					n->typeName = NULL;
29919 					n->inhcount = 0;
29920 					n->is_local = true;
29921 					n->is_not_null = false;
29922 					n->is_from_type = false;
29923 					n->storage = 0;
29924 					n->raw_default = NULL;
29925 					n->cooked_default = NULL;
29926 					n->collOid = InvalidOid;
29927 					SplitColQualList((yyvsp[0].list), &n->constraints, &n->collClause,
29928 									 yyscanner);
29929 					n->location = (yylsp[-1]);
29930 					(yyval.node) = (Node *)n;
29931 				}
29932 #line 29933 "gram.c" /* yacc.c:1646  */
29933     break;
29934 
29935   case 464:
29936 #line 3467 "gram.y" /* yacc.c:1646  */
29937     {
29938 					ColumnDef *n = makeNode(ColumnDef);
29939 					n->colname = (yyvsp[-3].str);
29940 					n->typeName = NULL;
29941 					n->inhcount = 0;
29942 					n->is_local = true;
29943 					n->is_not_null = false;
29944 					n->is_from_type = false;
29945 					n->storage = 0;
29946 					n->raw_default = NULL;
29947 					n->cooked_default = NULL;
29948 					n->collOid = InvalidOid;
29949 					SplitColQualList((yyvsp[0].list), &n->constraints, &n->collClause,
29950 									 yyscanner);
29951 					n->location = (yylsp[-3]);
29952 					(yyval.node) = (Node *)n;
29953 				}
29954 #line 29955 "gram.c" /* yacc.c:1646  */
29955     break;
29956 
29957   case 465:
29958 #line 3487 "gram.y" /* yacc.c:1646  */
29959     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
29960 #line 29961 "gram.c" /* yacc.c:1646  */
29961     break;
29962 
29963   case 466:
29964 #line 3488 "gram.y" /* yacc.c:1646  */
29965     { (yyval.list) = NIL; }
29966 #line 29967 "gram.c" /* yacc.c:1646  */
29967     break;
29968 
29969   case 467:
29970 #line 3493 "gram.y" /* yacc.c:1646  */
29971     {
29972 					Constraint *n = castNode(Constraint, (yyvsp[0].node));
29973 					n->conname = (yyvsp[-1].str);
29974 					n->location = (yylsp[-2]);
29975 					(yyval.node) = (Node *) n;
29976 				}
29977 #line 29978 "gram.c" /* yacc.c:1646  */
29978     break;
29979 
29980   case 468:
29981 #line 3499 "gram.y" /* yacc.c:1646  */
29982     { (yyval.node) = (yyvsp[0].node); }
29983 #line 29984 "gram.c" /* yacc.c:1646  */
29984     break;
29985 
29986   case 469:
29987 #line 3500 "gram.y" /* yacc.c:1646  */
29988     { (yyval.node) = (yyvsp[0].node); }
29989 #line 29990 "gram.c" /* yacc.c:1646  */
29990     break;
29991 
29992   case 470:
29993 #line 3502 "gram.y" /* yacc.c:1646  */
29994     {
29995 					/*
29996 					 * Note: the CollateClause is momentarily included in
29997 					 * the list built by ColQualList, but we split it out
29998 					 * again in SplitColQualList.
29999 					 */
30000 					CollateClause *n = makeNode(CollateClause);
30001 					n->arg = NULL;
30002 					n->collname = (yyvsp[0].list);
30003 					n->location = (yylsp[-1]);
30004 					(yyval.node) = (Node *) n;
30005 				}
30006 #line 30007 "gram.c" /* yacc.c:1646  */
30007     break;
30008 
30009   case 471:
30010 #line 3533 "gram.y" /* yacc.c:1646  */
30011     {
30012 					Constraint *n = makeNode(Constraint);
30013 					n->contype = CONSTR_NOTNULL;
30014 					n->location = (yylsp[-1]);
30015 					(yyval.node) = (Node *)n;
30016 				}
30017 #line 30018 "gram.c" /* yacc.c:1646  */
30018     break;
30019 
30020   case 472:
30021 #line 3540 "gram.y" /* yacc.c:1646  */
30022     {
30023 					Constraint *n = makeNode(Constraint);
30024 					n->contype = CONSTR_NULL;
30025 					n->location = (yylsp[0]);
30026 					(yyval.node) = (Node *)n;
30027 				}
30028 #line 30029 "gram.c" /* yacc.c:1646  */
30029     break;
30030 
30031   case 473:
30032 #line 3547 "gram.y" /* yacc.c:1646  */
30033     {
30034 					Constraint *n = makeNode(Constraint);
30035 					n->contype = CONSTR_UNIQUE;
30036 					n->location = (yylsp[-2]);
30037 					n->keys = NULL;
30038 					n->options = (yyvsp[-1].list);
30039 					n->indexname = NULL;
30040 					n->indexspace = (yyvsp[0].str);
30041 					(yyval.node) = (Node *)n;
30042 				}
30043 #line 30044 "gram.c" /* yacc.c:1646  */
30044     break;
30045 
30046   case 474:
30047 #line 3558 "gram.y" /* yacc.c:1646  */
30048     {
30049 					Constraint *n = makeNode(Constraint);
30050 					n->contype = CONSTR_PRIMARY;
30051 					n->location = (yylsp[-3]);
30052 					n->keys = NULL;
30053 					n->options = (yyvsp[-1].list);
30054 					n->indexname = NULL;
30055 					n->indexspace = (yyvsp[0].str);
30056 					(yyval.node) = (Node *)n;
30057 				}
30058 #line 30059 "gram.c" /* yacc.c:1646  */
30059     break;
30060 
30061   case 475:
30062 #line 3569 "gram.y" /* yacc.c:1646  */
30063     {
30064 					Constraint *n = makeNode(Constraint);
30065 					n->contype = CONSTR_CHECK;
30066 					n->location = (yylsp[-4]);
30067 					n->is_no_inherit = (yyvsp[0].boolean);
30068 					n->raw_expr = (yyvsp[-2].node);
30069 					n->cooked_expr = NULL;
30070 					n->skip_validation = false;
30071 					n->initially_valid = true;
30072 					(yyval.node) = (Node *)n;
30073 				}
30074 #line 30075 "gram.c" /* yacc.c:1646  */
30075     break;
30076 
30077   case 476:
30078 #line 3581 "gram.y" /* yacc.c:1646  */
30079     {
30080 					Constraint *n = makeNode(Constraint);
30081 					n->contype = CONSTR_DEFAULT;
30082 					n->location = (yylsp[-1]);
30083 					n->raw_expr = (yyvsp[0].node);
30084 					n->cooked_expr = NULL;
30085 					n->skip_validation = false;
30086 					n->initially_valid = true;
30087 					(yyval.node) = (Node *)n;
30088 				}
30089 #line 30090 "gram.c" /* yacc.c:1646  */
30090     break;
30091 
30092   case 477:
30093 #line 3592 "gram.y" /* yacc.c:1646  */
30094     {
30095 					Constraint *n = makeNode(Constraint);
30096 					n->contype = CONSTR_IDENTITY;
30097 					n->generated_when = (yyvsp[-3].ival);
30098 					n->options = (yyvsp[0].list);
30099 					n->location = (yylsp[-4]);
30100 					(yyval.node) = (Node *)n;
30101 				}
30102 #line 30103 "gram.c" /* yacc.c:1646  */
30103     break;
30104 
30105   case 478:
30106 #line 3601 "gram.y" /* yacc.c:1646  */
30107     {
30108 					Constraint *n = makeNode(Constraint);
30109 					n->contype = CONSTR_GENERATED;
30110 					n->generated_when = (yyvsp[-5].ival);
30111 					n->raw_expr = (yyvsp[-2].node);
30112 					n->cooked_expr = NULL;
30113 					n->location = (yylsp[-6]);
30114 
30115 					/*
30116 					 * Can't do this in the grammar because of shift/reduce
30117 					 * conflicts.  (IDENTITY allows both ALWAYS and BY
30118 					 * DEFAULT, but generated columns only allow ALWAYS.)  We
30119 					 * can also give a more useful error message and location.
30120 					 */
30121 					if ((yyvsp[-5].ival) != ATTRIBUTE_IDENTITY_ALWAYS)
30122 						ereport(ERROR,
30123 								(errcode(ERRCODE_SYNTAX_ERROR),
30124 								 errmsg("for a generated column, GENERATED ALWAYS must be specified"),
30125 								 parser_errposition((yylsp[-5]))));
30126 
30127 					(yyval.node) = (Node *)n;
30128 				}
30129 #line 30130 "gram.c" /* yacc.c:1646  */
30130     break;
30131 
30132   case 479:
30133 #line 3624 "gram.y" /* yacc.c:1646  */
30134     {
30135 					Constraint *n = makeNode(Constraint);
30136 					n->contype = CONSTR_FOREIGN;
30137 					n->location = (yylsp[-4]);
30138 					n->pktable			= (yyvsp[-3].range);
30139 					n->fk_attrs			= NIL;
30140 					n->pk_attrs			= (yyvsp[-2].list);
30141 					n->fk_matchtype		= (yyvsp[-1].ival);
30142 					n->fk_upd_action	= (char) ((yyvsp[0].ival) >> 8);
30143 					n->fk_del_action	= (char) ((yyvsp[0].ival) & 0xFF);
30144 					n->skip_validation  = false;
30145 					n->initially_valid  = true;
30146 					(yyval.node) = (Node *)n;
30147 				}
30148 #line 30149 "gram.c" /* yacc.c:1646  */
30149     break;
30150 
30151   case 480:
30152 #line 3641 "gram.y" /* yacc.c:1646  */
30153     { (yyval.ival) = ATTRIBUTE_IDENTITY_ALWAYS; }
30154 #line 30155 "gram.c" /* yacc.c:1646  */
30155     break;
30156 
30157   case 481:
30158 #line 3642 "gram.y" /* yacc.c:1646  */
30159     { (yyval.ival) = ATTRIBUTE_IDENTITY_BY_DEFAULT; }
30160 #line 30161 "gram.c" /* yacc.c:1646  */
30161     break;
30162 
30163   case 482:
30164 #line 3662 "gram.y" /* yacc.c:1646  */
30165     {
30166 					Constraint *n = makeNode(Constraint);
30167 					n->contype = CONSTR_ATTR_DEFERRABLE;
30168 					n->location = (yylsp[0]);
30169 					(yyval.node) = (Node *)n;
30170 				}
30171 #line 30172 "gram.c" /* yacc.c:1646  */
30172     break;
30173 
30174   case 483:
30175 #line 3669 "gram.y" /* yacc.c:1646  */
30176     {
30177 					Constraint *n = makeNode(Constraint);
30178 					n->contype = CONSTR_ATTR_NOT_DEFERRABLE;
30179 					n->location = (yylsp[-1]);
30180 					(yyval.node) = (Node *)n;
30181 				}
30182 #line 30183 "gram.c" /* yacc.c:1646  */
30183     break;
30184 
30185   case 484:
30186 #line 3676 "gram.y" /* yacc.c:1646  */
30187     {
30188 					Constraint *n = makeNode(Constraint);
30189 					n->contype = CONSTR_ATTR_DEFERRED;
30190 					n->location = (yylsp[-1]);
30191 					(yyval.node) = (Node *)n;
30192 				}
30193 #line 30194 "gram.c" /* yacc.c:1646  */
30194     break;
30195 
30196   case 485:
30197 #line 3683 "gram.y" /* yacc.c:1646  */
30198     {
30199 					Constraint *n = makeNode(Constraint);
30200 					n->contype = CONSTR_ATTR_IMMEDIATE;
30201 					n->location = (yylsp[-1]);
30202 					(yyval.node) = (Node *)n;
30203 				}
30204 #line 30205 "gram.c" /* yacc.c:1646  */
30205     break;
30206 
30207   case 486:
30208 #line 3694 "gram.y" /* yacc.c:1646  */
30209     {
30210 					TableLikeClause *n = makeNode(TableLikeClause);
30211 					n->relation = (yyvsp[-1].range);
30212 					n->options = (yyvsp[0].ival);
30213 					(yyval.node) = (Node *)n;
30214 				}
30215 #line 30216 "gram.c" /* yacc.c:1646  */
30216     break;
30217 
30218   case 487:
30219 #line 3703 "gram.y" /* yacc.c:1646  */
30220     { (yyval.ival) = (yyvsp[-2].ival) | (yyvsp[0].ival); }
30221 #line 30222 "gram.c" /* yacc.c:1646  */
30222     break;
30223 
30224   case 488:
30225 #line 3704 "gram.y" /* yacc.c:1646  */
30226     { (yyval.ival) = (yyvsp[-2].ival) & ~(yyvsp[0].ival); }
30227 #line 30228 "gram.c" /* yacc.c:1646  */
30228     break;
30229 
30230   case 489:
30231 #line 3705 "gram.y" /* yacc.c:1646  */
30232     { (yyval.ival) = 0; }
30233 #line 30234 "gram.c" /* yacc.c:1646  */
30234     break;
30235 
30236   case 490:
30237 #line 3709 "gram.y" /* yacc.c:1646  */
30238     { (yyval.ival) = CREATE_TABLE_LIKE_COMMENTS; }
30239 #line 30240 "gram.c" /* yacc.c:1646  */
30240     break;
30241 
30242   case 491:
30243 #line 3710 "gram.y" /* yacc.c:1646  */
30244     { (yyval.ival) = CREATE_TABLE_LIKE_CONSTRAINTS; }
30245 #line 30246 "gram.c" /* yacc.c:1646  */
30246     break;
30247 
30248   case 492:
30249 #line 3711 "gram.y" /* yacc.c:1646  */
30250     { (yyval.ival) = CREATE_TABLE_LIKE_DEFAULTS; }
30251 #line 30252 "gram.c" /* yacc.c:1646  */
30252     break;
30253 
30254   case 493:
30255 #line 3712 "gram.y" /* yacc.c:1646  */
30256     { (yyval.ival) = CREATE_TABLE_LIKE_IDENTITY; }
30257 #line 30258 "gram.c" /* yacc.c:1646  */
30258     break;
30259 
30260   case 494:
30261 #line 3713 "gram.y" /* yacc.c:1646  */
30262     { (yyval.ival) = CREATE_TABLE_LIKE_GENERATED; }
30263 #line 30264 "gram.c" /* yacc.c:1646  */
30264     break;
30265 
30266   case 495:
30267 #line 3714 "gram.y" /* yacc.c:1646  */
30268     { (yyval.ival) = CREATE_TABLE_LIKE_INDEXES; }
30269 #line 30270 "gram.c" /* yacc.c:1646  */
30270     break;
30271 
30272   case 496:
30273 #line 3715 "gram.y" /* yacc.c:1646  */
30274     { (yyval.ival) = CREATE_TABLE_LIKE_STATISTICS; }
30275 #line 30276 "gram.c" /* yacc.c:1646  */
30276     break;
30277 
30278   case 497:
30279 #line 3716 "gram.y" /* yacc.c:1646  */
30280     { (yyval.ival) = CREATE_TABLE_LIKE_STORAGE; }
30281 #line 30282 "gram.c" /* yacc.c:1646  */
30282     break;
30283 
30284   case 498:
30285 #line 3717 "gram.y" /* yacc.c:1646  */
30286     { (yyval.ival) = CREATE_TABLE_LIKE_ALL; }
30287 #line 30288 "gram.c" /* yacc.c:1646  */
30288     break;
30289 
30290   case 499:
30291 #line 3727 "gram.y" /* yacc.c:1646  */
30292     {
30293 					Constraint *n = castNode(Constraint, (yyvsp[0].node));
30294 					n->conname = (yyvsp[-1].str);
30295 					n->location = (yylsp[-2]);
30296 					(yyval.node) = (Node *) n;
30297 				}
30298 #line 30299 "gram.c" /* yacc.c:1646  */
30299     break;
30300 
30301   case 500:
30302 #line 3733 "gram.y" /* yacc.c:1646  */
30303     { (yyval.node) = (yyvsp[0].node); }
30304 #line 30305 "gram.c" /* yacc.c:1646  */
30305     break;
30306 
30307   case 501:
30308 #line 3738 "gram.y" /* yacc.c:1646  */
30309     {
30310 					Constraint *n = makeNode(Constraint);
30311 					n->contype = CONSTR_CHECK;
30312 					n->location = (yylsp[-4]);
30313 					n->raw_expr = (yyvsp[-2].node);
30314 					n->cooked_expr = NULL;
30315 					processCASbits((yyvsp[0].ival), (yylsp[0]), "CHECK",
30316 								   NULL, NULL, &n->skip_validation,
30317 								   &n->is_no_inherit, yyscanner);
30318 					n->initially_valid = !n->skip_validation;
30319 					(yyval.node) = (Node *)n;
30320 				}
30321 #line 30322 "gram.c" /* yacc.c:1646  */
30322     break;
30323 
30324   case 502:
30325 #line 3752 "gram.y" /* yacc.c:1646  */
30326     {
30327 					Constraint *n = makeNode(Constraint);
30328 					n->contype = CONSTR_UNIQUE;
30329 					n->location = (yylsp[-7]);
30330 					n->keys = (yyvsp[-5].list);
30331 					n->including = (yyvsp[-3].list);
30332 					n->options = (yyvsp[-2].list);
30333 					n->indexname = NULL;
30334 					n->indexspace = (yyvsp[-1].str);
30335 					processCASbits((yyvsp[0].ival), (yylsp[0]), "UNIQUE",
30336 								   &n->deferrable, &n->initdeferred, NULL,
30337 								   NULL, yyscanner);
30338 					(yyval.node) = (Node *)n;
30339 				}
30340 #line 30341 "gram.c" /* yacc.c:1646  */
30341     break;
30342 
30343   case 503:
30344 #line 3767 "gram.y" /* yacc.c:1646  */
30345     {
30346 					Constraint *n = makeNode(Constraint);
30347 					n->contype = CONSTR_UNIQUE;
30348 					n->location = (yylsp[-2]);
30349 					n->keys = NIL;
30350 					n->including = NIL;
30351 					n->options = NIL;
30352 					n->indexname = (yyvsp[-1].str);
30353 					n->indexspace = NULL;
30354 					processCASbits((yyvsp[0].ival), (yylsp[0]), "UNIQUE",
30355 								   &n->deferrable, &n->initdeferred, NULL,
30356 								   NULL, yyscanner);
30357 					(yyval.node) = (Node *)n;
30358 				}
30359 #line 30360 "gram.c" /* yacc.c:1646  */
30360     break;
30361 
30362   case 504:
30363 #line 3783 "gram.y" /* yacc.c:1646  */
30364     {
30365 					Constraint *n = makeNode(Constraint);
30366 					n->contype = CONSTR_PRIMARY;
30367 					n->location = (yylsp[-8]);
30368 					n->keys = (yyvsp[-5].list);
30369 					n->including = (yyvsp[-3].list);
30370 					n->options = (yyvsp[-2].list);
30371 					n->indexname = NULL;
30372 					n->indexspace = (yyvsp[-1].str);
30373 					processCASbits((yyvsp[0].ival), (yylsp[0]), "PRIMARY KEY",
30374 								   &n->deferrable, &n->initdeferred, NULL,
30375 								   NULL, yyscanner);
30376 					(yyval.node) = (Node *)n;
30377 				}
30378 #line 30379 "gram.c" /* yacc.c:1646  */
30379     break;
30380 
30381   case 505:
30382 #line 3798 "gram.y" /* yacc.c:1646  */
30383     {
30384 					Constraint *n = makeNode(Constraint);
30385 					n->contype = CONSTR_PRIMARY;
30386 					n->location = (yylsp[-3]);
30387 					n->keys = NIL;
30388 					n->including = NIL;
30389 					n->options = NIL;
30390 					n->indexname = (yyvsp[-1].str);
30391 					n->indexspace = NULL;
30392 					processCASbits((yyvsp[0].ival), (yylsp[0]), "PRIMARY KEY",
30393 								   &n->deferrable, &n->initdeferred, NULL,
30394 								   NULL, yyscanner);
30395 					(yyval.node) = (Node *)n;
30396 				}
30397 #line 30398 "gram.c" /* yacc.c:1646  */
30398     break;
30399 
30400   case 506:
30401 #line 3815 "gram.y" /* yacc.c:1646  */
30402     {
30403 					Constraint *n = makeNode(Constraint);
30404 					n->contype = CONSTR_EXCLUSION;
30405 					n->location = (yylsp[-9]);
30406 					n->access_method	= (yyvsp[-8].str);
30407 					n->exclusions		= (yyvsp[-6].list);
30408 					n->including		= (yyvsp[-4].list);
30409 					n->options			= (yyvsp[-3].list);
30410 					n->indexname		= NULL;
30411 					n->indexspace		= (yyvsp[-2].str);
30412 					n->where_clause		= (yyvsp[-1].node);
30413 					processCASbits((yyvsp[0].ival), (yylsp[0]), "EXCLUDE",
30414 								   &n->deferrable, &n->initdeferred, NULL,
30415 								   NULL, yyscanner);
30416 					(yyval.node) = (Node *)n;
30417 				}
30418 #line 30419 "gram.c" /* yacc.c:1646  */
30419     break;
30420 
30421   case 507:
30422 #line 3833 "gram.y" /* yacc.c:1646  */
30423     {
30424 					Constraint *n = makeNode(Constraint);
30425 					n->contype = CONSTR_FOREIGN;
30426 					n->location = (yylsp[-10]);
30427 					n->pktable			= (yyvsp[-4].range);
30428 					n->fk_attrs			= (yyvsp[-7].list);
30429 					n->pk_attrs			= (yyvsp[-3].list);
30430 					n->fk_matchtype		= (yyvsp[-2].ival);
30431 					n->fk_upd_action	= (char) ((yyvsp[-1].ival) >> 8);
30432 					n->fk_del_action	= (char) ((yyvsp[-1].ival) & 0xFF);
30433 					processCASbits((yyvsp[0].ival), (yylsp[0]), "FOREIGN KEY",
30434 								   &n->deferrable, &n->initdeferred,
30435 								   &n->skip_validation, NULL,
30436 								   yyscanner);
30437 					n->initially_valid = !n->skip_validation;
30438 					(yyval.node) = (Node *)n;
30439 				}
30440 #line 30441 "gram.c" /* yacc.c:1646  */
30441     break;
30442 
30443   case 508:
30444 #line 3852 "gram.y" /* yacc.c:1646  */
30445     {  (yyval.boolean) = true; }
30446 #line 30447 "gram.c" /* yacc.c:1646  */
30447     break;
30448 
30449   case 509:
30450 #line 3853 "gram.y" /* yacc.c:1646  */
30451     {  (yyval.boolean) = false; }
30452 #line 30453 "gram.c" /* yacc.c:1646  */
30453     break;
30454 
30455   case 510:
30456 #line 3857 "gram.y" /* yacc.c:1646  */
30457     { (yyval.list) = (yyvsp[-1].list); }
30458 #line 30459 "gram.c" /* yacc.c:1646  */
30459     break;
30460 
30461   case 511:
30462 #line 3858 "gram.y" /* yacc.c:1646  */
30463     { (yyval.list) = NIL; }
30464 #line 30465 "gram.c" /* yacc.c:1646  */
30465     break;
30466 
30467   case 512:
30468 #line 3862 "gram.y" /* yacc.c:1646  */
30469     { (yyval.list) = list_make1((yyvsp[0].node)); }
30470 #line 30471 "gram.c" /* yacc.c:1646  */
30471     break;
30472 
30473   case 513:
30474 #line 3863 "gram.y" /* yacc.c:1646  */
30475     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
30476 #line 30477 "gram.c" /* yacc.c:1646  */
30477     break;
30478 
30479   case 514:
30480 #line 3867 "gram.y" /* yacc.c:1646  */
30481     {
30482 					(yyval.node) = (Node *) makeString((yyvsp[0].str));
30483 				}
30484 #line 30485 "gram.c" /* yacc.c:1646  */
30485     break;
30486 
30487   case 515:
30488 #line 3872 "gram.y" /* yacc.c:1646  */
30489     { (yyval.list) = (yyvsp[-1].list); }
30490 #line 30491 "gram.c" /* yacc.c:1646  */
30491     break;
30492 
30493   case 516:
30494 #line 3873 "gram.y" /* yacc.c:1646  */
30495     { (yyval.list) = NIL; }
30496 #line 30497 "gram.c" /* yacc.c:1646  */
30497     break;
30498 
30499   case 517:
30500 #line 3877 "gram.y" /* yacc.c:1646  */
30501     {
30502 				(yyval.ival) = FKCONSTR_MATCH_FULL;
30503 			}
30504 #line 30505 "gram.c" /* yacc.c:1646  */
30505     break;
30506 
30507   case 518:
30508 #line 3881 "gram.y" /* yacc.c:1646  */
30509     {
30510 				ereport(ERROR,
30511 						(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
30512 						 errmsg("MATCH PARTIAL not yet implemented"),
30513 						 parser_errposition((yylsp[-1]))));
30514 				(yyval.ival) = FKCONSTR_MATCH_PARTIAL;
30515 			}
30516 #line 30517 "gram.c" /* yacc.c:1646  */
30517     break;
30518 
30519   case 519:
30520 #line 3889 "gram.y" /* yacc.c:1646  */
30521     {
30522 				(yyval.ival) = FKCONSTR_MATCH_SIMPLE;
30523 			}
30524 #line 30525 "gram.c" /* yacc.c:1646  */
30525     break;
30526 
30527   case 520:
30528 #line 3893 "gram.y" /* yacc.c:1646  */
30529     {
30530 				(yyval.ival) = FKCONSTR_MATCH_SIMPLE;
30531 			}
30532 #line 30533 "gram.c" /* yacc.c:1646  */
30533     break;
30534 
30535   case 521:
30536 #line 3899 "gram.y" /* yacc.c:1646  */
30537     { (yyval.list) = list_make1((yyvsp[0].list)); }
30538 #line 30539 "gram.c" /* yacc.c:1646  */
30539     break;
30540 
30541   case 522:
30542 #line 3901 "gram.y" /* yacc.c:1646  */
30543     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].list)); }
30544 #line 30545 "gram.c" /* yacc.c:1646  */
30545     break;
30546 
30547   case 523:
30548 #line 3905 "gram.y" /* yacc.c:1646  */
30549     {
30550 				(yyval.list) = list_make2((yyvsp[-2].ielem), (yyvsp[0].list));
30551 			}
30552 #line 30553 "gram.c" /* yacc.c:1646  */
30553     break;
30554 
30555   case 524:
30556 #line 3910 "gram.y" /* yacc.c:1646  */
30557     {
30558 				(yyval.list) = list_make2((yyvsp[-5].ielem), (yyvsp[-1].list));
30559 			}
30560 #line 30561 "gram.c" /* yacc.c:1646  */
30561     break;
30562 
30563   case 525:
30564 #line 3916 "gram.y" /* yacc.c:1646  */
30565     { (yyval.node) = (yyvsp[-1].node); }
30566 #line 30567 "gram.c" /* yacc.c:1646  */
30567     break;
30568 
30569   case 526:
30570 #line 3917 "gram.y" /* yacc.c:1646  */
30571     { (yyval.node) = NULL; }
30572 #line 30573 "gram.c" /* yacc.c:1646  */
30573     break;
30574 
30575   case 527:
30576 #line 3928 "gram.y" /* yacc.c:1646  */
30577     { (yyval.ival) = ((yyvsp[0].ival) << 8) | (FKCONSTR_ACTION_NOACTION & 0xFF); }
30578 #line 30579 "gram.c" /* yacc.c:1646  */
30579     break;
30580 
30581   case 528:
30582 #line 3930 "gram.y" /* yacc.c:1646  */
30583     { (yyval.ival) = (FKCONSTR_ACTION_NOACTION << 8) | ((yyvsp[0].ival) & 0xFF); }
30584 #line 30585 "gram.c" /* yacc.c:1646  */
30585     break;
30586 
30587   case 529:
30588 #line 3932 "gram.y" /* yacc.c:1646  */
30589     { (yyval.ival) = ((yyvsp[-1].ival) << 8) | ((yyvsp[0].ival) & 0xFF); }
30590 #line 30591 "gram.c" /* yacc.c:1646  */
30591     break;
30592 
30593   case 530:
30594 #line 3934 "gram.y" /* yacc.c:1646  */
30595     { (yyval.ival) = ((yyvsp[0].ival) << 8) | ((yyvsp[-1].ival) & 0xFF); }
30596 #line 30597 "gram.c" /* yacc.c:1646  */
30597     break;
30598 
30599   case 531:
30600 #line 3936 "gram.y" /* yacc.c:1646  */
30601     { (yyval.ival) = (FKCONSTR_ACTION_NOACTION << 8) | (FKCONSTR_ACTION_NOACTION & 0xFF); }
30602 #line 30603 "gram.c" /* yacc.c:1646  */
30603     break;
30604 
30605   case 532:
30606 #line 3939 "gram.y" /* yacc.c:1646  */
30607     { (yyval.ival) = (yyvsp[0].ival); }
30608 #line 30609 "gram.c" /* yacc.c:1646  */
30609     break;
30610 
30611   case 533:
30612 #line 3942 "gram.y" /* yacc.c:1646  */
30613     { (yyval.ival) = (yyvsp[0].ival); }
30614 #line 30615 "gram.c" /* yacc.c:1646  */
30615     break;
30616 
30617   case 534:
30618 #line 3946 "gram.y" /* yacc.c:1646  */
30619     { (yyval.ival) = FKCONSTR_ACTION_NOACTION; }
30620 #line 30621 "gram.c" /* yacc.c:1646  */
30621     break;
30622 
30623   case 535:
30624 #line 3947 "gram.y" /* yacc.c:1646  */
30625     { (yyval.ival) = FKCONSTR_ACTION_RESTRICT; }
30626 #line 30627 "gram.c" /* yacc.c:1646  */
30627     break;
30628 
30629   case 536:
30630 #line 3948 "gram.y" /* yacc.c:1646  */
30631     { (yyval.ival) = FKCONSTR_ACTION_CASCADE; }
30632 #line 30633 "gram.c" /* yacc.c:1646  */
30633     break;
30634 
30635   case 537:
30636 #line 3949 "gram.y" /* yacc.c:1646  */
30637     { (yyval.ival) = FKCONSTR_ACTION_SETNULL; }
30638 #line 30639 "gram.c" /* yacc.c:1646  */
30639     break;
30640 
30641   case 538:
30642 #line 3950 "gram.y" /* yacc.c:1646  */
30643     { (yyval.ival) = FKCONSTR_ACTION_SETDEFAULT; }
30644 #line 30645 "gram.c" /* yacc.c:1646  */
30645     break;
30646 
30647   case 539:
30648 #line 3953 "gram.y" /* yacc.c:1646  */
30649     { (yyval.list) = (yyvsp[-1].list); }
30650 #line 30651 "gram.c" /* yacc.c:1646  */
30651     break;
30652 
30653   case 540:
30654 #line 3954 "gram.y" /* yacc.c:1646  */
30655     { (yyval.list) = NIL; }
30656 #line 30657 "gram.c" /* yacc.c:1646  */
30657     break;
30658 
30659   case 541:
30660 #line 3958 "gram.y" /* yacc.c:1646  */
30661     { (yyval.partspec) = (yyvsp[0].partspec); }
30662 #line 30663 "gram.c" /* yacc.c:1646  */
30663     break;
30664 
30665   case 542:
30666 #line 3959 "gram.y" /* yacc.c:1646  */
30667     { (yyval.partspec) = NULL; }
30668 #line 30669 "gram.c" /* yacc.c:1646  */
30669     break;
30670 
30671   case 543:
30672 #line 3963 "gram.y" /* yacc.c:1646  */
30673     {
30674 					PartitionSpec *n = makeNode(PartitionSpec);
30675 
30676 					n->strategy = (yyvsp[-3].str);
30677 					n->partParams = (yyvsp[-1].list);
30678 					n->location = (yylsp[-5]);
30679 
30680 					(yyval.partspec) = n;
30681 				}
30682 #line 30683 "gram.c" /* yacc.c:1646  */
30683     break;
30684 
30685   case 544:
30686 #line 3974 "gram.y" /* yacc.c:1646  */
30687     { (yyval.list) = list_make1((yyvsp[0].partelem)); }
30688 #line 30689 "gram.c" /* yacc.c:1646  */
30689     break;
30690 
30691   case 545:
30692 #line 3975 "gram.y" /* yacc.c:1646  */
30693     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].partelem)); }
30694 #line 30695 "gram.c" /* yacc.c:1646  */
30695     break;
30696 
30697   case 546:
30698 #line 3979 "gram.y" /* yacc.c:1646  */
30699     {
30700 					PartitionElem *n = makeNode(PartitionElem);
30701 
30702 					n->name = (yyvsp[-2].str);
30703 					n->expr = NULL;
30704 					n->collation = (yyvsp[-1].list);
30705 					n->opclass = (yyvsp[0].list);
30706 					n->location = (yylsp[-2]);
30707 					(yyval.partelem) = n;
30708 				}
30709 #line 30710 "gram.c" /* yacc.c:1646  */
30710     break;
30711 
30712   case 547:
30713 #line 3990 "gram.y" /* yacc.c:1646  */
30714     {
30715 					PartitionElem *n = makeNode(PartitionElem);
30716 
30717 					n->name = NULL;
30718 					n->expr = (yyvsp[-2].node);
30719 					n->collation = (yyvsp[-1].list);
30720 					n->opclass = (yyvsp[0].list);
30721 					n->location = (yylsp[-2]);
30722 					(yyval.partelem) = n;
30723 				}
30724 #line 30725 "gram.c" /* yacc.c:1646  */
30725     break;
30726 
30727   case 548:
30728 #line 4001 "gram.y" /* yacc.c:1646  */
30729     {
30730 					PartitionElem *n = makeNode(PartitionElem);
30731 
30732 					n->name = NULL;
30733 					n->expr = (yyvsp[-3].node);
30734 					n->collation = (yyvsp[-1].list);
30735 					n->opclass = (yyvsp[0].list);
30736 					n->location = (yylsp[-4]);
30737 					(yyval.partelem) = n;
30738 				}
30739 #line 30740 "gram.c" /* yacc.c:1646  */
30740     break;
30741 
30742   case 549:
30743 #line 4014 "gram.y" /* yacc.c:1646  */
30744     { (yyval.str) = (yyvsp[0].str); }
30745 #line 30746 "gram.c" /* yacc.c:1646  */
30746     break;
30747 
30748   case 550:
30749 #line 4015 "gram.y" /* yacc.c:1646  */
30750     { (yyval.str) = NULL; }
30751 #line 30752 "gram.c" /* yacc.c:1646  */
30752     break;
30753 
30754   case 551:
30755 #line 4020 "gram.y" /* yacc.c:1646  */
30756     { (yyval.list) = (yyvsp[0].list); }
30757 #line 30758 "gram.c" /* yacc.c:1646  */
30758     break;
30759 
30760   case 552:
30761 #line 4021 "gram.y" /* yacc.c:1646  */
30762     { (yyval.list) = NIL; }
30763 #line 30764 "gram.c" /* yacc.c:1646  */
30764     break;
30765 
30766   case 553:
30767 #line 4022 "gram.y" /* yacc.c:1646  */
30768     { (yyval.list) = NIL; }
30769 #line 30770 "gram.c" /* yacc.c:1646  */
30770     break;
30771 
30772   case 554:
30773 #line 4025 "gram.y" /* yacc.c:1646  */
30774     { (yyval.oncommit) = ONCOMMIT_DROP; }
30775 #line 30776 "gram.c" /* yacc.c:1646  */
30776     break;
30777 
30778   case 555:
30779 #line 4026 "gram.y" /* yacc.c:1646  */
30780     { (yyval.oncommit) = ONCOMMIT_DELETE_ROWS; }
30781 #line 30782 "gram.c" /* yacc.c:1646  */
30782     break;
30783 
30784   case 556:
30785 #line 4027 "gram.y" /* yacc.c:1646  */
30786     { (yyval.oncommit) = ONCOMMIT_PRESERVE_ROWS; }
30787 #line 30788 "gram.c" /* yacc.c:1646  */
30788     break;
30789 
30790   case 557:
30791 #line 4028 "gram.y" /* yacc.c:1646  */
30792     { (yyval.oncommit) = ONCOMMIT_NOOP; }
30793 #line 30794 "gram.c" /* yacc.c:1646  */
30794     break;
30795 
30796   case 558:
30797 #line 4031 "gram.y" /* yacc.c:1646  */
30798     { (yyval.str) = (yyvsp[0].str); }
30799 #line 30800 "gram.c" /* yacc.c:1646  */
30800     break;
30801 
30802   case 559:
30803 #line 4032 "gram.y" /* yacc.c:1646  */
30804     { (yyval.str) = NULL; }
30805 #line 30806 "gram.c" /* yacc.c:1646  */
30806     break;
30807 
30808   case 560:
30809 #line 4035 "gram.y" /* yacc.c:1646  */
30810     { (yyval.str) = (yyvsp[0].str); }
30811 #line 30812 "gram.c" /* yacc.c:1646  */
30812     break;
30813 
30814   case 561:
30815 #line 4036 "gram.y" /* yacc.c:1646  */
30816     { (yyval.str) = NULL; }
30817 #line 30818 "gram.c" /* yacc.c:1646  */
30818     break;
30819 
30820   case 562:
30821 #line 4039 "gram.y" /* yacc.c:1646  */
30822     { (yyval.str) = (yyvsp[0].str); }
30823 #line 30824 "gram.c" /* yacc.c:1646  */
30824     break;
30825 
30826   case 563:
30827 #line 4059 "gram.y" /* yacc.c:1646  */
30828     {
30829 					CreateStatsStmt *n = makeNode(CreateStatsStmt);
30830 					n->defnames = (yyvsp[-5].list);
30831 					n->stat_types = (yyvsp[-4].list);
30832 					n->exprs = (yyvsp[-2].list);
30833 					n->relations = (yyvsp[0].list);
30834 					n->stxcomment = NULL;
30835 					n->if_not_exists = false;
30836 					(yyval.node) = (Node *)n;
30837 				}
30838 #line 30839 "gram.c" /* yacc.c:1646  */
30839     break;
30840 
30841   case 564:
30842 #line 4071 "gram.y" /* yacc.c:1646  */
30843     {
30844 					CreateStatsStmt *n = makeNode(CreateStatsStmt);
30845 					n->defnames = (yyvsp[-5].list);
30846 					n->stat_types = (yyvsp[-4].list);
30847 					n->exprs = (yyvsp[-2].list);
30848 					n->relations = (yyvsp[0].list);
30849 					n->stxcomment = NULL;
30850 					n->if_not_exists = true;
30851 					(yyval.node) = (Node *)n;
30852 				}
30853 #line 30854 "gram.c" /* yacc.c:1646  */
30854     break;
30855 
30856   case 565:
30857 #line 4094 "gram.y" /* yacc.c:1646  */
30858     {
30859 					AlterStatsStmt *n = makeNode(AlterStatsStmt);
30860 					n->defnames = (yyvsp[-3].list);
30861 					n->missing_ok = false;
30862 					n->stxstattarget = (yyvsp[0].ival);
30863 					(yyval.node) = (Node *)n;
30864 				}
30865 #line 30866 "gram.c" /* yacc.c:1646  */
30866     break;
30867 
30868   case 566:
30869 #line 4102 "gram.y" /* yacc.c:1646  */
30870     {
30871 					AlterStatsStmt *n = makeNode(AlterStatsStmt);
30872 					n->defnames = (yyvsp[-3].list);
30873 					n->missing_ok = true;
30874 					n->stxstattarget = (yyvsp[0].ival);
30875 					(yyval.node) = (Node *)n;
30876 				}
30877 #line 30878 "gram.c" /* yacc.c:1646  */
30878     break;
30879 
30880   case 567:
30881 #line 4123 "gram.y" /* yacc.c:1646  */
30882     {
30883 					CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
30884 					ctas->query = (yyvsp[-1].node);
30885 					ctas->into = (yyvsp[-3].into);
30886 					ctas->relkind = OBJECT_TABLE;
30887 					ctas->is_select_into = false;
30888 					ctas->if_not_exists = false;
30889 					/* cram additional flags into the IntoClause */
30890 					(yyvsp[-3].into)->rel->relpersistence = (yyvsp[-5].ival);
30891 					(yyvsp[-3].into)->skipData = !((yyvsp[0].boolean));
30892 					(yyval.node) = (Node *) ctas;
30893 				}
30894 #line 30895 "gram.c" /* yacc.c:1646  */
30895     break;
30896 
30897   case 568:
30898 #line 4136 "gram.y" /* yacc.c:1646  */
30899     {
30900 					CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
30901 					ctas->query = (yyvsp[-1].node);
30902 					ctas->into = (yyvsp[-3].into);
30903 					ctas->relkind = OBJECT_TABLE;
30904 					ctas->is_select_into = false;
30905 					ctas->if_not_exists = true;
30906 					/* cram additional flags into the IntoClause */
30907 					(yyvsp[-3].into)->rel->relpersistence = (yyvsp[-8].ival);
30908 					(yyvsp[-3].into)->skipData = !((yyvsp[0].boolean));
30909 					(yyval.node) = (Node *) ctas;
30910 				}
30911 #line 30912 "gram.c" /* yacc.c:1646  */
30912     break;
30913 
30914   case 569:
30915 #line 4153 "gram.y" /* yacc.c:1646  */
30916     {
30917 					(yyval.into) = makeNode(IntoClause);
30918 					(yyval.into)->rel = (yyvsp[-5].range);
30919 					(yyval.into)->colNames = (yyvsp[-4].list);
30920 					(yyval.into)->accessMethod = (yyvsp[-3].str);
30921 					(yyval.into)->options = (yyvsp[-2].list);
30922 					(yyval.into)->onCommit = (yyvsp[-1].oncommit);
30923 					(yyval.into)->tableSpaceName = (yyvsp[0].str);
30924 					(yyval.into)->viewQuery = NULL;
30925 					(yyval.into)->skipData = false;		/* might get changed later */
30926 				}
30927 #line 30928 "gram.c" /* yacc.c:1646  */
30928     break;
30929 
30930   case 570:
30931 #line 4167 "gram.y" /* yacc.c:1646  */
30932     { (yyval.boolean) = true; }
30933 #line 30934 "gram.c" /* yacc.c:1646  */
30934     break;
30935 
30936   case 571:
30937 #line 4168 "gram.y" /* yacc.c:1646  */
30938     { (yyval.boolean) = false; }
30939 #line 30940 "gram.c" /* yacc.c:1646  */
30940     break;
30941 
30942   case 572:
30943 #line 4169 "gram.y" /* yacc.c:1646  */
30944     { (yyval.boolean) = true; }
30945 #line 30946 "gram.c" /* yacc.c:1646  */
30946     break;
30947 
30948   case 573:
30949 #line 4182 "gram.y" /* yacc.c:1646  */
30950     {
30951 					CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
30952 					ctas->query = (yyvsp[-1].node);
30953 					ctas->into = (yyvsp[-3].into);
30954 					ctas->relkind = OBJECT_MATVIEW;
30955 					ctas->is_select_into = false;
30956 					ctas->if_not_exists = false;
30957 					/* cram additional flags into the IntoClause */
30958 					(yyvsp[-3].into)->rel->relpersistence = (yyvsp[-6].ival);
30959 					(yyvsp[-3].into)->skipData = !((yyvsp[0].boolean));
30960 					(yyval.node) = (Node *) ctas;
30961 				}
30962 #line 30963 "gram.c" /* yacc.c:1646  */
30963     break;
30964 
30965   case 574:
30966 #line 4195 "gram.y" /* yacc.c:1646  */
30967     {
30968 					CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
30969 					ctas->query = (yyvsp[-1].node);
30970 					ctas->into = (yyvsp[-3].into);
30971 					ctas->relkind = OBJECT_MATVIEW;
30972 					ctas->is_select_into = false;
30973 					ctas->if_not_exists = true;
30974 					/* cram additional flags into the IntoClause */
30975 					(yyvsp[-3].into)->rel->relpersistence = (yyvsp[-9].ival);
30976 					(yyvsp[-3].into)->skipData = !((yyvsp[0].boolean));
30977 					(yyval.node) = (Node *) ctas;
30978 				}
30979 #line 30980 "gram.c" /* yacc.c:1646  */
30980     break;
30981 
30982   case 575:
30983 #line 4211 "gram.y" /* yacc.c:1646  */
30984     {
30985 					(yyval.into) = makeNode(IntoClause);
30986 					(yyval.into)->rel = (yyvsp[-4].range);
30987 					(yyval.into)->colNames = (yyvsp[-3].list);
30988 					(yyval.into)->accessMethod = (yyvsp[-2].str);
30989 					(yyval.into)->options = (yyvsp[-1].list);
30990 					(yyval.into)->onCommit = ONCOMMIT_NOOP;
30991 					(yyval.into)->tableSpaceName = (yyvsp[0].str);
30992 					(yyval.into)->viewQuery = NULL;		/* filled at analysis time */
30993 					(yyval.into)->skipData = false;		/* might get changed later */
30994 				}
30995 #line 30996 "gram.c" /* yacc.c:1646  */
30996     break;
30997 
30998   case 576:
30999 #line 4224 "gram.y" /* yacc.c:1646  */
31000     { (yyval.ival) = RELPERSISTENCE_UNLOGGED; }
31001 #line 31002 "gram.c" /* yacc.c:1646  */
31002     break;
31003 
31004   case 577:
31005 #line 4225 "gram.y" /* yacc.c:1646  */
31006     { (yyval.ival) = RELPERSISTENCE_PERMANENT; }
31007 #line 31008 "gram.c" /* yacc.c:1646  */
31008     break;
31009 
31010   case 578:
31011 #line 4238 "gram.y" /* yacc.c:1646  */
31012     {
31013 					RefreshMatViewStmt *n = makeNode(RefreshMatViewStmt);
31014 					n->concurrent = (yyvsp[-2].boolean);
31015 					n->relation = (yyvsp[-1].range);
31016 					n->skipData = !((yyvsp[0].boolean));
31017 					(yyval.node) = (Node *) n;
31018 				}
31019 #line 31020 "gram.c" /* yacc.c:1646  */
31020     break;
31021 
31022   case 579:
31023 #line 4258 "gram.y" /* yacc.c:1646  */
31024     {
31025 					CreateSeqStmt *n = makeNode(CreateSeqStmt);
31026 					(yyvsp[-1].range)->relpersistence = (yyvsp[-3].ival);
31027 					n->sequence = (yyvsp[-1].range);
31028 					n->options = (yyvsp[0].list);
31029 					n->ownerId = InvalidOid;
31030 					n->if_not_exists = false;
31031 					(yyval.node) = (Node *)n;
31032 				}
31033 #line 31034 "gram.c" /* yacc.c:1646  */
31034     break;
31035 
31036   case 580:
31037 #line 4268 "gram.y" /* yacc.c:1646  */
31038     {
31039 					CreateSeqStmt *n = makeNode(CreateSeqStmt);
31040 					(yyvsp[-1].range)->relpersistence = (yyvsp[-6].ival);
31041 					n->sequence = (yyvsp[-1].range);
31042 					n->options = (yyvsp[0].list);
31043 					n->ownerId = InvalidOid;
31044 					n->if_not_exists = true;
31045 					(yyval.node) = (Node *)n;
31046 				}
31047 #line 31048 "gram.c" /* yacc.c:1646  */
31048     break;
31049 
31050   case 581:
31051 #line 4281 "gram.y" /* yacc.c:1646  */
31052     {
31053 					AlterSeqStmt *n = makeNode(AlterSeqStmt);
31054 					n->sequence = (yyvsp[-1].range);
31055 					n->options = (yyvsp[0].list);
31056 					n->missing_ok = false;
31057 					(yyval.node) = (Node *)n;
31058 				}
31059 #line 31060 "gram.c" /* yacc.c:1646  */
31060     break;
31061 
31062   case 582:
31063 #line 4289 "gram.y" /* yacc.c:1646  */
31064     {
31065 					AlterSeqStmt *n = makeNode(AlterSeqStmt);
31066 					n->sequence = (yyvsp[-1].range);
31067 					n->options = (yyvsp[0].list);
31068 					n->missing_ok = true;
31069 					(yyval.node) = (Node *)n;
31070 				}
31071 #line 31072 "gram.c" /* yacc.c:1646  */
31072     break;
31073 
31074   case 583:
31075 #line 4299 "gram.y" /* yacc.c:1646  */
31076     { (yyval.list) = (yyvsp[0].list); }
31077 #line 31078 "gram.c" /* yacc.c:1646  */
31078     break;
31079 
31080   case 584:
31081 #line 4300 "gram.y" /* yacc.c:1646  */
31082     { (yyval.list) = NIL; }
31083 #line 31084 "gram.c" /* yacc.c:1646  */
31084     break;
31085 
31086   case 585:
31087 #line 4303 "gram.y" /* yacc.c:1646  */
31088     { (yyval.list) = (yyvsp[-1].list); }
31089 #line 31090 "gram.c" /* yacc.c:1646  */
31090     break;
31091 
31092   case 586:
31093 #line 4304 "gram.y" /* yacc.c:1646  */
31094     { (yyval.list) = NIL; }
31095 #line 31096 "gram.c" /* yacc.c:1646  */
31096     break;
31097 
31098   case 587:
31099 #line 4307 "gram.y" /* yacc.c:1646  */
31100     { (yyval.list) = list_make1((yyvsp[0].defelt)); }
31101 #line 31102 "gram.c" /* yacc.c:1646  */
31102     break;
31103 
31104   case 588:
31105 #line 4308 "gram.y" /* yacc.c:1646  */
31106     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
31107 #line 31108 "gram.c" /* yacc.c:1646  */
31108     break;
31109 
31110   case 589:
31111 #line 4312 "gram.y" /* yacc.c:1646  */
31112     {
31113 					(yyval.defelt) = makeDefElem("as", (Node *)(yyvsp[0].typnam), (yylsp[-1]));
31114 				}
31115 #line 31116 "gram.c" /* yacc.c:1646  */
31116     break;
31117 
31118   case 590:
31119 #line 4316 "gram.y" /* yacc.c:1646  */
31120     {
31121 					(yyval.defelt) = makeDefElem("cache", (Node *)(yyvsp[0].value), (yylsp[-1]));
31122 				}
31123 #line 31124 "gram.c" /* yacc.c:1646  */
31124     break;
31125 
31126   case 591:
31127 #line 4320 "gram.y" /* yacc.c:1646  */
31128     {
31129 					(yyval.defelt) = makeDefElem("cycle", (Node *)makeInteger(true), (yylsp[0]));
31130 				}
31131 #line 31132 "gram.c" /* yacc.c:1646  */
31132     break;
31133 
31134   case 592:
31135 #line 4324 "gram.y" /* yacc.c:1646  */
31136     {
31137 					(yyval.defelt) = makeDefElem("cycle", (Node *)makeInteger(false), (yylsp[-1]));
31138 				}
31139 #line 31140 "gram.c" /* yacc.c:1646  */
31140     break;
31141 
31142   case 593:
31143 #line 4328 "gram.y" /* yacc.c:1646  */
31144     {
31145 					(yyval.defelt) = makeDefElem("increment", (Node *)(yyvsp[0].value), (yylsp[-2]));
31146 				}
31147 #line 31148 "gram.c" /* yacc.c:1646  */
31148     break;
31149 
31150   case 594:
31151 #line 4332 "gram.y" /* yacc.c:1646  */
31152     {
31153 					(yyval.defelt) = makeDefElem("maxvalue", (Node *)(yyvsp[0].value), (yylsp[-1]));
31154 				}
31155 #line 31156 "gram.c" /* yacc.c:1646  */
31156     break;
31157 
31158   case 595:
31159 #line 4336 "gram.y" /* yacc.c:1646  */
31160     {
31161 					(yyval.defelt) = makeDefElem("minvalue", (Node *)(yyvsp[0].value), (yylsp[-1]));
31162 				}
31163 #line 31164 "gram.c" /* yacc.c:1646  */
31164     break;
31165 
31166   case 596:
31167 #line 4340 "gram.y" /* yacc.c:1646  */
31168     {
31169 					(yyval.defelt) = makeDefElem("maxvalue", NULL, (yylsp[-1]));
31170 				}
31171 #line 31172 "gram.c" /* yacc.c:1646  */
31172     break;
31173 
31174   case 597:
31175 #line 4344 "gram.y" /* yacc.c:1646  */
31176     {
31177 					(yyval.defelt) = makeDefElem("minvalue", NULL, (yylsp[-1]));
31178 				}
31179 #line 31180 "gram.c" /* yacc.c:1646  */
31180     break;
31181 
31182   case 598:
31183 #line 4348 "gram.y" /* yacc.c:1646  */
31184     {
31185 					(yyval.defelt) = makeDefElem("owned_by", (Node *)(yyvsp[0].list), (yylsp[-2]));
31186 				}
31187 #line 31188 "gram.c" /* yacc.c:1646  */
31188     break;
31189 
31190   case 599:
31191 #line 4352 "gram.y" /* yacc.c:1646  */
31192     {
31193 					/* not documented, only used by pg_dump */
31194 					(yyval.defelt) = makeDefElem("sequence_name", (Node *)(yyvsp[0].list), (yylsp[-2]));
31195 				}
31196 #line 31197 "gram.c" /* yacc.c:1646  */
31197     break;
31198 
31199   case 600:
31200 #line 4357 "gram.y" /* yacc.c:1646  */
31201     {
31202 					(yyval.defelt) = makeDefElem("start", (Node *)(yyvsp[0].value), (yylsp[-2]));
31203 				}
31204 #line 31205 "gram.c" /* yacc.c:1646  */
31205     break;
31206 
31207   case 601:
31208 #line 4361 "gram.y" /* yacc.c:1646  */
31209     {
31210 					(yyval.defelt) = makeDefElem("restart", NULL, (yylsp[0]));
31211 				}
31212 #line 31213 "gram.c" /* yacc.c:1646  */
31213     break;
31214 
31215   case 602:
31216 #line 4365 "gram.y" /* yacc.c:1646  */
31217     {
31218 					(yyval.defelt) = makeDefElem("restart", (Node *)(yyvsp[0].value), (yylsp[-2]));
31219 				}
31220 #line 31221 "gram.c" /* yacc.c:1646  */
31221     break;
31222 
31223   case 603:
31224 #line 4370 "gram.y" /* yacc.c:1646  */
31225     {}
31226 #line 31227 "gram.c" /* yacc.c:1646  */
31227     break;
31228 
31229   case 604:
31230 #line 4371 "gram.y" /* yacc.c:1646  */
31231     {}
31232 #line 31233 "gram.c" /* yacc.c:1646  */
31233     break;
31234 
31235   case 605:
31236 #line 4375 "gram.y" /* yacc.c:1646  */
31237     { (yyval.value) = makeFloat((yyvsp[0].str)); }
31238 #line 31239 "gram.c" /* yacc.c:1646  */
31239     break;
31240 
31241   case 606:
31242 #line 4376 "gram.y" /* yacc.c:1646  */
31243     { (yyval.value) = makeFloat((yyvsp[0].str)); }
31244 #line 31245 "gram.c" /* yacc.c:1646  */
31245     break;
31246 
31247   case 607:
31248 #line 4378 "gram.y" /* yacc.c:1646  */
31249     {
31250 					(yyval.value) = makeFloat((yyvsp[0].str));
31251 					doNegateFloat((yyval.value));
31252 				}
31253 #line 31254 "gram.c" /* yacc.c:1646  */
31254     break;
31255 
31256   case 608:
31257 #line 4382 "gram.y" /* yacc.c:1646  */
31258     { (yyval.value) = makeInteger((yyvsp[0].ival)); }
31259 #line 31260 "gram.c" /* yacc.c:1646  */
31260     break;
31261 
31262   case 609:
31263 #line 4385 "gram.y" /* yacc.c:1646  */
31264     { (yyval.list) = list_make1((yyvsp[0].value)); }
31265 #line 31266 "gram.c" /* yacc.c:1646  */
31266     break;
31267 
31268   case 610:
31269 #line 4386 "gram.y" /* yacc.c:1646  */
31270     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].value)); }
31271 #line 31272 "gram.c" /* yacc.c:1646  */
31272     break;
31273 
31274   case 611:
31275 #line 4399 "gram.y" /* yacc.c:1646  */
31276     {
31277 				/*
31278 				 * We now interpret parameterless CREATE LANGUAGE as
31279 				 * CREATE EXTENSION.  "OR REPLACE" is silently translated
31280 				 * to "IF NOT EXISTS", which isn't quite the same, but
31281 				 * seems more useful than throwing an error.  We just
31282 				 * ignore TRUSTED, as the previous code would have too.
31283 				 */
31284 				CreateExtensionStmt *n = makeNode(CreateExtensionStmt);
31285 				n->if_not_exists = (yyvsp[-4].boolean);
31286 				n->extname = (yyvsp[0].str);
31287 				n->options = NIL;
31288 				(yyval.node) = (Node *)n;
31289 			}
31290 #line 31291 "gram.c" /* yacc.c:1646  */
31291     break;
31292 
31293   case 612:
31294 #line 4415 "gram.y" /* yacc.c:1646  */
31295     {
31296 				CreatePLangStmt *n = makeNode(CreatePLangStmt);
31297 				n->replace = (yyvsp[-8].boolean);
31298 				n->plname = (yyvsp[-4].str);
31299 				n->plhandler = (yyvsp[-2].list);
31300 				n->plinline = (yyvsp[-1].list);
31301 				n->plvalidator = (yyvsp[0].list);
31302 				n->pltrusted = (yyvsp[-7].boolean);
31303 				(yyval.node) = (Node *)n;
31304 			}
31305 #line 31306 "gram.c" /* yacc.c:1646  */
31306     break;
31307 
31308   case 613:
31309 #line 4428 "gram.y" /* yacc.c:1646  */
31310     { (yyval.boolean) = true; }
31311 #line 31312 "gram.c" /* yacc.c:1646  */
31312     break;
31313 
31314   case 614:
31315 #line 4429 "gram.y" /* yacc.c:1646  */
31316     { (yyval.boolean) = false; }
31317 #line 31318 "gram.c" /* yacc.c:1646  */
31318     break;
31319 
31320   case 615:
31321 #line 4437 "gram.y" /* yacc.c:1646  */
31322     { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
31323 #line 31324 "gram.c" /* yacc.c:1646  */
31324     break;
31325 
31326   case 616:
31327 #line 4438 "gram.y" /* yacc.c:1646  */
31328     { (yyval.list) = lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)); }
31329 #line 31330 "gram.c" /* yacc.c:1646  */
31330     break;
31331 
31332   case 617:
31333 #line 4442 "gram.y" /* yacc.c:1646  */
31334     { (yyval.list) = (yyvsp[0].list); }
31335 #line 31336 "gram.c" /* yacc.c:1646  */
31336     break;
31337 
31338   case 618:
31339 #line 4443 "gram.y" /* yacc.c:1646  */
31340     { (yyval.list) = NIL; }
31341 #line 31342 "gram.c" /* yacc.c:1646  */
31342     break;
31343 
31344   case 619:
31345 #line 4447 "gram.y" /* yacc.c:1646  */
31346     { (yyval.list) = (yyvsp[0].list); }
31347 #line 31348 "gram.c" /* yacc.c:1646  */
31348     break;
31349 
31350   case 620:
31351 #line 4448 "gram.y" /* yacc.c:1646  */
31352     { (yyval.list) = NIL; }
31353 #line 31354 "gram.c" /* yacc.c:1646  */
31354     break;
31355 
31356   case 621:
31357 #line 4452 "gram.y" /* yacc.c:1646  */
31358     { (yyval.list) = (yyvsp[0].list); }
31359 #line 31360 "gram.c" /* yacc.c:1646  */
31360     break;
31361 
31362   case 622:
31363 #line 4453 "gram.y" /* yacc.c:1646  */
31364     { (yyval.list) = NIL; }
31365 #line 31366 "gram.c" /* yacc.c:1646  */
31366     break;
31367 
31368   case 623:
31369 #line 4458 "gram.y" /* yacc.c:1646  */
31370     {
31371 					DropStmt *n = makeNode(DropStmt);
31372 					n->removeType = OBJECT_LANGUAGE;
31373 					n->objects = list_make1(makeString((yyvsp[-1].str)));
31374 					n->behavior = (yyvsp[0].dbehavior);
31375 					n->missing_ok = false;
31376 					n->concurrent = false;
31377 					(yyval.node) = (Node *)n;
31378 				}
31379 #line 31380 "gram.c" /* yacc.c:1646  */
31380     break;
31381 
31382   case 624:
31383 #line 4468 "gram.y" /* yacc.c:1646  */
31384     {
31385 					DropStmt *n = makeNode(DropStmt);
31386 					n->removeType = OBJECT_LANGUAGE;
31387 					n->objects = list_make1(makeString((yyvsp[-1].str)));
31388 					n->behavior = (yyvsp[0].dbehavior);
31389 					n->missing_ok = true;
31390 					n->concurrent = false;
31391 					(yyval.node) = (Node *)n;
31392 				}
31393 #line 31394 "gram.c" /* yacc.c:1646  */
31394     break;
31395 
31396   case 625:
31397 #line 4480 "gram.y" /* yacc.c:1646  */
31398     {}
31399 #line 31400 "gram.c" /* yacc.c:1646  */
31400     break;
31401 
31402   case 626:
31403 #line 4481 "gram.y" /* yacc.c:1646  */
31404     {}
31405 #line 31406 "gram.c" /* yacc.c:1646  */
31406     break;
31407 
31408   case 627:
31409 #line 4492 "gram.y" /* yacc.c:1646  */
31410     {
31411 					CreateTableSpaceStmt *n = makeNode(CreateTableSpaceStmt);
31412 					n->tablespacename = (yyvsp[-4].str);
31413 					n->owner = (yyvsp[-3].rolespec);
31414 					n->location = (yyvsp[-1].str);
31415 					n->options = (yyvsp[0].list);
31416 					(yyval.node) = (Node *) n;
31417 				}
31418 #line 31419 "gram.c" /* yacc.c:1646  */
31419     break;
31420 
31421   case 628:
31422 #line 4502 "gram.y" /* yacc.c:1646  */
31423     { (yyval.rolespec) = (yyvsp[0].rolespec); }
31424 #line 31425 "gram.c" /* yacc.c:1646  */
31425     break;
31426 
31427   case 629:
31428 #line 4503 "gram.y" /* yacc.c:1646  */
31429     { (yyval.rolespec) = NULL; }
31430 #line 31431 "gram.c" /* yacc.c:1646  */
31431     break;
31432 
31433   case 630:
31434 #line 4517 "gram.y" /* yacc.c:1646  */
31435     {
31436 					DropTableSpaceStmt *n = makeNode(DropTableSpaceStmt);
31437 					n->tablespacename = (yyvsp[0].str);
31438 					n->missing_ok = false;
31439 					(yyval.node) = (Node *) n;
31440 				}
31441 #line 31442 "gram.c" /* yacc.c:1646  */
31442     break;
31443 
31444   case 631:
31445 #line 4524 "gram.y" /* yacc.c:1646  */
31446     {
31447 					DropTableSpaceStmt *n = makeNode(DropTableSpaceStmt);
31448 					n->tablespacename = (yyvsp[0].str);
31449 					n->missing_ok = true;
31450 					(yyval.node) = (Node *) n;
31451 				}
31452 #line 31453 "gram.c" /* yacc.c:1646  */
31453     break;
31454 
31455   case 632:
31456 #line 4541 "gram.y" /* yacc.c:1646  */
31457     {
31458 					CreateExtensionStmt *n = makeNode(CreateExtensionStmt);
31459 					n->extname = (yyvsp[-2].str);
31460 					n->if_not_exists = false;
31461 					n->options = (yyvsp[0].list);
31462 					(yyval.node) = (Node *) n;
31463 				}
31464 #line 31465 "gram.c" /* yacc.c:1646  */
31465     break;
31466 
31467   case 633:
31468 #line 4549 "gram.y" /* yacc.c:1646  */
31469     {
31470 					CreateExtensionStmt *n = makeNode(CreateExtensionStmt);
31471 					n->extname = (yyvsp[-2].str);
31472 					n->if_not_exists = true;
31473 					n->options = (yyvsp[0].list);
31474 					(yyval.node) = (Node *) n;
31475 				}
31476 #line 31477 "gram.c" /* yacc.c:1646  */
31477     break;
31478 
31479   case 634:
31480 #line 4560 "gram.y" /* yacc.c:1646  */
31481     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
31482 #line 31483 "gram.c" /* yacc.c:1646  */
31483     break;
31484 
31485   case 635:
31486 #line 4562 "gram.y" /* yacc.c:1646  */
31487     { (yyval.list) = NIL; }
31488 #line 31489 "gram.c" /* yacc.c:1646  */
31489     break;
31490 
31491   case 636:
31492 #line 4567 "gram.y" /* yacc.c:1646  */
31493     {
31494 					(yyval.defelt) = makeDefElem("schema", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
31495 				}
31496 #line 31497 "gram.c" /* yacc.c:1646  */
31497     break;
31498 
31499   case 637:
31500 #line 4571 "gram.y" /* yacc.c:1646  */
31501     {
31502 					(yyval.defelt) = makeDefElem("new_version", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
31503 				}
31504 #line 31505 "gram.c" /* yacc.c:1646  */
31505     break;
31506 
31507   case 638:
31508 #line 4575 "gram.y" /* yacc.c:1646  */
31509     {
31510 					ereport(ERROR,
31511 							(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
31512 							 errmsg("CREATE EXTENSION ... FROM is no longer supported"),
31513 							 parser_errposition((yylsp[-1]))));
31514 				}
31515 #line 31516 "gram.c" /* yacc.c:1646  */
31516     break;
31517 
31518   case 639:
31519 #line 4582 "gram.y" /* yacc.c:1646  */
31520     {
31521 					(yyval.defelt) = makeDefElem("cascade", (Node *)makeInteger(true), (yylsp[0]));
31522 				}
31523 #line 31524 "gram.c" /* yacc.c:1646  */
31524     break;
31525 
31526   case 640:
31527 #line 4594 "gram.y" /* yacc.c:1646  */
31528     {
31529 					AlterExtensionStmt *n = makeNode(AlterExtensionStmt);
31530 					n->extname = (yyvsp[-2].str);
31531 					n->options = (yyvsp[0].list);
31532 					(yyval.node) = (Node *) n;
31533 				}
31534 #line 31535 "gram.c" /* yacc.c:1646  */
31535     break;
31536 
31537   case 641:
31538 #line 4604 "gram.y" /* yacc.c:1646  */
31539     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
31540 #line 31541 "gram.c" /* yacc.c:1646  */
31541     break;
31542 
31543   case 642:
31544 #line 4606 "gram.y" /* yacc.c:1646  */
31545     { (yyval.list) = NIL; }
31546 #line 31547 "gram.c" /* yacc.c:1646  */
31547     break;
31548 
31549   case 643:
31550 #line 4611 "gram.y" /* yacc.c:1646  */
31551     {
31552 					(yyval.defelt) = makeDefElem("new_version", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
31553 				}
31554 #line 31555 "gram.c" /* yacc.c:1646  */
31555     break;
31556 
31557   case 644:
31558 #line 4624 "gram.y" /* yacc.c:1646  */
31559     {
31560 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31561 					n->extname = (yyvsp[-4].str);
31562 					n->action = (yyvsp[-3].ival);
31563 					n->objtype = OBJECT_ACCESS_METHOD;
31564 					n->object = (Node *) makeString((yyvsp[0].str));
31565 					(yyval.node) = (Node *)n;
31566 				}
31567 #line 31568 "gram.c" /* yacc.c:1646  */
31568     break;
31569 
31570   case 645:
31571 #line 4633 "gram.y" /* yacc.c:1646  */
31572     {
31573 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31574 					n->extname = (yyvsp[-3].str);
31575 					n->action = (yyvsp[-2].ival);
31576 					n->objtype = OBJECT_AGGREGATE;
31577 					n->object = (Node *) (yyvsp[0].objwithargs);
31578 					(yyval.node) = (Node *)n;
31579 				}
31580 #line 31581 "gram.c" /* yacc.c:1646  */
31581     break;
31582 
31583   case 646:
31584 #line 4642 "gram.y" /* yacc.c:1646  */
31585     {
31586 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31587 					n->extname = (yyvsp[-7].str);
31588 					n->action = (yyvsp[-6].ival);
31589 					n->objtype = OBJECT_CAST;
31590 					n->object = (Node *) list_make2((yyvsp[-3].typnam), (yyvsp[-1].typnam));
31591 					(yyval.node) = (Node *) n;
31592 				}
31593 #line 31594 "gram.c" /* yacc.c:1646  */
31594     break;
31595 
31596   case 647:
31597 #line 4651 "gram.y" /* yacc.c:1646  */
31598     {
31599 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31600 					n->extname = (yyvsp[-3].str);
31601 					n->action = (yyvsp[-2].ival);
31602 					n->objtype = OBJECT_COLLATION;
31603 					n->object = (Node *) (yyvsp[0].list);
31604 					(yyval.node) = (Node *)n;
31605 				}
31606 #line 31607 "gram.c" /* yacc.c:1646  */
31607     break;
31608 
31609   case 648:
31610 #line 4660 "gram.y" /* yacc.c:1646  */
31611     {
31612 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31613 					n->extname = (yyvsp[-3].str);
31614 					n->action = (yyvsp[-2].ival);
31615 					n->objtype = OBJECT_CONVERSION;
31616 					n->object = (Node *) (yyvsp[0].list);
31617 					(yyval.node) = (Node *)n;
31618 				}
31619 #line 31620 "gram.c" /* yacc.c:1646  */
31620     break;
31621 
31622   case 649:
31623 #line 4669 "gram.y" /* yacc.c:1646  */
31624     {
31625 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31626 					n->extname = (yyvsp[-3].str);
31627 					n->action = (yyvsp[-2].ival);
31628 					n->objtype = OBJECT_DOMAIN;
31629 					n->object = (Node *) (yyvsp[0].typnam);
31630 					(yyval.node) = (Node *)n;
31631 				}
31632 #line 31633 "gram.c" /* yacc.c:1646  */
31633     break;
31634 
31635   case 650:
31636 #line 4678 "gram.y" /* yacc.c:1646  */
31637     {
31638 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31639 					n->extname = (yyvsp[-3].str);
31640 					n->action = (yyvsp[-2].ival);
31641 					n->objtype = OBJECT_FUNCTION;
31642 					n->object = (Node *) (yyvsp[0].objwithargs);
31643 					(yyval.node) = (Node *)n;
31644 				}
31645 #line 31646 "gram.c" /* yacc.c:1646  */
31646     break;
31647 
31648   case 651:
31649 #line 4687 "gram.y" /* yacc.c:1646  */
31650     {
31651 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31652 					n->extname = (yyvsp[-4].str);
31653 					n->action = (yyvsp[-3].ival);
31654 					n->objtype = OBJECT_LANGUAGE;
31655 					n->object = (Node *) makeString((yyvsp[0].str));
31656 					(yyval.node) = (Node *)n;
31657 				}
31658 #line 31659 "gram.c" /* yacc.c:1646  */
31659     break;
31660 
31661   case 652:
31662 #line 4696 "gram.y" /* yacc.c:1646  */
31663     {
31664 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31665 					n->extname = (yyvsp[-3].str);
31666 					n->action = (yyvsp[-2].ival);
31667 					n->objtype = OBJECT_OPERATOR;
31668 					n->object = (Node *) (yyvsp[0].objwithargs);
31669 					(yyval.node) = (Node *)n;
31670 				}
31671 #line 31672 "gram.c" /* yacc.c:1646  */
31672     break;
31673 
31674   case 653:
31675 #line 4705 "gram.y" /* yacc.c:1646  */
31676     {
31677 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31678 					n->extname = (yyvsp[-6].str);
31679 					n->action = (yyvsp[-5].ival);
31680 					n->objtype = OBJECT_OPCLASS;
31681 					n->object = (Node *) lcons(makeString((yyvsp[0].str)), (yyvsp[-2].list));
31682 					(yyval.node) = (Node *)n;
31683 				}
31684 #line 31685 "gram.c" /* yacc.c:1646  */
31685     break;
31686 
31687   case 654:
31688 #line 4714 "gram.y" /* yacc.c:1646  */
31689     {
31690 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31691 					n->extname = (yyvsp[-6].str);
31692 					n->action = (yyvsp[-5].ival);
31693 					n->objtype = OBJECT_OPFAMILY;
31694 					n->object = (Node *) lcons(makeString((yyvsp[0].str)), (yyvsp[-2].list));
31695 					(yyval.node) = (Node *)n;
31696 				}
31697 #line 31698 "gram.c" /* yacc.c:1646  */
31698     break;
31699 
31700   case 655:
31701 #line 4723 "gram.y" /* yacc.c:1646  */
31702     {
31703 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31704 					n->extname = (yyvsp[-3].str);
31705 					n->action = (yyvsp[-2].ival);
31706 					n->objtype = OBJECT_PROCEDURE;
31707 					n->object = (Node *) (yyvsp[0].objwithargs);
31708 					(yyval.node) = (Node *)n;
31709 				}
31710 #line 31711 "gram.c" /* yacc.c:1646  */
31711     break;
31712 
31713   case 656:
31714 #line 4732 "gram.y" /* yacc.c:1646  */
31715     {
31716 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31717 					n->extname = (yyvsp[-3].str);
31718 					n->action = (yyvsp[-2].ival);
31719 					n->objtype = OBJECT_ROUTINE;
31720 					n->object = (Node *) (yyvsp[0].objwithargs);
31721 					(yyval.node) = (Node *)n;
31722 				}
31723 #line 31724 "gram.c" /* yacc.c:1646  */
31724     break;
31725 
31726   case 657:
31727 #line 4741 "gram.y" /* yacc.c:1646  */
31728     {
31729 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31730 					n->extname = (yyvsp[-3].str);
31731 					n->action = (yyvsp[-2].ival);
31732 					n->objtype = OBJECT_SCHEMA;
31733 					n->object = (Node *) makeString((yyvsp[0].str));
31734 					(yyval.node) = (Node *)n;
31735 				}
31736 #line 31737 "gram.c" /* yacc.c:1646  */
31737     break;
31738 
31739   case 658:
31740 #line 4750 "gram.y" /* yacc.c:1646  */
31741     {
31742 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31743 					n->extname = (yyvsp[-4].str);
31744 					n->action = (yyvsp[-3].ival);
31745 					n->objtype = OBJECT_EVENT_TRIGGER;
31746 					n->object = (Node *) makeString((yyvsp[0].str));
31747 					(yyval.node) = (Node *)n;
31748 				}
31749 #line 31750 "gram.c" /* yacc.c:1646  */
31750     break;
31751 
31752   case 659:
31753 #line 4759 "gram.y" /* yacc.c:1646  */
31754     {
31755 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31756 					n->extname = (yyvsp[-3].str);
31757 					n->action = (yyvsp[-2].ival);
31758 					n->objtype = OBJECT_TABLE;
31759 					n->object = (Node *) (yyvsp[0].list);
31760 					(yyval.node) = (Node *)n;
31761 				}
31762 #line 31763 "gram.c" /* yacc.c:1646  */
31763     break;
31764 
31765   case 660:
31766 #line 4768 "gram.y" /* yacc.c:1646  */
31767     {
31768 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31769 					n->extname = (yyvsp[-5].str);
31770 					n->action = (yyvsp[-4].ival);
31771 					n->objtype = OBJECT_TSPARSER;
31772 					n->object = (Node *) (yyvsp[0].list);
31773 					(yyval.node) = (Node *)n;
31774 				}
31775 #line 31776 "gram.c" /* yacc.c:1646  */
31776     break;
31777 
31778   case 661:
31779 #line 4777 "gram.y" /* yacc.c:1646  */
31780     {
31781 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31782 					n->extname = (yyvsp[-5].str);
31783 					n->action = (yyvsp[-4].ival);
31784 					n->objtype = OBJECT_TSDICTIONARY;
31785 					n->object = (Node *) (yyvsp[0].list);
31786 					(yyval.node) = (Node *)n;
31787 				}
31788 #line 31789 "gram.c" /* yacc.c:1646  */
31789     break;
31790 
31791   case 662:
31792 #line 4786 "gram.y" /* yacc.c:1646  */
31793     {
31794 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31795 					n->extname = (yyvsp[-5].str);
31796 					n->action = (yyvsp[-4].ival);
31797 					n->objtype = OBJECT_TSTEMPLATE;
31798 					n->object = (Node *) (yyvsp[0].list);
31799 					(yyval.node) = (Node *)n;
31800 				}
31801 #line 31802 "gram.c" /* yacc.c:1646  */
31802     break;
31803 
31804   case 663:
31805 #line 4795 "gram.y" /* yacc.c:1646  */
31806     {
31807 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31808 					n->extname = (yyvsp[-5].str);
31809 					n->action = (yyvsp[-4].ival);
31810 					n->objtype = OBJECT_TSCONFIGURATION;
31811 					n->object = (Node *) (yyvsp[0].list);
31812 					(yyval.node) = (Node *)n;
31813 				}
31814 #line 31815 "gram.c" /* yacc.c:1646  */
31815     break;
31816 
31817   case 664:
31818 #line 4804 "gram.y" /* yacc.c:1646  */
31819     {
31820 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31821 					n->extname = (yyvsp[-3].str);
31822 					n->action = (yyvsp[-2].ival);
31823 					n->objtype = OBJECT_SEQUENCE;
31824 					n->object = (Node *) (yyvsp[0].list);
31825 					(yyval.node) = (Node *)n;
31826 				}
31827 #line 31828 "gram.c" /* yacc.c:1646  */
31828     break;
31829 
31830   case 665:
31831 #line 4813 "gram.y" /* yacc.c:1646  */
31832     {
31833 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31834 					n->extname = (yyvsp[-3].str);
31835 					n->action = (yyvsp[-2].ival);
31836 					n->objtype = OBJECT_VIEW;
31837 					n->object = (Node *) (yyvsp[0].list);
31838 					(yyval.node) = (Node *)n;
31839 				}
31840 #line 31841 "gram.c" /* yacc.c:1646  */
31841     break;
31842 
31843   case 666:
31844 #line 4822 "gram.y" /* yacc.c:1646  */
31845     {
31846 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31847 					n->extname = (yyvsp[-4].str);
31848 					n->action = (yyvsp[-3].ival);
31849 					n->objtype = OBJECT_MATVIEW;
31850 					n->object = (Node *) (yyvsp[0].list);
31851 					(yyval.node) = (Node *)n;
31852 				}
31853 #line 31854 "gram.c" /* yacc.c:1646  */
31854     break;
31855 
31856   case 667:
31857 #line 4831 "gram.y" /* yacc.c:1646  */
31858     {
31859 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31860 					n->extname = (yyvsp[-4].str);
31861 					n->action = (yyvsp[-3].ival);
31862 					n->objtype = OBJECT_FOREIGN_TABLE;
31863 					n->object = (Node *) (yyvsp[0].list);
31864 					(yyval.node) = (Node *)n;
31865 				}
31866 #line 31867 "gram.c" /* yacc.c:1646  */
31867     break;
31868 
31869   case 668:
31870 #line 4840 "gram.y" /* yacc.c:1646  */
31871     {
31872 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31873 					n->extname = (yyvsp[-5].str);
31874 					n->action = (yyvsp[-4].ival);
31875 					n->objtype = OBJECT_FDW;
31876 					n->object = (Node *) makeString((yyvsp[0].str));
31877 					(yyval.node) = (Node *)n;
31878 				}
31879 #line 31880 "gram.c" /* yacc.c:1646  */
31880     break;
31881 
31882   case 669:
31883 #line 4849 "gram.y" /* yacc.c:1646  */
31884     {
31885 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31886 					n->extname = (yyvsp[-3].str);
31887 					n->action = (yyvsp[-2].ival);
31888 					n->objtype = OBJECT_FOREIGN_SERVER;
31889 					n->object = (Node *) makeString((yyvsp[0].str));
31890 					(yyval.node) = (Node *)n;
31891 				}
31892 #line 31893 "gram.c" /* yacc.c:1646  */
31893     break;
31894 
31895   case 670:
31896 #line 4858 "gram.y" /* yacc.c:1646  */
31897     {
31898 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31899 					n->extname = (yyvsp[-6].str);
31900 					n->action = (yyvsp[-5].ival);
31901 					n->objtype = OBJECT_TRANSFORM;
31902 					n->object = (Node *) list_make2((yyvsp[-2].typnam), makeString((yyvsp[0].str)));
31903 					(yyval.node) = (Node *)n;
31904 				}
31905 #line 31906 "gram.c" /* yacc.c:1646  */
31906     break;
31907 
31908   case 671:
31909 #line 4867 "gram.y" /* yacc.c:1646  */
31910     {
31911 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31912 					n->extname = (yyvsp[-3].str);
31913 					n->action = (yyvsp[-2].ival);
31914 					n->objtype = OBJECT_TYPE;
31915 					n->object = (Node *) (yyvsp[0].typnam);
31916 					(yyval.node) = (Node *)n;
31917 				}
31918 #line 31919 "gram.c" /* yacc.c:1646  */
31919     break;
31920 
31921   case 672:
31922 #line 4885 "gram.y" /* yacc.c:1646  */
31923     {
31924 					CreateFdwStmt *n = makeNode(CreateFdwStmt);
31925 					n->fdwname = (yyvsp[-2].str);
31926 					n->func_options = (yyvsp[-1].list);
31927 					n->options = (yyvsp[0].list);
31928 					(yyval.node) = (Node *) n;
31929 				}
31930 #line 31931 "gram.c" /* yacc.c:1646  */
31931     break;
31932 
31933   case 673:
31934 #line 4895 "gram.y" /* yacc.c:1646  */
31935     { (yyval.defelt) = makeDefElem("handler", (Node *)(yyvsp[0].list), (yylsp[-1])); }
31936 #line 31937 "gram.c" /* yacc.c:1646  */
31937     break;
31938 
31939   case 674:
31940 #line 4896 "gram.y" /* yacc.c:1646  */
31941     { (yyval.defelt) = makeDefElem("handler", NULL, (yylsp[-1])); }
31942 #line 31943 "gram.c" /* yacc.c:1646  */
31943     break;
31944 
31945   case 675:
31946 #line 4897 "gram.y" /* yacc.c:1646  */
31947     { (yyval.defelt) = makeDefElem("validator", (Node *)(yyvsp[0].list), (yylsp[-1])); }
31948 #line 31949 "gram.c" /* yacc.c:1646  */
31949     break;
31950 
31951   case 676:
31952 #line 4898 "gram.y" /* yacc.c:1646  */
31953     { (yyval.defelt) = makeDefElem("validator", NULL, (yylsp[-1])); }
31954 #line 31955 "gram.c" /* yacc.c:1646  */
31955     break;
31956 
31957   case 677:
31958 #line 4902 "gram.y" /* yacc.c:1646  */
31959     { (yyval.list) = list_make1((yyvsp[0].defelt)); }
31960 #line 31961 "gram.c" /* yacc.c:1646  */
31961     break;
31962 
31963   case 678:
31964 #line 4903 "gram.y" /* yacc.c:1646  */
31965     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
31966 #line 31967 "gram.c" /* yacc.c:1646  */
31967     break;
31968 
31969   case 679:
31970 #line 4907 "gram.y" /* yacc.c:1646  */
31971     { (yyval.list) = (yyvsp[0].list); }
31972 #line 31973 "gram.c" /* yacc.c:1646  */
31973     break;
31974 
31975   case 680:
31976 #line 4908 "gram.y" /* yacc.c:1646  */
31977     { (yyval.list) = NIL; }
31978 #line 31979 "gram.c" /* yacc.c:1646  */
31979     break;
31980 
31981   case 681:
31982 #line 4919 "gram.y" /* yacc.c:1646  */
31983     {
31984 					AlterFdwStmt *n = makeNode(AlterFdwStmt);
31985 					n->fdwname = (yyvsp[-2].str);
31986 					n->func_options = (yyvsp[-1].list);
31987 					n->options = (yyvsp[0].list);
31988 					(yyval.node) = (Node *) n;
31989 				}
31990 #line 31991 "gram.c" /* yacc.c:1646  */
31991     break;
31992 
31993   case 682:
31994 #line 4927 "gram.y" /* yacc.c:1646  */
31995     {
31996 					AlterFdwStmt *n = makeNode(AlterFdwStmt);
31997 					n->fdwname = (yyvsp[-1].str);
31998 					n->func_options = (yyvsp[0].list);
31999 					n->options = NIL;
32000 					(yyval.node) = (Node *) n;
32001 				}
32002 #line 32003 "gram.c" /* yacc.c:1646  */
32003     break;
32004 
32005   case 683:
32006 #line 4938 "gram.y" /* yacc.c:1646  */
32007     { (yyval.list) = (yyvsp[-1].list); }
32008 #line 32009 "gram.c" /* yacc.c:1646  */
32009     break;
32010 
32011   case 684:
32012 #line 4939 "gram.y" /* yacc.c:1646  */
32013     { (yyval.list) = NIL; }
32014 #line 32015 "gram.c" /* yacc.c:1646  */
32015     break;
32016 
32017   case 685:
32018 #line 4944 "gram.y" /* yacc.c:1646  */
32019     {
32020 					(yyval.list) = list_make1((yyvsp[0].defelt));
32021 				}
32022 #line 32023 "gram.c" /* yacc.c:1646  */
32023     break;
32024 
32025   case 686:
32026 #line 4948 "gram.y" /* yacc.c:1646  */
32027     {
32028 					(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
32029 				}
32030 #line 32031 "gram.c" /* yacc.c:1646  */
32031     break;
32032 
32033   case 687:
32034 #line 4955 "gram.y" /* yacc.c:1646  */
32035     { (yyval.list) = (yyvsp[-1].list); }
32036 #line 32037 "gram.c" /* yacc.c:1646  */
32037     break;
32038 
32039   case 688:
32040 #line 4960 "gram.y" /* yacc.c:1646  */
32041     {
32042 					(yyval.list) = list_make1((yyvsp[0].defelt));
32043 				}
32044 #line 32045 "gram.c" /* yacc.c:1646  */
32045     break;
32046 
32047   case 689:
32048 #line 4964 "gram.y" /* yacc.c:1646  */
32049     {
32050 					(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
32051 				}
32052 #line 32053 "gram.c" /* yacc.c:1646  */
32053     break;
32054 
32055   case 690:
32056 #line 4971 "gram.y" /* yacc.c:1646  */
32057     {
32058 					(yyval.defelt) = (yyvsp[0].defelt);
32059 				}
32060 #line 32061 "gram.c" /* yacc.c:1646  */
32061     break;
32062 
32063   case 691:
32064 #line 4975 "gram.y" /* yacc.c:1646  */
32065     {
32066 					(yyval.defelt) = (yyvsp[0].defelt);
32067 					(yyval.defelt)->defaction = DEFELEM_SET;
32068 				}
32069 #line 32070 "gram.c" /* yacc.c:1646  */
32070     break;
32071 
32072   case 692:
32073 #line 4980 "gram.y" /* yacc.c:1646  */
32074     {
32075 					(yyval.defelt) = (yyvsp[0].defelt);
32076 					(yyval.defelt)->defaction = DEFELEM_ADD;
32077 				}
32078 #line 32079 "gram.c" /* yacc.c:1646  */
32079     break;
32080 
32081   case 693:
32082 #line 4985 "gram.y" /* yacc.c:1646  */
32083     {
32084 					(yyval.defelt) = makeDefElemExtended(NULL, (yyvsp[0].str), NULL, DEFELEM_DROP, (yylsp[0]));
32085 				}
32086 #line 32087 "gram.c" /* yacc.c:1646  */
32087     break;
32088 
32089   case 694:
32090 #line 4992 "gram.y" /* yacc.c:1646  */
32091     {
32092 					(yyval.defelt) = makeDefElem((yyvsp[-1].str), (yyvsp[0].node), (yylsp[-1]));
32093 				}
32094 #line 32095 "gram.c" /* yacc.c:1646  */
32095     break;
32096 
32097   case 695:
32098 #line 4998 "gram.y" /* yacc.c:1646  */
32099     { (yyval.str) = (yyvsp[0].str); }
32100 #line 32101 "gram.c" /* yacc.c:1646  */
32101     break;
32102 
32103   case 696:
32104 #line 5003 "gram.y" /* yacc.c:1646  */
32105     { (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
32106 #line 32107 "gram.c" /* yacc.c:1646  */
32107     break;
32108 
32109   case 697:
32110 #line 5015 "gram.y" /* yacc.c:1646  */
32111     {
32112 					CreateForeignServerStmt *n = makeNode(CreateForeignServerStmt);
32113 					n->servername = (yyvsp[-7].str);
32114 					n->servertype = (yyvsp[-6].str);
32115 					n->version = (yyvsp[-5].str);
32116 					n->fdwname = (yyvsp[-1].str);
32117 					n->options = (yyvsp[0].list);
32118 					n->if_not_exists = false;
32119 					(yyval.node) = (Node *) n;
32120 				}
32121 #line 32122 "gram.c" /* yacc.c:1646  */
32122     break;
32123 
32124   case 698:
32125 #line 5027 "gram.y" /* yacc.c:1646  */
32126     {
32127 					CreateForeignServerStmt *n = makeNode(CreateForeignServerStmt);
32128 					n->servername = (yyvsp[-7].str);
32129 					n->servertype = (yyvsp[-6].str);
32130 					n->version = (yyvsp[-5].str);
32131 					n->fdwname = (yyvsp[-1].str);
32132 					n->options = (yyvsp[0].list);
32133 					n->if_not_exists = true;
32134 					(yyval.node) = (Node *) n;
32135 				}
32136 #line 32137 "gram.c" /* yacc.c:1646  */
32137     break;
32138 
32139   case 699:
32140 #line 5040 "gram.y" /* yacc.c:1646  */
32141     { (yyval.str) = (yyvsp[0].str); }
32142 #line 32143 "gram.c" /* yacc.c:1646  */
32143     break;
32144 
32145   case 700:
32146 #line 5041 "gram.y" /* yacc.c:1646  */
32147     { (yyval.str) = NULL; }
32148 #line 32149 "gram.c" /* yacc.c:1646  */
32149     break;
32150 
32151   case 701:
32152 #line 5046 "gram.y" /* yacc.c:1646  */
32153     { (yyval.str) = (yyvsp[0].str); }
32154 #line 32155 "gram.c" /* yacc.c:1646  */
32155     break;
32156 
32157   case 702:
32158 #line 5047 "gram.y" /* yacc.c:1646  */
32159     { (yyval.str) = NULL; }
32160 #line 32161 "gram.c" /* yacc.c:1646  */
32161     break;
32162 
32163   case 703:
32164 #line 5051 "gram.y" /* yacc.c:1646  */
32165     { (yyval.str) = (yyvsp[0].str); }
32166 #line 32167 "gram.c" /* yacc.c:1646  */
32167     break;
32168 
32169   case 704:
32170 #line 5052 "gram.y" /* yacc.c:1646  */
32171     { (yyval.str) = NULL; }
32172 #line 32173 "gram.c" /* yacc.c:1646  */
32173     break;
32174 
32175   case 705:
32176 #line 5063 "gram.y" /* yacc.c:1646  */
32177     {
32178 					AlterForeignServerStmt *n = makeNode(AlterForeignServerStmt);
32179 					n->servername = (yyvsp[-2].str);
32180 					n->version = (yyvsp[-1].str);
32181 					n->options = (yyvsp[0].list);
32182 					n->has_version = true;
32183 					(yyval.node) = (Node *) n;
32184 				}
32185 #line 32186 "gram.c" /* yacc.c:1646  */
32186     break;
32187 
32188   case 706:
32189 #line 5072 "gram.y" /* yacc.c:1646  */
32190     {
32191 					AlterForeignServerStmt *n = makeNode(AlterForeignServerStmt);
32192 					n->servername = (yyvsp[-1].str);
32193 					n->version = (yyvsp[0].str);
32194 					n->has_version = true;
32195 					(yyval.node) = (Node *) n;
32196 				}
32197 #line 32198 "gram.c" /* yacc.c:1646  */
32198     break;
32199 
32200   case 707:
32201 #line 5080 "gram.y" /* yacc.c:1646  */
32202     {
32203 					AlterForeignServerStmt *n = makeNode(AlterForeignServerStmt);
32204 					n->servername = (yyvsp[-1].str);
32205 					n->options = (yyvsp[0].list);
32206 					(yyval.node) = (Node *) n;
32207 				}
32208 #line 32209 "gram.c" /* yacc.c:1646  */
32209     break;
32210 
32211   case 708:
32212 #line 5099 "gram.y" /* yacc.c:1646  */
32213     {
32214 					CreateForeignTableStmt *n = makeNode(CreateForeignTableStmt);
32215 					(yyvsp[-7].range)->relpersistence = RELPERSISTENCE_PERMANENT;
32216 					n->base.relation = (yyvsp[-7].range);
32217 					n->base.tableElts = (yyvsp[-5].list);
32218 					n->base.inhRelations = (yyvsp[-3].list);
32219 					n->base.ofTypename = NULL;
32220 					n->base.constraints = NIL;
32221 					n->base.options = NIL;
32222 					n->base.oncommit = ONCOMMIT_NOOP;
32223 					n->base.tablespacename = NULL;
32224 					n->base.if_not_exists = false;
32225 					/* FDW-specific data */
32226 					n->servername = (yyvsp[-1].str);
32227 					n->options = (yyvsp[0].list);
32228 					(yyval.node) = (Node *) n;
32229 				}
32230 #line 32231 "gram.c" /* yacc.c:1646  */
32231     break;
32232 
32233   case 709:
32234 #line 5119 "gram.y" /* yacc.c:1646  */
32235     {
32236 					CreateForeignTableStmt *n = makeNode(CreateForeignTableStmt);
32237 					(yyvsp[-7].range)->relpersistence = RELPERSISTENCE_PERMANENT;
32238 					n->base.relation = (yyvsp[-7].range);
32239 					n->base.tableElts = (yyvsp[-5].list);
32240 					n->base.inhRelations = (yyvsp[-3].list);
32241 					n->base.ofTypename = NULL;
32242 					n->base.constraints = NIL;
32243 					n->base.options = NIL;
32244 					n->base.oncommit = ONCOMMIT_NOOP;
32245 					n->base.tablespacename = NULL;
32246 					n->base.if_not_exists = true;
32247 					/* FDW-specific data */
32248 					n->servername = (yyvsp[-1].str);
32249 					n->options = (yyvsp[0].list);
32250 					(yyval.node) = (Node *) n;
32251 				}
32252 #line 32253 "gram.c" /* yacc.c:1646  */
32253     break;
32254 
32255   case 710:
32256 #line 5139 "gram.y" /* yacc.c:1646  */
32257     {
32258 					CreateForeignTableStmt *n = makeNode(CreateForeignTableStmt);
32259 					(yyvsp[-8].range)->relpersistence = RELPERSISTENCE_PERMANENT;
32260 					n->base.relation = (yyvsp[-8].range);
32261 					n->base.inhRelations = list_make1((yyvsp[-5].range));
32262 					n->base.tableElts = (yyvsp[-4].list);
32263 					n->base.partbound = (yyvsp[-3].partboundspec);
32264 					n->base.ofTypename = NULL;
32265 					n->base.constraints = NIL;
32266 					n->base.options = NIL;
32267 					n->base.oncommit = ONCOMMIT_NOOP;
32268 					n->base.tablespacename = NULL;
32269 					n->base.if_not_exists = false;
32270 					/* FDW-specific data */
32271 					n->servername = (yyvsp[-1].str);
32272 					n->options = (yyvsp[0].list);
32273 					(yyval.node) = (Node *) n;
32274 				}
32275 #line 32276 "gram.c" /* yacc.c:1646  */
32276     break;
32277 
32278   case 711:
32279 #line 5160 "gram.y" /* yacc.c:1646  */
32280     {
32281 					CreateForeignTableStmt *n = makeNode(CreateForeignTableStmt);
32282 					(yyvsp[-8].range)->relpersistence = RELPERSISTENCE_PERMANENT;
32283 					n->base.relation = (yyvsp[-8].range);
32284 					n->base.inhRelations = list_make1((yyvsp[-5].range));
32285 					n->base.tableElts = (yyvsp[-4].list);
32286 					n->base.partbound = (yyvsp[-3].partboundspec);
32287 					n->base.ofTypename = NULL;
32288 					n->base.constraints = NIL;
32289 					n->base.options = NIL;
32290 					n->base.oncommit = ONCOMMIT_NOOP;
32291 					n->base.tablespacename = NULL;
32292 					n->base.if_not_exists = true;
32293 					/* FDW-specific data */
32294 					n->servername = (yyvsp[-1].str);
32295 					n->options = (yyvsp[0].list);
32296 					(yyval.node) = (Node *) n;
32297 				}
32298 #line 32299 "gram.c" /* yacc.c:1646  */
32299     break;
32300 
32301   case 712:
32302 #line 5189 "gram.y" /* yacc.c:1646  */
32303     {
32304 					AlterTableStmt *n = makeNode(AlterTableStmt);
32305 					n->relation = (yyvsp[-1].range);
32306 					n->cmds = (yyvsp[0].list);
32307 					n->relkind = OBJECT_FOREIGN_TABLE;
32308 					n->missing_ok = false;
32309 					(yyval.node) = (Node *)n;
32310 				}
32311 #line 32312 "gram.c" /* yacc.c:1646  */
32312     break;
32313 
32314   case 713:
32315 #line 5198 "gram.y" /* yacc.c:1646  */
32316     {
32317 					AlterTableStmt *n = makeNode(AlterTableStmt);
32318 					n->relation = (yyvsp[-1].range);
32319 					n->cmds = (yyvsp[0].list);
32320 					n->relkind = OBJECT_FOREIGN_TABLE;
32321 					n->missing_ok = true;
32322 					(yyval.node) = (Node *)n;
32323 				}
32324 #line 32325 "gram.c" /* yacc.c:1646  */
32325     break;
32326 
32327   case 714:
32328 #line 5220 "gram.y" /* yacc.c:1646  */
32329     {
32330 				ImportForeignSchemaStmt *n = makeNode(ImportForeignSchemaStmt);
32331 				n->server_name = (yyvsp[-3].str);
32332 				n->remote_schema = (yyvsp[-7].str);
32333 				n->local_schema = (yyvsp[-1].str);
32334 				n->list_type = (yyvsp[-6].importqual)->type;
32335 				n->table_list = (yyvsp[-6].importqual)->table_names;
32336 				n->options = (yyvsp[0].list);
32337 				(yyval.node) = (Node *) n;
32338 			}
32339 #line 32340 "gram.c" /* yacc.c:1646  */
32340     break;
32341 
32342   case 715:
32343 #line 5233 "gram.y" /* yacc.c:1646  */
32344     { (yyval.ival) = FDW_IMPORT_SCHEMA_LIMIT_TO; }
32345 #line 32346 "gram.c" /* yacc.c:1646  */
32346     break;
32347 
32348   case 716:
32349 #line 5234 "gram.y" /* yacc.c:1646  */
32350     { (yyval.ival) = FDW_IMPORT_SCHEMA_EXCEPT; }
32351 #line 32352 "gram.c" /* yacc.c:1646  */
32352     break;
32353 
32354   case 717:
32355 #line 5239 "gram.y" /* yacc.c:1646  */
32356     {
32357 				ImportQual *n = (ImportQual *) palloc(sizeof(ImportQual));
32358 				n->type = (yyvsp[-3].ival);
32359 				n->table_names = (yyvsp[-1].list);
32360 				(yyval.importqual) = n;
32361 			}
32362 #line 32363 "gram.c" /* yacc.c:1646  */
32363     break;
32364 
32365   case 718:
32366 #line 5246 "gram.y" /* yacc.c:1646  */
32367     {
32368 				ImportQual *n = (ImportQual *) palloc(sizeof(ImportQual));
32369 				n->type = FDW_IMPORT_SCHEMA_ALL;
32370 				n->table_names = NIL;
32371 				(yyval.importqual) = n;
32372 			}
32373 #line 32374 "gram.c" /* yacc.c:1646  */
32374     break;
32375 
32376   case 719:
32377 #line 5262 "gram.y" /* yacc.c:1646  */
32378     {
32379 					CreateUserMappingStmt *n = makeNode(CreateUserMappingStmt);
32380 					n->user = (yyvsp[-3].rolespec);
32381 					n->servername = (yyvsp[-1].str);
32382 					n->options = (yyvsp[0].list);
32383 					n->if_not_exists = false;
32384 					(yyval.node) = (Node *) n;
32385 				}
32386 #line 32387 "gram.c" /* yacc.c:1646  */
32387     break;
32388 
32389   case 720:
32390 #line 5271 "gram.y" /* yacc.c:1646  */
32391     {
32392 					CreateUserMappingStmt *n = makeNode(CreateUserMappingStmt);
32393 					n->user = (yyvsp[-3].rolespec);
32394 					n->servername = (yyvsp[-1].str);
32395 					n->options = (yyvsp[0].list);
32396 					n->if_not_exists = true;
32397 					(yyval.node) = (Node *) n;
32398 				}
32399 #line 32400 "gram.c" /* yacc.c:1646  */
32400     break;
32401 
32402   case 721:
32403 #line 5282 "gram.y" /* yacc.c:1646  */
32404     { (yyval.rolespec) = (yyvsp[0].rolespec); }
32405 #line 32406 "gram.c" /* yacc.c:1646  */
32406     break;
32407 
32408   case 722:
32409 #line 5283 "gram.y" /* yacc.c:1646  */
32410     { (yyval.rolespec) = makeRoleSpec(ROLESPEC_CURRENT_USER, (yylsp[0])); }
32411 #line 32412 "gram.c" /* yacc.c:1646  */
32412     break;
32413 
32414   case 723:
32415 #line 5296 "gram.y" /* yacc.c:1646  */
32416     {
32417 					DropUserMappingStmt *n = makeNode(DropUserMappingStmt);
32418 					n->user = (yyvsp[-2].rolespec);
32419 					n->servername = (yyvsp[0].str);
32420 					n->missing_ok = false;
32421 					(yyval.node) = (Node *) n;
32422 				}
32423 #line 32424 "gram.c" /* yacc.c:1646  */
32424     break;
32425 
32426   case 724:
32427 #line 5304 "gram.y" /* yacc.c:1646  */
32428     {
32429 					DropUserMappingStmt *n = makeNode(DropUserMappingStmt);
32430 					n->user = (yyvsp[-2].rolespec);
32431 					n->servername = (yyvsp[0].str);
32432 					n->missing_ok = true;
32433 					(yyval.node) = (Node *) n;
32434 				}
32435 #line 32436 "gram.c" /* yacc.c:1646  */
32436     break;
32437 
32438   case 725:
32439 #line 5321 "gram.y" /* yacc.c:1646  */
32440     {
32441 					AlterUserMappingStmt *n = makeNode(AlterUserMappingStmt);
32442 					n->user = (yyvsp[-3].rolespec);
32443 					n->servername = (yyvsp[-1].str);
32444 					n->options = (yyvsp[0].list);
32445 					(yyval.node) = (Node *) n;
32446 				}
32447 #line 32448 "gram.c" /* yacc.c:1646  */
32448     break;
32449 
32450   case 726:
32451 #line 5347 "gram.y" /* yacc.c:1646  */
32452     {
32453 					CreatePolicyStmt *n = makeNode(CreatePolicyStmt);
32454 					n->policy_name = (yyvsp[-7].str);
32455 					n->table = (yyvsp[-5].range);
32456 					n->permissive = (yyvsp[-4].boolean);
32457 					n->cmd_name = (yyvsp[-3].str);
32458 					n->roles = (yyvsp[-2].list);
32459 					n->qual = (yyvsp[-1].node);
32460 					n->with_check = (yyvsp[0].node);
32461 					(yyval.node) = (Node *) n;
32462 				}
32463 #line 32464 "gram.c" /* yacc.c:1646  */
32464     break;
32465 
32466   case 727:
32467 #line 5363 "gram.y" /* yacc.c:1646  */
32468     {
32469 					AlterPolicyStmt *n = makeNode(AlterPolicyStmt);
32470 					n->policy_name = (yyvsp[-5].str);
32471 					n->table = (yyvsp[-3].range);
32472 					n->roles = (yyvsp[-2].list);
32473 					n->qual = (yyvsp[-1].node);
32474 					n->with_check = (yyvsp[0].node);
32475 					(yyval.node) = (Node *) n;
32476 				}
32477 #line 32478 "gram.c" /* yacc.c:1646  */
32478     break;
32479 
32480   case 728:
32481 #line 5375 "gram.y" /* yacc.c:1646  */
32482     { (yyval.node) = (yyvsp[-1].node); }
32483 #line 32484 "gram.c" /* yacc.c:1646  */
32484     break;
32485 
32486   case 729:
32487 #line 5376 "gram.y" /* yacc.c:1646  */
32488     { (yyval.node) = NULL; }
32489 #line 32490 "gram.c" /* yacc.c:1646  */
32490     break;
32491 
32492   case 730:
32493 #line 5380 "gram.y" /* yacc.c:1646  */
32494     { (yyval.node) = (yyvsp[-1].node); }
32495 #line 32496 "gram.c" /* yacc.c:1646  */
32496     break;
32497 
32498   case 731:
32499 #line 5381 "gram.y" /* yacc.c:1646  */
32500     { (yyval.node) = NULL; }
32501 #line 32502 "gram.c" /* yacc.c:1646  */
32502     break;
32503 
32504   case 732:
32505 #line 5385 "gram.y" /* yacc.c:1646  */
32506     { (yyval.list) = (yyvsp[0].list); }
32507 #line 32508 "gram.c" /* yacc.c:1646  */
32508     break;
32509 
32510   case 733:
32511 #line 5386 "gram.y" /* yacc.c:1646  */
32512     { (yyval.list) = list_make1(makeRoleSpec(ROLESPEC_PUBLIC, -1)); }
32513 #line 32514 "gram.c" /* yacc.c:1646  */
32514     break;
32515 
32516   case 734:
32517 #line 5390 "gram.y" /* yacc.c:1646  */
32518     { (yyval.list) = (yyvsp[0].list); }
32519 #line 32520 "gram.c" /* yacc.c:1646  */
32520     break;
32521 
32522   case 735:
32523 #line 5391 "gram.y" /* yacc.c:1646  */
32524     { (yyval.list) = NULL; }
32525 #line 32526 "gram.c" /* yacc.c:1646  */
32526     break;
32527 
32528   case 736:
32529 #line 5396 "gram.y" /* yacc.c:1646  */
32530     {
32531 					if (strcmp((yyvsp[0].str), "permissive") == 0)
32532 						(yyval.boolean) = true;
32533 					else if (strcmp((yyvsp[0].str), "restrictive") == 0)
32534 						(yyval.boolean) = false;
32535 					else
32536 						ereport(ERROR,
32537 								(errcode(ERRCODE_SYNTAX_ERROR),
32538 							 errmsg("unrecognized row security option \"%s\"", (yyvsp[0].str)),
32539 								 errhint("Only PERMISSIVE or RESTRICTIVE policies are supported currently."),
32540 									 parser_errposition((yylsp[0]))));
32541 
32542 				}
32543 #line 32544 "gram.c" /* yacc.c:1646  */
32544     break;
32545 
32546   case 737:
32547 #line 5409 "gram.y" /* yacc.c:1646  */
32548     { (yyval.boolean) = true; }
32549 #line 32550 "gram.c" /* yacc.c:1646  */
32550     break;
32551 
32552   case 738:
32553 #line 5413 "gram.y" /* yacc.c:1646  */
32554     { (yyval.str) = (yyvsp[0].str); }
32555 #line 32556 "gram.c" /* yacc.c:1646  */
32556     break;
32557 
32558   case 739:
32559 #line 5414 "gram.y" /* yacc.c:1646  */
32560     { (yyval.str) = "all"; }
32561 #line 32562 "gram.c" /* yacc.c:1646  */
32562     break;
32563 
32564   case 740:
32565 #line 5418 "gram.y" /* yacc.c:1646  */
32566     { (yyval.str) = "all"; }
32567 #line 32568 "gram.c" /* yacc.c:1646  */
32568     break;
32569 
32570   case 741:
32571 #line 5419 "gram.y" /* yacc.c:1646  */
32572     { (yyval.str) = "select"; }
32573 #line 32574 "gram.c" /* yacc.c:1646  */
32574     break;
32575 
32576   case 742:
32577 #line 5420 "gram.y" /* yacc.c:1646  */
32578     { (yyval.str) = "insert"; }
32579 #line 32580 "gram.c" /* yacc.c:1646  */
32580     break;
32581 
32582   case 743:
32583 #line 5421 "gram.y" /* yacc.c:1646  */
32584     { (yyval.str) = "update"; }
32585 #line 32586 "gram.c" /* yacc.c:1646  */
32586     break;
32587 
32588   case 744:
32589 #line 5422 "gram.y" /* yacc.c:1646  */
32590     { (yyval.str) = "delete"; }
32591 #line 32592 "gram.c" /* yacc.c:1646  */
32592     break;
32593 
32594   case 745:
32595 #line 5433 "gram.y" /* yacc.c:1646  */
32596     {
32597 					CreateAmStmt *n = makeNode(CreateAmStmt);
32598 					n->amname = (yyvsp[-4].str);
32599 					n->handler_name = (yyvsp[0].list);
32600 					n->amtype = (yyvsp[-2].chr);
32601 					(yyval.node) = (Node *) n;
32602 				}
32603 #line 32604 "gram.c" /* yacc.c:1646  */
32604     break;
32605 
32606   case 746:
32607 #line 5443 "gram.y" /* yacc.c:1646  */
32608     { (yyval.chr) = AMTYPE_INDEX; }
32609 #line 32610 "gram.c" /* yacc.c:1646  */
32610     break;
32611 
32612   case 747:
32613 #line 5444 "gram.y" /* yacc.c:1646  */
32614     { (yyval.chr) = AMTYPE_TABLE; }
32615 #line 32616 "gram.c" /* yacc.c:1646  */
32616     break;
32617 
32618   case 748:
32619 #line 5458 "gram.y" /* yacc.c:1646  */
32620     {
32621 					CreateTrigStmt *n = makeNode(CreateTrigStmt);
32622 					n->trigname = (yyvsp[-13].str);
32623 					n->relation = (yyvsp[-9].range);
32624 					n->funcname = (yyvsp[-3].list);
32625 					n->args = (yyvsp[-1].list);
32626 					n->row = (yyvsp[-7].boolean);
32627 					n->timing = (yyvsp[-12].ival);
32628 					n->events = intVal(linitial((yyvsp[-11].list)));
32629 					n->columns = (List *) lsecond((yyvsp[-11].list));
32630 					n->whenClause = (yyvsp[-6].node);
32631 					n->transitionRels = (yyvsp[-8].list);
32632 					n->isconstraint  = false;
32633 					n->deferrable	 = false;
32634 					n->initdeferred  = false;
32635 					n->constrrel = NULL;
32636 					(yyval.node) = (Node *)n;
32637 				}
32638 #line 32639 "gram.c" /* yacc.c:1646  */
32639     break;
32640 
32641   case 749:
32642 #line 5480 "gram.y" /* yacc.c:1646  */
32643     {
32644 					CreateTrigStmt *n = makeNode(CreateTrigStmt);
32645 					n->trigname = (yyvsp[-16].str);
32646 					n->relation = (yyvsp[-12].range);
32647 					n->funcname = (yyvsp[-3].list);
32648 					n->args = (yyvsp[-1].list);
32649 					n->row = true;
32650 					n->timing = TRIGGER_TYPE_AFTER;
32651 					n->events = intVal(linitial((yyvsp[-14].list)));
32652 					n->columns = (List *) lsecond((yyvsp[-14].list));
32653 					n->whenClause = (yyvsp[-6].node);
32654 					n->transitionRels = NIL;
32655 					n->isconstraint  = true;
32656 					processCASbits((yyvsp[-10].ival), (yylsp[-10]), "TRIGGER",
32657 								   &n->deferrable, &n->initdeferred, NULL,
32658 								   NULL, yyscanner);
32659 					n->constrrel = (yyvsp[-11].range);
32660 					(yyval.node) = (Node *)n;
32661 				}
32662 #line 32663 "gram.c" /* yacc.c:1646  */
32663     break;
32664 
32665   case 750:
32666 #line 5502 "gram.y" /* yacc.c:1646  */
32667     { (yyval.ival) = TRIGGER_TYPE_BEFORE; }
32668 #line 32669 "gram.c" /* yacc.c:1646  */
32669     break;
32670 
32671   case 751:
32672 #line 5503 "gram.y" /* yacc.c:1646  */
32673     { (yyval.ival) = TRIGGER_TYPE_AFTER; }
32674 #line 32675 "gram.c" /* yacc.c:1646  */
32675     break;
32676 
32677   case 752:
32678 #line 5504 "gram.y" /* yacc.c:1646  */
32679     { (yyval.ival) = TRIGGER_TYPE_INSTEAD; }
32680 #line 32681 "gram.c" /* yacc.c:1646  */
32681     break;
32682 
32683   case 753:
32684 #line 5509 "gram.y" /* yacc.c:1646  */
32685     { (yyval.list) = (yyvsp[0].list); }
32686 #line 32687 "gram.c" /* yacc.c:1646  */
32687     break;
32688 
32689   case 754:
32690 #line 5511 "gram.y" /* yacc.c:1646  */
32691     {
32692 					int		events1 = intVal(linitial((yyvsp[-2].list)));
32693 					int		events2 = intVal(linitial((yyvsp[0].list)));
32694 					List   *columns1 = (List *) lsecond((yyvsp[-2].list));
32695 					List   *columns2 = (List *) lsecond((yyvsp[0].list));
32696 
32697 					if (events1 & events2)
32698 						parser_yyerror("duplicate trigger events specified");
32699 					/*
32700 					 * concat'ing the columns lists loses information about
32701 					 * which columns went with which event, but so long as
32702 					 * only UPDATE carries columns and we disallow multiple
32703 					 * UPDATE items, it doesn't matter.  Command execution
32704 					 * should just ignore the columns for non-UPDATE events.
32705 					 */
32706 					(yyval.list) = list_make2(makeInteger(events1 | events2),
32707 									list_concat(columns1, columns2));
32708 				}
32709 #line 32710 "gram.c" /* yacc.c:1646  */
32710     break;
32711 
32712   case 755:
32713 #line 5533 "gram.y" /* yacc.c:1646  */
32714     { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_INSERT), NIL); }
32715 #line 32716 "gram.c" /* yacc.c:1646  */
32716     break;
32717 
32718   case 756:
32719 #line 5535 "gram.y" /* yacc.c:1646  */
32720     { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_DELETE), NIL); }
32721 #line 32722 "gram.c" /* yacc.c:1646  */
32722     break;
32723 
32724   case 757:
32725 #line 5537 "gram.y" /* yacc.c:1646  */
32726     { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_UPDATE), NIL); }
32727 #line 32728 "gram.c" /* yacc.c:1646  */
32728     break;
32729 
32730   case 758:
32731 #line 5539 "gram.y" /* yacc.c:1646  */
32732     { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_UPDATE), (yyvsp[0].list)); }
32733 #line 32734 "gram.c" /* yacc.c:1646  */
32734     break;
32735 
32736   case 759:
32737 #line 5541 "gram.y" /* yacc.c:1646  */
32738     { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_TRUNCATE), NIL); }
32739 #line 32740 "gram.c" /* yacc.c:1646  */
32740     break;
32741 
32742   case 760:
32743 #line 5545 "gram.y" /* yacc.c:1646  */
32744     { (yyval.list) = (yyvsp[0].list); }
32745 #line 32746 "gram.c" /* yacc.c:1646  */
32746     break;
32747 
32748   case 761:
32749 #line 5546 "gram.y" /* yacc.c:1646  */
32750     { (yyval.list) = NIL; }
32751 #line 32752 "gram.c" /* yacc.c:1646  */
32752     break;
32753 
32754   case 762:
32755 #line 5550 "gram.y" /* yacc.c:1646  */
32756     { (yyval.list) = list_make1((yyvsp[0].node)); }
32757 #line 32758 "gram.c" /* yacc.c:1646  */
32758     break;
32759 
32760   case 763:
32761 #line 5551 "gram.y" /* yacc.c:1646  */
32762     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
32763 #line 32764 "gram.c" /* yacc.c:1646  */
32764     break;
32765 
32766   case 764:
32767 #line 5556 "gram.y" /* yacc.c:1646  */
32768     {
32769 					TriggerTransition *n = makeNode(TriggerTransition);
32770 					n->name = (yyvsp[0].str);
32771 					n->isNew = (yyvsp[-3].boolean);
32772 					n->isTable = (yyvsp[-2].boolean);
32773 					(yyval.node) = (Node *)n;
32774 				}
32775 #line 32776 "gram.c" /* yacc.c:1646  */
32776     break;
32777 
32778   case 765:
32779 #line 5566 "gram.y" /* yacc.c:1646  */
32780     { (yyval.boolean) = true; }
32781 #line 32782 "gram.c" /* yacc.c:1646  */
32782     break;
32783 
32784   case 766:
32785 #line 5567 "gram.y" /* yacc.c:1646  */
32786     { (yyval.boolean) = false; }
32787 #line 32788 "gram.c" /* yacc.c:1646  */
32788     break;
32789 
32790   case 767:
32791 #line 5571 "gram.y" /* yacc.c:1646  */
32792     { (yyval.boolean) = true; }
32793 #line 32794 "gram.c" /* yacc.c:1646  */
32794     break;
32795 
32796   case 768:
32797 #line 5580 "gram.y" /* yacc.c:1646  */
32798     { (yyval.boolean) = false; }
32799 #line 32800 "gram.c" /* yacc.c:1646  */
32800     break;
32801 
32802   case 769:
32803 #line 5584 "gram.y" /* yacc.c:1646  */
32804     { (yyval.str) = (yyvsp[0].str); }
32805 #line 32806 "gram.c" /* yacc.c:1646  */
32806     break;
32807 
32808   case 770:
32809 #line 5589 "gram.y" /* yacc.c:1646  */
32810     {
32811 					(yyval.boolean) = (yyvsp[0].boolean);
32812 				}
32813 #line 32814 "gram.c" /* yacc.c:1646  */
32814     break;
32815 
32816   case 771:
32817 #line 5593 "gram.y" /* yacc.c:1646  */
32818     {
32819 					/*
32820 					 * If ROW/STATEMENT not specified, default to
32821 					 * STATEMENT, per SQL
32822 					 */
32823 					(yyval.boolean) = false;
32824 				}
32825 #line 32826 "gram.c" /* yacc.c:1646  */
32826     break;
32827 
32828   case 772:
32829 #line 5603 "gram.y" /* yacc.c:1646  */
32830     {}
32831 #line 32832 "gram.c" /* yacc.c:1646  */
32832     break;
32833 
32834   case 773:
32835 #line 5604 "gram.y" /* yacc.c:1646  */
32836     {}
32837 #line 32838 "gram.c" /* yacc.c:1646  */
32838     break;
32839 
32840   case 774:
32841 #line 5608 "gram.y" /* yacc.c:1646  */
32842     { (yyval.boolean) = true; }
32843 #line 32844 "gram.c" /* yacc.c:1646  */
32844     break;
32845 
32846   case 775:
32847 #line 5609 "gram.y" /* yacc.c:1646  */
32848     { (yyval.boolean) = false; }
32849 #line 32850 "gram.c" /* yacc.c:1646  */
32850     break;
32851 
32852   case 776:
32853 #line 5613 "gram.y" /* yacc.c:1646  */
32854     { (yyval.node) = (yyvsp[-1].node); }
32855 #line 32856 "gram.c" /* yacc.c:1646  */
32856     break;
32857 
32858   case 777:
32859 #line 5614 "gram.y" /* yacc.c:1646  */
32860     { (yyval.node) = NULL; }
32861 #line 32862 "gram.c" /* yacc.c:1646  */
32862     break;
32863 
32864   case 780:
32865 #line 5623 "gram.y" /* yacc.c:1646  */
32866     { (yyval.list) = list_make1((yyvsp[0].value)); }
32867 #line 32868 "gram.c" /* yacc.c:1646  */
32868     break;
32869 
32870   case 781:
32871 #line 5624 "gram.y" /* yacc.c:1646  */
32872     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].value)); }
32873 #line 32874 "gram.c" /* yacc.c:1646  */
32874     break;
32875 
32876   case 782:
32877 #line 5625 "gram.y" /* yacc.c:1646  */
32878     { (yyval.list) = NIL; }
32879 #line 32880 "gram.c" /* yacc.c:1646  */
32880     break;
32881 
32882   case 783:
32883 #line 5630 "gram.y" /* yacc.c:1646  */
32884     {
32885 					(yyval.value) = makeString(psprintf("%d", (yyvsp[0].ival)));
32886 				}
32887 #line 32888 "gram.c" /* yacc.c:1646  */
32888     break;
32889 
32890   case 784:
32891 #line 5633 "gram.y" /* yacc.c:1646  */
32892     { (yyval.value) = makeString((yyvsp[0].str)); }
32893 #line 32894 "gram.c" /* yacc.c:1646  */
32894     break;
32895 
32896   case 785:
32897 #line 5634 "gram.y" /* yacc.c:1646  */
32898     { (yyval.value) = makeString((yyvsp[0].str)); }
32899 #line 32900 "gram.c" /* yacc.c:1646  */
32900     break;
32901 
32902   case 786:
32903 #line 5635 "gram.y" /* yacc.c:1646  */
32904     { (yyval.value) = makeString((yyvsp[0].str)); }
32905 #line 32906 "gram.c" /* yacc.c:1646  */
32906     break;
32907 
32908   case 787:
32909 #line 5639 "gram.y" /* yacc.c:1646  */
32910     { (yyval.range) = (yyvsp[0].range); }
32911 #line 32912 "gram.c" /* yacc.c:1646  */
32912     break;
32913 
32914   case 788:
32915 #line 5640 "gram.y" /* yacc.c:1646  */
32916     { (yyval.range) = NULL; }
32917 #line 32918 "gram.c" /* yacc.c:1646  */
32918     break;
32919 
32920   case 789:
32921 #line 5645 "gram.y" /* yacc.c:1646  */
32922     { (yyval.ival) = 0; }
32923 #line 32924 "gram.c" /* yacc.c:1646  */
32924     break;
32925 
32926   case 790:
32927 #line 5647 "gram.y" /* yacc.c:1646  */
32928     {
32929 					/*
32930 					 * We must complain about conflicting options.
32931 					 * We could, but choose not to, complain about redundant
32932 					 * options (ie, where $2's bit is already set in $1).
32933 					 */
32934 					int		newspec = (yyvsp[-1].ival) | (yyvsp[0].ival);
32935 
32936 					/* special message for this case */
32937 					if ((newspec & (CAS_NOT_DEFERRABLE | CAS_INITIALLY_DEFERRED)) == (CAS_NOT_DEFERRABLE | CAS_INITIALLY_DEFERRED))
32938 						ereport(ERROR,
32939 								(errcode(ERRCODE_SYNTAX_ERROR),
32940 								 errmsg("constraint declared INITIALLY DEFERRED must be DEFERRABLE"),
32941 								 parser_errposition((yylsp[0]))));
32942 					/* generic message for other conflicts */
32943 					if ((newspec & (CAS_NOT_DEFERRABLE | CAS_DEFERRABLE)) == (CAS_NOT_DEFERRABLE | CAS_DEFERRABLE) ||
32944 						(newspec & (CAS_INITIALLY_IMMEDIATE | CAS_INITIALLY_DEFERRED)) == (CAS_INITIALLY_IMMEDIATE | CAS_INITIALLY_DEFERRED))
32945 						ereport(ERROR,
32946 								(errcode(ERRCODE_SYNTAX_ERROR),
32947 								 errmsg("conflicting constraint properties"),
32948 								 parser_errposition((yylsp[0]))));
32949 					(yyval.ival) = newspec;
32950 				}
32951 #line 32952 "gram.c" /* yacc.c:1646  */
32952     break;
32953 
32954   case 791:
32955 #line 5673 "gram.y" /* yacc.c:1646  */
32956     { (yyval.ival) = CAS_NOT_DEFERRABLE; }
32957 #line 32958 "gram.c" /* yacc.c:1646  */
32958     break;
32959 
32960   case 792:
32961 #line 5674 "gram.y" /* yacc.c:1646  */
32962     { (yyval.ival) = CAS_DEFERRABLE; }
32963 #line 32964 "gram.c" /* yacc.c:1646  */
32964     break;
32965 
32966   case 793:
32967 #line 5675 "gram.y" /* yacc.c:1646  */
32968     { (yyval.ival) = CAS_INITIALLY_IMMEDIATE; }
32969 #line 32970 "gram.c" /* yacc.c:1646  */
32970     break;
32971 
32972   case 794:
32973 #line 5676 "gram.y" /* yacc.c:1646  */
32974     { (yyval.ival) = CAS_INITIALLY_DEFERRED; }
32975 #line 32976 "gram.c" /* yacc.c:1646  */
32976     break;
32977 
32978   case 795:
32979 #line 5677 "gram.y" /* yacc.c:1646  */
32980     { (yyval.ival) = CAS_NOT_VALID; }
32981 #line 32982 "gram.c" /* yacc.c:1646  */
32982     break;
32983 
32984   case 796:
32985 #line 5678 "gram.y" /* yacc.c:1646  */
32986     { (yyval.ival) = CAS_NO_INHERIT; }
32987 #line 32988 "gram.c" /* yacc.c:1646  */
32988     break;
32989 
32990   case 797:
32991 #line 5693 "gram.y" /* yacc.c:1646  */
32992     {
32993 					CreateEventTrigStmt *n = makeNode(CreateEventTrigStmt);
32994 					n->trigname = (yyvsp[-7].str);
32995 					n->eventname = (yyvsp[-5].str);
32996 					n->whenclause = NULL;
32997 					n->funcname = (yyvsp[-2].list);
32998 					(yyval.node) = (Node *)n;
32999 				}
33000 #line 33001 "gram.c" /* yacc.c:1646  */
33001     break;
33002 
33003   case 798:
33004 #line 5704 "gram.y" /* yacc.c:1646  */
33005     {
33006 					CreateEventTrigStmt *n = makeNode(CreateEventTrigStmt);
33007 					n->trigname = (yyvsp[-9].str);
33008 					n->eventname = (yyvsp[-7].str);
33009 					n->whenclause = (yyvsp[-5].list);
33010 					n->funcname = (yyvsp[-2].list);
33011 					(yyval.node) = (Node *)n;
33012 				}
33013 #line 33014 "gram.c" /* yacc.c:1646  */
33014     break;
33015 
33016   case 799:
33017 #line 5716 "gram.y" /* yacc.c:1646  */
33018     { (yyval.list) = list_make1((yyvsp[0].defelt)); }
33019 #line 33020 "gram.c" /* yacc.c:1646  */
33020     break;
33021 
33022   case 800:
33023 #line 5718 "gram.y" /* yacc.c:1646  */
33024     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
33025 #line 33026 "gram.c" /* yacc.c:1646  */
33026     break;
33027 
33028   case 801:
33029 #line 5723 "gram.y" /* yacc.c:1646  */
33030     { (yyval.defelt) = makeDefElem((yyvsp[-4].str), (Node *) (yyvsp[-1].list), (yylsp[-4])); }
33031 #line 33032 "gram.c" /* yacc.c:1646  */
33032     break;
33033 
33034   case 802:
33035 #line 5728 "gram.y" /* yacc.c:1646  */
33036     { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
33037 #line 33038 "gram.c" /* yacc.c:1646  */
33038     break;
33039 
33040   case 803:
33041 #line 5730 "gram.y" /* yacc.c:1646  */
33042     { (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str))); }
33043 #line 33044 "gram.c" /* yacc.c:1646  */
33044     break;
33045 
33046   case 804:
33047 #line 5735 "gram.y" /* yacc.c:1646  */
33048     {
33049 					AlterEventTrigStmt *n = makeNode(AlterEventTrigStmt);
33050 					n->trigname = (yyvsp[-1].str);
33051 					n->tgenabled = (yyvsp[0].chr);
33052 					(yyval.node) = (Node *) n;
33053 				}
33054 #line 33055 "gram.c" /* yacc.c:1646  */
33055     break;
33056 
33057   case 805:
33058 #line 5744 "gram.y" /* yacc.c:1646  */
33059     { (yyval.chr) = TRIGGER_FIRES_ON_ORIGIN; }
33060 #line 33061 "gram.c" /* yacc.c:1646  */
33061     break;
33062 
33063   case 806:
33064 #line 5745 "gram.y" /* yacc.c:1646  */
33065     { (yyval.chr) = TRIGGER_FIRES_ON_REPLICA; }
33066 #line 33067 "gram.c" /* yacc.c:1646  */
33067     break;
33068 
33069   case 807:
33070 #line 5746 "gram.y" /* yacc.c:1646  */
33071     { (yyval.chr) = TRIGGER_FIRES_ALWAYS; }
33072 #line 33073 "gram.c" /* yacc.c:1646  */
33073     break;
33074 
33075   case 808:
33076 #line 5747 "gram.y" /* yacc.c:1646  */
33077     { (yyval.chr) = TRIGGER_DISABLED; }
33078 #line 33079 "gram.c" /* yacc.c:1646  */
33079     break;
33080 
33081   case 809:
33082 #line 5759 "gram.y" /* yacc.c:1646  */
33083     {
33084 					ereport(ERROR,
33085 							(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
33086 							 errmsg("CREATE ASSERTION is not yet implemented")));
33087 
33088 					(yyval.node) = NULL;
33089 				}
33090 #line 33091 "gram.c" /* yacc.c:1646  */
33091     break;
33092 
33093   case 810:
33094 #line 5778 "gram.y" /* yacc.c:1646  */
33095     {
33096 					DefineStmt *n = makeNode(DefineStmt);
33097 					n->kind = OBJECT_AGGREGATE;
33098 					n->oldstyle = false;
33099 					n->replace = (yyvsp[-4].boolean);
33100 					n->defnames = (yyvsp[-2].list);
33101 					n->args = (yyvsp[-1].list);
33102 					n->definition = (yyvsp[0].list);
33103 					(yyval.node) = (Node *)n;
33104 				}
33105 #line 33106 "gram.c" /* yacc.c:1646  */
33106     break;
33107 
33108   case 811:
33109 #line 5789 "gram.y" /* yacc.c:1646  */
33110     {
33111 					/* old-style (pre-8.2) syntax for CREATE AGGREGATE */
33112 					DefineStmt *n = makeNode(DefineStmt);
33113 					n->kind = OBJECT_AGGREGATE;
33114 					n->oldstyle = true;
33115 					n->replace = (yyvsp[-3].boolean);
33116 					n->defnames = (yyvsp[-1].list);
33117 					n->args = NIL;
33118 					n->definition = (yyvsp[0].list);
33119 					(yyval.node) = (Node *)n;
33120 				}
33121 #line 33122 "gram.c" /* yacc.c:1646  */
33122     break;
33123 
33124   case 812:
33125 #line 5801 "gram.y" /* yacc.c:1646  */
33126     {
33127 					DefineStmt *n = makeNode(DefineStmt);
33128 					n->kind = OBJECT_OPERATOR;
33129 					n->oldstyle = false;
33130 					n->defnames = (yyvsp[-1].list);
33131 					n->args = NIL;
33132 					n->definition = (yyvsp[0].list);
33133 					(yyval.node) = (Node *)n;
33134 				}
33135 #line 33136 "gram.c" /* yacc.c:1646  */
33136     break;
33137 
33138   case 813:
33139 #line 5811 "gram.y" /* yacc.c:1646  */
33140     {
33141 					DefineStmt *n = makeNode(DefineStmt);
33142 					n->kind = OBJECT_TYPE;
33143 					n->oldstyle = false;
33144 					n->defnames = (yyvsp[-1].list);
33145 					n->args = NIL;
33146 					n->definition = (yyvsp[0].list);
33147 					(yyval.node) = (Node *)n;
33148 				}
33149 #line 33150 "gram.c" /* yacc.c:1646  */
33150     break;
33151 
33152   case 814:
33153 #line 5821 "gram.y" /* yacc.c:1646  */
33154     {
33155 					/* Shell type (identified by lack of definition) */
33156 					DefineStmt *n = makeNode(DefineStmt);
33157 					n->kind = OBJECT_TYPE;
33158 					n->oldstyle = false;
33159 					n->defnames = (yyvsp[0].list);
33160 					n->args = NIL;
33161 					n->definition = NIL;
33162 					(yyval.node) = (Node *)n;
33163 				}
33164 #line 33165 "gram.c" /* yacc.c:1646  */
33165     break;
33166 
33167   case 815:
33168 #line 5832 "gram.y" /* yacc.c:1646  */
33169     {
33170 					CompositeTypeStmt *n = makeNode(CompositeTypeStmt);
33171 
33172 					/* can't use qualified_name, sigh */
33173 					n->typevar = makeRangeVarFromAnyName((yyvsp[-4].list), (yylsp[-4]), yyscanner);
33174 					n->coldeflist = (yyvsp[-1].list);
33175 					(yyval.node) = (Node *)n;
33176 				}
33177 #line 33178 "gram.c" /* yacc.c:1646  */
33178     break;
33179 
33180   case 816:
33181 #line 5841 "gram.y" /* yacc.c:1646  */
33182     {
33183 					CreateEnumStmt *n = makeNode(CreateEnumStmt);
33184 					n->typeName = (yyvsp[-5].list);
33185 					n->vals = (yyvsp[-1].list);
33186 					(yyval.node) = (Node *)n;
33187 				}
33188 #line 33189 "gram.c" /* yacc.c:1646  */
33189     break;
33190 
33191   case 817:
33192 #line 5848 "gram.y" /* yacc.c:1646  */
33193     {
33194 					CreateRangeStmt *n = makeNode(CreateRangeStmt);
33195 					n->typeName = (yyvsp[-3].list);
33196 					n->params	= (yyvsp[0].list);
33197 					(yyval.node) = (Node *)n;
33198 				}
33199 #line 33200 "gram.c" /* yacc.c:1646  */
33200     break;
33201 
33202   case 818:
33203 #line 5855 "gram.y" /* yacc.c:1646  */
33204     {
33205 					DefineStmt *n = makeNode(DefineStmt);
33206 					n->kind = OBJECT_TSPARSER;
33207 					n->args = NIL;
33208 					n->defnames = (yyvsp[-1].list);
33209 					n->definition = (yyvsp[0].list);
33210 					(yyval.node) = (Node *)n;
33211 				}
33212 #line 33213 "gram.c" /* yacc.c:1646  */
33213     break;
33214 
33215   case 819:
33216 #line 5864 "gram.y" /* yacc.c:1646  */
33217     {
33218 					DefineStmt *n = makeNode(DefineStmt);
33219 					n->kind = OBJECT_TSDICTIONARY;
33220 					n->args = NIL;
33221 					n->defnames = (yyvsp[-1].list);
33222 					n->definition = (yyvsp[0].list);
33223 					(yyval.node) = (Node *)n;
33224 				}
33225 #line 33226 "gram.c" /* yacc.c:1646  */
33226     break;
33227 
33228   case 820:
33229 #line 5873 "gram.y" /* yacc.c:1646  */
33230     {
33231 					DefineStmt *n = makeNode(DefineStmt);
33232 					n->kind = OBJECT_TSTEMPLATE;
33233 					n->args = NIL;
33234 					n->defnames = (yyvsp[-1].list);
33235 					n->definition = (yyvsp[0].list);
33236 					(yyval.node) = (Node *)n;
33237 				}
33238 #line 33239 "gram.c" /* yacc.c:1646  */
33239     break;
33240 
33241   case 821:
33242 #line 5882 "gram.y" /* yacc.c:1646  */
33243     {
33244 					DefineStmt *n = makeNode(DefineStmt);
33245 					n->kind = OBJECT_TSCONFIGURATION;
33246 					n->args = NIL;
33247 					n->defnames = (yyvsp[-1].list);
33248 					n->definition = (yyvsp[0].list);
33249 					(yyval.node) = (Node *)n;
33250 				}
33251 #line 33252 "gram.c" /* yacc.c:1646  */
33252     break;
33253 
33254   case 822:
33255 #line 5891 "gram.y" /* yacc.c:1646  */
33256     {
33257 					DefineStmt *n = makeNode(DefineStmt);
33258 					n->kind = OBJECT_COLLATION;
33259 					n->args = NIL;
33260 					n->defnames = (yyvsp[-1].list);
33261 					n->definition = (yyvsp[0].list);
33262 					(yyval.node) = (Node *)n;
33263 				}
33264 #line 33265 "gram.c" /* yacc.c:1646  */
33265     break;
33266 
33267   case 823:
33268 #line 5900 "gram.y" /* yacc.c:1646  */
33269     {
33270 					DefineStmt *n = makeNode(DefineStmt);
33271 					n->kind = OBJECT_COLLATION;
33272 					n->args = NIL;
33273 					n->defnames = (yyvsp[-1].list);
33274 					n->definition = (yyvsp[0].list);
33275 					n->if_not_exists = true;
33276 					(yyval.node) = (Node *)n;
33277 				}
33278 #line 33279 "gram.c" /* yacc.c:1646  */
33279     break;
33280 
33281   case 824:
33282 #line 5910 "gram.y" /* yacc.c:1646  */
33283     {
33284 					DefineStmt *n = makeNode(DefineStmt);
33285 					n->kind = OBJECT_COLLATION;
33286 					n->args = NIL;
33287 					n->defnames = (yyvsp[-2].list);
33288 					n->definition = list_make1(makeDefElem("from", (Node *) (yyvsp[0].list), (yylsp[0])));
33289 					(yyval.node) = (Node *)n;
33290 				}
33291 #line 33292 "gram.c" /* yacc.c:1646  */
33292     break;
33293 
33294   case 825:
33295 #line 5919 "gram.y" /* yacc.c:1646  */
33296     {
33297 					DefineStmt *n = makeNode(DefineStmt);
33298 					n->kind = OBJECT_COLLATION;
33299 					n->args = NIL;
33300 					n->defnames = (yyvsp[-2].list);
33301 					n->definition = list_make1(makeDefElem("from", (Node *) (yyvsp[0].list), (yylsp[0])));
33302 					n->if_not_exists = true;
33303 					(yyval.node) = (Node *)n;
33304 				}
33305 #line 33306 "gram.c" /* yacc.c:1646  */
33306     break;
33307 
33308   case 826:
33309 #line 5930 "gram.y" /* yacc.c:1646  */
33310     { (yyval.list) = (yyvsp[-1].list); }
33311 #line 33312 "gram.c" /* yacc.c:1646  */
33312     break;
33313 
33314   case 827:
33315 #line 5933 "gram.y" /* yacc.c:1646  */
33316     { (yyval.list) = list_make1((yyvsp[0].defelt)); }
33317 #line 33318 "gram.c" /* yacc.c:1646  */
33318     break;
33319 
33320   case 828:
33321 #line 5934 "gram.y" /* yacc.c:1646  */
33322     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
33323 #line 33324 "gram.c" /* yacc.c:1646  */
33324     break;
33325 
33326   case 829:
33327 #line 5938 "gram.y" /* yacc.c:1646  */
33328     {
33329 					(yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *) (yyvsp[0].node), (yylsp[-2]));
33330 				}
33331 #line 33332 "gram.c" /* yacc.c:1646  */
33332     break;
33333 
33334   case 830:
33335 #line 5942 "gram.y" /* yacc.c:1646  */
33336     {
33337 					(yyval.defelt) = makeDefElem((yyvsp[0].str), NULL, (yylsp[0]));
33338 				}
33339 #line 33340 "gram.c" /* yacc.c:1646  */
33340     break;
33341 
33342   case 831:
33343 #line 5948 "gram.y" /* yacc.c:1646  */
33344     { (yyval.node) = (Node *)(yyvsp[0].typnam); }
33345 #line 33346 "gram.c" /* yacc.c:1646  */
33346     break;
33347 
33348   case 832:
33349 #line 5949 "gram.y" /* yacc.c:1646  */
33350     { (yyval.node) = (Node *)makeString(pstrdup((yyvsp[0].keyword))); }
33351 #line 33352 "gram.c" /* yacc.c:1646  */
33352     break;
33353 
33354   case 833:
33355 #line 5950 "gram.y" /* yacc.c:1646  */
33356     { (yyval.node) = (Node *)(yyvsp[0].list); }
33357 #line 33358 "gram.c" /* yacc.c:1646  */
33358     break;
33359 
33360   case 834:
33361 #line 5951 "gram.y" /* yacc.c:1646  */
33362     { (yyval.node) = (Node *)(yyvsp[0].value); }
33363 #line 33364 "gram.c" /* yacc.c:1646  */
33364     break;
33365 
33366   case 835:
33367 #line 5952 "gram.y" /* yacc.c:1646  */
33368     { (yyval.node) = (Node *)makeString((yyvsp[0].str)); }
33369 #line 33370 "gram.c" /* yacc.c:1646  */
33370     break;
33371 
33372   case 836:
33373 #line 5953 "gram.y" /* yacc.c:1646  */
33374     { (yyval.node) = (Node *)makeString(pstrdup((yyvsp[0].keyword))); }
33375 #line 33376 "gram.c" /* yacc.c:1646  */
33376     break;
33377 
33378   case 837:
33379 #line 5956 "gram.y" /* yacc.c:1646  */
33380     { (yyval.list) = (yyvsp[-1].list); }
33381 #line 33382 "gram.c" /* yacc.c:1646  */
33382     break;
33383 
33384   case 838:
33385 #line 5959 "gram.y" /* yacc.c:1646  */
33386     { (yyval.list) = list_make1((yyvsp[0].defelt)); }
33387 #line 33388 "gram.c" /* yacc.c:1646  */
33388     break;
33389 
33390   case 839:
33391 #line 5960 "gram.y" /* yacc.c:1646  */
33392     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
33393 #line 33394 "gram.c" /* yacc.c:1646  */
33394     break;
33395 
33396   case 840:
33397 #line 5969 "gram.y" /* yacc.c:1646  */
33398     {
33399 					(yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *)(yyvsp[0].node), (yylsp[-2]));
33400 				}
33401 #line 33402 "gram.c" /* yacc.c:1646  */
33402     break;
33403 
33404   case 841:
33405 #line 5975 "gram.y" /* yacc.c:1646  */
33406     { (yyval.list) = (yyvsp[0].list); }
33407 #line 33408 "gram.c" /* yacc.c:1646  */
33408     break;
33409 
33410   case 842:
33411 #line 5976 "gram.y" /* yacc.c:1646  */
33412     { (yyval.list) = NIL; }
33413 #line 33414 "gram.c" /* yacc.c:1646  */
33414     break;
33415 
33416   case 843:
33417 #line 5980 "gram.y" /* yacc.c:1646  */
33418     { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
33419 #line 33420 "gram.c" /* yacc.c:1646  */
33420     break;
33421 
33422   case 844:
33423 #line 5982 "gram.y" /* yacc.c:1646  */
33424     { (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str))); }
33425 #line 33426 "gram.c" /* yacc.c:1646  */
33426     break;
33427 
33428   case 845:
33429 #line 5993 "gram.y" /* yacc.c:1646  */
33430     {
33431 				AlterEnumStmt *n = makeNode(AlterEnumStmt);
33432 				n->typeName = (yyvsp[-4].list);
33433 				n->oldVal = NULL;
33434 				n->newVal = (yyvsp[0].str);
33435 				n->newValNeighbor = NULL;
33436 				n->newValIsAfter = true;
33437 				n->skipIfNewValExists = (yyvsp[-1].boolean);
33438 				(yyval.node) = (Node *) n;
33439 			}
33440 #line 33441 "gram.c" /* yacc.c:1646  */
33441     break;
33442 
33443   case 846:
33444 #line 6004 "gram.y" /* yacc.c:1646  */
33445     {
33446 				AlterEnumStmt *n = makeNode(AlterEnumStmt);
33447 				n->typeName = (yyvsp[-6].list);
33448 				n->oldVal = NULL;
33449 				n->newVal = (yyvsp[-2].str);
33450 				n->newValNeighbor = (yyvsp[0].str);
33451 				n->newValIsAfter = false;
33452 				n->skipIfNewValExists = (yyvsp[-3].boolean);
33453 				(yyval.node) = (Node *) n;
33454 			}
33455 #line 33456 "gram.c" /* yacc.c:1646  */
33456     break;
33457 
33458   case 847:
33459 #line 6015 "gram.y" /* yacc.c:1646  */
33460     {
33461 				AlterEnumStmt *n = makeNode(AlterEnumStmt);
33462 				n->typeName = (yyvsp[-6].list);
33463 				n->oldVal = NULL;
33464 				n->newVal = (yyvsp[-2].str);
33465 				n->newValNeighbor = (yyvsp[0].str);
33466 				n->newValIsAfter = true;
33467 				n->skipIfNewValExists = (yyvsp[-3].boolean);
33468 				(yyval.node) = (Node *) n;
33469 			}
33470 #line 33471 "gram.c" /* yacc.c:1646  */
33471     break;
33472 
33473   case 848:
33474 #line 6026 "gram.y" /* yacc.c:1646  */
33475     {
33476 				AlterEnumStmt *n = makeNode(AlterEnumStmt);
33477 				n->typeName = (yyvsp[-5].list);
33478 				n->oldVal = (yyvsp[-2].str);
33479 				n->newVal = (yyvsp[0].str);
33480 				n->newValNeighbor = NULL;
33481 				n->newValIsAfter = false;
33482 				n->skipIfNewValExists = false;
33483 				(yyval.node) = (Node *) n;
33484 			}
33485 #line 33486 "gram.c" /* yacc.c:1646  */
33486     break;
33487 
33488   case 849:
33489 #line 6038 "gram.y" /* yacc.c:1646  */
33490     { (yyval.boolean) = true; }
33491 #line 33492 "gram.c" /* yacc.c:1646  */
33492     break;
33493 
33494   case 850:
33495 #line 6039 "gram.y" /* yacc.c:1646  */
33496     { (yyval.boolean) = false; }
33497 #line 33498 "gram.c" /* yacc.c:1646  */
33498     break;
33499 
33500   case 851:
33501 #line 6057 "gram.y" /* yacc.c:1646  */
33502     {
33503 					CreateOpClassStmt *n = makeNode(CreateOpClassStmt);
33504 					n->opclassname = (yyvsp[-9].list);
33505 					n->isDefault = (yyvsp[-8].boolean);
33506 					n->datatype = (yyvsp[-5].typnam);
33507 					n->amname = (yyvsp[-3].str);
33508 					n->opfamilyname = (yyvsp[-2].list);
33509 					n->items = (yyvsp[0].list);
33510 					(yyval.node) = (Node *) n;
33511 				}
33512 #line 33513 "gram.c" /* yacc.c:1646  */
33513     break;
33514 
33515   case 852:
33516 #line 6070 "gram.y" /* yacc.c:1646  */
33517     { (yyval.list) = list_make1((yyvsp[0].node)); }
33518 #line 33519 "gram.c" /* yacc.c:1646  */
33519     break;
33520 
33521   case 853:
33522 #line 6071 "gram.y" /* yacc.c:1646  */
33523     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
33524 #line 33525 "gram.c" /* yacc.c:1646  */
33525     break;
33526 
33527   case 854:
33528 #line 6076 "gram.y" /* yacc.c:1646  */
33529     {
33530 					CreateOpClassItem *n = makeNode(CreateOpClassItem);
33531 					ObjectWithArgs *owa = makeNode(ObjectWithArgs);
33532 					owa->objname = (yyvsp[-2].list);
33533 					owa->objargs = NIL;
33534 					n->itemtype = OPCLASS_ITEM_OPERATOR;
33535 					n->name = owa;
33536 					n->number = (yyvsp[-3].ival);
33537 					n->order_family = (yyvsp[-1].list);
33538 					(yyval.node) = (Node *) n;
33539 				}
33540 #line 33541 "gram.c" /* yacc.c:1646  */
33541     break;
33542 
33543   case 855:
33544 #line 6089 "gram.y" /* yacc.c:1646  */
33545     {
33546 					CreateOpClassItem *n = makeNode(CreateOpClassItem);
33547 					n->itemtype = OPCLASS_ITEM_OPERATOR;
33548 					n->name = (yyvsp[-2].objwithargs);
33549 					n->number = (yyvsp[-3].ival);
33550 					n->order_family = (yyvsp[-1].list);
33551 					(yyval.node) = (Node *) n;
33552 				}
33553 #line 33554 "gram.c" /* yacc.c:1646  */
33554     break;
33555 
33556   case 856:
33557 #line 6098 "gram.y" /* yacc.c:1646  */
33558     {
33559 					CreateOpClassItem *n = makeNode(CreateOpClassItem);
33560 					n->itemtype = OPCLASS_ITEM_FUNCTION;
33561 					n->name = (yyvsp[0].objwithargs);
33562 					n->number = (yyvsp[-1].ival);
33563 					(yyval.node) = (Node *) n;
33564 				}
33565 #line 33566 "gram.c" /* yacc.c:1646  */
33566     break;
33567 
33568   case 857:
33569 #line 6106 "gram.y" /* yacc.c:1646  */
33570     {
33571 					CreateOpClassItem *n = makeNode(CreateOpClassItem);
33572 					n->itemtype = OPCLASS_ITEM_FUNCTION;
33573 					n->name = (yyvsp[0].objwithargs);
33574 					n->number = (yyvsp[-4].ival);
33575 					n->class_args = (yyvsp[-2].list);
33576 					(yyval.node) = (Node *) n;
33577 				}
33578 #line 33579 "gram.c" /* yacc.c:1646  */
33579     break;
33580 
33581   case 858:
33582 #line 6115 "gram.y" /* yacc.c:1646  */
33583     {
33584 					CreateOpClassItem *n = makeNode(CreateOpClassItem);
33585 					n->itemtype = OPCLASS_ITEM_STORAGETYPE;
33586 					n->storedtype = (yyvsp[0].typnam);
33587 					(yyval.node) = (Node *) n;
33588 				}
33589 #line 33590 "gram.c" /* yacc.c:1646  */
33590     break;
33591 
33592   case 859:
33593 #line 6123 "gram.y" /* yacc.c:1646  */
33594     { (yyval.boolean) = true; }
33595 #line 33596 "gram.c" /* yacc.c:1646  */
33596     break;
33597 
33598   case 860:
33599 #line 6124 "gram.y" /* yacc.c:1646  */
33600     { (yyval.boolean) = false; }
33601 #line 33602 "gram.c" /* yacc.c:1646  */
33602     break;
33603 
33604   case 861:
33605 #line 6127 "gram.y" /* yacc.c:1646  */
33606     { (yyval.list) = (yyvsp[0].list); }
33607 #line 33608 "gram.c" /* yacc.c:1646  */
33608     break;
33609 
33610   case 862:
33611 #line 6128 "gram.y" /* yacc.c:1646  */
33612     { (yyval.list) = NIL; }
33613 #line 33614 "gram.c" /* yacc.c:1646  */
33614     break;
33615 
33616   case 863:
33617 #line 6131 "gram.y" /* yacc.c:1646  */
33618     { (yyval.list) = NIL; }
33619 #line 33620 "gram.c" /* yacc.c:1646  */
33620     break;
33621 
33622   case 864:
33623 #line 6132 "gram.y" /* yacc.c:1646  */
33624     { (yyval.list) = (yyvsp[0].list); }
33625 #line 33626 "gram.c" /* yacc.c:1646  */
33626     break;
33627 
33628   case 865:
33629 #line 6133 "gram.y" /* yacc.c:1646  */
33630     { (yyval.list) = NIL; }
33631 #line 33632 "gram.c" /* yacc.c:1646  */
33632     break;
33633 
33634   case 866:
33635 #line 6137 "gram.y" /* yacc.c:1646  */
33636     {
33637 					/*
33638 					 * RECHECK no longer does anything in opclass definitions,
33639 					 * but we still accept it to ease porting of old database
33640 					 * dumps.
33641 					 */
33642 					ereport(NOTICE,
33643 							(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
33644 							 errmsg("RECHECK is no longer required"),
33645 							 errhint("Update your data type."),
33646 							 parser_errposition((yylsp[0]))));
33647 					(yyval.boolean) = true;
33648 				}
33649 #line 33650 "gram.c" /* yacc.c:1646  */
33650     break;
33651 
33652   case 867:
33653 #line 6150 "gram.y" /* yacc.c:1646  */
33654     { (yyval.boolean) = false; }
33655 #line 33656 "gram.c" /* yacc.c:1646  */
33656     break;
33657 
33658   case 868:
33659 #line 6156 "gram.y" /* yacc.c:1646  */
33660     {
33661 					CreateOpFamilyStmt *n = makeNode(CreateOpFamilyStmt);
33662 					n->opfamilyname = (yyvsp[-2].list);
33663 					n->amname = (yyvsp[0].str);
33664 					(yyval.node) = (Node *) n;
33665 				}
33666 #line 33667 "gram.c" /* yacc.c:1646  */
33667     break;
33668 
33669   case 869:
33670 #line 6166 "gram.y" /* yacc.c:1646  */
33671     {
33672 					AlterOpFamilyStmt *n = makeNode(AlterOpFamilyStmt);
33673 					n->opfamilyname = (yyvsp[-4].list);
33674 					n->amname = (yyvsp[-2].str);
33675 					n->isDrop = false;
33676 					n->items = (yyvsp[0].list);
33677 					(yyval.node) = (Node *) n;
33678 				}
33679 #line 33680 "gram.c" /* yacc.c:1646  */
33680     break;
33681 
33682   case 870:
33683 #line 6175 "gram.y" /* yacc.c:1646  */
33684     {
33685 					AlterOpFamilyStmt *n = makeNode(AlterOpFamilyStmt);
33686 					n->opfamilyname = (yyvsp[-4].list);
33687 					n->amname = (yyvsp[-2].str);
33688 					n->isDrop = true;
33689 					n->items = (yyvsp[0].list);
33690 					(yyval.node) = (Node *) n;
33691 				}
33692 #line 33693 "gram.c" /* yacc.c:1646  */
33693     break;
33694 
33695   case 871:
33696 #line 6186 "gram.y" /* yacc.c:1646  */
33697     { (yyval.list) = list_make1((yyvsp[0].node)); }
33698 #line 33699 "gram.c" /* yacc.c:1646  */
33699     break;
33700 
33701   case 872:
33702 #line 6187 "gram.y" /* yacc.c:1646  */
33703     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
33704 #line 33705 "gram.c" /* yacc.c:1646  */
33705     break;
33706 
33707   case 873:
33708 #line 6192 "gram.y" /* yacc.c:1646  */
33709     {
33710 					CreateOpClassItem *n = makeNode(CreateOpClassItem);
33711 					n->itemtype = OPCLASS_ITEM_OPERATOR;
33712 					n->number = (yyvsp[-3].ival);
33713 					n->class_args = (yyvsp[-1].list);
33714 					(yyval.node) = (Node *) n;
33715 				}
33716 #line 33717 "gram.c" /* yacc.c:1646  */
33717     break;
33718 
33719   case 874:
33720 #line 6200 "gram.y" /* yacc.c:1646  */
33721     {
33722 					CreateOpClassItem *n = makeNode(CreateOpClassItem);
33723 					n->itemtype = OPCLASS_ITEM_FUNCTION;
33724 					n->number = (yyvsp[-3].ival);
33725 					n->class_args = (yyvsp[-1].list);
33726 					(yyval.node) = (Node *) n;
33727 				}
33728 #line 33729 "gram.c" /* yacc.c:1646  */
33729     break;
33730 
33731   case 875:
33732 #line 6212 "gram.y" /* yacc.c:1646  */
33733     {
33734 					DropStmt *n = makeNode(DropStmt);
33735 					n->objects = list_make1(lcons(makeString((yyvsp[-1].str)), (yyvsp[-3].list)));
33736 					n->removeType = OBJECT_OPCLASS;
33737 					n->behavior = (yyvsp[0].dbehavior);
33738 					n->missing_ok = false;
33739 					n->concurrent = false;
33740 					(yyval.node) = (Node *) n;
33741 				}
33742 #line 33743 "gram.c" /* yacc.c:1646  */
33743     break;
33744 
33745   case 876:
33746 #line 6222 "gram.y" /* yacc.c:1646  */
33747     {
33748 					DropStmt *n = makeNode(DropStmt);
33749 					n->objects = list_make1(lcons(makeString((yyvsp[-1].str)), (yyvsp[-3].list)));
33750 					n->removeType = OBJECT_OPCLASS;
33751 					n->behavior = (yyvsp[0].dbehavior);
33752 					n->missing_ok = true;
33753 					n->concurrent = false;
33754 					(yyval.node) = (Node *) n;
33755 				}
33756 #line 33757 "gram.c" /* yacc.c:1646  */
33757     break;
33758 
33759   case 877:
33760 #line 6235 "gram.y" /* yacc.c:1646  */
33761     {
33762 					DropStmt *n = makeNode(DropStmt);
33763 					n->objects = list_make1(lcons(makeString((yyvsp[-1].str)), (yyvsp[-3].list)));
33764 					n->removeType = OBJECT_OPFAMILY;
33765 					n->behavior = (yyvsp[0].dbehavior);
33766 					n->missing_ok = false;
33767 					n->concurrent = false;
33768 					(yyval.node) = (Node *) n;
33769 				}
33770 #line 33771 "gram.c" /* yacc.c:1646  */
33771     break;
33772 
33773   case 878:
33774 #line 6245 "gram.y" /* yacc.c:1646  */
33775     {
33776 					DropStmt *n = makeNode(DropStmt);
33777 					n->objects = list_make1(lcons(makeString((yyvsp[-1].str)), (yyvsp[-3].list)));
33778 					n->removeType = OBJECT_OPFAMILY;
33779 					n->behavior = (yyvsp[0].dbehavior);
33780 					n->missing_ok = true;
33781 					n->concurrent = false;
33782 					(yyval.node) = (Node *) n;
33783 				}
33784 #line 33785 "gram.c" /* yacc.c:1646  */
33785     break;
33786 
33787   case 879:
33788 #line 6267 "gram.y" /* yacc.c:1646  */
33789     {
33790 					DropOwnedStmt *n = makeNode(DropOwnedStmt);
33791 					n->roles = (yyvsp[-1].list);
33792 					n->behavior = (yyvsp[0].dbehavior);
33793 					(yyval.node) = (Node *)n;
33794 				}
33795 #line 33796 "gram.c" /* yacc.c:1646  */
33796     break;
33797 
33798   case 880:
33799 #line 6277 "gram.y" /* yacc.c:1646  */
33800     {
33801 					ReassignOwnedStmt *n = makeNode(ReassignOwnedStmt);
33802 					n->roles = (yyvsp[-2].list);
33803 					n->newrole = (yyvsp[0].rolespec);
33804 					(yyval.node) = (Node *)n;
33805 				}
33806 #line 33807 "gram.c" /* yacc.c:1646  */
33807     break;
33808 
33809   case 881:
33810 #line 6295 "gram.y" /* yacc.c:1646  */
33811     {
33812 					DropStmt *n = makeNode(DropStmt);
33813 					n->removeType = (yyvsp[-4].objtype);
33814 					n->missing_ok = true;
33815 					n->objects = (yyvsp[-1].list);
33816 					n->behavior = (yyvsp[0].dbehavior);
33817 					n->concurrent = false;
33818 					(yyval.node) = (Node *)n;
33819 				}
33820 #line 33821 "gram.c" /* yacc.c:1646  */
33821     break;
33822 
33823   case 882:
33824 #line 6305 "gram.y" /* yacc.c:1646  */
33825     {
33826 					DropStmt *n = makeNode(DropStmt);
33827 					n->removeType = (yyvsp[-2].objtype);
33828 					n->missing_ok = false;
33829 					n->objects = (yyvsp[-1].list);
33830 					n->behavior = (yyvsp[0].dbehavior);
33831 					n->concurrent = false;
33832 					(yyval.node) = (Node *)n;
33833 				}
33834 #line 33835 "gram.c" /* yacc.c:1646  */
33835     break;
33836 
33837   case 883:
33838 #line 6315 "gram.y" /* yacc.c:1646  */
33839     {
33840 					DropStmt *n = makeNode(DropStmt);
33841 					n->removeType = (yyvsp[-4].objtype);
33842 					n->missing_ok = true;
33843 					n->objects = (yyvsp[-1].list);
33844 					n->behavior = (yyvsp[0].dbehavior);
33845 					n->concurrent = false;
33846 					(yyval.node) = (Node *)n;
33847 				}
33848 #line 33849 "gram.c" /* yacc.c:1646  */
33849     break;
33850 
33851   case 884:
33852 #line 6325 "gram.y" /* yacc.c:1646  */
33853     {
33854 					DropStmt *n = makeNode(DropStmt);
33855 					n->removeType = (yyvsp[-2].objtype);
33856 					n->missing_ok = false;
33857 					n->objects = (yyvsp[-1].list);
33858 					n->behavior = (yyvsp[0].dbehavior);
33859 					n->concurrent = false;
33860 					(yyval.node) = (Node *)n;
33861 				}
33862 #line 33863 "gram.c" /* yacc.c:1646  */
33863     break;
33864 
33865   case 885:
33866 #line 6335 "gram.y" /* yacc.c:1646  */
33867     {
33868 					DropStmt *n = makeNode(DropStmt);
33869 					n->removeType = (yyvsp[-4].objtype);
33870 					n->objects = list_make1(lappend((yyvsp[-1].list), makeString((yyvsp[-3].str))));
33871 					n->behavior = (yyvsp[0].dbehavior);
33872 					n->missing_ok = false;
33873 					n->concurrent = false;
33874 					(yyval.node) = (Node *) n;
33875 				}
33876 #line 33877 "gram.c" /* yacc.c:1646  */
33877     break;
33878 
33879   case 886:
33880 #line 6345 "gram.y" /* yacc.c:1646  */
33881     {
33882 					DropStmt *n = makeNode(DropStmt);
33883 					n->removeType = (yyvsp[-6].objtype);
33884 					n->objects = list_make1(lappend((yyvsp[-1].list), makeString((yyvsp[-3].str))));
33885 					n->behavior = (yyvsp[0].dbehavior);
33886 					n->missing_ok = true;
33887 					n->concurrent = false;
33888 					(yyval.node) = (Node *) n;
33889 				}
33890 #line 33891 "gram.c" /* yacc.c:1646  */
33891     break;
33892 
33893   case 887:
33894 #line 6355 "gram.y" /* yacc.c:1646  */
33895     {
33896 					DropStmt *n = makeNode(DropStmt);
33897 					n->removeType = OBJECT_TYPE;
33898 					n->missing_ok = false;
33899 					n->objects = (yyvsp[-1].list);
33900 					n->behavior = (yyvsp[0].dbehavior);
33901 					n->concurrent = false;
33902 					(yyval.node) = (Node *) n;
33903 				}
33904 #line 33905 "gram.c" /* yacc.c:1646  */
33905     break;
33906 
33907   case 888:
33908 #line 6365 "gram.y" /* yacc.c:1646  */
33909     {
33910 					DropStmt *n = makeNode(DropStmt);
33911 					n->removeType = OBJECT_TYPE;
33912 					n->missing_ok = true;
33913 					n->objects = (yyvsp[-1].list);
33914 					n->behavior = (yyvsp[0].dbehavior);
33915 					n->concurrent = false;
33916 					(yyval.node) = (Node *) n;
33917 				}
33918 #line 33919 "gram.c" /* yacc.c:1646  */
33919     break;
33920 
33921   case 889:
33922 #line 6375 "gram.y" /* yacc.c:1646  */
33923     {
33924 					DropStmt *n = makeNode(DropStmt);
33925 					n->removeType = OBJECT_DOMAIN;
33926 					n->missing_ok = false;
33927 					n->objects = (yyvsp[-1].list);
33928 					n->behavior = (yyvsp[0].dbehavior);
33929 					n->concurrent = false;
33930 					(yyval.node) = (Node *) n;
33931 				}
33932 #line 33933 "gram.c" /* yacc.c:1646  */
33933     break;
33934 
33935   case 890:
33936 #line 6385 "gram.y" /* yacc.c:1646  */
33937     {
33938 					DropStmt *n = makeNode(DropStmt);
33939 					n->removeType = OBJECT_DOMAIN;
33940 					n->missing_ok = true;
33941 					n->objects = (yyvsp[-1].list);
33942 					n->behavior = (yyvsp[0].dbehavior);
33943 					n->concurrent = false;
33944 					(yyval.node) = (Node *) n;
33945 				}
33946 #line 33947 "gram.c" /* yacc.c:1646  */
33947     break;
33948 
33949   case 891:
33950 #line 6395 "gram.y" /* yacc.c:1646  */
33951     {
33952 					DropStmt *n = makeNode(DropStmt);
33953 					n->removeType = OBJECT_INDEX;
33954 					n->missing_ok = false;
33955 					n->objects = (yyvsp[-1].list);
33956 					n->behavior = (yyvsp[0].dbehavior);
33957 					n->concurrent = true;
33958 					(yyval.node) = (Node *)n;
33959 				}
33960 #line 33961 "gram.c" /* yacc.c:1646  */
33961     break;
33962 
33963   case 892:
33964 #line 6405 "gram.y" /* yacc.c:1646  */
33965     {
33966 					DropStmt *n = makeNode(DropStmt);
33967 					n->removeType = OBJECT_INDEX;
33968 					n->missing_ok = true;
33969 					n->objects = (yyvsp[-1].list);
33970 					n->behavior = (yyvsp[0].dbehavior);
33971 					n->concurrent = true;
33972 					(yyval.node) = (Node *)n;
33973 				}
33974 #line 33975 "gram.c" /* yacc.c:1646  */
33975     break;
33976 
33977   case 893:
33978 #line 6418 "gram.y" /* yacc.c:1646  */
33979     { (yyval.objtype) = OBJECT_TABLE; }
33980 #line 33981 "gram.c" /* yacc.c:1646  */
33981     break;
33982 
33983   case 894:
33984 #line 6419 "gram.y" /* yacc.c:1646  */
33985     { (yyval.objtype) = OBJECT_SEQUENCE; }
33986 #line 33987 "gram.c" /* yacc.c:1646  */
33987     break;
33988 
33989   case 895:
33990 #line 6420 "gram.y" /* yacc.c:1646  */
33991     { (yyval.objtype) = OBJECT_VIEW; }
33992 #line 33993 "gram.c" /* yacc.c:1646  */
33993     break;
33994 
33995   case 896:
33996 #line 6421 "gram.y" /* yacc.c:1646  */
33997     { (yyval.objtype) = OBJECT_MATVIEW; }
33998 #line 33999 "gram.c" /* yacc.c:1646  */
33999     break;
34000 
34001   case 897:
34002 #line 6422 "gram.y" /* yacc.c:1646  */
34003     { (yyval.objtype) = OBJECT_INDEX; }
34004 #line 34005 "gram.c" /* yacc.c:1646  */
34005     break;
34006 
34007   case 898:
34008 #line 6423 "gram.y" /* yacc.c:1646  */
34009     { (yyval.objtype) = OBJECT_FOREIGN_TABLE; }
34010 #line 34011 "gram.c" /* yacc.c:1646  */
34011     break;
34012 
34013   case 899:
34014 #line 6424 "gram.y" /* yacc.c:1646  */
34015     { (yyval.objtype) = OBJECT_COLLATION; }
34016 #line 34017 "gram.c" /* yacc.c:1646  */
34017     break;
34018 
34019   case 900:
34020 #line 6425 "gram.y" /* yacc.c:1646  */
34021     { (yyval.objtype) = OBJECT_CONVERSION; }
34022 #line 34023 "gram.c" /* yacc.c:1646  */
34023     break;
34024 
34025   case 901:
34026 #line 6426 "gram.y" /* yacc.c:1646  */
34027     { (yyval.objtype) = OBJECT_STATISTIC_EXT; }
34028 #line 34029 "gram.c" /* yacc.c:1646  */
34029     break;
34030 
34031   case 902:
34032 #line 6427 "gram.y" /* yacc.c:1646  */
34033     { (yyval.objtype) = OBJECT_TSPARSER; }
34034 #line 34035 "gram.c" /* yacc.c:1646  */
34035     break;
34036 
34037   case 903:
34038 #line 6428 "gram.y" /* yacc.c:1646  */
34039     { (yyval.objtype) = OBJECT_TSDICTIONARY; }
34040 #line 34041 "gram.c" /* yacc.c:1646  */
34041     break;
34042 
34043   case 904:
34044 #line 6429 "gram.y" /* yacc.c:1646  */
34045     { (yyval.objtype) = OBJECT_TSTEMPLATE; }
34046 #line 34047 "gram.c" /* yacc.c:1646  */
34047     break;
34048 
34049   case 905:
34050 #line 6430 "gram.y" /* yacc.c:1646  */
34051     { (yyval.objtype) = OBJECT_TSCONFIGURATION; }
34052 #line 34053 "gram.c" /* yacc.c:1646  */
34053     break;
34054 
34055   case 906:
34056 #line 6435 "gram.y" /* yacc.c:1646  */
34057     { (yyval.objtype) = OBJECT_ACCESS_METHOD; }
34058 #line 34059 "gram.c" /* yacc.c:1646  */
34059     break;
34060 
34061   case 907:
34062 #line 6436 "gram.y" /* yacc.c:1646  */
34063     { (yyval.objtype) = OBJECT_EVENT_TRIGGER; }
34064 #line 34065 "gram.c" /* yacc.c:1646  */
34065     break;
34066 
34067   case 908:
34068 #line 6437 "gram.y" /* yacc.c:1646  */
34069     { (yyval.objtype) = OBJECT_EXTENSION; }
34070 #line 34071 "gram.c" /* yacc.c:1646  */
34071     break;
34072 
34073   case 909:
34074 #line 6438 "gram.y" /* yacc.c:1646  */
34075     { (yyval.objtype) = OBJECT_FDW; }
34076 #line 34077 "gram.c" /* yacc.c:1646  */
34077     break;
34078 
34079   case 910:
34080 #line 6439 "gram.y" /* yacc.c:1646  */
34081     { (yyval.objtype) = OBJECT_PUBLICATION; }
34082 #line 34083 "gram.c" /* yacc.c:1646  */
34083     break;
34084 
34085   case 911:
34086 #line 6440 "gram.y" /* yacc.c:1646  */
34087     { (yyval.objtype) = OBJECT_SCHEMA; }
34088 #line 34089 "gram.c" /* yacc.c:1646  */
34089     break;
34090 
34091   case 912:
34092 #line 6441 "gram.y" /* yacc.c:1646  */
34093     { (yyval.objtype) = OBJECT_FOREIGN_SERVER; }
34094 #line 34095 "gram.c" /* yacc.c:1646  */
34095     break;
34096 
34097   case 913:
34098 #line 6446 "gram.y" /* yacc.c:1646  */
34099     { (yyval.objtype) = OBJECT_POLICY; }
34100 #line 34101 "gram.c" /* yacc.c:1646  */
34101     break;
34102 
34103   case 914:
34104 #line 6447 "gram.y" /* yacc.c:1646  */
34105     { (yyval.objtype) = OBJECT_RULE; }
34106 #line 34107 "gram.c" /* yacc.c:1646  */
34107     break;
34108 
34109   case 915:
34110 #line 6448 "gram.y" /* yacc.c:1646  */
34111     { (yyval.objtype) = OBJECT_TRIGGER; }
34112 #line 34113 "gram.c" /* yacc.c:1646  */
34113     break;
34114 
34115   case 916:
34116 #line 6452 "gram.y" /* yacc.c:1646  */
34117     { (yyval.list) = list_make1((yyvsp[0].list)); }
34118 #line 34119 "gram.c" /* yacc.c:1646  */
34119     break;
34120 
34121   case 917:
34122 #line 6453 "gram.y" /* yacc.c:1646  */
34123     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].list)); }
34124 #line 34125 "gram.c" /* yacc.c:1646  */
34125     break;
34126 
34127   case 918:
34128 #line 6456 "gram.y" /* yacc.c:1646  */
34129     { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
34130 #line 34131 "gram.c" /* yacc.c:1646  */
34131     break;
34132 
34133   case 919:
34134 #line 6457 "gram.y" /* yacc.c:1646  */
34135     { (yyval.list) = lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)); }
34136 #line 34137 "gram.c" /* yacc.c:1646  */
34137     break;
34138 
34139   case 920:
34140 #line 6461 "gram.y" /* yacc.c:1646  */
34141     { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
34142 #line 34143 "gram.c" /* yacc.c:1646  */
34143     break;
34144 
34145   case 921:
34146 #line 6463 "gram.y" /* yacc.c:1646  */
34147     { (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str))); }
34148 #line 34149 "gram.c" /* yacc.c:1646  */
34149     break;
34150 
34151   case 922:
34152 #line 6467 "gram.y" /* yacc.c:1646  */
34153     { (yyval.list) = list_make1((yyvsp[0].typnam)); }
34154 #line 34155 "gram.c" /* yacc.c:1646  */
34155     break;
34156 
34157   case 923:
34158 #line 6468 "gram.y" /* yacc.c:1646  */
34159     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].typnam)); }
34160 #line 34161 "gram.c" /* yacc.c:1646  */
34161     break;
34162 
34163   case 924:
34164 #line 6480 "gram.y" /* yacc.c:1646  */
34165     {
34166 					TruncateStmt *n = makeNode(TruncateStmt);
34167 					n->relations = (yyvsp[-2].list);
34168 					n->restart_seqs = (yyvsp[-1].boolean);
34169 					n->behavior = (yyvsp[0].dbehavior);
34170 					(yyval.node) = (Node *)n;
34171 				}
34172 #line 34173 "gram.c" /* yacc.c:1646  */
34173     break;
34174 
34175   case 925:
34176 #line 6490 "gram.y" /* yacc.c:1646  */
34177     { (yyval.boolean) = false; }
34178 #line 34179 "gram.c" /* yacc.c:1646  */
34179     break;
34180 
34181   case 926:
34182 #line 6491 "gram.y" /* yacc.c:1646  */
34183     { (yyval.boolean) = true; }
34184 #line 34185 "gram.c" /* yacc.c:1646  */
34185     break;
34186 
34187   case 927:
34188 #line 6492 "gram.y" /* yacc.c:1646  */
34189     { (yyval.boolean) = false; }
34190 #line 34191 "gram.c" /* yacc.c:1646  */
34191     break;
34192 
34193   case 928:
34194 #line 6527 "gram.y" /* yacc.c:1646  */
34195     {
34196 					CommentStmt *n = makeNode(CommentStmt);
34197 					n->objtype = (yyvsp[-3].objtype);
34198 					n->object = (Node *) (yyvsp[-2].list);
34199 					n->comment = (yyvsp[0].str);
34200 					(yyval.node) = (Node *) n;
34201 				}
34202 #line 34203 "gram.c" /* yacc.c:1646  */
34203     break;
34204 
34205   case 929:
34206 #line 6535 "gram.y" /* yacc.c:1646  */
34207     {
34208 					CommentStmt *n = makeNode(CommentStmt);
34209 					n->objtype = (yyvsp[-3].objtype);
34210 					n->object = (Node *) makeString((yyvsp[-2].str));
34211 					n->comment = (yyvsp[0].str);
34212 					(yyval.node) = (Node *) n;
34213 				}
34214 #line 34215 "gram.c" /* yacc.c:1646  */
34215     break;
34216 
34217   case 930:
34218 #line 6543 "gram.y" /* yacc.c:1646  */
34219     {
34220 					CommentStmt *n = makeNode(CommentStmt);
34221 					n->objtype = OBJECT_TYPE;
34222 					n->object = (Node *) (yyvsp[-2].typnam);
34223 					n->comment = (yyvsp[0].str);
34224 					(yyval.node) = (Node *) n;
34225 				}
34226 #line 34227 "gram.c" /* yacc.c:1646  */
34227     break;
34228 
34229   case 931:
34230 #line 6551 "gram.y" /* yacc.c:1646  */
34231     {
34232 					CommentStmt *n = makeNode(CommentStmt);
34233 					n->objtype = OBJECT_DOMAIN;
34234 					n->object = (Node *) (yyvsp[-2].typnam);
34235 					n->comment = (yyvsp[0].str);
34236 					(yyval.node) = (Node *) n;
34237 				}
34238 #line 34239 "gram.c" /* yacc.c:1646  */
34239     break;
34240 
34241   case 932:
34242 #line 6559 "gram.y" /* yacc.c:1646  */
34243     {
34244 					CommentStmt *n = makeNode(CommentStmt);
34245 					n->objtype = OBJECT_AGGREGATE;
34246 					n->object = (Node *) (yyvsp[-2].objwithargs);
34247 					n->comment = (yyvsp[0].str);
34248 					(yyval.node) = (Node *) n;
34249 				}
34250 #line 34251 "gram.c" /* yacc.c:1646  */
34251     break;
34252 
34253   case 933:
34254 #line 6567 "gram.y" /* yacc.c:1646  */
34255     {
34256 					CommentStmt *n = makeNode(CommentStmt);
34257 					n->objtype = OBJECT_FUNCTION;
34258 					n->object = (Node *) (yyvsp[-2].objwithargs);
34259 					n->comment = (yyvsp[0].str);
34260 					(yyval.node) = (Node *) n;
34261 				}
34262 #line 34263 "gram.c" /* yacc.c:1646  */
34263     break;
34264 
34265   case 934:
34266 #line 6575 "gram.y" /* yacc.c:1646  */
34267     {
34268 					CommentStmt *n = makeNode(CommentStmt);
34269 					n->objtype = OBJECT_OPERATOR;
34270 					n->object = (Node *) (yyvsp[-2].objwithargs);
34271 					n->comment = (yyvsp[0].str);
34272 					(yyval.node) = (Node *) n;
34273 				}
34274 #line 34275 "gram.c" /* yacc.c:1646  */
34275     break;
34276 
34277   case 935:
34278 #line 6583 "gram.y" /* yacc.c:1646  */
34279     {
34280 					CommentStmt *n = makeNode(CommentStmt);
34281 					n->objtype = OBJECT_TABCONSTRAINT;
34282 					n->object = (Node *) lappend((yyvsp[-2].list), makeString((yyvsp[-4].str)));
34283 					n->comment = (yyvsp[0].str);
34284 					(yyval.node) = (Node *) n;
34285 				}
34286 #line 34287 "gram.c" /* yacc.c:1646  */
34287     break;
34288 
34289   case 936:
34290 #line 6591 "gram.y" /* yacc.c:1646  */
34291     {
34292 					CommentStmt *n = makeNode(CommentStmt);
34293 					n->objtype = OBJECT_DOMCONSTRAINT;
34294 					/*
34295 					 * should use Typename not any_name in the production, but
34296 					 * there's a shift/reduce conflict if we do that, so fix it
34297 					 * up here.
34298 					 */
34299 					n->object = (Node *) list_make2(makeTypeNameFromNameList((yyvsp[-2].list)), makeString((yyvsp[-5].str)));
34300 					n->comment = (yyvsp[0].str);
34301 					(yyval.node) = (Node *) n;
34302 				}
34303 #line 34304 "gram.c" /* yacc.c:1646  */
34304     break;
34305 
34306   case 937:
34307 #line 6604 "gram.y" /* yacc.c:1646  */
34308     {
34309 					CommentStmt *n = makeNode(CommentStmt);
34310 					n->objtype = OBJECT_POLICY;
34311 					n->object = (Node *) lappend((yyvsp[-2].list), makeString((yyvsp[-4].str)));
34312 					n->comment = (yyvsp[0].str);
34313 					(yyval.node) = (Node *) n;
34314 				}
34315 #line 34316 "gram.c" /* yacc.c:1646  */
34316     break;
34317 
34318   case 938:
34319 #line 6612 "gram.y" /* yacc.c:1646  */
34320     {
34321 					CommentStmt *n = makeNode(CommentStmt);
34322 					n->objtype = OBJECT_PROCEDURE;
34323 					n->object = (Node *) (yyvsp[-2].objwithargs);
34324 					n->comment = (yyvsp[0].str);
34325 					(yyval.node) = (Node *) n;
34326 				}
34327 #line 34328 "gram.c" /* yacc.c:1646  */
34328     break;
34329 
34330   case 939:
34331 #line 6620 "gram.y" /* yacc.c:1646  */
34332     {
34333 					CommentStmt *n = makeNode(CommentStmt);
34334 					n->objtype = OBJECT_ROUTINE;
34335 					n->object = (Node *) (yyvsp[-2].objwithargs);
34336 					n->comment = (yyvsp[0].str);
34337 					(yyval.node) = (Node *) n;
34338 				}
34339 #line 34340 "gram.c" /* yacc.c:1646  */
34340     break;
34341 
34342   case 940:
34343 #line 6628 "gram.y" /* yacc.c:1646  */
34344     {
34345 					CommentStmt *n = makeNode(CommentStmt);
34346 					n->objtype = OBJECT_RULE;
34347 					n->object = (Node *) lappend((yyvsp[-2].list), makeString((yyvsp[-4].str)));
34348 					n->comment = (yyvsp[0].str);
34349 					(yyval.node) = (Node *) n;
34350 				}
34351 #line 34352 "gram.c" /* yacc.c:1646  */
34352     break;
34353 
34354   case 941:
34355 #line 6636 "gram.y" /* yacc.c:1646  */
34356     {
34357 					CommentStmt *n = makeNode(CommentStmt);
34358 					n->objtype = OBJECT_TRANSFORM;
34359 					n->object = (Node *) list_make2((yyvsp[-4].typnam), makeString((yyvsp[-2].str)));
34360 					n->comment = (yyvsp[0].str);
34361 					(yyval.node) = (Node *) n;
34362 				}
34363 #line 34364 "gram.c" /* yacc.c:1646  */
34364     break;
34365 
34366   case 942:
34367 #line 6644 "gram.y" /* yacc.c:1646  */
34368     {
34369 					CommentStmt *n = makeNode(CommentStmt);
34370 					n->objtype = OBJECT_TRIGGER;
34371 					n->object = (Node *) lappend((yyvsp[-2].list), makeString((yyvsp[-4].str)));
34372 					n->comment = (yyvsp[0].str);
34373 					(yyval.node) = (Node *) n;
34374 				}
34375 #line 34376 "gram.c" /* yacc.c:1646  */
34376     break;
34377 
34378   case 943:
34379 #line 6652 "gram.y" /* yacc.c:1646  */
34380     {
34381 					CommentStmt *n = makeNode(CommentStmt);
34382 					n->objtype = OBJECT_OPCLASS;
34383 					n->object = (Node *) lcons(makeString((yyvsp[-2].str)), (yyvsp[-4].list));
34384 					n->comment = (yyvsp[0].str);
34385 					(yyval.node) = (Node *) n;
34386 				}
34387 #line 34388 "gram.c" /* yacc.c:1646  */
34388     break;
34389 
34390   case 944:
34391 #line 6660 "gram.y" /* yacc.c:1646  */
34392     {
34393 					CommentStmt *n = makeNode(CommentStmt);
34394 					n->objtype = OBJECT_OPFAMILY;
34395 					n->object = (Node *) lcons(makeString((yyvsp[-2].str)), (yyvsp[-4].list));
34396 					n->comment = (yyvsp[0].str);
34397 					(yyval.node) = (Node *) n;
34398 				}
34399 #line 34400 "gram.c" /* yacc.c:1646  */
34400     break;
34401 
34402   case 945:
34403 #line 6668 "gram.y" /* yacc.c:1646  */
34404     {
34405 					CommentStmt *n = makeNode(CommentStmt);
34406 					n->objtype = OBJECT_LARGEOBJECT;
34407 					n->object = (Node *) (yyvsp[-2].value);
34408 					n->comment = (yyvsp[0].str);
34409 					(yyval.node) = (Node *) n;
34410 				}
34411 #line 34412 "gram.c" /* yacc.c:1646  */
34412     break;
34413 
34414   case 946:
34415 #line 6676 "gram.y" /* yacc.c:1646  */
34416     {
34417 					CommentStmt *n = makeNode(CommentStmt);
34418 					n->objtype = OBJECT_CAST;
34419 					n->object = (Node *) list_make2((yyvsp[-5].typnam), (yyvsp[-3].typnam));
34420 					n->comment = (yyvsp[0].str);
34421 					(yyval.node) = (Node *) n;
34422 				}
34423 #line 34424 "gram.c" /* yacc.c:1646  */
34424     break;
34425 
34426   case 947:
34427 #line 6687 "gram.y" /* yacc.c:1646  */
34428     { (yyval.objtype) = OBJECT_COLUMN; }
34429 #line 34430 "gram.c" /* yacc.c:1646  */
34430     break;
34431 
34432   case 948:
34433 #line 6688 "gram.y" /* yacc.c:1646  */
34434     { (yyval.objtype) = OBJECT_INDEX; }
34435 #line 34436 "gram.c" /* yacc.c:1646  */
34436     break;
34437 
34438   case 949:
34439 #line 6689 "gram.y" /* yacc.c:1646  */
34440     { (yyval.objtype) = OBJECT_SEQUENCE; }
34441 #line 34442 "gram.c" /* yacc.c:1646  */
34442     break;
34443 
34444   case 950:
34445 #line 6690 "gram.y" /* yacc.c:1646  */
34446     { (yyval.objtype) = OBJECT_STATISTIC_EXT; }
34447 #line 34448 "gram.c" /* yacc.c:1646  */
34448     break;
34449 
34450   case 951:
34451 #line 6691 "gram.y" /* yacc.c:1646  */
34452     { (yyval.objtype) = OBJECT_TABLE; }
34453 #line 34454 "gram.c" /* yacc.c:1646  */
34454     break;
34455 
34456   case 952:
34457 #line 6692 "gram.y" /* yacc.c:1646  */
34458     { (yyval.objtype) = OBJECT_VIEW; }
34459 #line 34460 "gram.c" /* yacc.c:1646  */
34460     break;
34461 
34462   case 953:
34463 #line 6693 "gram.y" /* yacc.c:1646  */
34464     { (yyval.objtype) = OBJECT_MATVIEW; }
34465 #line 34466 "gram.c" /* yacc.c:1646  */
34466     break;
34467 
34468   case 954:
34469 #line 6694 "gram.y" /* yacc.c:1646  */
34470     { (yyval.objtype) = OBJECT_COLLATION; }
34471 #line 34472 "gram.c" /* yacc.c:1646  */
34472     break;
34473 
34474   case 955:
34475 #line 6695 "gram.y" /* yacc.c:1646  */
34476     { (yyval.objtype) = OBJECT_CONVERSION; }
34477 #line 34478 "gram.c" /* yacc.c:1646  */
34478     break;
34479 
34480   case 956:
34481 #line 6696 "gram.y" /* yacc.c:1646  */
34482     { (yyval.objtype) = OBJECT_FOREIGN_TABLE; }
34483 #line 34484 "gram.c" /* yacc.c:1646  */
34484     break;
34485 
34486   case 957:
34487 #line 6697 "gram.y" /* yacc.c:1646  */
34488     { (yyval.objtype) = OBJECT_TSCONFIGURATION; }
34489 #line 34490 "gram.c" /* yacc.c:1646  */
34490     break;
34491 
34492   case 958:
34493 #line 6698 "gram.y" /* yacc.c:1646  */
34494     { (yyval.objtype) = OBJECT_TSDICTIONARY; }
34495 #line 34496 "gram.c" /* yacc.c:1646  */
34496     break;
34497 
34498   case 959:
34499 #line 6699 "gram.y" /* yacc.c:1646  */
34500     { (yyval.objtype) = OBJECT_TSPARSER; }
34501 #line 34502 "gram.c" /* yacc.c:1646  */
34502     break;
34503 
34504   case 960:
34505 #line 6700 "gram.y" /* yacc.c:1646  */
34506     { (yyval.objtype) = OBJECT_TSTEMPLATE; }
34507 #line 34508 "gram.c" /* yacc.c:1646  */
34508     break;
34509 
34510   case 961:
34511 #line 6705 "gram.y" /* yacc.c:1646  */
34512     { (yyval.objtype) = OBJECT_ACCESS_METHOD; }
34513 #line 34514 "gram.c" /* yacc.c:1646  */
34514     break;
34515 
34516   case 962:
34517 #line 6706 "gram.y" /* yacc.c:1646  */
34518     { (yyval.objtype) = OBJECT_DATABASE; }
34519 #line 34520 "gram.c" /* yacc.c:1646  */
34520     break;
34521 
34522   case 963:
34523 #line 6707 "gram.y" /* yacc.c:1646  */
34524     { (yyval.objtype) = OBJECT_EVENT_TRIGGER; }
34525 #line 34526 "gram.c" /* yacc.c:1646  */
34526     break;
34527 
34528   case 964:
34529 #line 6708 "gram.y" /* yacc.c:1646  */
34530     { (yyval.objtype) = OBJECT_EXTENSION; }
34531 #line 34532 "gram.c" /* yacc.c:1646  */
34532     break;
34533 
34534   case 965:
34535 #line 6709 "gram.y" /* yacc.c:1646  */
34536     { (yyval.objtype) = OBJECT_FDW; }
34537 #line 34538 "gram.c" /* yacc.c:1646  */
34538     break;
34539 
34540   case 966:
34541 #line 6710 "gram.y" /* yacc.c:1646  */
34542     { (yyval.objtype) = OBJECT_LANGUAGE; }
34543 #line 34544 "gram.c" /* yacc.c:1646  */
34544     break;
34545 
34546   case 967:
34547 #line 6711 "gram.y" /* yacc.c:1646  */
34548     { (yyval.objtype) = OBJECT_PUBLICATION; }
34549 #line 34550 "gram.c" /* yacc.c:1646  */
34550     break;
34551 
34552   case 968:
34553 #line 6712 "gram.y" /* yacc.c:1646  */
34554     { (yyval.objtype) = OBJECT_ROLE; }
34555 #line 34556 "gram.c" /* yacc.c:1646  */
34556     break;
34557 
34558   case 969:
34559 #line 6713 "gram.y" /* yacc.c:1646  */
34560     { (yyval.objtype) = OBJECT_SCHEMA; }
34561 #line 34562 "gram.c" /* yacc.c:1646  */
34562     break;
34563 
34564   case 970:
34565 #line 6714 "gram.y" /* yacc.c:1646  */
34566     { (yyval.objtype) = OBJECT_FOREIGN_SERVER; }
34567 #line 34568 "gram.c" /* yacc.c:1646  */
34568     break;
34569 
34570   case 971:
34571 #line 6715 "gram.y" /* yacc.c:1646  */
34572     { (yyval.objtype) = OBJECT_SUBSCRIPTION; }
34573 #line 34574 "gram.c" /* yacc.c:1646  */
34574     break;
34575 
34576   case 972:
34577 #line 6716 "gram.y" /* yacc.c:1646  */
34578     { (yyval.objtype) = OBJECT_TABLESPACE; }
34579 #line 34580 "gram.c" /* yacc.c:1646  */
34580     break;
34581 
34582   case 973:
34583 #line 6720 "gram.y" /* yacc.c:1646  */
34584     { (yyval.str) = (yyvsp[0].str); }
34585 #line 34586 "gram.c" /* yacc.c:1646  */
34586     break;
34587 
34588   case 974:
34589 #line 6721 "gram.y" /* yacc.c:1646  */
34590     { (yyval.str) = NULL; }
34591 #line 34592 "gram.c" /* yacc.c:1646  */
34592     break;
34593 
34594   case 975:
34595 #line 6737 "gram.y" /* yacc.c:1646  */
34596     {
34597 					SecLabelStmt *n = makeNode(SecLabelStmt);
34598 					n->provider = (yyvsp[-5].str);
34599 					n->objtype = (yyvsp[-3].objtype);
34600 					n->object = (Node *) (yyvsp[-2].list);
34601 					n->label = (yyvsp[0].str);
34602 					(yyval.node) = (Node *) n;
34603 				}
34604 #line 34605 "gram.c" /* yacc.c:1646  */
34605     break;
34606 
34607   case 976:
34608 #line 6747 "gram.y" /* yacc.c:1646  */
34609     {
34610 					SecLabelStmt *n = makeNode(SecLabelStmt);
34611 					n->provider = (yyvsp[-5].str);
34612 					n->objtype = (yyvsp[-3].objtype);
34613 					n->object = (Node *) makeString((yyvsp[-2].str));
34614 					n->label = (yyvsp[0].str);
34615 					(yyval.node) = (Node *) n;
34616 				}
34617 #line 34618 "gram.c" /* yacc.c:1646  */
34618     break;
34619 
34620   case 977:
34621 #line 6757 "gram.y" /* yacc.c:1646  */
34622     {
34623 					SecLabelStmt *n = makeNode(SecLabelStmt);
34624 					n->provider = (yyvsp[-5].str);
34625 					n->objtype = OBJECT_TYPE;
34626 					n->object = (Node *) (yyvsp[-2].typnam);
34627 					n->label = (yyvsp[0].str);
34628 					(yyval.node) = (Node *) n;
34629 				}
34630 #line 34631 "gram.c" /* yacc.c:1646  */
34631     break;
34632 
34633   case 978:
34634 #line 6767 "gram.y" /* yacc.c:1646  */
34635     {
34636 					SecLabelStmt *n = makeNode(SecLabelStmt);
34637 					n->provider = (yyvsp[-5].str);
34638 					n->objtype = OBJECT_DOMAIN;
34639 					n->object = (Node *) (yyvsp[-2].typnam);
34640 					n->label = (yyvsp[0].str);
34641 					(yyval.node) = (Node *) n;
34642 				}
34643 #line 34644 "gram.c" /* yacc.c:1646  */
34644     break;
34645 
34646   case 979:
34647 #line 6777 "gram.y" /* yacc.c:1646  */
34648     {
34649 					SecLabelStmt *n = makeNode(SecLabelStmt);
34650 					n->provider = (yyvsp[-5].str);
34651 					n->objtype = OBJECT_AGGREGATE;
34652 					n->object = (Node *) (yyvsp[-2].objwithargs);
34653 					n->label = (yyvsp[0].str);
34654 					(yyval.node) = (Node *) n;
34655 				}
34656 #line 34657 "gram.c" /* yacc.c:1646  */
34657     break;
34658 
34659   case 980:
34660 #line 6787 "gram.y" /* yacc.c:1646  */
34661     {
34662 					SecLabelStmt *n = makeNode(SecLabelStmt);
34663 					n->provider = (yyvsp[-5].str);
34664 					n->objtype = OBJECT_FUNCTION;
34665 					n->object = (Node *) (yyvsp[-2].objwithargs);
34666 					n->label = (yyvsp[0].str);
34667 					(yyval.node) = (Node *) n;
34668 				}
34669 #line 34670 "gram.c" /* yacc.c:1646  */
34670     break;
34671 
34672   case 981:
34673 #line 6797 "gram.y" /* yacc.c:1646  */
34674     {
34675 					SecLabelStmt *n = makeNode(SecLabelStmt);
34676 					n->provider = (yyvsp[-6].str);
34677 					n->objtype = OBJECT_LARGEOBJECT;
34678 					n->object = (Node *) (yyvsp[-2].value);
34679 					n->label = (yyvsp[0].str);
34680 					(yyval.node) = (Node *) n;
34681 				}
34682 #line 34683 "gram.c" /* yacc.c:1646  */
34683     break;
34684 
34685   case 982:
34686 #line 6807 "gram.y" /* yacc.c:1646  */
34687     {
34688 					SecLabelStmt *n = makeNode(SecLabelStmt);
34689 					n->provider = (yyvsp[-5].str);
34690 					n->objtype = OBJECT_PROCEDURE;
34691 					n->object = (Node *) (yyvsp[-2].objwithargs);
34692 					n->label = (yyvsp[0].str);
34693 					(yyval.node) = (Node *) n;
34694 				}
34695 #line 34696 "gram.c" /* yacc.c:1646  */
34696     break;
34697 
34698   case 983:
34699 #line 6817 "gram.y" /* yacc.c:1646  */
34700     {
34701 					SecLabelStmt *n = makeNode(SecLabelStmt);
34702 					n->provider = (yyvsp[-5].str);
34703 					n->objtype = OBJECT_ROUTINE;
34704 					n->object = (Node *) (yyvsp[-2].objwithargs);
34705 					n->label = (yyvsp[0].str);
34706 					(yyval.node) = (Node *) n;
34707 				}
34708 #line 34709 "gram.c" /* yacc.c:1646  */
34709     break;
34710 
34711   case 984:
34712 #line 6827 "gram.y" /* yacc.c:1646  */
34713     { (yyval.str) = (yyvsp[0].str); }
34714 #line 34715 "gram.c" /* yacc.c:1646  */
34715     break;
34716 
34717   case 985:
34718 #line 6828 "gram.y" /* yacc.c:1646  */
34719     { (yyval.str) = NULL; }
34720 #line 34721 "gram.c" /* yacc.c:1646  */
34721     break;
34722 
34723   case 986:
34724 #line 6833 "gram.y" /* yacc.c:1646  */
34725     { (yyval.objtype) = OBJECT_COLUMN; }
34726 #line 34727 "gram.c" /* yacc.c:1646  */
34727     break;
34728 
34729   case 987:
34730 #line 6834 "gram.y" /* yacc.c:1646  */
34731     { (yyval.objtype) = OBJECT_FOREIGN_TABLE; }
34732 #line 34733 "gram.c" /* yacc.c:1646  */
34733     break;
34734 
34735   case 988:
34736 #line 6835 "gram.y" /* yacc.c:1646  */
34737     { (yyval.objtype) = OBJECT_SEQUENCE; }
34738 #line 34739 "gram.c" /* yacc.c:1646  */
34739     break;
34740 
34741   case 989:
34742 #line 6836 "gram.y" /* yacc.c:1646  */
34743     { (yyval.objtype) = OBJECT_TABLE; }
34744 #line 34745 "gram.c" /* yacc.c:1646  */
34745     break;
34746 
34747   case 990:
34748 #line 6837 "gram.y" /* yacc.c:1646  */
34749     { (yyval.objtype) = OBJECT_VIEW; }
34750 #line 34751 "gram.c" /* yacc.c:1646  */
34751     break;
34752 
34753   case 991:
34754 #line 6838 "gram.y" /* yacc.c:1646  */
34755     { (yyval.objtype) = OBJECT_MATVIEW; }
34756 #line 34757 "gram.c" /* yacc.c:1646  */
34757     break;
34758 
34759   case 992:
34760 #line 6843 "gram.y" /* yacc.c:1646  */
34761     { (yyval.objtype) = OBJECT_DATABASE; }
34762 #line 34763 "gram.c" /* yacc.c:1646  */
34763     break;
34764 
34765   case 993:
34766 #line 6844 "gram.y" /* yacc.c:1646  */
34767     { (yyval.objtype) = OBJECT_EVENT_TRIGGER; }
34768 #line 34769 "gram.c" /* yacc.c:1646  */
34769     break;
34770 
34771   case 994:
34772 #line 6845 "gram.y" /* yacc.c:1646  */
34773     { (yyval.objtype) = OBJECT_LANGUAGE; }
34774 #line 34775 "gram.c" /* yacc.c:1646  */
34775     break;
34776 
34777   case 995:
34778 #line 6846 "gram.y" /* yacc.c:1646  */
34779     { (yyval.objtype) = OBJECT_PUBLICATION; }
34780 #line 34781 "gram.c" /* yacc.c:1646  */
34781     break;
34782 
34783   case 996:
34784 #line 6847 "gram.y" /* yacc.c:1646  */
34785     { (yyval.objtype) = OBJECT_ROLE; }
34786 #line 34787 "gram.c" /* yacc.c:1646  */
34787     break;
34788 
34789   case 997:
34790 #line 6848 "gram.y" /* yacc.c:1646  */
34791     { (yyval.objtype) = OBJECT_SCHEMA; }
34792 #line 34793 "gram.c" /* yacc.c:1646  */
34793     break;
34794 
34795   case 998:
34796 #line 6849 "gram.y" /* yacc.c:1646  */
34797     { (yyval.objtype) = OBJECT_SUBSCRIPTION; }
34798 #line 34799 "gram.c" /* yacc.c:1646  */
34799     break;
34800 
34801   case 999:
34802 #line 6850 "gram.y" /* yacc.c:1646  */
34803     { (yyval.objtype) = OBJECT_TABLESPACE; }
34804 #line 34805 "gram.c" /* yacc.c:1646  */
34805     break;
34806 
34807   case 1000:
34808 #line 6853 "gram.y" /* yacc.c:1646  */
34809     { (yyval.str) = (yyvsp[0].str); }
34810 #line 34811 "gram.c" /* yacc.c:1646  */
34811     break;
34812 
34813   case 1001:
34814 #line 6854 "gram.y" /* yacc.c:1646  */
34815     { (yyval.str) = NULL; }
34816 #line 34817 "gram.c" /* yacc.c:1646  */
34817     break;
34818 
34819   case 1002:
34820 #line 6865 "gram.y" /* yacc.c:1646  */
34821     {
34822 					FetchStmt *n = (FetchStmt *) (yyvsp[0].node);
34823 					n->ismove = false;
34824 					(yyval.node) = (Node *)n;
34825 				}
34826 #line 34827 "gram.c" /* yacc.c:1646  */
34827     break;
34828 
34829   case 1003:
34830 #line 6871 "gram.y" /* yacc.c:1646  */
34831     {
34832 					FetchStmt *n = (FetchStmt *) (yyvsp[0].node);
34833 					n->ismove = true;
34834 					(yyval.node) = (Node *)n;
34835 				}
34836 #line 34837 "gram.c" /* yacc.c:1646  */
34837     break;
34838 
34839   case 1004:
34840 #line 6879 "gram.y" /* yacc.c:1646  */
34841     {
34842 					FetchStmt *n = makeNode(FetchStmt);
34843 					n->portalname = (yyvsp[0].str);
34844 					n->direction = FETCH_FORWARD;
34845 					n->howMany = 1;
34846 					(yyval.node) = (Node *)n;
34847 				}
34848 #line 34849 "gram.c" /* yacc.c:1646  */
34849     break;
34850 
34851   case 1005:
34852 #line 6887 "gram.y" /* yacc.c:1646  */
34853     {
34854 					FetchStmt *n = makeNode(FetchStmt);
34855 					n->portalname = (yyvsp[0].str);
34856 					n->direction = FETCH_FORWARD;
34857 					n->howMany = 1;
34858 					(yyval.node) = (Node *)n;
34859 				}
34860 #line 34861 "gram.c" /* yacc.c:1646  */
34861     break;
34862 
34863   case 1006:
34864 #line 6895 "gram.y" /* yacc.c:1646  */
34865     {
34866 					FetchStmt *n = makeNode(FetchStmt);
34867 					n->portalname = (yyvsp[0].str);
34868 					n->direction = FETCH_FORWARD;
34869 					n->howMany = 1;
34870 					(yyval.node) = (Node *)n;
34871 				}
34872 #line 34873 "gram.c" /* yacc.c:1646  */
34873     break;
34874 
34875   case 1007:
34876 #line 6903 "gram.y" /* yacc.c:1646  */
34877     {
34878 					FetchStmt *n = makeNode(FetchStmt);
34879 					n->portalname = (yyvsp[0].str);
34880 					n->direction = FETCH_BACKWARD;
34881 					n->howMany = 1;
34882 					(yyval.node) = (Node *)n;
34883 				}
34884 #line 34885 "gram.c" /* yacc.c:1646  */
34885     break;
34886 
34887   case 1008:
34888 #line 6911 "gram.y" /* yacc.c:1646  */
34889     {
34890 					FetchStmt *n = makeNode(FetchStmt);
34891 					n->portalname = (yyvsp[0].str);
34892 					n->direction = FETCH_ABSOLUTE;
34893 					n->howMany = 1;
34894 					(yyval.node) = (Node *)n;
34895 				}
34896 #line 34897 "gram.c" /* yacc.c:1646  */
34897     break;
34898 
34899   case 1009:
34900 #line 6919 "gram.y" /* yacc.c:1646  */
34901     {
34902 					FetchStmt *n = makeNode(FetchStmt);
34903 					n->portalname = (yyvsp[0].str);
34904 					n->direction = FETCH_ABSOLUTE;
34905 					n->howMany = -1;
34906 					(yyval.node) = (Node *)n;
34907 				}
34908 #line 34909 "gram.c" /* yacc.c:1646  */
34909     break;
34910 
34911   case 1010:
34912 #line 6927 "gram.y" /* yacc.c:1646  */
34913     {
34914 					FetchStmt *n = makeNode(FetchStmt);
34915 					n->portalname = (yyvsp[0].str);
34916 					n->direction = FETCH_ABSOLUTE;
34917 					n->howMany = (yyvsp[-2].ival);
34918 					(yyval.node) = (Node *)n;
34919 				}
34920 #line 34921 "gram.c" /* yacc.c:1646  */
34921     break;
34922 
34923   case 1011:
34924 #line 6935 "gram.y" /* yacc.c:1646  */
34925     {
34926 					FetchStmt *n = makeNode(FetchStmt);
34927 					n->portalname = (yyvsp[0].str);
34928 					n->direction = FETCH_RELATIVE;
34929 					n->howMany = (yyvsp[-2].ival);
34930 					(yyval.node) = (Node *)n;
34931 				}
34932 #line 34933 "gram.c" /* yacc.c:1646  */
34933     break;
34934 
34935   case 1012:
34936 #line 6943 "gram.y" /* yacc.c:1646  */
34937     {
34938 					FetchStmt *n = makeNode(FetchStmt);
34939 					n->portalname = (yyvsp[0].str);
34940 					n->direction = FETCH_FORWARD;
34941 					n->howMany = (yyvsp[-2].ival);
34942 					(yyval.node) = (Node *)n;
34943 				}
34944 #line 34945 "gram.c" /* yacc.c:1646  */
34945     break;
34946 
34947   case 1013:
34948 #line 6951 "gram.y" /* yacc.c:1646  */
34949     {
34950 					FetchStmt *n = makeNode(FetchStmt);
34951 					n->portalname = (yyvsp[0].str);
34952 					n->direction = FETCH_FORWARD;
34953 					n->howMany = FETCH_ALL;
34954 					(yyval.node) = (Node *)n;
34955 				}
34956 #line 34957 "gram.c" /* yacc.c:1646  */
34957     break;
34958 
34959   case 1014:
34960 #line 6959 "gram.y" /* yacc.c:1646  */
34961     {
34962 					FetchStmt *n = makeNode(FetchStmt);
34963 					n->portalname = (yyvsp[0].str);
34964 					n->direction = FETCH_FORWARD;
34965 					n->howMany = 1;
34966 					(yyval.node) = (Node *)n;
34967 				}
34968 #line 34969 "gram.c" /* yacc.c:1646  */
34969     break;
34970 
34971   case 1015:
34972 #line 6967 "gram.y" /* yacc.c:1646  */
34973     {
34974 					FetchStmt *n = makeNode(FetchStmt);
34975 					n->portalname = (yyvsp[0].str);
34976 					n->direction = FETCH_FORWARD;
34977 					n->howMany = (yyvsp[-2].ival);
34978 					(yyval.node) = (Node *)n;
34979 				}
34980 #line 34981 "gram.c" /* yacc.c:1646  */
34981     break;
34982 
34983   case 1016:
34984 #line 6975 "gram.y" /* yacc.c:1646  */
34985     {
34986 					FetchStmt *n = makeNode(FetchStmt);
34987 					n->portalname = (yyvsp[0].str);
34988 					n->direction = FETCH_FORWARD;
34989 					n->howMany = FETCH_ALL;
34990 					(yyval.node) = (Node *)n;
34991 				}
34992 #line 34993 "gram.c" /* yacc.c:1646  */
34993     break;
34994 
34995   case 1017:
34996 #line 6983 "gram.y" /* yacc.c:1646  */
34997     {
34998 					FetchStmt *n = makeNode(FetchStmt);
34999 					n->portalname = (yyvsp[0].str);
35000 					n->direction = FETCH_BACKWARD;
35001 					n->howMany = 1;
35002 					(yyval.node) = (Node *)n;
35003 				}
35004 #line 35005 "gram.c" /* yacc.c:1646  */
35005     break;
35006 
35007   case 1018:
35008 #line 6991 "gram.y" /* yacc.c:1646  */
35009     {
35010 					FetchStmt *n = makeNode(FetchStmt);
35011 					n->portalname = (yyvsp[0].str);
35012 					n->direction = FETCH_BACKWARD;
35013 					n->howMany = (yyvsp[-2].ival);
35014 					(yyval.node) = (Node *)n;
35015 				}
35016 #line 35017 "gram.c" /* yacc.c:1646  */
35017     break;
35018 
35019   case 1019:
35020 #line 6999 "gram.y" /* yacc.c:1646  */
35021     {
35022 					FetchStmt *n = makeNode(FetchStmt);
35023 					n->portalname = (yyvsp[0].str);
35024 					n->direction = FETCH_BACKWARD;
35025 					n->howMany = FETCH_ALL;
35026 					(yyval.node) = (Node *)n;
35027 				}
35028 #line 35029 "gram.c" /* yacc.c:1646  */
35029     break;
35030 
35031   case 1020:
35032 #line 7008 "gram.y" /* yacc.c:1646  */
35033     {}
35034 #line 35035 "gram.c" /* yacc.c:1646  */
35035     break;
35036 
35037   case 1021:
35038 #line 7009 "gram.y" /* yacc.c:1646  */
35039     {}
35040 #line 35041 "gram.c" /* yacc.c:1646  */
35041     break;
35042 
35043   case 1022:
35044 #line 7012 "gram.y" /* yacc.c:1646  */
35045     {}
35046 #line 35047 "gram.c" /* yacc.c:1646  */
35047     break;
35048 
35049   case 1023:
35050 #line 7013 "gram.y" /* yacc.c:1646  */
35051     {}
35052 #line 35053 "gram.c" /* yacc.c:1646  */
35053     break;
35054 
35055   case 1024:
35056 #line 7025 "gram.y" /* yacc.c:1646  */
35057     {
35058 					GrantStmt *n = makeNode(GrantStmt);
35059 					n->is_grant = true;
35060 					n->privileges = (yyvsp[-5].list);
35061 					n->targtype = ((yyvsp[-3].privtarget))->targtype;
35062 					n->objtype = ((yyvsp[-3].privtarget))->objtype;
35063 					n->objects = ((yyvsp[-3].privtarget))->objs;
35064 					n->grantees = (yyvsp[-1].list);
35065 					n->grant_option = (yyvsp[0].boolean);
35066 					(yyval.node) = (Node*)n;
35067 				}
35068 #line 35069 "gram.c" /* yacc.c:1646  */
35069     break;
35070 
35071   case 1025:
35072 #line 7041 "gram.y" /* yacc.c:1646  */
35073     {
35074 					GrantStmt *n = makeNode(GrantStmt);
35075 					n->is_grant = false;
35076 					n->grant_option = false;
35077 					n->privileges = (yyvsp[-5].list);
35078 					n->targtype = ((yyvsp[-3].privtarget))->targtype;
35079 					n->objtype = ((yyvsp[-3].privtarget))->objtype;
35080 					n->objects = ((yyvsp[-3].privtarget))->objs;
35081 					n->grantees = (yyvsp[-1].list);
35082 					n->behavior = (yyvsp[0].dbehavior);
35083 					(yyval.node) = (Node *)n;
35084 				}
35085 #line 35086 "gram.c" /* yacc.c:1646  */
35086     break;
35087 
35088   case 1026:
35089 #line 7055 "gram.y" /* yacc.c:1646  */
35090     {
35091 					GrantStmt *n = makeNode(GrantStmt);
35092 					n->is_grant = false;
35093 					n->grant_option = true;
35094 					n->privileges = (yyvsp[-5].list);
35095 					n->targtype = ((yyvsp[-3].privtarget))->targtype;
35096 					n->objtype = ((yyvsp[-3].privtarget))->objtype;
35097 					n->objects = ((yyvsp[-3].privtarget))->objs;
35098 					n->grantees = (yyvsp[-1].list);
35099 					n->behavior = (yyvsp[0].dbehavior);
35100 					(yyval.node) = (Node *)n;
35101 				}
35102 #line 35103 "gram.c" /* yacc.c:1646  */
35103     break;
35104 
35105   case 1027:
35106 #line 7080 "gram.y" /* yacc.c:1646  */
35107     { (yyval.list) = (yyvsp[0].list); }
35108 #line 35109 "gram.c" /* yacc.c:1646  */
35109     break;
35110 
35111   case 1028:
35112 #line 7082 "gram.y" /* yacc.c:1646  */
35113     { (yyval.list) = NIL; }
35114 #line 35115 "gram.c" /* yacc.c:1646  */
35115     break;
35116 
35117   case 1029:
35118 #line 7084 "gram.y" /* yacc.c:1646  */
35119     { (yyval.list) = NIL; }
35120 #line 35121 "gram.c" /* yacc.c:1646  */
35121     break;
35122 
35123   case 1030:
35124 #line 7086 "gram.y" /* yacc.c:1646  */
35125     {
35126 					AccessPriv *n = makeNode(AccessPriv);
35127 					n->priv_name = NULL;
35128 					n->cols = (yyvsp[-1].list);
35129 					(yyval.list) = list_make1(n);
35130 				}
35131 #line 35132 "gram.c" /* yacc.c:1646  */
35132     break;
35133 
35134   case 1031:
35135 #line 7093 "gram.y" /* yacc.c:1646  */
35136     {
35137 					AccessPriv *n = makeNode(AccessPriv);
35138 					n->priv_name = NULL;
35139 					n->cols = (yyvsp[-1].list);
35140 					(yyval.list) = list_make1(n);
35141 				}
35142 #line 35143 "gram.c" /* yacc.c:1646  */
35143     break;
35144 
35145   case 1032:
35146 #line 7101 "gram.y" /* yacc.c:1646  */
35147     { (yyval.list) = list_make1((yyvsp[0].accesspriv)); }
35148 #line 35149 "gram.c" /* yacc.c:1646  */
35149     break;
35150 
35151   case 1033:
35152 #line 7102 "gram.y" /* yacc.c:1646  */
35153     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].accesspriv)); }
35154 #line 35155 "gram.c" /* yacc.c:1646  */
35155     break;
35156 
35157   case 1034:
35158 #line 7106 "gram.y" /* yacc.c:1646  */
35159     {
35160 				AccessPriv *n = makeNode(AccessPriv);
35161 				n->priv_name = pstrdup((yyvsp[-1].keyword));
35162 				n->cols = (yyvsp[0].list);
35163 				(yyval.accesspriv) = n;
35164 			}
35165 #line 35166 "gram.c" /* yacc.c:1646  */
35166     break;
35167 
35168   case 1035:
35169 #line 7113 "gram.y" /* yacc.c:1646  */
35170     {
35171 				AccessPriv *n = makeNode(AccessPriv);
35172 				n->priv_name = pstrdup((yyvsp[-1].keyword));
35173 				n->cols = (yyvsp[0].list);
35174 				(yyval.accesspriv) = n;
35175 			}
35176 #line 35177 "gram.c" /* yacc.c:1646  */
35177     break;
35178 
35179   case 1036:
35180 #line 7120 "gram.y" /* yacc.c:1646  */
35181     {
35182 				AccessPriv *n = makeNode(AccessPriv);
35183 				n->priv_name = pstrdup((yyvsp[-1].keyword));
35184 				n->cols = (yyvsp[0].list);
35185 				(yyval.accesspriv) = n;
35186 			}
35187 #line 35188 "gram.c" /* yacc.c:1646  */
35188     break;
35189 
35190   case 1037:
35191 #line 7127 "gram.y" /* yacc.c:1646  */
35192     {
35193 				AccessPriv *n = makeNode(AccessPriv);
35194 				n->priv_name = (yyvsp[-1].str);
35195 				n->cols = (yyvsp[0].list);
35196 				(yyval.accesspriv) = n;
35197 			}
35198 #line 35199 "gram.c" /* yacc.c:1646  */
35199     break;
35200 
35201   case 1038:
35202 #line 7141 "gram.y" /* yacc.c:1646  */
35203     {
35204 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
35205 					n->targtype = ACL_TARGET_OBJECT;
35206 					n->objtype = OBJECT_TABLE;
35207 					n->objs = (yyvsp[0].list);
35208 					(yyval.privtarget) = n;
35209 				}
35210 #line 35211 "gram.c" /* yacc.c:1646  */
35211     break;
35212 
35213   case 1039:
35214 #line 7149 "gram.y" /* yacc.c:1646  */
35215     {
35216 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
35217 					n->targtype = ACL_TARGET_OBJECT;
35218 					n->objtype = OBJECT_TABLE;
35219 					n->objs = (yyvsp[0].list);
35220 					(yyval.privtarget) = n;
35221 				}
35222 #line 35223 "gram.c" /* yacc.c:1646  */
35223     break;
35224 
35225   case 1040:
35226 #line 7157 "gram.y" /* yacc.c:1646  */
35227     {
35228 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
35229 					n->targtype = ACL_TARGET_OBJECT;
35230 					n->objtype = OBJECT_SEQUENCE;
35231 					n->objs = (yyvsp[0].list);
35232 					(yyval.privtarget) = n;
35233 				}
35234 #line 35235 "gram.c" /* yacc.c:1646  */
35235     break;
35236 
35237   case 1041:
35238 #line 7165 "gram.y" /* yacc.c:1646  */
35239     {
35240 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
35241 					n->targtype = ACL_TARGET_OBJECT;
35242 					n->objtype = OBJECT_FDW;
35243 					n->objs = (yyvsp[0].list);
35244 					(yyval.privtarget) = n;
35245 				}
35246 #line 35247 "gram.c" /* yacc.c:1646  */
35247     break;
35248 
35249   case 1042:
35250 #line 7173 "gram.y" /* yacc.c:1646  */
35251     {
35252 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
35253 					n->targtype = ACL_TARGET_OBJECT;
35254 					n->objtype = OBJECT_FOREIGN_SERVER;
35255 					n->objs = (yyvsp[0].list);
35256 					(yyval.privtarget) = n;
35257 				}
35258 #line 35259 "gram.c" /* yacc.c:1646  */
35259     break;
35260 
35261   case 1043:
35262 #line 7181 "gram.y" /* yacc.c:1646  */
35263     {
35264 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
35265 					n->targtype = ACL_TARGET_OBJECT;
35266 					n->objtype = OBJECT_FUNCTION;
35267 					n->objs = (yyvsp[0].list);
35268 					(yyval.privtarget) = n;
35269 				}
35270 #line 35271 "gram.c" /* yacc.c:1646  */
35271     break;
35272 
35273   case 1044:
35274 #line 7189 "gram.y" /* yacc.c:1646  */
35275     {
35276 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
35277 					n->targtype = ACL_TARGET_OBJECT;
35278 					n->objtype = OBJECT_PROCEDURE;
35279 					n->objs = (yyvsp[0].list);
35280 					(yyval.privtarget) = n;
35281 				}
35282 #line 35283 "gram.c" /* yacc.c:1646  */
35283     break;
35284 
35285   case 1045:
35286 #line 7197 "gram.y" /* yacc.c:1646  */
35287     {
35288 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
35289 					n->targtype = ACL_TARGET_OBJECT;
35290 					n->objtype = OBJECT_ROUTINE;
35291 					n->objs = (yyvsp[0].list);
35292 					(yyval.privtarget) = n;
35293 				}
35294 #line 35295 "gram.c" /* yacc.c:1646  */
35295     break;
35296 
35297   case 1046:
35298 #line 7205 "gram.y" /* yacc.c:1646  */
35299     {
35300 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
35301 					n->targtype = ACL_TARGET_OBJECT;
35302 					n->objtype = OBJECT_DATABASE;
35303 					n->objs = (yyvsp[0].list);
35304 					(yyval.privtarget) = n;
35305 				}
35306 #line 35307 "gram.c" /* yacc.c:1646  */
35307     break;
35308 
35309   case 1047:
35310 #line 7213 "gram.y" /* yacc.c:1646  */
35311     {
35312 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
35313 					n->targtype = ACL_TARGET_OBJECT;
35314 					n->objtype = OBJECT_DOMAIN;
35315 					n->objs = (yyvsp[0].list);
35316 					(yyval.privtarget) = n;
35317 				}
35318 #line 35319 "gram.c" /* yacc.c:1646  */
35319     break;
35320 
35321   case 1048:
35322 #line 7221 "gram.y" /* yacc.c:1646  */
35323     {
35324 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
35325 					n->targtype = ACL_TARGET_OBJECT;
35326 					n->objtype = OBJECT_LANGUAGE;
35327 					n->objs = (yyvsp[0].list);
35328 					(yyval.privtarget) = n;
35329 				}
35330 #line 35331 "gram.c" /* yacc.c:1646  */
35331     break;
35332 
35333   case 1049:
35334 #line 7229 "gram.y" /* yacc.c:1646  */
35335     {
35336 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
35337 					n->targtype = ACL_TARGET_OBJECT;
35338 					n->objtype = OBJECT_LARGEOBJECT;
35339 					n->objs = (yyvsp[0].list);
35340 					(yyval.privtarget) = n;
35341 				}
35342 #line 35343 "gram.c" /* yacc.c:1646  */
35343     break;
35344 
35345   case 1050:
35346 #line 7237 "gram.y" /* yacc.c:1646  */
35347     {
35348 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
35349 					n->targtype = ACL_TARGET_OBJECT;
35350 					n->objtype = OBJECT_SCHEMA;
35351 					n->objs = (yyvsp[0].list);
35352 					(yyval.privtarget) = n;
35353 				}
35354 #line 35355 "gram.c" /* yacc.c:1646  */
35355     break;
35356 
35357   case 1051:
35358 #line 7245 "gram.y" /* yacc.c:1646  */
35359     {
35360 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
35361 					n->targtype = ACL_TARGET_OBJECT;
35362 					n->objtype = OBJECT_TABLESPACE;
35363 					n->objs = (yyvsp[0].list);
35364 					(yyval.privtarget) = n;
35365 				}
35366 #line 35367 "gram.c" /* yacc.c:1646  */
35367     break;
35368 
35369   case 1052:
35370 #line 7253 "gram.y" /* yacc.c:1646  */
35371     {
35372 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
35373 					n->targtype = ACL_TARGET_OBJECT;
35374 					n->objtype = OBJECT_TYPE;
35375 					n->objs = (yyvsp[0].list);
35376 					(yyval.privtarget) = n;
35377 				}
35378 #line 35379 "gram.c" /* yacc.c:1646  */
35379     break;
35380 
35381   case 1053:
35382 #line 7261 "gram.y" /* yacc.c:1646  */
35383     {
35384 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
35385 					n->targtype = ACL_TARGET_ALL_IN_SCHEMA;
35386 					n->objtype = OBJECT_TABLE;
35387 					n->objs = (yyvsp[0].list);
35388 					(yyval.privtarget) = n;
35389 				}
35390 #line 35391 "gram.c" /* yacc.c:1646  */
35391     break;
35392 
35393   case 1054:
35394 #line 7269 "gram.y" /* yacc.c:1646  */
35395     {
35396 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
35397 					n->targtype = ACL_TARGET_ALL_IN_SCHEMA;
35398 					n->objtype = OBJECT_SEQUENCE;
35399 					n->objs = (yyvsp[0].list);
35400 					(yyval.privtarget) = n;
35401 				}
35402 #line 35403 "gram.c" /* yacc.c:1646  */
35403     break;
35404 
35405   case 1055:
35406 #line 7277 "gram.y" /* yacc.c:1646  */
35407     {
35408 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
35409 					n->targtype = ACL_TARGET_ALL_IN_SCHEMA;
35410 					n->objtype = OBJECT_FUNCTION;
35411 					n->objs = (yyvsp[0].list);
35412 					(yyval.privtarget) = n;
35413 				}
35414 #line 35415 "gram.c" /* yacc.c:1646  */
35415     break;
35416 
35417   case 1056:
35418 #line 7285 "gram.y" /* yacc.c:1646  */
35419     {
35420 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
35421 					n->targtype = ACL_TARGET_ALL_IN_SCHEMA;
35422 					n->objtype = OBJECT_PROCEDURE;
35423 					n->objs = (yyvsp[0].list);
35424 					(yyval.privtarget) = n;
35425 				}
35426 #line 35427 "gram.c" /* yacc.c:1646  */
35427     break;
35428 
35429   case 1057:
35430 #line 7293 "gram.y" /* yacc.c:1646  */
35431     {
35432 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
35433 					n->targtype = ACL_TARGET_ALL_IN_SCHEMA;
35434 					n->objtype = OBJECT_ROUTINE;
35435 					n->objs = (yyvsp[0].list);
35436 					(yyval.privtarget) = n;
35437 				}
35438 #line 35439 "gram.c" /* yacc.c:1646  */
35439     break;
35440 
35441   case 1058:
35442 #line 7304 "gram.y" /* yacc.c:1646  */
35443     { (yyval.list) = list_make1((yyvsp[0].rolespec)); }
35444 #line 35445 "gram.c" /* yacc.c:1646  */
35445     break;
35446 
35447   case 1059:
35448 #line 7305 "gram.y" /* yacc.c:1646  */
35449     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].rolespec)); }
35450 #line 35451 "gram.c" /* yacc.c:1646  */
35451     break;
35452 
35453   case 1060:
35454 #line 7309 "gram.y" /* yacc.c:1646  */
35455     { (yyval.rolespec) = (yyvsp[0].rolespec); }
35456 #line 35457 "gram.c" /* yacc.c:1646  */
35457     break;
35458 
35459   case 1061:
35460 #line 7310 "gram.y" /* yacc.c:1646  */
35461     { (yyval.rolespec) = (yyvsp[0].rolespec); }
35462 #line 35463 "gram.c" /* yacc.c:1646  */
35463     break;
35464 
35465   case 1062:
35466 #line 7315 "gram.y" /* yacc.c:1646  */
35467     { (yyval.boolean) = true; }
35468 #line 35469 "gram.c" /* yacc.c:1646  */
35469     break;
35470 
35471   case 1063:
35472 #line 7316 "gram.y" /* yacc.c:1646  */
35473     { (yyval.boolean) = false; }
35474 #line 35475 "gram.c" /* yacc.c:1646  */
35475     break;
35476 
35477   case 1064:
35478 #line 7327 "gram.y" /* yacc.c:1646  */
35479     {
35480 					GrantRoleStmt *n = makeNode(GrantRoleStmt);
35481 					n->is_grant = true;
35482 					n->granted_roles = (yyvsp[-4].list);
35483 					n->grantee_roles = (yyvsp[-2].list);
35484 					n->admin_opt = (yyvsp[-1].boolean);
35485 					n->grantor = (yyvsp[0].rolespec);
35486 					(yyval.node) = (Node*)n;
35487 				}
35488 #line 35489 "gram.c" /* yacc.c:1646  */
35489     break;
35490 
35491   case 1065:
35492 #line 7340 "gram.y" /* yacc.c:1646  */
35493     {
35494 					GrantRoleStmt *n = makeNode(GrantRoleStmt);
35495 					n->is_grant = false;
35496 					n->admin_opt = false;
35497 					n->granted_roles = (yyvsp[-4].list);
35498 					n->grantee_roles = (yyvsp[-2].list);
35499 					n->behavior = (yyvsp[0].dbehavior);
35500 					(yyval.node) = (Node*)n;
35501 				}
35502 #line 35503 "gram.c" /* yacc.c:1646  */
35503     break;
35504 
35505   case 1066:
35506 #line 7350 "gram.y" /* yacc.c:1646  */
35507     {
35508 					GrantRoleStmt *n = makeNode(GrantRoleStmt);
35509 					n->is_grant = false;
35510 					n->admin_opt = true;
35511 					n->granted_roles = (yyvsp[-4].list);
35512 					n->grantee_roles = (yyvsp[-2].list);
35513 					n->behavior = (yyvsp[0].dbehavior);
35514 					(yyval.node) = (Node*)n;
35515 				}
35516 #line 35517 "gram.c" /* yacc.c:1646  */
35517     break;
35518 
35519   case 1067:
35520 #line 7361 "gram.y" /* yacc.c:1646  */
35521     { (yyval.boolean) = true; }
35522 #line 35523 "gram.c" /* yacc.c:1646  */
35523     break;
35524 
35525   case 1068:
35526 #line 7362 "gram.y" /* yacc.c:1646  */
35527     { (yyval.boolean) = false; }
35528 #line 35529 "gram.c" /* yacc.c:1646  */
35529     break;
35530 
35531   case 1069:
35532 #line 7365 "gram.y" /* yacc.c:1646  */
35533     { (yyval.rolespec) = (yyvsp[0].rolespec); }
35534 #line 35535 "gram.c" /* yacc.c:1646  */
35535     break;
35536 
35537   case 1070:
35538 #line 7366 "gram.y" /* yacc.c:1646  */
35539     { (yyval.rolespec) = NULL; }
35540 #line 35541 "gram.c" /* yacc.c:1646  */
35541     break;
35542 
35543   case 1071:
35544 #line 7377 "gram.y" /* yacc.c:1646  */
35545     {
35546 					AlterDefaultPrivilegesStmt *n = makeNode(AlterDefaultPrivilegesStmt);
35547 					n->options = (yyvsp[-1].list);
35548 					n->action = (GrantStmt *) (yyvsp[0].node);
35549 					(yyval.node) = (Node*)n;
35550 				}
35551 #line 35552 "gram.c" /* yacc.c:1646  */
35552     break;
35553 
35554   case 1072:
35555 #line 7386 "gram.y" /* yacc.c:1646  */
35556     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
35557 #line 35558 "gram.c" /* yacc.c:1646  */
35558     break;
35559 
35560   case 1073:
35561 #line 7387 "gram.y" /* yacc.c:1646  */
35562     { (yyval.list) = NIL; }
35563 #line 35564 "gram.c" /* yacc.c:1646  */
35564     break;
35565 
35566   case 1074:
35567 #line 7392 "gram.y" /* yacc.c:1646  */
35568     {
35569 					(yyval.defelt) = makeDefElem("schemas", (Node *)(yyvsp[0].list), (yylsp[-2]));
35570 				}
35571 #line 35572 "gram.c" /* yacc.c:1646  */
35572     break;
35573 
35574   case 1075:
35575 #line 7396 "gram.y" /* yacc.c:1646  */
35576     {
35577 					(yyval.defelt) = makeDefElem("roles", (Node *)(yyvsp[0].list), (yylsp[-2]));
35578 				}
35579 #line 35580 "gram.c" /* yacc.c:1646  */
35580     break;
35581 
35582   case 1076:
35583 #line 7400 "gram.y" /* yacc.c:1646  */
35584     {
35585 					(yyval.defelt) = makeDefElem("roles", (Node *)(yyvsp[0].list), (yylsp[-2]));
35586 				}
35587 #line 35588 "gram.c" /* yacc.c:1646  */
35588     break;
35589 
35590   case 1077:
35591 #line 7412 "gram.y" /* yacc.c:1646  */
35592     {
35593 					GrantStmt *n = makeNode(GrantStmt);
35594 					n->is_grant = true;
35595 					n->privileges = (yyvsp[-5].list);
35596 					n->targtype = ACL_TARGET_DEFAULTS;
35597 					n->objtype = (yyvsp[-3].ival);
35598 					n->objects = NIL;
35599 					n->grantees = (yyvsp[-1].list);
35600 					n->grant_option = (yyvsp[0].boolean);
35601 					(yyval.node) = (Node*)n;
35602 				}
35603 #line 35604 "gram.c" /* yacc.c:1646  */
35604     break;
35605 
35606   case 1078:
35607 #line 7425 "gram.y" /* yacc.c:1646  */
35608     {
35609 					GrantStmt *n = makeNode(GrantStmt);
35610 					n->is_grant = false;
35611 					n->grant_option = false;
35612 					n->privileges = (yyvsp[-5].list);
35613 					n->targtype = ACL_TARGET_DEFAULTS;
35614 					n->objtype = (yyvsp[-3].ival);
35615 					n->objects = NIL;
35616 					n->grantees = (yyvsp[-1].list);
35617 					n->behavior = (yyvsp[0].dbehavior);
35618 					(yyval.node) = (Node *)n;
35619 				}
35620 #line 35621 "gram.c" /* yacc.c:1646  */
35621     break;
35622 
35623   case 1079:
35624 #line 7439 "gram.y" /* yacc.c:1646  */
35625     {
35626 					GrantStmt *n = makeNode(GrantStmt);
35627 					n->is_grant = false;
35628 					n->grant_option = true;
35629 					n->privileges = (yyvsp[-5].list);
35630 					n->targtype = ACL_TARGET_DEFAULTS;
35631 					n->objtype = (yyvsp[-3].ival);
35632 					n->objects = NIL;
35633 					n->grantees = (yyvsp[-1].list);
35634 					n->behavior = (yyvsp[0].dbehavior);
35635 					(yyval.node) = (Node *)n;
35636 				}
35637 #line 35638 "gram.c" /* yacc.c:1646  */
35638     break;
35639 
35640   case 1080:
35641 #line 7454 "gram.y" /* yacc.c:1646  */
35642     { (yyval.ival) = OBJECT_TABLE; }
35643 #line 35644 "gram.c" /* yacc.c:1646  */
35644     break;
35645 
35646   case 1081:
35647 #line 7455 "gram.y" /* yacc.c:1646  */
35648     { (yyval.ival) = OBJECT_FUNCTION; }
35649 #line 35650 "gram.c" /* yacc.c:1646  */
35650     break;
35651 
35652   case 1082:
35653 #line 7456 "gram.y" /* yacc.c:1646  */
35654     { (yyval.ival) = OBJECT_FUNCTION; }
35655 #line 35656 "gram.c" /* yacc.c:1646  */
35656     break;
35657 
35658   case 1083:
35659 #line 7457 "gram.y" /* yacc.c:1646  */
35660     { (yyval.ival) = OBJECT_SEQUENCE; }
35661 #line 35662 "gram.c" /* yacc.c:1646  */
35662     break;
35663 
35664   case 1084:
35665 #line 7458 "gram.y" /* yacc.c:1646  */
35666     { (yyval.ival) = OBJECT_TYPE; }
35667 #line 35668 "gram.c" /* yacc.c:1646  */
35668     break;
35669 
35670   case 1085:
35671 #line 7459 "gram.y" /* yacc.c:1646  */
35672     { (yyval.ival) = OBJECT_SCHEMA; }
35673 #line 35674 "gram.c" /* yacc.c:1646  */
35674     break;
35675 
35676   case 1086:
35677 #line 7474 "gram.y" /* yacc.c:1646  */
35678     {
35679 					IndexStmt *n = makeNode(IndexStmt);
35680 					n->unique = (yyvsp[-13].boolean);
35681 					n->concurrent = (yyvsp[-11].boolean);
35682 					n->idxname = (yyvsp[-10].str);
35683 					n->relation = (yyvsp[-8].range);
35684 					n->accessMethod = (yyvsp[-7].str);
35685 					n->indexParams = (yyvsp[-5].list);
35686 					n->indexIncludingParams = (yyvsp[-3].list);
35687 					n->options = (yyvsp[-2].list);
35688 					n->tableSpace = (yyvsp[-1].str);
35689 					n->whereClause = (yyvsp[0].node);
35690 					n->excludeOpNames = NIL;
35691 					n->idxcomment = NULL;
35692 					n->indexOid = InvalidOid;
35693 					n->oldNode = InvalidOid;
35694 					n->oldCreateSubid = InvalidSubTransactionId;
35695 					n->oldFirstRelfilenodeSubid = InvalidSubTransactionId;
35696 					n->primary = false;
35697 					n->isconstraint = false;
35698 					n->deferrable = false;
35699 					n->initdeferred = false;
35700 					n->transformed = false;
35701 					n->if_not_exists = false;
35702 					n->reset_default_tblspc = false;
35703 					(yyval.node) = (Node *)n;
35704 				}
35705 #line 35706 "gram.c" /* yacc.c:1646  */
35706     break;
35707 
35708   case 1087:
35709 #line 7504 "gram.y" /* yacc.c:1646  */
35710     {
35711 					IndexStmt *n = makeNode(IndexStmt);
35712 					n->unique = (yyvsp[-16].boolean);
35713 					n->concurrent = (yyvsp[-14].boolean);
35714 					n->idxname = (yyvsp[-10].str);
35715 					n->relation = (yyvsp[-8].range);
35716 					n->accessMethod = (yyvsp[-7].str);
35717 					n->indexParams = (yyvsp[-5].list);
35718 					n->indexIncludingParams = (yyvsp[-3].list);
35719 					n->options = (yyvsp[-2].list);
35720 					n->tableSpace = (yyvsp[-1].str);
35721 					n->whereClause = (yyvsp[0].node);
35722 					n->excludeOpNames = NIL;
35723 					n->idxcomment = NULL;
35724 					n->indexOid = InvalidOid;
35725 					n->oldNode = InvalidOid;
35726 					n->oldCreateSubid = InvalidSubTransactionId;
35727 					n->oldFirstRelfilenodeSubid = InvalidSubTransactionId;
35728 					n->primary = false;
35729 					n->isconstraint = false;
35730 					n->deferrable = false;
35731 					n->initdeferred = false;
35732 					n->transformed = false;
35733 					n->if_not_exists = true;
35734 					n->reset_default_tblspc = false;
35735 					(yyval.node) = (Node *)n;
35736 				}
35737 #line 35738 "gram.c" /* yacc.c:1646  */
35738     break;
35739 
35740   case 1088:
35741 #line 7534 "gram.y" /* yacc.c:1646  */
35742     { (yyval.boolean) = true; }
35743 #line 35744 "gram.c" /* yacc.c:1646  */
35744     break;
35745 
35746   case 1089:
35747 #line 7535 "gram.y" /* yacc.c:1646  */
35748     { (yyval.boolean) = false; }
35749 #line 35750 "gram.c" /* yacc.c:1646  */
35750     break;
35751 
35752   case 1090:
35753 #line 7539 "gram.y" /* yacc.c:1646  */
35754     { (yyval.boolean) = true; }
35755 #line 35756 "gram.c" /* yacc.c:1646  */
35756     break;
35757 
35758   case 1091:
35759 #line 7540 "gram.y" /* yacc.c:1646  */
35760     { (yyval.boolean) = false; }
35761 #line 35762 "gram.c" /* yacc.c:1646  */
35762     break;
35763 
35764   case 1092:
35765 #line 7544 "gram.y" /* yacc.c:1646  */
35766     { (yyval.str) = (yyvsp[0].str); }
35767 #line 35768 "gram.c" /* yacc.c:1646  */
35768     break;
35769 
35770   case 1093:
35771 #line 7545 "gram.y" /* yacc.c:1646  */
35772     { (yyval.str) = NULL; }
35773 #line 35774 "gram.c" /* yacc.c:1646  */
35774     break;
35775 
35776   case 1094:
35777 #line 7549 "gram.y" /* yacc.c:1646  */
35778     { (yyval.str) = (yyvsp[0].str); }
35779 #line 35780 "gram.c" /* yacc.c:1646  */
35780     break;
35781 
35782   case 1095:
35783 #line 7550 "gram.y" /* yacc.c:1646  */
35784     { (yyval.str) = DEFAULT_INDEX_TYPE; }
35785 #line 35786 "gram.c" /* yacc.c:1646  */
35786     break;
35787 
35788   case 1096:
35789 #line 7553 "gram.y" /* yacc.c:1646  */
35790     { (yyval.list) = list_make1((yyvsp[0].ielem)); }
35791 #line 35792 "gram.c" /* yacc.c:1646  */
35792     break;
35793 
35794   case 1097:
35795 #line 7554 "gram.y" /* yacc.c:1646  */
35796     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].ielem)); }
35797 #line 35798 "gram.c" /* yacc.c:1646  */
35798     break;
35799 
35800   case 1098:
35801 #line 7560 "gram.y" /* yacc.c:1646  */
35802     {
35803 			(yyval.ielem) = makeNode(IndexElem);
35804 			(yyval.ielem)->name = NULL;
35805 			(yyval.ielem)->expr = NULL;
35806 			(yyval.ielem)->indexcolname = NULL;
35807 			(yyval.ielem)->collation = (yyvsp[-3].list);
35808 			(yyval.ielem)->opclass = (yyvsp[-2].list);
35809 			(yyval.ielem)->opclassopts = NIL;
35810 			(yyval.ielem)->ordering = (yyvsp[-1].ival);
35811 			(yyval.ielem)->nulls_ordering = (yyvsp[0].ival);
35812 		}
35813 #line 35814 "gram.c" /* yacc.c:1646  */
35814     break;
35815 
35816   case 1099:
35817 #line 7572 "gram.y" /* yacc.c:1646  */
35818     {
35819 			(yyval.ielem) = makeNode(IndexElem);
35820 			(yyval.ielem)->name = NULL;
35821 			(yyval.ielem)->expr = NULL;
35822 			(yyval.ielem)->indexcolname = NULL;
35823 			(yyval.ielem)->collation = (yyvsp[-4].list);
35824 			(yyval.ielem)->opclass = (yyvsp[-3].list);
35825 			(yyval.ielem)->opclassopts = (yyvsp[-2].list);
35826 			(yyval.ielem)->ordering = (yyvsp[-1].ival);
35827 			(yyval.ielem)->nulls_ordering = (yyvsp[0].ival);
35828 		}
35829 #line 35830 "gram.c" /* yacc.c:1646  */
35830     break;
35831 
35832   case 1100:
35833 #line 7591 "gram.y" /* yacc.c:1646  */
35834     {
35835 					(yyval.ielem) = (yyvsp[0].ielem);
35836 					(yyval.ielem)->name = (yyvsp[-1].str);
35837 				}
35838 #line 35839 "gram.c" /* yacc.c:1646  */
35839     break;
35840 
35841   case 1101:
35842 #line 7596 "gram.y" /* yacc.c:1646  */
35843     {
35844 					(yyval.ielem) = (yyvsp[0].ielem);
35845 					(yyval.ielem)->expr = (yyvsp[-1].node);
35846 				}
35847 #line 35848 "gram.c" /* yacc.c:1646  */
35848     break;
35849 
35850   case 1102:
35851 #line 7601 "gram.y" /* yacc.c:1646  */
35852     {
35853 					(yyval.ielem) = (yyvsp[0].ielem);
35854 					(yyval.ielem)->expr = (yyvsp[-2].node);
35855 				}
35856 #line 35857 "gram.c" /* yacc.c:1646  */
35857     break;
35858 
35859   case 1103:
35860 #line 7607 "gram.y" /* yacc.c:1646  */
35861     { (yyval.list) = (yyvsp[-1].list); }
35862 #line 35863 "gram.c" /* yacc.c:1646  */
35863     break;
35864 
35865   case 1104:
35866 #line 7608 "gram.y" /* yacc.c:1646  */
35867     { (yyval.list) = NIL; }
35868 #line 35869 "gram.c" /* yacc.c:1646  */
35869     break;
35870 
35871   case 1105:
35872 #line 7611 "gram.y" /* yacc.c:1646  */
35873     { (yyval.list) = list_make1((yyvsp[0].ielem)); }
35874 #line 35875 "gram.c" /* yacc.c:1646  */
35875     break;
35876 
35877   case 1106:
35878 #line 7612 "gram.y" /* yacc.c:1646  */
35879     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].ielem)); }
35880 #line 35881 "gram.c" /* yacc.c:1646  */
35881     break;
35882 
35883   case 1107:
35884 #line 7615 "gram.y" /* yacc.c:1646  */
35885     { (yyval.list) = (yyvsp[0].list); }
35886 #line 35887 "gram.c" /* yacc.c:1646  */
35887     break;
35888 
35889   case 1108:
35890 #line 7616 "gram.y" /* yacc.c:1646  */
35891     { (yyval.list) = NIL; }
35892 #line 35893 "gram.c" /* yacc.c:1646  */
35893     break;
35894 
35895   case 1109:
35896 #line 7619 "gram.y" /* yacc.c:1646  */
35897     { (yyval.list) = (yyvsp[0].list); }
35898 #line 35899 "gram.c" /* yacc.c:1646  */
35899     break;
35900 
35901   case 1110:
35902 #line 7620 "gram.y" /* yacc.c:1646  */
35903     { (yyval.list) = NIL; }
35904 #line 35905 "gram.c" /* yacc.c:1646  */
35905     break;
35906 
35907   case 1111:
35908 #line 7623 "gram.y" /* yacc.c:1646  */
35909     { (yyval.ival) = SORTBY_ASC; }
35910 #line 35911 "gram.c" /* yacc.c:1646  */
35911     break;
35912 
35913   case 1112:
35914 #line 7624 "gram.y" /* yacc.c:1646  */
35915     { (yyval.ival) = SORTBY_DESC; }
35916 #line 35917 "gram.c" /* yacc.c:1646  */
35917     break;
35918 
35919   case 1113:
35920 #line 7625 "gram.y" /* yacc.c:1646  */
35921     { (yyval.ival) = SORTBY_DEFAULT; }
35922 #line 35923 "gram.c" /* yacc.c:1646  */
35923     break;
35924 
35925   case 1114:
35926 #line 7628 "gram.y" /* yacc.c:1646  */
35927     { (yyval.ival) = SORTBY_NULLS_FIRST; }
35928 #line 35929 "gram.c" /* yacc.c:1646  */
35929     break;
35930 
35931   case 1115:
35932 #line 7629 "gram.y" /* yacc.c:1646  */
35933     { (yyval.ival) = SORTBY_NULLS_LAST; }
35934 #line 35935 "gram.c" /* yacc.c:1646  */
35935     break;
35936 
35937   case 1116:
35938 #line 7630 "gram.y" /* yacc.c:1646  */
35939     { (yyval.ival) = SORTBY_NULLS_DEFAULT; }
35940 #line 35941 "gram.c" /* yacc.c:1646  */
35941     break;
35942 
35943   case 1117:
35944 #line 7648 "gram.y" /* yacc.c:1646  */
35945     {
35946 					CreateFunctionStmt *n = makeNode(CreateFunctionStmt);
35947 					n->is_procedure = false;
35948 					n->replace = (yyvsp[-6].boolean);
35949 					n->funcname = (yyvsp[-4].list);
35950 					n->parameters = (yyvsp[-3].list);
35951 					n->returnType = (yyvsp[-1].typnam);
35952 					n->options = (yyvsp[0].list);
35953 					(yyval.node) = (Node *)n;
35954 				}
35955 #line 35956 "gram.c" /* yacc.c:1646  */
35956     break;
35957 
35958   case 1118:
35959 #line 7660 "gram.y" /* yacc.c:1646  */
35960     {
35961 					CreateFunctionStmt *n = makeNode(CreateFunctionStmt);
35962 					n->is_procedure = false;
35963 					n->replace = (yyvsp[-9].boolean);
35964 					n->funcname = (yyvsp[-7].list);
35965 					n->parameters = mergeTableFuncParameters((yyvsp[-6].list), (yyvsp[-2].list));
35966 					n->returnType = TableFuncTypeName((yyvsp[-2].list));
35967 					n->returnType->location = (yylsp[-4]);
35968 					n->options = (yyvsp[0].list);
35969 					(yyval.node) = (Node *)n;
35970 				}
35971 #line 35972 "gram.c" /* yacc.c:1646  */
35972     break;
35973 
35974   case 1119:
35975 #line 7673 "gram.y" /* yacc.c:1646  */
35976     {
35977 					CreateFunctionStmt *n = makeNode(CreateFunctionStmt);
35978 					n->is_procedure = false;
35979 					n->replace = (yyvsp[-4].boolean);
35980 					n->funcname = (yyvsp[-2].list);
35981 					n->parameters = (yyvsp[-1].list);
35982 					n->returnType = NULL;
35983 					n->options = (yyvsp[0].list);
35984 					(yyval.node) = (Node *)n;
35985 				}
35986 #line 35987 "gram.c" /* yacc.c:1646  */
35987     break;
35988 
35989   case 1120:
35990 #line 7685 "gram.y" /* yacc.c:1646  */
35991     {
35992 					CreateFunctionStmt *n = makeNode(CreateFunctionStmt);
35993 					n->is_procedure = true;
35994 					n->replace = (yyvsp[-4].boolean);
35995 					n->funcname = (yyvsp[-2].list);
35996 					n->parameters = (yyvsp[-1].list);
35997 					n->returnType = NULL;
35998 					n->options = (yyvsp[0].list);
35999 					(yyval.node) = (Node *)n;
36000 				}
36001 #line 36002 "gram.c" /* yacc.c:1646  */
36002     break;
36003 
36004   case 1121:
36005 #line 7698 "gram.y" /* yacc.c:1646  */
36006     { (yyval.boolean) = true; }
36007 #line 36008 "gram.c" /* yacc.c:1646  */
36008     break;
36009 
36010   case 1122:
36011 #line 7699 "gram.y" /* yacc.c:1646  */
36012     { (yyval.boolean) = false; }
36013 #line 36014 "gram.c" /* yacc.c:1646  */
36014     break;
36015 
36016   case 1123:
36017 #line 7702 "gram.y" /* yacc.c:1646  */
36018     { (yyval.list) = (yyvsp[-1].list); }
36019 #line 36020 "gram.c" /* yacc.c:1646  */
36020     break;
36021 
36022   case 1124:
36023 #line 7703 "gram.y" /* yacc.c:1646  */
36024     { (yyval.list) = NIL; }
36025 #line 36026 "gram.c" /* yacc.c:1646  */
36026     break;
36027 
36028   case 1125:
36029 #line 7707 "gram.y" /* yacc.c:1646  */
36030     { (yyval.list) = list_make1((yyvsp[0].fun_param)); }
36031 #line 36032 "gram.c" /* yacc.c:1646  */
36032     break;
36033 
36034   case 1126:
36035 #line 7708 "gram.y" /* yacc.c:1646  */
36036     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].fun_param)); }
36037 #line 36038 "gram.c" /* yacc.c:1646  */
36038     break;
36039 
36040   case 1127:
36041 #line 7712 "gram.y" /* yacc.c:1646  */
36042     { (yyval.list) = list_make1((yyvsp[0].objwithargs)); }
36043 #line 36044 "gram.c" /* yacc.c:1646  */
36044     break;
36045 
36046   case 1128:
36047 #line 7714 "gram.y" /* yacc.c:1646  */
36048     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].objwithargs)); }
36049 #line 36050 "gram.c" /* yacc.c:1646  */
36050     break;
36051 
36052   case 1129:
36053 #line 7719 "gram.y" /* yacc.c:1646  */
36054     {
36055 					ObjectWithArgs *n = makeNode(ObjectWithArgs);
36056 					n->objname = (yyvsp[-1].list);
36057 					n->objargs = extractArgTypes((yyvsp[0].list));
36058 					(yyval.objwithargs) = n;
36059 				}
36060 #line 36061 "gram.c" /* yacc.c:1646  */
36061     break;
36062 
36063   case 1130:
36064 #line 7731 "gram.y" /* yacc.c:1646  */
36065     {
36066 					ObjectWithArgs *n = makeNode(ObjectWithArgs);
36067 					n->objname = list_make1(makeString(pstrdup((yyvsp[0].keyword))));
36068 					n->args_unspecified = true;
36069 					(yyval.objwithargs) = n;
36070 				}
36071 #line 36072 "gram.c" /* yacc.c:1646  */
36072     break;
36073 
36074   case 1131:
36075 #line 7738 "gram.y" /* yacc.c:1646  */
36076     {
36077 					ObjectWithArgs *n = makeNode(ObjectWithArgs);
36078 					n->objname = list_make1(makeString((yyvsp[0].str)));
36079 					n->args_unspecified = true;
36080 					(yyval.objwithargs) = n;
36081 				}
36082 #line 36083 "gram.c" /* yacc.c:1646  */
36083     break;
36084 
36085   case 1132:
36086 #line 7745 "gram.y" /* yacc.c:1646  */
36087     {
36088 					ObjectWithArgs *n = makeNode(ObjectWithArgs);
36089 					n->objname = check_func_name(lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)),
36090 												  yyscanner);
36091 					n->args_unspecified = true;
36092 					(yyval.objwithargs) = n;
36093 				}
36094 #line 36095 "gram.c" /* yacc.c:1646  */
36095     break;
36096 
36097   case 1133:
36098 #line 7759 "gram.y" /* yacc.c:1646  */
36099     { (yyval.list) = (yyvsp[-1].list); }
36100 #line 36101 "gram.c" /* yacc.c:1646  */
36101     break;
36102 
36103   case 1134:
36104 #line 7760 "gram.y" /* yacc.c:1646  */
36105     { (yyval.list) = NIL; }
36106 #line 36107 "gram.c" /* yacc.c:1646  */
36107     break;
36108 
36109   case 1135:
36110 #line 7764 "gram.y" /* yacc.c:1646  */
36111     { (yyval.list) = list_make1((yyvsp[0].fun_param)); }
36112 #line 36113 "gram.c" /* yacc.c:1646  */
36113     break;
36114 
36115   case 1136:
36116 #line 7766 "gram.y" /* yacc.c:1646  */
36117     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].fun_param)); }
36118 #line 36119 "gram.c" /* yacc.c:1646  */
36119     break;
36120 
36121   case 1137:
36122 #line 7781 "gram.y" /* yacc.c:1646  */
36123     {
36124 					FunctionParameter *n = makeNode(FunctionParameter);
36125 					n->name = (yyvsp[-1].str);
36126 					n->argType = (yyvsp[0].typnam);
36127 					n->mode = (yyvsp[-2].fun_param_mode);
36128 					n->defexpr = NULL;
36129 					(yyval.fun_param) = n;
36130 				}
36131 #line 36132 "gram.c" /* yacc.c:1646  */
36132     break;
36133 
36134   case 1138:
36135 #line 7790 "gram.y" /* yacc.c:1646  */
36136     {
36137 					FunctionParameter *n = makeNode(FunctionParameter);
36138 					n->name = (yyvsp[-2].str);
36139 					n->argType = (yyvsp[0].typnam);
36140 					n->mode = (yyvsp[-1].fun_param_mode);
36141 					n->defexpr = NULL;
36142 					(yyval.fun_param) = n;
36143 				}
36144 #line 36145 "gram.c" /* yacc.c:1646  */
36145     break;
36146 
36147   case 1139:
36148 #line 7799 "gram.y" /* yacc.c:1646  */
36149     {
36150 					FunctionParameter *n = makeNode(FunctionParameter);
36151 					n->name = (yyvsp[-1].str);
36152 					n->argType = (yyvsp[0].typnam);
36153 					n->mode = FUNC_PARAM_IN;
36154 					n->defexpr = NULL;
36155 					(yyval.fun_param) = n;
36156 				}
36157 #line 36158 "gram.c" /* yacc.c:1646  */
36158     break;
36159 
36160   case 1140:
36161 #line 7808 "gram.y" /* yacc.c:1646  */
36162     {
36163 					FunctionParameter *n = makeNode(FunctionParameter);
36164 					n->name = NULL;
36165 					n->argType = (yyvsp[0].typnam);
36166 					n->mode = (yyvsp[-1].fun_param_mode);
36167 					n->defexpr = NULL;
36168 					(yyval.fun_param) = n;
36169 				}
36170 #line 36171 "gram.c" /* yacc.c:1646  */
36171     break;
36172 
36173   case 1141:
36174 #line 7817 "gram.y" /* yacc.c:1646  */
36175     {
36176 					FunctionParameter *n = makeNode(FunctionParameter);
36177 					n->name = NULL;
36178 					n->argType = (yyvsp[0].typnam);
36179 					n->mode = FUNC_PARAM_IN;
36180 					n->defexpr = NULL;
36181 					(yyval.fun_param) = n;
36182 				}
36183 #line 36184 "gram.c" /* yacc.c:1646  */
36184     break;
36185 
36186   case 1142:
36187 #line 7828 "gram.y" /* yacc.c:1646  */
36188     { (yyval.fun_param_mode) = FUNC_PARAM_IN; }
36189 #line 36190 "gram.c" /* yacc.c:1646  */
36190     break;
36191 
36192   case 1143:
36193 #line 7829 "gram.y" /* yacc.c:1646  */
36194     { (yyval.fun_param_mode) = FUNC_PARAM_OUT; }
36195 #line 36196 "gram.c" /* yacc.c:1646  */
36196     break;
36197 
36198   case 1144:
36199 #line 7830 "gram.y" /* yacc.c:1646  */
36200     { (yyval.fun_param_mode) = FUNC_PARAM_INOUT; }
36201 #line 36202 "gram.c" /* yacc.c:1646  */
36202     break;
36203 
36204   case 1145:
36205 #line 7831 "gram.y" /* yacc.c:1646  */
36206     { (yyval.fun_param_mode) = FUNC_PARAM_INOUT; }
36207 #line 36208 "gram.c" /* yacc.c:1646  */
36208     break;
36209 
36210   case 1146:
36211 #line 7832 "gram.y" /* yacc.c:1646  */
36212     { (yyval.fun_param_mode) = FUNC_PARAM_VARIADIC; }
36213 #line 36214 "gram.c" /* yacc.c:1646  */
36214     break;
36215 
36216   case 1148:
36217 #line 7843 "gram.y" /* yacc.c:1646  */
36218     {
36219 					/* We can catch over-specified results here if we want to,
36220 					 * but for now better to silently swallow typmod, etc.
36221 					 * - thomas 2000-03-22
36222 					 */
36223 					(yyval.typnam) = (yyvsp[0].typnam);
36224 				}
36225 #line 36226 "gram.c" /* yacc.c:1646  */
36226     break;
36227 
36228   case 1149:
36229 #line 7857 "gram.y" /* yacc.c:1646  */
36230     { (yyval.typnam) = (yyvsp[0].typnam); }
36231 #line 36232 "gram.c" /* yacc.c:1646  */
36232     break;
36233 
36234   case 1150:
36235 #line 7859 "gram.y" /* yacc.c:1646  */
36236     {
36237 					(yyval.typnam) = makeTypeNameFromNameList(lcons(makeString((yyvsp[-3].str)), (yyvsp[-2].list)));
36238 					(yyval.typnam)->pct_type = true;
36239 					(yyval.typnam)->location = (yylsp[-3]);
36240 				}
36241 #line 36242 "gram.c" /* yacc.c:1646  */
36242     break;
36243 
36244   case 1151:
36245 #line 7865 "gram.y" /* yacc.c:1646  */
36246     {
36247 					(yyval.typnam) = makeTypeNameFromNameList(lcons(makeString((yyvsp[-3].str)), (yyvsp[-2].list)));
36248 					(yyval.typnam)->pct_type = true;
36249 					(yyval.typnam)->setof = true;
36250 					(yyval.typnam)->location = (yylsp[-3]);
36251 				}
36252 #line 36253 "gram.c" /* yacc.c:1646  */
36253     break;
36254 
36255   case 1152:
36256 #line 7875 "gram.y" /* yacc.c:1646  */
36257     {
36258 					(yyval.fun_param) = (yyvsp[0].fun_param);
36259 				}
36260 #line 36261 "gram.c" /* yacc.c:1646  */
36261     break;
36262 
36263   case 1153:
36264 #line 7879 "gram.y" /* yacc.c:1646  */
36265     {
36266 					(yyval.fun_param) = (yyvsp[-2].fun_param);
36267 					(yyval.fun_param)->defexpr = (yyvsp[0].node);
36268 				}
36269 #line 36270 "gram.c" /* yacc.c:1646  */
36270     break;
36271 
36272   case 1154:
36273 #line 7884 "gram.y" /* yacc.c:1646  */
36274     {
36275 					(yyval.fun_param) = (yyvsp[-2].fun_param);
36276 					(yyval.fun_param)->defexpr = (yyvsp[0].node);
36277 				}
36278 #line 36279 "gram.c" /* yacc.c:1646  */
36279     break;
36280 
36281   case 1155:
36282 #line 7892 "gram.y" /* yacc.c:1646  */
36283     {
36284 					if (!((yyvsp[0].fun_param)->mode == FUNC_PARAM_IN ||
36285 						  (yyvsp[0].fun_param)->mode == FUNC_PARAM_VARIADIC))
36286 						ereport(ERROR,
36287 								(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
36288 								 errmsg("aggregates cannot have output arguments"),
36289 								 parser_errposition((yylsp[0]))));
36290 					(yyval.fun_param) = (yyvsp[0].fun_param);
36291 				}
36292 #line 36293 "gram.c" /* yacc.c:1646  */
36293     break;
36294 
36295   case 1156:
36296 #line 7933 "gram.y" /* yacc.c:1646  */
36297     {
36298 					(yyval.list) = list_make2(NIL, makeInteger(-1));
36299 				}
36300 #line 36301 "gram.c" /* yacc.c:1646  */
36301     break;
36302 
36303   case 1157:
36304 #line 7937 "gram.y" /* yacc.c:1646  */
36305     {
36306 					(yyval.list) = list_make2((yyvsp[-1].list), makeInteger(-1));
36307 				}
36308 #line 36309 "gram.c" /* yacc.c:1646  */
36309     break;
36310 
36311   case 1158:
36312 #line 7941 "gram.y" /* yacc.c:1646  */
36313     {
36314 					(yyval.list) = list_make2((yyvsp[-1].list), makeInteger(0));
36315 				}
36316 #line 36317 "gram.c" /* yacc.c:1646  */
36317     break;
36318 
36319   case 1159:
36320 #line 7945 "gram.y" /* yacc.c:1646  */
36321     {
36322 					/* this is the only case requiring consistency checking */
36323 					(yyval.list) = makeOrderedSetArgs((yyvsp[-4].list), (yyvsp[-1].list), yyscanner);
36324 				}
36325 #line 36326 "gram.c" /* yacc.c:1646  */
36326     break;
36327 
36328   case 1160:
36329 #line 7952 "gram.y" /* yacc.c:1646  */
36330     { (yyval.list) = list_make1((yyvsp[0].fun_param)); }
36331 #line 36332 "gram.c" /* yacc.c:1646  */
36332     break;
36333 
36334   case 1161:
36335 #line 7953 "gram.y" /* yacc.c:1646  */
36336     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].fun_param)); }
36337 #line 36338 "gram.c" /* yacc.c:1646  */
36338     break;
36339 
36340   case 1162:
36341 #line 7958 "gram.y" /* yacc.c:1646  */
36342     {
36343 					ObjectWithArgs *n = makeNode(ObjectWithArgs);
36344 					n->objname = (yyvsp[-1].list);
36345 					n->objargs = extractAggrArgTypes((yyvsp[0].list));
36346 					(yyval.objwithargs) = n;
36347 				}
36348 #line 36349 "gram.c" /* yacc.c:1646  */
36349     break;
36350 
36351   case 1163:
36352 #line 7967 "gram.y" /* yacc.c:1646  */
36353     { (yyval.list) = list_make1((yyvsp[0].objwithargs)); }
36354 #line 36355 "gram.c" /* yacc.c:1646  */
36355     break;
36356 
36357   case 1164:
36358 #line 7969 "gram.y" /* yacc.c:1646  */
36359     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].objwithargs)); }
36360 #line 36361 "gram.c" /* yacc.c:1646  */
36361     break;
36362 
36363   case 1165:
36364 #line 7974 "gram.y" /* yacc.c:1646  */
36365     { (yyval.list) = list_make1((yyvsp[0].defelt)); }
36366 #line 36367 "gram.c" /* yacc.c:1646  */
36367     break;
36368 
36369   case 1166:
36370 #line 7975 "gram.y" /* yacc.c:1646  */
36371     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
36372 #line 36373 "gram.c" /* yacc.c:1646  */
36373     break;
36374 
36375   case 1167:
36376 #line 7983 "gram.y" /* yacc.c:1646  */
36377     {
36378 					(yyval.defelt) = makeDefElem("strict", (Node *)makeInteger(false), (yylsp[-3]));
36379 				}
36380 #line 36381 "gram.c" /* yacc.c:1646  */
36381     break;
36382 
36383   case 1168:
36384 #line 7987 "gram.y" /* yacc.c:1646  */
36385     {
36386 					(yyval.defelt) = makeDefElem("strict", (Node *)makeInteger(true), (yylsp[-4]));
36387 				}
36388 #line 36389 "gram.c" /* yacc.c:1646  */
36389     break;
36390 
36391   case 1169:
36392 #line 7991 "gram.y" /* yacc.c:1646  */
36393     {
36394 					(yyval.defelt) = makeDefElem("strict", (Node *)makeInteger(true), (yylsp[0]));
36395 				}
36396 #line 36397 "gram.c" /* yacc.c:1646  */
36397     break;
36398 
36399   case 1170:
36400 #line 7995 "gram.y" /* yacc.c:1646  */
36401     {
36402 					(yyval.defelt) = makeDefElem("volatility", (Node *)makeString("immutable"), (yylsp[0]));
36403 				}
36404 #line 36405 "gram.c" /* yacc.c:1646  */
36405     break;
36406 
36407   case 1171:
36408 #line 7999 "gram.y" /* yacc.c:1646  */
36409     {
36410 					(yyval.defelt) = makeDefElem("volatility", (Node *)makeString("stable"), (yylsp[0]));
36411 				}
36412 #line 36413 "gram.c" /* yacc.c:1646  */
36413     break;
36414 
36415   case 1172:
36416 #line 8003 "gram.y" /* yacc.c:1646  */
36417     {
36418 					(yyval.defelt) = makeDefElem("volatility", (Node *)makeString("volatile"), (yylsp[0]));
36419 				}
36420 #line 36421 "gram.c" /* yacc.c:1646  */
36421     break;
36422 
36423   case 1173:
36424 #line 8007 "gram.y" /* yacc.c:1646  */
36425     {
36426 					(yyval.defelt) = makeDefElem("security", (Node *)makeInteger(true), (yylsp[-2]));
36427 				}
36428 #line 36429 "gram.c" /* yacc.c:1646  */
36429     break;
36430 
36431   case 1174:
36432 #line 8011 "gram.y" /* yacc.c:1646  */
36433     {
36434 					(yyval.defelt) = makeDefElem("security", (Node *)makeInteger(false), (yylsp[-2]));
36435 				}
36436 #line 36437 "gram.c" /* yacc.c:1646  */
36437     break;
36438 
36439   case 1175:
36440 #line 8015 "gram.y" /* yacc.c:1646  */
36441     {
36442 					(yyval.defelt) = makeDefElem("security", (Node *)makeInteger(true), (yylsp[-1]));
36443 				}
36444 #line 36445 "gram.c" /* yacc.c:1646  */
36445     break;
36446 
36447   case 1176:
36448 #line 8019 "gram.y" /* yacc.c:1646  */
36449     {
36450 					(yyval.defelt) = makeDefElem("security", (Node *)makeInteger(false), (yylsp[-1]));
36451 				}
36452 #line 36453 "gram.c" /* yacc.c:1646  */
36453     break;
36454 
36455   case 1177:
36456 #line 8023 "gram.y" /* yacc.c:1646  */
36457     {
36458 					(yyval.defelt) = makeDefElem("leakproof", (Node *)makeInteger(true), (yylsp[0]));
36459 				}
36460 #line 36461 "gram.c" /* yacc.c:1646  */
36461     break;
36462 
36463   case 1178:
36464 #line 8027 "gram.y" /* yacc.c:1646  */
36465     {
36466 					(yyval.defelt) = makeDefElem("leakproof", (Node *)makeInteger(false), (yylsp[-1]));
36467 				}
36468 #line 36469 "gram.c" /* yacc.c:1646  */
36469     break;
36470 
36471   case 1179:
36472 #line 8031 "gram.y" /* yacc.c:1646  */
36473     {
36474 					(yyval.defelt) = makeDefElem("cost", (Node *)(yyvsp[0].value), (yylsp[-1]));
36475 				}
36476 #line 36477 "gram.c" /* yacc.c:1646  */
36477     break;
36478 
36479   case 1180:
36480 #line 8035 "gram.y" /* yacc.c:1646  */
36481     {
36482 					(yyval.defelt) = makeDefElem("rows", (Node *)(yyvsp[0].value), (yylsp[-1]));
36483 				}
36484 #line 36485 "gram.c" /* yacc.c:1646  */
36485     break;
36486 
36487   case 1181:
36488 #line 8039 "gram.y" /* yacc.c:1646  */
36489     {
36490 					(yyval.defelt) = makeDefElem("support", (Node *)(yyvsp[0].list), (yylsp[-1]));
36491 				}
36492 #line 36493 "gram.c" /* yacc.c:1646  */
36493     break;
36494 
36495   case 1182:
36496 #line 8043 "gram.y" /* yacc.c:1646  */
36497     {
36498 					/* we abuse the normal content of a DefElem here */
36499 					(yyval.defelt) = makeDefElem("set", (Node *)(yyvsp[0].vsetstmt), (yylsp[0]));
36500 				}
36501 #line 36502 "gram.c" /* yacc.c:1646  */
36502     break;
36503 
36504   case 1183:
36505 #line 8048 "gram.y" /* yacc.c:1646  */
36506     {
36507 					(yyval.defelt) = makeDefElem("parallel", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
36508 				}
36509 #line 36510 "gram.c" /* yacc.c:1646  */
36510     break;
36511 
36512   case 1184:
36513 #line 8055 "gram.y" /* yacc.c:1646  */
36514     {
36515 					(yyval.defelt) = makeDefElem("as", (Node *)(yyvsp[0].list), (yylsp[-1]));
36516 				}
36517 #line 36518 "gram.c" /* yacc.c:1646  */
36518     break;
36519 
36520   case 1185:
36521 #line 8059 "gram.y" /* yacc.c:1646  */
36522     {
36523 					(yyval.defelt) = makeDefElem("language", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
36524 				}
36525 #line 36526 "gram.c" /* yacc.c:1646  */
36526     break;
36527 
36528   case 1186:
36529 #line 8063 "gram.y" /* yacc.c:1646  */
36530     {
36531 					(yyval.defelt) = makeDefElem("transform", (Node *)(yyvsp[0].list), (yylsp[-1]));
36532 				}
36533 #line 36534 "gram.c" /* yacc.c:1646  */
36534     break;
36535 
36536   case 1187:
36537 #line 8067 "gram.y" /* yacc.c:1646  */
36538     {
36539 					(yyval.defelt) = makeDefElem("window", (Node *)makeInteger(true), (yylsp[0]));
36540 				}
36541 #line 36542 "gram.c" /* yacc.c:1646  */
36542     break;
36543 
36544   case 1188:
36545 #line 8071 "gram.y" /* yacc.c:1646  */
36546     {
36547 					(yyval.defelt) = (yyvsp[0].defelt);
36548 				}
36549 #line 36550 "gram.c" /* yacc.c:1646  */
36550     break;
36551 
36552   case 1189:
36553 #line 8076 "gram.y" /* yacc.c:1646  */
36554     { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
36555 #line 36556 "gram.c" /* yacc.c:1646  */
36556     break;
36557 
36558   case 1190:
36559 #line 8078 "gram.y" /* yacc.c:1646  */
36560     {
36561 					(yyval.list) = list_make2(makeString((yyvsp[-2].str)), makeString((yyvsp[0].str)));
36562 				}
36563 #line 36564 "gram.c" /* yacc.c:1646  */
36564     break;
36565 
36566   case 1191:
36567 #line 8084 "gram.y" /* yacc.c:1646  */
36568     { (yyval.list) = list_make1((yyvsp[0].typnam)); }
36569 #line 36570 "gram.c" /* yacc.c:1646  */
36570     break;
36571 
36572   case 1192:
36573 #line 8085 "gram.y" /* yacc.c:1646  */
36574     { (yyval.list) = lappend((yyvsp[-4].list), (yyvsp[0].typnam)); }
36575 #line 36576 "gram.c" /* yacc.c:1646  */
36576     break;
36577 
36578   case 1193:
36579 #line 8089 "gram.y" /* yacc.c:1646  */
36580     { (yyval.list) = (yyvsp[0].list); }
36581 #line 36582 "gram.c" /* yacc.c:1646  */
36582     break;
36583 
36584   case 1194:
36585 #line 8090 "gram.y" /* yacc.c:1646  */
36586     { (yyval.list) = NIL; }
36587 #line 36588 "gram.c" /* yacc.c:1646  */
36588     break;
36589 
36590   case 1195:
36591 #line 8094 "gram.y" /* yacc.c:1646  */
36592     {
36593 					FunctionParameter *n = makeNode(FunctionParameter);
36594 					n->name = (yyvsp[-1].str);
36595 					n->argType = (yyvsp[0].typnam);
36596 					n->mode = FUNC_PARAM_TABLE;
36597 					n->defexpr = NULL;
36598 					(yyval.fun_param) = n;
36599 				}
36600 #line 36601 "gram.c" /* yacc.c:1646  */
36601     break;
36602 
36603   case 1196:
36604 #line 8106 "gram.y" /* yacc.c:1646  */
36605     {
36606 					(yyval.list) = list_make1((yyvsp[0].fun_param));
36607 				}
36608 #line 36609 "gram.c" /* yacc.c:1646  */
36609     break;
36610 
36611   case 1197:
36612 #line 8110 "gram.y" /* yacc.c:1646  */
36613     {
36614 					(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].fun_param));
36615 				}
36616 #line 36617 "gram.c" /* yacc.c:1646  */
36617     break;
36618 
36619   case 1198:
36620 #line 8125 "gram.y" /* yacc.c:1646  */
36621     {
36622 					AlterFunctionStmt *n = makeNode(AlterFunctionStmt);
36623 					n->objtype = OBJECT_FUNCTION;
36624 					n->func = (yyvsp[-2].objwithargs);
36625 					n->actions = (yyvsp[-1].list);
36626 					(yyval.node) = (Node *) n;
36627 				}
36628 #line 36629 "gram.c" /* yacc.c:1646  */
36629     break;
36630 
36631   case 1199:
36632 #line 8133 "gram.y" /* yacc.c:1646  */
36633     {
36634 					AlterFunctionStmt *n = makeNode(AlterFunctionStmt);
36635 					n->objtype = OBJECT_PROCEDURE;
36636 					n->func = (yyvsp[-2].objwithargs);
36637 					n->actions = (yyvsp[-1].list);
36638 					(yyval.node) = (Node *) n;
36639 				}
36640 #line 36641 "gram.c" /* yacc.c:1646  */
36641     break;
36642 
36643   case 1200:
36644 #line 8141 "gram.y" /* yacc.c:1646  */
36645     {
36646 					AlterFunctionStmt *n = makeNode(AlterFunctionStmt);
36647 					n->objtype = OBJECT_ROUTINE;
36648 					n->func = (yyvsp[-2].objwithargs);
36649 					n->actions = (yyvsp[-1].list);
36650 					(yyval.node) = (Node *) n;
36651 				}
36652 #line 36653 "gram.c" /* yacc.c:1646  */
36653     break;
36654 
36655   case 1201:
36656 #line 8152 "gram.y" /* yacc.c:1646  */
36657     { (yyval.list) = list_make1((yyvsp[0].defelt)); }
36658 #line 36659 "gram.c" /* yacc.c:1646  */
36659     break;
36660 
36661   case 1202:
36662 #line 8153 "gram.y" /* yacc.c:1646  */
36663     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
36664 #line 36665 "gram.c" /* yacc.c:1646  */
36665     break;
36666 
36667   case 1205:
36668 #line 8177 "gram.y" /* yacc.c:1646  */
36669     {
36670 					DropStmt *n = makeNode(DropStmt);
36671 					n->removeType = OBJECT_FUNCTION;
36672 					n->objects = (yyvsp[-1].list);
36673 					n->behavior = (yyvsp[0].dbehavior);
36674 					n->missing_ok = false;
36675 					n->concurrent = false;
36676 					(yyval.node) = (Node *)n;
36677 				}
36678 #line 36679 "gram.c" /* yacc.c:1646  */
36679     break;
36680 
36681   case 1206:
36682 #line 8187 "gram.y" /* yacc.c:1646  */
36683     {
36684 					DropStmt *n = makeNode(DropStmt);
36685 					n->removeType = OBJECT_FUNCTION;
36686 					n->objects = (yyvsp[-1].list);
36687 					n->behavior = (yyvsp[0].dbehavior);
36688 					n->missing_ok = true;
36689 					n->concurrent = false;
36690 					(yyval.node) = (Node *)n;
36691 				}
36692 #line 36693 "gram.c" /* yacc.c:1646  */
36693     break;
36694 
36695   case 1207:
36696 #line 8197 "gram.y" /* yacc.c:1646  */
36697     {
36698 					DropStmt *n = makeNode(DropStmt);
36699 					n->removeType = OBJECT_PROCEDURE;
36700 					n->objects = (yyvsp[-1].list);
36701 					n->behavior = (yyvsp[0].dbehavior);
36702 					n->missing_ok = false;
36703 					n->concurrent = false;
36704 					(yyval.node) = (Node *)n;
36705 				}
36706 #line 36707 "gram.c" /* yacc.c:1646  */
36707     break;
36708 
36709   case 1208:
36710 #line 8207 "gram.y" /* yacc.c:1646  */
36711     {
36712 					DropStmt *n = makeNode(DropStmt);
36713 					n->removeType = OBJECT_PROCEDURE;
36714 					n->objects = (yyvsp[-1].list);
36715 					n->behavior = (yyvsp[0].dbehavior);
36716 					n->missing_ok = true;
36717 					n->concurrent = false;
36718 					(yyval.node) = (Node *)n;
36719 				}
36720 #line 36721 "gram.c" /* yacc.c:1646  */
36721     break;
36722 
36723   case 1209:
36724 #line 8217 "gram.y" /* yacc.c:1646  */
36725     {
36726 					DropStmt *n = makeNode(DropStmt);
36727 					n->removeType = OBJECT_ROUTINE;
36728 					n->objects = (yyvsp[-1].list);
36729 					n->behavior = (yyvsp[0].dbehavior);
36730 					n->missing_ok = false;
36731 					n->concurrent = false;
36732 					(yyval.node) = (Node *)n;
36733 				}
36734 #line 36735 "gram.c" /* yacc.c:1646  */
36735     break;
36736 
36737   case 1210:
36738 #line 8227 "gram.y" /* yacc.c:1646  */
36739     {
36740 					DropStmt *n = makeNode(DropStmt);
36741 					n->removeType = OBJECT_ROUTINE;
36742 					n->objects = (yyvsp[-1].list);
36743 					n->behavior = (yyvsp[0].dbehavior);
36744 					n->missing_ok = true;
36745 					n->concurrent = false;
36746 					(yyval.node) = (Node *)n;
36747 				}
36748 #line 36749 "gram.c" /* yacc.c:1646  */
36749     break;
36750 
36751   case 1211:
36752 #line 8240 "gram.y" /* yacc.c:1646  */
36753     {
36754 					DropStmt *n = makeNode(DropStmt);
36755 					n->removeType = OBJECT_AGGREGATE;
36756 					n->objects = (yyvsp[-1].list);
36757 					n->behavior = (yyvsp[0].dbehavior);
36758 					n->missing_ok = false;
36759 					n->concurrent = false;
36760 					(yyval.node) = (Node *)n;
36761 				}
36762 #line 36763 "gram.c" /* yacc.c:1646  */
36763     break;
36764 
36765   case 1212:
36766 #line 8250 "gram.y" /* yacc.c:1646  */
36767     {
36768 					DropStmt *n = makeNode(DropStmt);
36769 					n->removeType = OBJECT_AGGREGATE;
36770 					n->objects = (yyvsp[-1].list);
36771 					n->behavior = (yyvsp[0].dbehavior);
36772 					n->missing_ok = true;
36773 					n->concurrent = false;
36774 					(yyval.node) = (Node *)n;
36775 				}
36776 #line 36777 "gram.c" /* yacc.c:1646  */
36777     break;
36778 
36779   case 1213:
36780 #line 8263 "gram.y" /* yacc.c:1646  */
36781     {
36782 					DropStmt *n = makeNode(DropStmt);
36783 					n->removeType = OBJECT_OPERATOR;
36784 					n->objects = (yyvsp[-1].list);
36785 					n->behavior = (yyvsp[0].dbehavior);
36786 					n->missing_ok = false;
36787 					n->concurrent = false;
36788 					(yyval.node) = (Node *)n;
36789 				}
36790 #line 36791 "gram.c" /* yacc.c:1646  */
36791     break;
36792 
36793   case 1214:
36794 #line 8273 "gram.y" /* yacc.c:1646  */
36795     {
36796 					DropStmt *n = makeNode(DropStmt);
36797 					n->removeType = OBJECT_OPERATOR;
36798 					n->objects = (yyvsp[-1].list);
36799 					n->behavior = (yyvsp[0].dbehavior);
36800 					n->missing_ok = true;
36801 					n->concurrent = false;
36802 					(yyval.node) = (Node *)n;
36803 				}
36804 #line 36805 "gram.c" /* yacc.c:1646  */
36805     break;
36806 
36807   case 1215:
36808 #line 8286 "gram.y" /* yacc.c:1646  */
36809     {
36810 				   ereport(ERROR,
36811 						   (errcode(ERRCODE_SYNTAX_ERROR),
36812 							errmsg("missing argument"),
36813 							errhint("Use NONE to denote the missing argument of a unary operator."),
36814 							parser_errposition((yylsp[0]))));
36815 				}
36816 #line 36817 "gram.c" /* yacc.c:1646  */
36817     break;
36818 
36819   case 1216:
36820 #line 8294 "gram.y" /* yacc.c:1646  */
36821     { (yyval.list) = list_make2((yyvsp[-3].typnam), (yyvsp[-1].typnam)); }
36822 #line 36823 "gram.c" /* yacc.c:1646  */
36823     break;
36824 
36825   case 1217:
36826 #line 8296 "gram.y" /* yacc.c:1646  */
36827     { (yyval.list) = list_make2(NULL, (yyvsp[-1].typnam)); }
36828 #line 36829 "gram.c" /* yacc.c:1646  */
36829     break;
36830 
36831   case 1218:
36832 #line 8298 "gram.y" /* yacc.c:1646  */
36833     { (yyval.list) = list_make2((yyvsp[-3].typnam), NULL); }
36834 #line 36835 "gram.c" /* yacc.c:1646  */
36835     break;
36836 
36837   case 1219:
36838 #line 8303 "gram.y" /* yacc.c:1646  */
36839     { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
36840 #line 36841 "gram.c" /* yacc.c:1646  */
36841     break;
36842 
36843   case 1220:
36844 #line 8305 "gram.y" /* yacc.c:1646  */
36845     { (yyval.list) = lcons(makeString((yyvsp[-2].str)), (yyvsp[0].list)); }
36846 #line 36847 "gram.c" /* yacc.c:1646  */
36847     break;
36848 
36849   case 1221:
36850 #line 8309 "gram.y" /* yacc.c:1646  */
36851     { (yyval.list) = list_make1((yyvsp[0].objwithargs)); }
36852 #line 36853 "gram.c" /* yacc.c:1646  */
36853     break;
36854 
36855   case 1222:
36856 #line 8311 "gram.y" /* yacc.c:1646  */
36857     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].objwithargs)); }
36858 #line 36859 "gram.c" /* yacc.c:1646  */
36859     break;
36860 
36861   case 1223:
36862 #line 8316 "gram.y" /* yacc.c:1646  */
36863     {
36864 					ObjectWithArgs *n = makeNode(ObjectWithArgs);
36865 					n->objname = (yyvsp[-1].list);
36866 					n->objargs = (yyvsp[0].list);
36867 					(yyval.objwithargs) = n;
36868 				}
36869 #line 36870 "gram.c" /* yacc.c:1646  */
36870     break;
36871 
36872   case 1224:
36873 #line 8334 "gram.y" /* yacc.c:1646  */
36874     {
36875 					DoStmt *n = makeNode(DoStmt);
36876 					n->args = (yyvsp[0].list);
36877 					(yyval.node) = (Node *)n;
36878 				}
36879 #line 36880 "gram.c" /* yacc.c:1646  */
36880     break;
36881 
36882   case 1225:
36883 #line 8342 "gram.y" /* yacc.c:1646  */
36884     { (yyval.list) = list_make1((yyvsp[0].defelt)); }
36885 #line 36886 "gram.c" /* yacc.c:1646  */
36886     break;
36887 
36888   case 1226:
36889 #line 8343 "gram.y" /* yacc.c:1646  */
36890     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
36891 #line 36892 "gram.c" /* yacc.c:1646  */
36892     break;
36893 
36894   case 1227:
36895 #line 8348 "gram.y" /* yacc.c:1646  */
36896     {
36897 					(yyval.defelt) = makeDefElem("as", (Node *)makeString((yyvsp[0].str)), (yylsp[0]));
36898 				}
36899 #line 36900 "gram.c" /* yacc.c:1646  */
36900     break;
36901 
36902   case 1228:
36903 #line 8352 "gram.y" /* yacc.c:1646  */
36904     {
36905 					(yyval.defelt) = makeDefElem("language", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
36906 				}
36907 #line 36908 "gram.c" /* yacc.c:1646  */
36908     break;
36909 
36910   case 1229:
36911 #line 8365 "gram.y" /* yacc.c:1646  */
36912     {
36913 					CreateCastStmt *n = makeNode(CreateCastStmt);
36914 					n->sourcetype = (yyvsp[-7].typnam);
36915 					n->targettype = (yyvsp[-5].typnam);
36916 					n->func = (yyvsp[-1].objwithargs);
36917 					n->context = (CoercionContext) (yyvsp[0].ival);
36918 					n->inout = false;
36919 					(yyval.node) = (Node *)n;
36920 				}
36921 #line 36922 "gram.c" /* yacc.c:1646  */
36922     break;
36923 
36924   case 1230:
36925 #line 8376 "gram.y" /* yacc.c:1646  */
36926     {
36927 					CreateCastStmt *n = makeNode(CreateCastStmt);
36928 					n->sourcetype = (yyvsp[-6].typnam);
36929 					n->targettype = (yyvsp[-4].typnam);
36930 					n->func = NULL;
36931 					n->context = (CoercionContext) (yyvsp[0].ival);
36932 					n->inout = false;
36933 					(yyval.node) = (Node *)n;
36934 				}
36935 #line 36936 "gram.c" /* yacc.c:1646  */
36936     break;
36937 
36938   case 1231:
36939 #line 8387 "gram.y" /* yacc.c:1646  */
36940     {
36941 					CreateCastStmt *n = makeNode(CreateCastStmt);
36942 					n->sourcetype = (yyvsp[-6].typnam);
36943 					n->targettype = (yyvsp[-4].typnam);
36944 					n->func = NULL;
36945 					n->context = (CoercionContext) (yyvsp[0].ival);
36946 					n->inout = true;
36947 					(yyval.node) = (Node *)n;
36948 				}
36949 #line 36950 "gram.c" /* yacc.c:1646  */
36950     break;
36951 
36952   case 1232:
36953 #line 8398 "gram.y" /* yacc.c:1646  */
36954     { (yyval.ival) = COERCION_IMPLICIT; }
36955 #line 36956 "gram.c" /* yacc.c:1646  */
36956     break;
36957 
36958   case 1233:
36959 #line 8399 "gram.y" /* yacc.c:1646  */
36960     { (yyval.ival) = COERCION_ASSIGNMENT; }
36961 #line 36962 "gram.c" /* yacc.c:1646  */
36962     break;
36963 
36964   case 1234:
36965 #line 8400 "gram.y" /* yacc.c:1646  */
36966     { (yyval.ival) = COERCION_EXPLICIT; }
36967 #line 36968 "gram.c" /* yacc.c:1646  */
36968     break;
36969 
36970   case 1235:
36971 #line 8405 "gram.y" /* yacc.c:1646  */
36972     {
36973 					DropStmt *n = makeNode(DropStmt);
36974 					n->removeType = OBJECT_CAST;
36975 					n->objects = list_make1(list_make2((yyvsp[-4].typnam), (yyvsp[-2].typnam)));
36976 					n->behavior = (yyvsp[0].dbehavior);
36977 					n->missing_ok = (yyvsp[-6].boolean);
36978 					n->concurrent = false;
36979 					(yyval.node) = (Node *)n;
36980 				}
36981 #line 36982 "gram.c" /* yacc.c:1646  */
36982     break;
36983 
36984   case 1236:
36985 #line 8416 "gram.y" /* yacc.c:1646  */
36986     { (yyval.boolean) = true; }
36987 #line 36988 "gram.c" /* yacc.c:1646  */
36988     break;
36989 
36990   case 1237:
36991 #line 8417 "gram.y" /* yacc.c:1646  */
36992     { (yyval.boolean) = false; }
36993 #line 36994 "gram.c" /* yacc.c:1646  */
36994     break;
36995 
36996   case 1238:
36997 #line 8428 "gram.y" /* yacc.c:1646  */
36998     {
36999 					CreateTransformStmt *n = makeNode(CreateTransformStmt);
37000 					n->replace = (yyvsp[-8].boolean);
37001 					n->type_name = (yyvsp[-5].typnam);
37002 					n->lang = (yyvsp[-3].str);
37003 					n->fromsql = linitial((yyvsp[-1].list));
37004 					n->tosql = lsecond((yyvsp[-1].list));
37005 					(yyval.node) = (Node *)n;
37006 				}
37007 #line 37008 "gram.c" /* yacc.c:1646  */
37008     break;
37009 
37010   case 1239:
37011 #line 8440 "gram.y" /* yacc.c:1646  */
37012     {
37013 					(yyval.list) = list_make2((yyvsp[-6].objwithargs), (yyvsp[0].objwithargs));
37014 				}
37015 #line 37016 "gram.c" /* yacc.c:1646  */
37016     break;
37017 
37018   case 1240:
37019 #line 8444 "gram.y" /* yacc.c:1646  */
37020     {
37021 					(yyval.list) = list_make2((yyvsp[0].objwithargs), (yyvsp[-6].objwithargs));
37022 				}
37023 #line 37024 "gram.c" /* yacc.c:1646  */
37024     break;
37025 
37026   case 1241:
37027 #line 8448 "gram.y" /* yacc.c:1646  */
37028     {
37029 					(yyval.list) = list_make2((yyvsp[0].objwithargs), NULL);
37030 				}
37031 #line 37032 "gram.c" /* yacc.c:1646  */
37032     break;
37033 
37034   case 1242:
37035 #line 8452 "gram.y" /* yacc.c:1646  */
37036     {
37037 					(yyval.list) = list_make2(NULL, (yyvsp[0].objwithargs));
37038 				}
37039 #line 37040 "gram.c" /* yacc.c:1646  */
37040     break;
37041 
37042   case 1243:
37043 #line 8459 "gram.y" /* yacc.c:1646  */
37044     {
37045 					DropStmt *n = makeNode(DropStmt);
37046 					n->removeType = OBJECT_TRANSFORM;
37047 					n->objects = list_make1(list_make2((yyvsp[-3].typnam), makeString((yyvsp[-1].str))));
37048 					n->behavior = (yyvsp[0].dbehavior);
37049 					n->missing_ok = (yyvsp[-5].boolean);
37050 					(yyval.node) = (Node *)n;
37051 				}
37052 #line 37053 "gram.c" /* yacc.c:1646  */
37053     break;
37054 
37055   case 1244:
37056 #line 8479 "gram.y" /* yacc.c:1646  */
37057     {
37058 					ReindexStmt *n = makeNode(ReindexStmt);
37059 					n->kind = (yyvsp[-2].ival);
37060 					n->concurrent = (yyvsp[-1].boolean);
37061 					n->relation = (yyvsp[0].range);
37062 					n->name = NULL;
37063 					n->options = 0;
37064 					(yyval.node) = (Node *)n;
37065 				}
37066 #line 37067 "gram.c" /* yacc.c:1646  */
37067     break;
37068 
37069   case 1245:
37070 #line 8489 "gram.y" /* yacc.c:1646  */
37071     {
37072 					ReindexStmt *n = makeNode(ReindexStmt);
37073 					n->kind = (yyvsp[-2].ival);
37074 					n->concurrent = (yyvsp[-1].boolean);
37075 					n->name = (yyvsp[0].str);
37076 					n->relation = NULL;
37077 					n->options = 0;
37078 					(yyval.node) = (Node *)n;
37079 				}
37080 #line 37081 "gram.c" /* yacc.c:1646  */
37081     break;
37082 
37083   case 1246:
37084 #line 8499 "gram.y" /* yacc.c:1646  */
37085     {
37086 					ReindexStmt *n = makeNode(ReindexStmt);
37087 					n->kind = (yyvsp[-2].ival);
37088 					n->concurrent = (yyvsp[-1].boolean);
37089 					n->relation = (yyvsp[0].range);
37090 					n->name = NULL;
37091 					n->options = (yyvsp[-4].ival);
37092 					(yyval.node) = (Node *)n;
37093 				}
37094 #line 37095 "gram.c" /* yacc.c:1646  */
37095     break;
37096 
37097   case 1247:
37098 #line 8509 "gram.y" /* yacc.c:1646  */
37099     {
37100 					ReindexStmt *n = makeNode(ReindexStmt);
37101 					n->kind = (yyvsp[-2].ival);
37102 					n->concurrent = (yyvsp[-1].boolean);
37103 					n->name = (yyvsp[0].str);
37104 					n->relation = NULL;
37105 					n->options = (yyvsp[-4].ival);
37106 					(yyval.node) = (Node *)n;
37107 				}
37108 #line 37109 "gram.c" /* yacc.c:1646  */
37109     break;
37110 
37111   case 1248:
37112 #line 8520 "gram.y" /* yacc.c:1646  */
37113     { (yyval.ival) = REINDEX_OBJECT_INDEX; }
37114 #line 37115 "gram.c" /* yacc.c:1646  */
37115     break;
37116 
37117   case 1249:
37118 #line 8521 "gram.y" /* yacc.c:1646  */
37119     { (yyval.ival) = REINDEX_OBJECT_TABLE; }
37120 #line 37121 "gram.c" /* yacc.c:1646  */
37121     break;
37122 
37123   case 1250:
37124 #line 8524 "gram.y" /* yacc.c:1646  */
37125     { (yyval.ival) = REINDEX_OBJECT_SCHEMA; }
37126 #line 37127 "gram.c" /* yacc.c:1646  */
37127     break;
37128 
37129   case 1251:
37130 #line 8525 "gram.y" /* yacc.c:1646  */
37131     { (yyval.ival) = REINDEX_OBJECT_SYSTEM; }
37132 #line 37133 "gram.c" /* yacc.c:1646  */
37133     break;
37134 
37135   case 1252:
37136 #line 8526 "gram.y" /* yacc.c:1646  */
37137     { (yyval.ival) = REINDEX_OBJECT_DATABASE; }
37138 #line 37139 "gram.c" /* yacc.c:1646  */
37139     break;
37140 
37141   case 1253:
37142 #line 8529 "gram.y" /* yacc.c:1646  */
37143     { (yyval.ival) = (yyvsp[0].ival); }
37144 #line 37145 "gram.c" /* yacc.c:1646  */
37145     break;
37146 
37147   case 1254:
37148 #line 8530 "gram.y" /* yacc.c:1646  */
37149     { (yyval.ival) = (yyvsp[-2].ival) | (yyvsp[0].ival); }
37150 #line 37151 "gram.c" /* yacc.c:1646  */
37151     break;
37152 
37153   case 1255:
37154 #line 8533 "gram.y" /* yacc.c:1646  */
37155     { (yyval.ival) = REINDEXOPT_VERBOSE; }
37156 #line 37157 "gram.c" /* yacc.c:1646  */
37157     break;
37158 
37159   case 1256:
37160 #line 8544 "gram.y" /* yacc.c:1646  */
37161     {
37162 					AlterTableSpaceOptionsStmt *n =
37163 						makeNode(AlterTableSpaceOptionsStmt);
37164 					n->tablespacename = (yyvsp[-2].str);
37165 					n->options = (yyvsp[0].list);
37166 					n->isReset = false;
37167 					(yyval.node) = (Node *)n;
37168 				}
37169 #line 37170 "gram.c" /* yacc.c:1646  */
37170     break;
37171 
37172   case 1257:
37173 #line 8553 "gram.y" /* yacc.c:1646  */
37174     {
37175 					AlterTableSpaceOptionsStmt *n =
37176 						makeNode(AlterTableSpaceOptionsStmt);
37177 					n->tablespacename = (yyvsp[-2].str);
37178 					n->options = (yyvsp[0].list);
37179 					n->isReset = true;
37180 					(yyval.node) = (Node *)n;
37181 				}
37182 #line 37183 "gram.c" /* yacc.c:1646  */
37183     break;
37184 
37185   case 1258:
37186 #line 8570 "gram.y" /* yacc.c:1646  */
37187     {
37188 					RenameStmt *n = makeNode(RenameStmt);
37189 					n->renameType = OBJECT_AGGREGATE;
37190 					n->object = (Node *) (yyvsp[-3].objwithargs);
37191 					n->newname = (yyvsp[0].str);
37192 					n->missing_ok = false;
37193 					(yyval.node) = (Node *)n;
37194 				}
37195 #line 37196 "gram.c" /* yacc.c:1646  */
37196     break;
37197 
37198   case 1259:
37199 #line 8579 "gram.y" /* yacc.c:1646  */
37200     {
37201 					RenameStmt *n = makeNode(RenameStmt);
37202 					n->renameType = OBJECT_COLLATION;
37203 					n->object = (Node *) (yyvsp[-3].list);
37204 					n->newname = (yyvsp[0].str);
37205 					n->missing_ok = false;
37206 					(yyval.node) = (Node *)n;
37207 				}
37208 #line 37209 "gram.c" /* yacc.c:1646  */
37209     break;
37210 
37211   case 1260:
37212 #line 8588 "gram.y" /* yacc.c:1646  */
37213     {
37214 					RenameStmt *n = makeNode(RenameStmt);
37215 					n->renameType = OBJECT_CONVERSION;
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:1646  */
37222     break;
37223 
37224   case 1261:
37225 #line 8597 "gram.y" /* yacc.c:1646  */
37226     {
37227 					RenameStmt *n = makeNode(RenameStmt);
37228 					n->renameType = OBJECT_DATABASE;
37229 					n->subname = (yyvsp[-3].str);
37230 					n->newname = (yyvsp[0].str);
37231 					n->missing_ok = false;
37232 					(yyval.node) = (Node *)n;
37233 				}
37234 #line 37235 "gram.c" /* yacc.c:1646  */
37235     break;
37236 
37237   case 1262:
37238 #line 8606 "gram.y" /* yacc.c:1646  */
37239     {
37240 					RenameStmt *n = makeNode(RenameStmt);
37241 					n->renameType = OBJECT_DOMAIN;
37242 					n->object = (Node *) (yyvsp[-3].list);
37243 					n->newname = (yyvsp[0].str);
37244 					n->missing_ok = false;
37245 					(yyval.node) = (Node *)n;
37246 				}
37247 #line 37248 "gram.c" /* yacc.c:1646  */
37248     break;
37249 
37250   case 1263:
37251 #line 8615 "gram.y" /* yacc.c:1646  */
37252     {
37253 					RenameStmt *n = makeNode(RenameStmt);
37254 					n->renameType = OBJECT_DOMCONSTRAINT;
37255 					n->object = (Node *) (yyvsp[-5].list);
37256 					n->subname = (yyvsp[-2].str);
37257 					n->newname = (yyvsp[0].str);
37258 					(yyval.node) = (Node *)n;
37259 				}
37260 #line 37261 "gram.c" /* yacc.c:1646  */
37261     break;
37262 
37263   case 1264:
37264 #line 8624 "gram.y" /* yacc.c:1646  */
37265     {
37266 					RenameStmt *n = makeNode(RenameStmt);
37267 					n->renameType = OBJECT_FDW;
37268 					n->object = (Node *) makeString((yyvsp[-3].str));
37269 					n->newname = (yyvsp[0].str);
37270 					n->missing_ok = false;
37271 					(yyval.node) = (Node *)n;
37272 				}
37273 #line 37274 "gram.c" /* yacc.c:1646  */
37274     break;
37275 
37276   case 1265:
37277 #line 8633 "gram.y" /* yacc.c:1646  */
37278     {
37279 					RenameStmt *n = makeNode(RenameStmt);
37280 					n->renameType = OBJECT_FUNCTION;
37281 					n->object = (Node *) (yyvsp[-3].objwithargs);
37282 					n->newname = (yyvsp[0].str);
37283 					n->missing_ok = false;
37284 					(yyval.node) = (Node *)n;
37285 				}
37286 #line 37287 "gram.c" /* yacc.c:1646  */
37287     break;
37288 
37289   case 1266:
37290 #line 8642 "gram.y" /* yacc.c:1646  */
37291     {
37292 					RenameStmt *n = makeNode(RenameStmt);
37293 					n->renameType = OBJECT_ROLE;
37294 					n->subname = (yyvsp[-3].str);
37295 					n->newname = (yyvsp[0].str);
37296 					n->missing_ok = false;
37297 					(yyval.node) = (Node *)n;
37298 				}
37299 #line 37300 "gram.c" /* yacc.c:1646  */
37300     break;
37301 
37302   case 1267:
37303 #line 8651 "gram.y" /* yacc.c:1646  */
37304     {
37305 					RenameStmt *n = makeNode(RenameStmt);
37306 					n->renameType = OBJECT_LANGUAGE;
37307 					n->object = (Node *) makeString((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:1646  */
37313     break;
37314 
37315   case 1268:
37316 #line 8660 "gram.y" /* yacc.c:1646  */
37317     {
37318 					RenameStmt *n = makeNode(RenameStmt);
37319 					n->renameType = OBJECT_OPCLASS;
37320 					n->object = (Node *) lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
37321 					n->newname = (yyvsp[0].str);
37322 					n->missing_ok = false;
37323 					(yyval.node) = (Node *)n;
37324 				}
37325 #line 37326 "gram.c" /* yacc.c:1646  */
37326     break;
37327 
37328   case 1269:
37329 #line 8669 "gram.y" /* yacc.c:1646  */
37330     {
37331 					RenameStmt *n = makeNode(RenameStmt);
37332 					n->renameType = OBJECT_OPFAMILY;
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:1646  */
37339     break;
37340 
37341   case 1270:
37342 #line 8678 "gram.y" /* yacc.c:1646  */
37343     {
37344 					RenameStmt *n = makeNode(RenameStmt);
37345 					n->renameType = OBJECT_POLICY;
37346 					n->relation = (yyvsp[-3].range);
37347 					n->subname = (yyvsp[-5].str);
37348 					n->newname = (yyvsp[0].str);
37349 					n->missing_ok = false;
37350 					(yyval.node) = (Node *)n;
37351 				}
37352 #line 37353 "gram.c" /* yacc.c:1646  */
37353     break;
37354 
37355   case 1271:
37356 #line 8688 "gram.y" /* yacc.c:1646  */
37357     {
37358 					RenameStmt *n = makeNode(RenameStmt);
37359 					n->renameType = OBJECT_POLICY;
37360 					n->relation = (yyvsp[-3].range);
37361 					n->subname = (yyvsp[-5].str);
37362 					n->newname = (yyvsp[0].str);
37363 					n->missing_ok = true;
37364 					(yyval.node) = (Node *)n;
37365 				}
37366 #line 37367 "gram.c" /* yacc.c:1646  */
37367     break;
37368 
37369   case 1272:
37370 #line 8698 "gram.y" /* yacc.c:1646  */
37371     {
37372 					RenameStmt *n = makeNode(RenameStmt);
37373 					n->renameType = OBJECT_PROCEDURE;
37374 					n->object = (Node *) (yyvsp[-3].objwithargs);
37375 					n->newname = (yyvsp[0].str);
37376 					n->missing_ok = false;
37377 					(yyval.node) = (Node *)n;
37378 				}
37379 #line 37380 "gram.c" /* yacc.c:1646  */
37380     break;
37381 
37382   case 1273:
37383 #line 8707 "gram.y" /* yacc.c:1646  */
37384     {
37385 					RenameStmt *n = makeNode(RenameStmt);
37386 					n->renameType = OBJECT_PUBLICATION;
37387 					n->object = (Node *) makeString((yyvsp[-3].str));
37388 					n->newname = (yyvsp[0].str);
37389 					n->missing_ok = false;
37390 					(yyval.node) = (Node *)n;
37391 				}
37392 #line 37393 "gram.c" /* yacc.c:1646  */
37393     break;
37394 
37395   case 1274:
37396 #line 8716 "gram.y" /* yacc.c:1646  */
37397     {
37398 					RenameStmt *n = makeNode(RenameStmt);
37399 					n->renameType = OBJECT_ROUTINE;
37400 					n->object = (Node *) (yyvsp[-3].objwithargs);
37401 					n->newname = (yyvsp[0].str);
37402 					n->missing_ok = false;
37403 					(yyval.node) = (Node *)n;
37404 				}
37405 #line 37406 "gram.c" /* yacc.c:1646  */
37406     break;
37407 
37408   case 1275:
37409 #line 8725 "gram.y" /* yacc.c:1646  */
37410     {
37411 					RenameStmt *n = makeNode(RenameStmt);
37412 					n->renameType = OBJECT_SCHEMA;
37413 					n->subname = (yyvsp[-3].str);
37414 					n->newname = (yyvsp[0].str);
37415 					n->missing_ok = false;
37416 					(yyval.node) = (Node *)n;
37417 				}
37418 #line 37419 "gram.c" /* yacc.c:1646  */
37419     break;
37420 
37421   case 1276:
37422 #line 8734 "gram.y" /* yacc.c:1646  */
37423     {
37424 					RenameStmt *n = makeNode(RenameStmt);
37425 					n->renameType = OBJECT_FOREIGN_SERVER;
37426 					n->object = (Node *) makeString((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:1646  */
37432     break;
37433 
37434   case 1277:
37435 #line 8743 "gram.y" /* yacc.c:1646  */
37436     {
37437 					RenameStmt *n = makeNode(RenameStmt);
37438 					n->renameType = OBJECT_SUBSCRIPTION;
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:1646  */
37445     break;
37446 
37447   case 1278:
37448 #line 8752 "gram.y" /* yacc.c:1646  */
37449     {
37450 					RenameStmt *n = makeNode(RenameStmt);
37451 					n->renameType = OBJECT_TABLE;
37452 					n->relation = (yyvsp[-3].range);
37453 					n->subname = NULL;
37454 					n->newname = (yyvsp[0].str);
37455 					n->missing_ok = false;
37456 					(yyval.node) = (Node *)n;
37457 				}
37458 #line 37459 "gram.c" /* yacc.c:1646  */
37459     break;
37460 
37461   case 1279:
37462 #line 8762 "gram.y" /* yacc.c:1646  */
37463     {
37464 					RenameStmt *n = makeNode(RenameStmt);
37465 					n->renameType = OBJECT_TABLE;
37466 					n->relation = (yyvsp[-3].range);
37467 					n->subname = NULL;
37468 					n->newname = (yyvsp[0].str);
37469 					n->missing_ok = true;
37470 					(yyval.node) = (Node *)n;
37471 				}
37472 #line 37473 "gram.c" /* yacc.c:1646  */
37473     break;
37474 
37475   case 1280:
37476 #line 8772 "gram.y" /* yacc.c:1646  */
37477     {
37478 					RenameStmt *n = makeNode(RenameStmt);
37479 					n->renameType = OBJECT_SEQUENCE;
37480 					n->relation = (yyvsp[-3].range);
37481 					n->subname = NULL;
37482 					n->newname = (yyvsp[0].str);
37483 					n->missing_ok = false;
37484 					(yyval.node) = (Node *)n;
37485 				}
37486 #line 37487 "gram.c" /* yacc.c:1646  */
37487     break;
37488 
37489   case 1281:
37490 #line 8782 "gram.y" /* yacc.c:1646  */
37491     {
37492 					RenameStmt *n = makeNode(RenameStmt);
37493 					n->renameType = OBJECT_SEQUENCE;
37494 					n->relation = (yyvsp[-3].range);
37495 					n->subname = NULL;
37496 					n->newname = (yyvsp[0].str);
37497 					n->missing_ok = true;
37498 					(yyval.node) = (Node *)n;
37499 				}
37500 #line 37501 "gram.c" /* yacc.c:1646  */
37501     break;
37502 
37503   case 1282:
37504 #line 8792 "gram.y" /* yacc.c:1646  */
37505     {
37506 					RenameStmt *n = makeNode(RenameStmt);
37507 					n->renameType = OBJECT_VIEW;
37508 					n->relation = (yyvsp[-3].range);
37509 					n->subname = NULL;
37510 					n->newname = (yyvsp[0].str);
37511 					n->missing_ok = false;
37512 					(yyval.node) = (Node *)n;
37513 				}
37514 #line 37515 "gram.c" /* yacc.c:1646  */
37515     break;
37516 
37517   case 1283:
37518 #line 8802 "gram.y" /* yacc.c:1646  */
37519     {
37520 					RenameStmt *n = makeNode(RenameStmt);
37521 					n->renameType = OBJECT_VIEW;
37522 					n->relation = (yyvsp[-3].range);
37523 					n->subname = NULL;
37524 					n->newname = (yyvsp[0].str);
37525 					n->missing_ok = true;
37526 					(yyval.node) = (Node *)n;
37527 				}
37528 #line 37529 "gram.c" /* yacc.c:1646  */
37529     break;
37530 
37531   case 1284:
37532 #line 8812 "gram.y" /* yacc.c:1646  */
37533     {
37534 					RenameStmt *n = makeNode(RenameStmt);
37535 					n->renameType = OBJECT_MATVIEW;
37536 					n->relation = (yyvsp[-3].range);
37537 					n->subname = NULL;
37538 					n->newname = (yyvsp[0].str);
37539 					n->missing_ok = false;
37540 					(yyval.node) = (Node *)n;
37541 				}
37542 #line 37543 "gram.c" /* yacc.c:1646  */
37543     break;
37544 
37545   case 1285:
37546 #line 8822 "gram.y" /* yacc.c:1646  */
37547     {
37548 					RenameStmt *n = makeNode(RenameStmt);
37549 					n->renameType = OBJECT_MATVIEW;
37550 					n->relation = (yyvsp[-3].range);
37551 					n->subname = NULL;
37552 					n->newname = (yyvsp[0].str);
37553 					n->missing_ok = true;
37554 					(yyval.node) = (Node *)n;
37555 				}
37556 #line 37557 "gram.c" /* yacc.c:1646  */
37557     break;
37558 
37559   case 1286:
37560 #line 8832 "gram.y" /* yacc.c:1646  */
37561     {
37562 					RenameStmt *n = makeNode(RenameStmt);
37563 					n->renameType = OBJECT_INDEX;
37564 					n->relation = (yyvsp[-3].range);
37565 					n->subname = NULL;
37566 					n->newname = (yyvsp[0].str);
37567 					n->missing_ok = false;
37568 					(yyval.node) = (Node *)n;
37569 				}
37570 #line 37571 "gram.c" /* yacc.c:1646  */
37571     break;
37572 
37573   case 1287:
37574 #line 8842 "gram.y" /* yacc.c:1646  */
37575     {
37576 					RenameStmt *n = makeNode(RenameStmt);
37577 					n->renameType = OBJECT_INDEX;
37578 					n->relation = (yyvsp[-3].range);
37579 					n->subname = NULL;
37580 					n->newname = (yyvsp[0].str);
37581 					n->missing_ok = true;
37582 					(yyval.node) = (Node *)n;
37583 				}
37584 #line 37585 "gram.c" /* yacc.c:1646  */
37585     break;
37586 
37587   case 1288:
37588 #line 8852 "gram.y" /* yacc.c:1646  */
37589     {
37590 					RenameStmt *n = makeNode(RenameStmt);
37591 					n->renameType = OBJECT_FOREIGN_TABLE;
37592 					n->relation = (yyvsp[-3].range);
37593 					n->subname = NULL;
37594 					n->newname = (yyvsp[0].str);
37595 					n->missing_ok = false;
37596 					(yyval.node) = (Node *)n;
37597 				}
37598 #line 37599 "gram.c" /* yacc.c:1646  */
37599     break;
37600 
37601   case 1289:
37602 #line 8862 "gram.y" /* yacc.c:1646  */
37603     {
37604 					RenameStmt *n = makeNode(RenameStmt);
37605 					n->renameType = OBJECT_FOREIGN_TABLE;
37606 					n->relation = (yyvsp[-3].range);
37607 					n->subname = NULL;
37608 					n->newname = (yyvsp[0].str);
37609 					n->missing_ok = true;
37610 					(yyval.node) = (Node *)n;
37611 				}
37612 #line 37613 "gram.c" /* yacc.c:1646  */
37613     break;
37614 
37615   case 1290:
37616 #line 8872 "gram.y" /* yacc.c:1646  */
37617     {
37618 					RenameStmt *n = makeNode(RenameStmt);
37619 					n->renameType = OBJECT_COLUMN;
37620 					n->relationType = OBJECT_TABLE;
37621 					n->relation = (yyvsp[-5].range);
37622 					n->subname = (yyvsp[-2].str);
37623 					n->newname = (yyvsp[0].str);
37624 					n->missing_ok = false;
37625 					(yyval.node) = (Node *)n;
37626 				}
37627 #line 37628 "gram.c" /* yacc.c:1646  */
37628     break;
37629 
37630   case 1291:
37631 #line 8883 "gram.y" /* yacc.c:1646  */
37632     {
37633 					RenameStmt *n = makeNode(RenameStmt);
37634 					n->renameType = OBJECT_COLUMN;
37635 					n->relationType = OBJECT_TABLE;
37636 					n->relation = (yyvsp[-5].range);
37637 					n->subname = (yyvsp[-2].str);
37638 					n->newname = (yyvsp[0].str);
37639 					n->missing_ok = true;
37640 					(yyval.node) = (Node *)n;
37641 				}
37642 #line 37643 "gram.c" /* yacc.c:1646  */
37643     break;
37644 
37645   case 1292:
37646 #line 8894 "gram.y" /* yacc.c:1646  */
37647     {
37648 					RenameStmt *n = makeNode(RenameStmt);
37649 					n->renameType = OBJECT_COLUMN;
37650 					n->relationType = OBJECT_VIEW;
37651 					n->relation = (yyvsp[-5].range);
37652 					n->subname = (yyvsp[-2].str);
37653 					n->newname = (yyvsp[0].str);
37654 					n->missing_ok = false;
37655 					(yyval.node) = (Node *)n;
37656 				}
37657 #line 37658 "gram.c" /* yacc.c:1646  */
37658     break;
37659 
37660   case 1293:
37661 #line 8905 "gram.y" /* yacc.c:1646  */
37662     {
37663 					RenameStmt *n = makeNode(RenameStmt);
37664 					n->renameType = OBJECT_COLUMN;
37665 					n->relationType = OBJECT_VIEW;
37666 					n->relation = (yyvsp[-5].range);
37667 					n->subname = (yyvsp[-2].str);
37668 					n->newname = (yyvsp[0].str);
37669 					n->missing_ok = true;
37670 					(yyval.node) = (Node *)n;
37671 				}
37672 #line 37673 "gram.c" /* yacc.c:1646  */
37673     break;
37674 
37675   case 1294:
37676 #line 8916 "gram.y" /* yacc.c:1646  */
37677     {
37678 					RenameStmt *n = makeNode(RenameStmt);
37679 					n->renameType = OBJECT_COLUMN;
37680 					n->relationType = OBJECT_MATVIEW;
37681 					n->relation = (yyvsp[-5].range);
37682 					n->subname = (yyvsp[-2].str);
37683 					n->newname = (yyvsp[0].str);
37684 					n->missing_ok = false;
37685 					(yyval.node) = (Node *)n;
37686 				}
37687 #line 37688 "gram.c" /* yacc.c:1646  */
37688     break;
37689 
37690   case 1295:
37691 #line 8927 "gram.y" /* yacc.c:1646  */
37692     {
37693 					RenameStmt *n = makeNode(RenameStmt);
37694 					n->renameType = OBJECT_COLUMN;
37695 					n->relationType = OBJECT_MATVIEW;
37696 					n->relation = (yyvsp[-5].range);
37697 					n->subname = (yyvsp[-2].str);
37698 					n->newname = (yyvsp[0].str);
37699 					n->missing_ok = true;
37700 					(yyval.node) = (Node *)n;
37701 				}
37702 #line 37703 "gram.c" /* yacc.c:1646  */
37703     break;
37704 
37705   case 1296:
37706 #line 8938 "gram.y" /* yacc.c:1646  */
37707     {
37708 					RenameStmt *n = makeNode(RenameStmt);
37709 					n->renameType = OBJECT_TABCONSTRAINT;
37710 					n->relation = (yyvsp[-5].range);
37711 					n->subname = (yyvsp[-2].str);
37712 					n->newname = (yyvsp[0].str);
37713 					n->missing_ok = false;
37714 					(yyval.node) = (Node *)n;
37715 				}
37716 #line 37717 "gram.c" /* yacc.c:1646  */
37717     break;
37718 
37719   case 1297:
37720 #line 8948 "gram.y" /* yacc.c:1646  */
37721     {
37722 					RenameStmt *n = makeNode(RenameStmt);
37723 					n->renameType = OBJECT_TABCONSTRAINT;
37724 					n->relation = (yyvsp[-5].range);
37725 					n->subname = (yyvsp[-2].str);
37726 					n->newname = (yyvsp[0].str);
37727 					n->missing_ok = true;
37728 					(yyval.node) = (Node *)n;
37729 				}
37730 #line 37731 "gram.c" /* yacc.c:1646  */
37731     break;
37732 
37733   case 1298:
37734 #line 8958 "gram.y" /* yacc.c:1646  */
37735     {
37736 					RenameStmt *n = makeNode(RenameStmt);
37737 					n->renameType = OBJECT_COLUMN;
37738 					n->relationType = OBJECT_FOREIGN_TABLE;
37739 					n->relation = (yyvsp[-5].range);
37740 					n->subname = (yyvsp[-2].str);
37741 					n->newname = (yyvsp[0].str);
37742 					n->missing_ok = false;
37743 					(yyval.node) = (Node *)n;
37744 				}
37745 #line 37746 "gram.c" /* yacc.c:1646  */
37746     break;
37747 
37748   case 1299:
37749 #line 8969 "gram.y" /* yacc.c:1646  */
37750     {
37751 					RenameStmt *n = makeNode(RenameStmt);
37752 					n->renameType = OBJECT_COLUMN;
37753 					n->relationType = OBJECT_FOREIGN_TABLE;
37754 					n->relation = (yyvsp[-5].range);
37755 					n->subname = (yyvsp[-2].str);
37756 					n->newname = (yyvsp[0].str);
37757 					n->missing_ok = true;
37758 					(yyval.node) = (Node *)n;
37759 				}
37760 #line 37761 "gram.c" /* yacc.c:1646  */
37761     break;
37762 
37763   case 1300:
37764 #line 8980 "gram.y" /* yacc.c:1646  */
37765     {
37766 					RenameStmt *n = makeNode(RenameStmt);
37767 					n->renameType = OBJECT_RULE;
37768 					n->relation = (yyvsp[-3].range);
37769 					n->subname = (yyvsp[-5].str);
37770 					n->newname = (yyvsp[0].str);
37771 					n->missing_ok = false;
37772 					(yyval.node) = (Node *)n;
37773 				}
37774 #line 37775 "gram.c" /* yacc.c:1646  */
37775     break;
37776 
37777   case 1301:
37778 #line 8990 "gram.y" /* yacc.c:1646  */
37779     {
37780 					RenameStmt *n = makeNode(RenameStmt);
37781 					n->renameType = OBJECT_TRIGGER;
37782 					n->relation = (yyvsp[-3].range);
37783 					n->subname = (yyvsp[-5].str);
37784 					n->newname = (yyvsp[0].str);
37785 					n->missing_ok = false;
37786 					(yyval.node) = (Node *)n;
37787 				}
37788 #line 37789 "gram.c" /* yacc.c:1646  */
37789     break;
37790 
37791   case 1302:
37792 #line 9000 "gram.y" /* yacc.c:1646  */
37793     {
37794 					RenameStmt *n = makeNode(RenameStmt);
37795 					n->renameType = OBJECT_EVENT_TRIGGER;
37796 					n->object = (Node *) makeString((yyvsp[-3].str));
37797 					n->newname = (yyvsp[0].str);
37798 					(yyval.node) = (Node *)n;
37799 				}
37800 #line 37801 "gram.c" /* yacc.c:1646  */
37801     break;
37802 
37803   case 1303:
37804 #line 9008 "gram.y" /* yacc.c:1646  */
37805     {
37806 					RenameStmt *n = makeNode(RenameStmt);
37807 					n->renameType = OBJECT_ROLE;
37808 					n->subname = (yyvsp[-3].str);
37809 					n->newname = (yyvsp[0].str);
37810 					n->missing_ok = false;
37811 					(yyval.node) = (Node *)n;
37812 				}
37813 #line 37814 "gram.c" /* yacc.c:1646  */
37814     break;
37815 
37816   case 1304:
37817 #line 9017 "gram.y" /* yacc.c:1646  */
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:1646  */
37827     break;
37828 
37829   case 1305:
37830 #line 9026 "gram.y" /* yacc.c:1646  */
37831     {
37832 					RenameStmt *n = makeNode(RenameStmt);
37833 					n->renameType = OBJECT_TABLESPACE;
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:1646  */
37840     break;
37841 
37842   case 1306:
37843 #line 9035 "gram.y" /* yacc.c:1646  */
37844     {
37845 					RenameStmt *n = makeNode(RenameStmt);
37846 					n->renameType = OBJECT_STATISTIC_EXT;
37847 					n->object = (Node *) (yyvsp[-3].list);
37848 					n->newname = (yyvsp[0].str);
37849 					n->missing_ok = false;
37850 					(yyval.node) = (Node *)n;
37851 				}
37852 #line 37853 "gram.c" /* yacc.c:1646  */
37853     break;
37854 
37855   case 1307:
37856 #line 9044 "gram.y" /* yacc.c:1646  */
37857     {
37858 					RenameStmt *n = makeNode(RenameStmt);
37859 					n->renameType = OBJECT_TSPARSER;
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:1646  */
37866     break;
37867 
37868   case 1308:
37869 #line 9053 "gram.y" /* yacc.c:1646  */
37870     {
37871 					RenameStmt *n = makeNode(RenameStmt);
37872 					n->renameType = OBJECT_TSDICTIONARY;
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:1646  */
37879     break;
37880 
37881   case 1309:
37882 #line 9062 "gram.y" /* yacc.c:1646  */
37883     {
37884 					RenameStmt *n = makeNode(RenameStmt);
37885 					n->renameType = OBJECT_TSTEMPLATE;
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:1646  */
37892     break;
37893 
37894   case 1310:
37895 #line 9071 "gram.y" /* yacc.c:1646  */
37896     {
37897 					RenameStmt *n = makeNode(RenameStmt);
37898 					n->renameType = OBJECT_TSCONFIGURATION;
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:1646  */
37905     break;
37906 
37907   case 1311:
37908 #line 9080 "gram.y" /* yacc.c:1646  */
37909     {
37910 					RenameStmt *n = makeNode(RenameStmt);
37911 					n->renameType = OBJECT_TYPE;
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:1646  */
37918     break;
37919 
37920   case 1312:
37921 #line 9089 "gram.y" /* yacc.c:1646  */
37922     {
37923 					RenameStmt *n = makeNode(RenameStmt);
37924 					n->renameType = OBJECT_ATTRIBUTE;
37925 					n->relationType = OBJECT_TYPE;
37926 					n->relation = makeRangeVarFromAnyName((yyvsp[-6].list), (yylsp[-6]), yyscanner);
37927 					n->subname = (yyvsp[-3].str);
37928 					n->newname = (yyvsp[-1].str);
37929 					n->behavior = (yyvsp[0].dbehavior);
37930 					n->missing_ok = false;
37931 					(yyval.node) = (Node *)n;
37932 				}
37933 #line 37934 "gram.c" /* yacc.c:1646  */
37934     break;
37935 
37936   case 1313:
37937 #line 9102 "gram.y" /* yacc.c:1646  */
37938     { (yyval.ival) = COLUMN; }
37939 #line 37940 "gram.c" /* yacc.c:1646  */
37940     break;
37941 
37942   case 1314:
37943 #line 9103 "gram.y" /* yacc.c:1646  */
37944     { (yyval.ival) = 0; }
37945 #line 37946 "gram.c" /* yacc.c:1646  */
37946     break;
37947 
37948   case 1315:
37949 #line 9106 "gram.y" /* yacc.c:1646  */
37950     { (yyval.ival) = 1; }
37951 #line 37952 "gram.c" /* yacc.c:1646  */
37952     break;
37953 
37954   case 1316:
37955 #line 9107 "gram.y" /* yacc.c:1646  */
37956     { (yyval.ival) = 0; }
37957 #line 37958 "gram.c" /* yacc.c:1646  */
37958     break;
37959 
37960   case 1317:
37961 #line 9118 "gram.y" /* yacc.c:1646  */
37962     {
37963 					AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
37964 					n->objectType = OBJECT_FUNCTION;
37965 					n->object = (Node *) (yyvsp[-5].objwithargs);
37966 					n->extname = makeString((yyvsp[0].str));
37967 					n->remove = (yyvsp[-4].boolean);
37968 					(yyval.node) = (Node *)n;
37969 				}
37970 #line 37971 "gram.c" /* yacc.c:1646  */
37971     break;
37972 
37973   case 1318:
37974 #line 9127 "gram.y" /* yacc.c:1646  */
37975     {
37976 					AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
37977 					n->objectType = OBJECT_PROCEDURE;
37978 					n->object = (Node *) (yyvsp[-5].objwithargs);
37979 					n->extname = makeString((yyvsp[0].str));
37980 					n->remove = (yyvsp[-4].boolean);
37981 					(yyval.node) = (Node *)n;
37982 				}
37983 #line 37984 "gram.c" /* yacc.c:1646  */
37984     break;
37985 
37986   case 1319:
37987 #line 9136 "gram.y" /* yacc.c:1646  */
37988     {
37989 					AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
37990 					n->objectType = OBJECT_ROUTINE;
37991 					n->object = (Node *) (yyvsp[-5].objwithargs);
37992 					n->extname = makeString((yyvsp[0].str));
37993 					n->remove = (yyvsp[-4].boolean);
37994 					(yyval.node) = (Node *)n;
37995 				}
37996 #line 37997 "gram.c" /* yacc.c:1646  */
37997     break;
37998 
37999   case 1320:
38000 #line 9145 "gram.y" /* yacc.c:1646  */
38001     {
38002 					AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
38003 					n->objectType = OBJECT_TRIGGER;
38004 					n->relation = (yyvsp[-5].range);
38005 					n->object = (Node *) list_make1(makeString((yyvsp[-7].str)));
38006 					n->extname = makeString((yyvsp[0].str));
38007 					n->remove = (yyvsp[-4].boolean);
38008 					(yyval.node) = (Node *)n;
38009 				}
38010 #line 38011 "gram.c" /* yacc.c:1646  */
38011     break;
38012 
38013   case 1321:
38014 #line 9155 "gram.y" /* yacc.c:1646  */
38015     {
38016 					AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
38017 					n->objectType = OBJECT_MATVIEW;
38018 					n->relation = (yyvsp[-5].range);
38019 					n->extname = makeString((yyvsp[0].str));
38020 					n->remove = (yyvsp[-4].boolean);
38021 					(yyval.node) = (Node *)n;
38022 				}
38023 #line 38024 "gram.c" /* yacc.c:1646  */
38024     break;
38025 
38026   case 1322:
38027 #line 9164 "gram.y" /* yacc.c:1646  */
38028     {
38029 					AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
38030 					n->objectType = OBJECT_INDEX;
38031 					n->relation = (yyvsp[-5].range);
38032 					n->extname = makeString((yyvsp[0].str));
38033 					n->remove = (yyvsp[-4].boolean);
38034 					(yyval.node) = (Node *)n;
38035 				}
38036 #line 38037 "gram.c" /* yacc.c:1646  */
38037     break;
38038 
38039   case 1323:
38040 #line 9174 "gram.y" /* yacc.c:1646  */
38041     { (yyval.boolean) = true; }
38042 #line 38043 "gram.c" /* yacc.c:1646  */
38043     break;
38044 
38045   case 1324:
38046 #line 9175 "gram.y" /* yacc.c:1646  */
38047     { (yyval.boolean) = false;	}
38048 #line 38049 "gram.c" /* yacc.c:1646  */
38049     break;
38050 
38051   case 1325:
38052 #line 9186 "gram.y" /* yacc.c:1646  */
38053     {
38054 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38055 					n->objectType = OBJECT_AGGREGATE;
38056 					n->object = (Node *) (yyvsp[-3].objwithargs);
38057 					n->newschema = (yyvsp[0].str);
38058 					n->missing_ok = false;
38059 					(yyval.node) = (Node *)n;
38060 				}
38061 #line 38062 "gram.c" /* yacc.c:1646  */
38062     break;
38063 
38064   case 1326:
38065 #line 9195 "gram.y" /* yacc.c:1646  */
38066     {
38067 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38068 					n->objectType = OBJECT_COLLATION;
38069 					n->object = (Node *) (yyvsp[-3].list);
38070 					n->newschema = (yyvsp[0].str);
38071 					n->missing_ok = false;
38072 					(yyval.node) = (Node *)n;
38073 				}
38074 #line 38075 "gram.c" /* yacc.c:1646  */
38075     break;
38076 
38077   case 1327:
38078 #line 9204 "gram.y" /* yacc.c:1646  */
38079     {
38080 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38081 					n->objectType = OBJECT_CONVERSION;
38082 					n->object = (Node *) (yyvsp[-3].list);
38083 					n->newschema = (yyvsp[0].str);
38084 					n->missing_ok = false;
38085 					(yyval.node) = (Node *)n;
38086 				}
38087 #line 38088 "gram.c" /* yacc.c:1646  */
38088     break;
38089 
38090   case 1328:
38091 #line 9213 "gram.y" /* yacc.c:1646  */
38092     {
38093 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38094 					n->objectType = OBJECT_DOMAIN;
38095 					n->object = (Node *) (yyvsp[-3].list);
38096 					n->newschema = (yyvsp[0].str);
38097 					n->missing_ok = false;
38098 					(yyval.node) = (Node *)n;
38099 				}
38100 #line 38101 "gram.c" /* yacc.c:1646  */
38101     break;
38102 
38103   case 1329:
38104 #line 9222 "gram.y" /* yacc.c:1646  */
38105     {
38106 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38107 					n->objectType = OBJECT_EXTENSION;
38108 					n->object = (Node *) makeString((yyvsp[-3].str));
38109 					n->newschema = (yyvsp[0].str);
38110 					n->missing_ok = false;
38111 					(yyval.node) = (Node *)n;
38112 				}
38113 #line 38114 "gram.c" /* yacc.c:1646  */
38114     break;
38115 
38116   case 1330:
38117 #line 9231 "gram.y" /* yacc.c:1646  */
38118     {
38119 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38120 					n->objectType = OBJECT_FUNCTION;
38121 					n->object = (Node *) (yyvsp[-3].objwithargs);
38122 					n->newschema = (yyvsp[0].str);
38123 					n->missing_ok = false;
38124 					(yyval.node) = (Node *)n;
38125 				}
38126 #line 38127 "gram.c" /* yacc.c:1646  */
38127     break;
38128 
38129   case 1331:
38130 #line 9240 "gram.y" /* yacc.c:1646  */
38131     {
38132 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38133 					n->objectType = OBJECT_OPERATOR;
38134 					n->object = (Node *) (yyvsp[-3].objwithargs);
38135 					n->newschema = (yyvsp[0].str);
38136 					n->missing_ok = false;
38137 					(yyval.node) = (Node *)n;
38138 				}
38139 #line 38140 "gram.c" /* yacc.c:1646  */
38140     break;
38141 
38142   case 1332:
38143 #line 9249 "gram.y" /* yacc.c:1646  */
38144     {
38145 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38146 					n->objectType = OBJECT_OPCLASS;
38147 					n->object = (Node *) lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
38148 					n->newschema = (yyvsp[0].str);
38149 					n->missing_ok = false;
38150 					(yyval.node) = (Node *)n;
38151 				}
38152 #line 38153 "gram.c" /* yacc.c:1646  */
38153     break;
38154 
38155   case 1333:
38156 #line 9258 "gram.y" /* yacc.c:1646  */
38157     {
38158 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38159 					n->objectType = OBJECT_OPFAMILY;
38160 					n->object = (Node *) lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
38161 					n->newschema = (yyvsp[0].str);
38162 					n->missing_ok = false;
38163 					(yyval.node) = (Node *)n;
38164 				}
38165 #line 38166 "gram.c" /* yacc.c:1646  */
38166     break;
38167 
38168   case 1334:
38169 #line 9267 "gram.y" /* yacc.c:1646  */
38170     {
38171 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38172 					n->objectType = OBJECT_PROCEDURE;
38173 					n->object = (Node *) (yyvsp[-3].objwithargs);
38174 					n->newschema = (yyvsp[0].str);
38175 					n->missing_ok = false;
38176 					(yyval.node) = (Node *)n;
38177 				}
38178 #line 38179 "gram.c" /* yacc.c:1646  */
38179     break;
38180 
38181   case 1335:
38182 #line 9276 "gram.y" /* yacc.c:1646  */
38183     {
38184 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38185 					n->objectType = OBJECT_ROUTINE;
38186 					n->object = (Node *) (yyvsp[-3].objwithargs);
38187 					n->newschema = (yyvsp[0].str);
38188 					n->missing_ok = false;
38189 					(yyval.node) = (Node *)n;
38190 				}
38191 #line 38192 "gram.c" /* yacc.c:1646  */
38192     break;
38193 
38194   case 1336:
38195 #line 9285 "gram.y" /* yacc.c:1646  */
38196     {
38197 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38198 					n->objectType = OBJECT_TABLE;
38199 					n->relation = (yyvsp[-3].range);
38200 					n->newschema = (yyvsp[0].str);
38201 					n->missing_ok = false;
38202 					(yyval.node) = (Node *)n;
38203 				}
38204 #line 38205 "gram.c" /* yacc.c:1646  */
38205     break;
38206 
38207   case 1337:
38208 #line 9294 "gram.y" /* yacc.c:1646  */
38209     {
38210 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38211 					n->objectType = OBJECT_TABLE;
38212 					n->relation = (yyvsp[-3].range);
38213 					n->newschema = (yyvsp[0].str);
38214 					n->missing_ok = true;
38215 					(yyval.node) = (Node *)n;
38216 				}
38217 #line 38218 "gram.c" /* yacc.c:1646  */
38218     break;
38219 
38220   case 1338:
38221 #line 9303 "gram.y" /* yacc.c:1646  */
38222     {
38223 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38224 					n->objectType = OBJECT_STATISTIC_EXT;
38225 					n->object = (Node *) (yyvsp[-3].list);
38226 					n->newschema = (yyvsp[0].str);
38227 					n->missing_ok = false;
38228 					(yyval.node) = (Node *)n;
38229 				}
38230 #line 38231 "gram.c" /* yacc.c:1646  */
38231     break;
38232 
38233   case 1339:
38234 #line 9312 "gram.y" /* yacc.c:1646  */
38235     {
38236 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38237 					n->objectType = OBJECT_TSPARSER;
38238 					n->object = (Node *) (yyvsp[-3].list);
38239 					n->newschema = (yyvsp[0].str);
38240 					n->missing_ok = false;
38241 					(yyval.node) = (Node *)n;
38242 				}
38243 #line 38244 "gram.c" /* yacc.c:1646  */
38244     break;
38245 
38246   case 1340:
38247 #line 9321 "gram.y" /* yacc.c:1646  */
38248     {
38249 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38250 					n->objectType = OBJECT_TSDICTIONARY;
38251 					n->object = (Node *) (yyvsp[-3].list);
38252 					n->newschema = (yyvsp[0].str);
38253 					n->missing_ok = false;
38254 					(yyval.node) = (Node *)n;
38255 				}
38256 #line 38257 "gram.c" /* yacc.c:1646  */
38257     break;
38258 
38259   case 1341:
38260 #line 9330 "gram.y" /* yacc.c:1646  */
38261     {
38262 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38263 					n->objectType = OBJECT_TSTEMPLATE;
38264 					n->object = (Node *) (yyvsp[-3].list);
38265 					n->newschema = (yyvsp[0].str);
38266 					n->missing_ok = false;
38267 					(yyval.node) = (Node *)n;
38268 				}
38269 #line 38270 "gram.c" /* yacc.c:1646  */
38270     break;
38271 
38272   case 1342:
38273 #line 9339 "gram.y" /* yacc.c:1646  */
38274     {
38275 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38276 					n->objectType = OBJECT_TSCONFIGURATION;
38277 					n->object = (Node *) (yyvsp[-3].list);
38278 					n->newschema = (yyvsp[0].str);
38279 					n->missing_ok = false;
38280 					(yyval.node) = (Node *)n;
38281 				}
38282 #line 38283 "gram.c" /* yacc.c:1646  */
38283     break;
38284 
38285   case 1343:
38286 #line 9348 "gram.y" /* yacc.c:1646  */
38287     {
38288 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38289 					n->objectType = OBJECT_SEQUENCE;
38290 					n->relation = (yyvsp[-3].range);
38291 					n->newschema = (yyvsp[0].str);
38292 					n->missing_ok = false;
38293 					(yyval.node) = (Node *)n;
38294 				}
38295 #line 38296 "gram.c" /* yacc.c:1646  */
38296     break;
38297 
38298   case 1344:
38299 #line 9357 "gram.y" /* yacc.c:1646  */
38300     {
38301 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38302 					n->objectType = OBJECT_SEQUENCE;
38303 					n->relation = (yyvsp[-3].range);
38304 					n->newschema = (yyvsp[0].str);
38305 					n->missing_ok = true;
38306 					(yyval.node) = (Node *)n;
38307 				}
38308 #line 38309 "gram.c" /* yacc.c:1646  */
38309     break;
38310 
38311   case 1345:
38312 #line 9366 "gram.y" /* yacc.c:1646  */
38313     {
38314 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38315 					n->objectType = OBJECT_VIEW;
38316 					n->relation = (yyvsp[-3].range);
38317 					n->newschema = (yyvsp[0].str);
38318 					n->missing_ok = false;
38319 					(yyval.node) = (Node *)n;
38320 				}
38321 #line 38322 "gram.c" /* yacc.c:1646  */
38322     break;
38323 
38324   case 1346:
38325 #line 9375 "gram.y" /* yacc.c:1646  */
38326     {
38327 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38328 					n->objectType = OBJECT_VIEW;
38329 					n->relation = (yyvsp[-3].range);
38330 					n->newschema = (yyvsp[0].str);
38331 					n->missing_ok = true;
38332 					(yyval.node) = (Node *)n;
38333 				}
38334 #line 38335 "gram.c" /* yacc.c:1646  */
38335     break;
38336 
38337   case 1347:
38338 #line 9384 "gram.y" /* yacc.c:1646  */
38339     {
38340 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38341 					n->objectType = OBJECT_MATVIEW;
38342 					n->relation = (yyvsp[-3].range);
38343 					n->newschema = (yyvsp[0].str);
38344 					n->missing_ok = false;
38345 					(yyval.node) = (Node *)n;
38346 				}
38347 #line 38348 "gram.c" /* yacc.c:1646  */
38348     break;
38349 
38350   case 1348:
38351 #line 9393 "gram.y" /* yacc.c:1646  */
38352     {
38353 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38354 					n->objectType = OBJECT_MATVIEW;
38355 					n->relation = (yyvsp[-3].range);
38356 					n->newschema = (yyvsp[0].str);
38357 					n->missing_ok = true;
38358 					(yyval.node) = (Node *)n;
38359 				}
38360 #line 38361 "gram.c" /* yacc.c:1646  */
38361     break;
38362 
38363   case 1349:
38364 #line 9402 "gram.y" /* yacc.c:1646  */
38365     {
38366 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38367 					n->objectType = OBJECT_FOREIGN_TABLE;
38368 					n->relation = (yyvsp[-3].range);
38369 					n->newschema = (yyvsp[0].str);
38370 					n->missing_ok = false;
38371 					(yyval.node) = (Node *)n;
38372 				}
38373 #line 38374 "gram.c" /* yacc.c:1646  */
38374     break;
38375 
38376   case 1350:
38377 #line 9411 "gram.y" /* yacc.c:1646  */
38378     {
38379 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38380 					n->objectType = OBJECT_FOREIGN_TABLE;
38381 					n->relation = (yyvsp[-3].range);
38382 					n->newschema = (yyvsp[0].str);
38383 					n->missing_ok = true;
38384 					(yyval.node) = (Node *)n;
38385 				}
38386 #line 38387 "gram.c" /* yacc.c:1646  */
38387     break;
38388 
38389   case 1351:
38390 #line 9420 "gram.y" /* yacc.c:1646  */
38391     {
38392 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38393 					n->objectType = OBJECT_TYPE;
38394 					n->object = (Node *) (yyvsp[-3].list);
38395 					n->newschema = (yyvsp[0].str);
38396 					n->missing_ok = false;
38397 					(yyval.node) = (Node *)n;
38398 				}
38399 #line 38400 "gram.c" /* yacc.c:1646  */
38400     break;
38401 
38402   case 1352:
38403 #line 9438 "gram.y" /* yacc.c:1646  */
38404     {
38405 					AlterOperatorStmt *n = makeNode(AlterOperatorStmt);
38406 					n->opername = (yyvsp[-4].objwithargs);
38407 					n->options = (yyvsp[-1].list);
38408 					(yyval.node) = (Node *)n;
38409 				}
38410 #line 38411 "gram.c" /* yacc.c:1646  */
38411     break;
38412 
38413   case 1353:
38414 #line 9446 "gram.y" /* yacc.c:1646  */
38415     { (yyval.list) = list_make1((yyvsp[0].defelt)); }
38416 #line 38417 "gram.c" /* yacc.c:1646  */
38417     break;
38418 
38419   case 1354:
38420 #line 9447 "gram.y" /* yacc.c:1646  */
38421     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
38422 #line 38423 "gram.c" /* yacc.c:1646  */
38423     break;
38424 
38425   case 1355:
38426 #line 9451 "gram.y" /* yacc.c:1646  */
38427     { (yyval.defelt) = makeDefElem((yyvsp[-2].str), NULL, (yylsp[-2])); }
38428 #line 38429 "gram.c" /* yacc.c:1646  */
38429     break;
38430 
38431   case 1356:
38432 #line 9453 "gram.y" /* yacc.c:1646  */
38433     { (yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *) (yyvsp[0].node), (yylsp[-2])); }
38434 #line 38435 "gram.c" /* yacc.c:1646  */
38435     break;
38436 
38437   case 1357:
38438 #line 9458 "gram.y" /* yacc.c:1646  */
38439     { (yyval.node) = (Node *)(yyvsp[0].typnam); }
38440 #line 38441 "gram.c" /* yacc.c:1646  */
38441     break;
38442 
38443   case 1358:
38444 #line 9459 "gram.y" /* yacc.c:1646  */
38445     { (yyval.node) = (Node *)makeString(pstrdup((yyvsp[0].keyword))); }
38446 #line 38447 "gram.c" /* yacc.c:1646  */
38447     break;
38448 
38449   case 1359:
38450 #line 9460 "gram.y" /* yacc.c:1646  */
38451     { (yyval.node) = (Node *)(yyvsp[0].list); }
38452 #line 38453 "gram.c" /* yacc.c:1646  */
38453     break;
38454 
38455   case 1360:
38456 #line 9461 "gram.y" /* yacc.c:1646  */
38457     { (yyval.node) = (Node *)(yyvsp[0].value); }
38458 #line 38459 "gram.c" /* yacc.c:1646  */
38459     break;
38460 
38461   case 1361:
38462 #line 9462 "gram.y" /* yacc.c:1646  */
38463     { (yyval.node) = (Node *)makeString((yyvsp[0].str)); }
38464 #line 38465 "gram.c" /* yacc.c:1646  */
38465     break;
38466 
38467   case 1362:
38468 #line 9475 "gram.y" /* yacc.c:1646  */
38469     {
38470 					AlterTypeStmt *n = makeNode(AlterTypeStmt);
38471 					n->typeName = (yyvsp[-4].list);
38472 					n->options = (yyvsp[-1].list);
38473 					(yyval.node) = (Node *)n;
38474 				}
38475 #line 38476 "gram.c" /* yacc.c:1646  */
38476     break;
38477 
38478   case 1363:
38479 #line 9490 "gram.y" /* yacc.c:1646  */
38480     {
38481 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38482 					n->objectType = OBJECT_AGGREGATE;
38483 					n->object = (Node *) (yyvsp[-3].objwithargs);
38484 					n->newowner = (yyvsp[0].rolespec);
38485 					(yyval.node) = (Node *)n;
38486 				}
38487 #line 38488 "gram.c" /* yacc.c:1646  */
38488     break;
38489 
38490   case 1364:
38491 #line 9498 "gram.y" /* yacc.c:1646  */
38492     {
38493 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38494 					n->objectType = OBJECT_COLLATION;
38495 					n->object = (Node *) (yyvsp[-3].list);
38496 					n->newowner = (yyvsp[0].rolespec);
38497 					(yyval.node) = (Node *)n;
38498 				}
38499 #line 38500 "gram.c" /* yacc.c:1646  */
38500     break;
38501 
38502   case 1365:
38503 #line 9506 "gram.y" /* yacc.c:1646  */
38504     {
38505 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38506 					n->objectType = OBJECT_CONVERSION;
38507 					n->object = (Node *) (yyvsp[-3].list);
38508 					n->newowner = (yyvsp[0].rolespec);
38509 					(yyval.node) = (Node *)n;
38510 				}
38511 #line 38512 "gram.c" /* yacc.c:1646  */
38512     break;
38513 
38514   case 1366:
38515 #line 9514 "gram.y" /* yacc.c:1646  */
38516     {
38517 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38518 					n->objectType = OBJECT_DATABASE;
38519 					n->object = (Node *) makeString((yyvsp[-3].str));
38520 					n->newowner = (yyvsp[0].rolespec);
38521 					(yyval.node) = (Node *)n;
38522 				}
38523 #line 38524 "gram.c" /* yacc.c:1646  */
38524     break;
38525 
38526   case 1367:
38527 #line 9522 "gram.y" /* yacc.c:1646  */
38528     {
38529 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38530 					n->objectType = OBJECT_DOMAIN;
38531 					n->object = (Node *) (yyvsp[-3].list);
38532 					n->newowner = (yyvsp[0].rolespec);
38533 					(yyval.node) = (Node *)n;
38534 				}
38535 #line 38536 "gram.c" /* yacc.c:1646  */
38536     break;
38537 
38538   case 1368:
38539 #line 9530 "gram.y" /* yacc.c:1646  */
38540     {
38541 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38542 					n->objectType = OBJECT_FUNCTION;
38543 					n->object = (Node *) (yyvsp[-3].objwithargs);
38544 					n->newowner = (yyvsp[0].rolespec);
38545 					(yyval.node) = (Node *)n;
38546 				}
38547 #line 38548 "gram.c" /* yacc.c:1646  */
38548     break;
38549 
38550   case 1369:
38551 #line 9538 "gram.y" /* yacc.c:1646  */
38552     {
38553 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38554 					n->objectType = OBJECT_LANGUAGE;
38555 					n->object = (Node *) makeString((yyvsp[-3].str));
38556 					n->newowner = (yyvsp[0].rolespec);
38557 					(yyval.node) = (Node *)n;
38558 				}
38559 #line 38560 "gram.c" /* yacc.c:1646  */
38560     break;
38561 
38562   case 1370:
38563 #line 9546 "gram.y" /* yacc.c:1646  */
38564     {
38565 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38566 					n->objectType = OBJECT_LARGEOBJECT;
38567 					n->object = (Node *) (yyvsp[-3].value);
38568 					n->newowner = (yyvsp[0].rolespec);
38569 					(yyval.node) = (Node *)n;
38570 				}
38571 #line 38572 "gram.c" /* yacc.c:1646  */
38572     break;
38573 
38574   case 1371:
38575 #line 9554 "gram.y" /* yacc.c:1646  */
38576     {
38577 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38578 					n->objectType = OBJECT_OPERATOR;
38579 					n->object = (Node *) (yyvsp[-3].objwithargs);
38580 					n->newowner = (yyvsp[0].rolespec);
38581 					(yyval.node) = (Node *)n;
38582 				}
38583 #line 38584 "gram.c" /* yacc.c:1646  */
38584     break;
38585 
38586   case 1372:
38587 #line 9562 "gram.y" /* yacc.c:1646  */
38588     {
38589 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38590 					n->objectType = OBJECT_OPCLASS;
38591 					n->object = (Node *) lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
38592 					n->newowner = (yyvsp[0].rolespec);
38593 					(yyval.node) = (Node *)n;
38594 				}
38595 #line 38596 "gram.c" /* yacc.c:1646  */
38596     break;
38597 
38598   case 1373:
38599 #line 9570 "gram.y" /* yacc.c:1646  */
38600     {
38601 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38602 					n->objectType = OBJECT_OPFAMILY;
38603 					n->object = (Node *) lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
38604 					n->newowner = (yyvsp[0].rolespec);
38605 					(yyval.node) = (Node *)n;
38606 				}
38607 #line 38608 "gram.c" /* yacc.c:1646  */
38608     break;
38609 
38610   case 1374:
38611 #line 9578 "gram.y" /* yacc.c:1646  */
38612     {
38613 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38614 					n->objectType = OBJECT_PROCEDURE;
38615 					n->object = (Node *) (yyvsp[-3].objwithargs);
38616 					n->newowner = (yyvsp[0].rolespec);
38617 					(yyval.node) = (Node *)n;
38618 				}
38619 #line 38620 "gram.c" /* yacc.c:1646  */
38620     break;
38621 
38622   case 1375:
38623 #line 9586 "gram.y" /* yacc.c:1646  */
38624     {
38625 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38626 					n->objectType = OBJECT_ROUTINE;
38627 					n->object = (Node *) (yyvsp[-3].objwithargs);
38628 					n->newowner = (yyvsp[0].rolespec);
38629 					(yyval.node) = (Node *)n;
38630 				}
38631 #line 38632 "gram.c" /* yacc.c:1646  */
38632     break;
38633 
38634   case 1376:
38635 #line 9594 "gram.y" /* yacc.c:1646  */
38636     {
38637 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38638 					n->objectType = OBJECT_SCHEMA;
38639 					n->object = (Node *) makeString((yyvsp[-3].str));
38640 					n->newowner = (yyvsp[0].rolespec);
38641 					(yyval.node) = (Node *)n;
38642 				}
38643 #line 38644 "gram.c" /* yacc.c:1646  */
38644     break;
38645 
38646   case 1377:
38647 #line 9602 "gram.y" /* yacc.c:1646  */
38648     {
38649 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38650 					n->objectType = OBJECT_TYPE;
38651 					n->object = (Node *) (yyvsp[-3].list);
38652 					n->newowner = (yyvsp[0].rolespec);
38653 					(yyval.node) = (Node *)n;
38654 				}
38655 #line 38656 "gram.c" /* yacc.c:1646  */
38656     break;
38657 
38658   case 1378:
38659 #line 9610 "gram.y" /* yacc.c:1646  */
38660     {
38661 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38662 					n->objectType = OBJECT_TABLESPACE;
38663 					n->object = (Node *) makeString((yyvsp[-3].str));
38664 					n->newowner = (yyvsp[0].rolespec);
38665 					(yyval.node) = (Node *)n;
38666 				}
38667 #line 38668 "gram.c" /* yacc.c:1646  */
38668     break;
38669 
38670   case 1379:
38671 #line 9618 "gram.y" /* yacc.c:1646  */
38672     {
38673 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38674 					n->objectType = OBJECT_STATISTIC_EXT;
38675 					n->object = (Node *) (yyvsp[-3].list);
38676 					n->newowner = (yyvsp[0].rolespec);
38677 					(yyval.node) = (Node *)n;
38678 				}
38679 #line 38680 "gram.c" /* yacc.c:1646  */
38680     break;
38681 
38682   case 1380:
38683 #line 9626 "gram.y" /* yacc.c:1646  */
38684     {
38685 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38686 					n->objectType = OBJECT_TSDICTIONARY;
38687 					n->object = (Node *) (yyvsp[-3].list);
38688 					n->newowner = (yyvsp[0].rolespec);
38689 					(yyval.node) = (Node *)n;
38690 				}
38691 #line 38692 "gram.c" /* yacc.c:1646  */
38692     break;
38693 
38694   case 1381:
38695 #line 9634 "gram.y" /* yacc.c:1646  */
38696     {
38697 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38698 					n->objectType = OBJECT_TSCONFIGURATION;
38699 					n->object = (Node *) (yyvsp[-3].list);
38700 					n->newowner = (yyvsp[0].rolespec);
38701 					(yyval.node) = (Node *)n;
38702 				}
38703 #line 38704 "gram.c" /* yacc.c:1646  */
38704     break;
38705 
38706   case 1382:
38707 #line 9642 "gram.y" /* yacc.c:1646  */
38708     {
38709 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38710 					n->objectType = OBJECT_FDW;
38711 					n->object = (Node *) makeString((yyvsp[-3].str));
38712 					n->newowner = (yyvsp[0].rolespec);
38713 					(yyval.node) = (Node *)n;
38714 				}
38715 #line 38716 "gram.c" /* yacc.c:1646  */
38716     break;
38717 
38718   case 1383:
38719 #line 9650 "gram.y" /* yacc.c:1646  */
38720     {
38721 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38722 					n->objectType = OBJECT_FOREIGN_SERVER;
38723 					n->object = (Node *) makeString((yyvsp[-3].str));
38724 					n->newowner = (yyvsp[0].rolespec);
38725 					(yyval.node) = (Node *)n;
38726 				}
38727 #line 38728 "gram.c" /* yacc.c:1646  */
38728     break;
38729 
38730   case 1384:
38731 #line 9658 "gram.y" /* yacc.c:1646  */
38732     {
38733 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38734 					n->objectType = OBJECT_EVENT_TRIGGER;
38735 					n->object = (Node *) makeString((yyvsp[-3].str));
38736 					n->newowner = (yyvsp[0].rolespec);
38737 					(yyval.node) = (Node *)n;
38738 				}
38739 #line 38740 "gram.c" /* yacc.c:1646  */
38740     break;
38741 
38742   case 1385:
38743 #line 9666 "gram.y" /* yacc.c:1646  */
38744     {
38745 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38746 					n->objectType = OBJECT_PUBLICATION;
38747 					n->object = (Node *) makeString((yyvsp[-3].str));
38748 					n->newowner = (yyvsp[0].rolespec);
38749 					(yyval.node) = (Node *)n;
38750 				}
38751 #line 38752 "gram.c" /* yacc.c:1646  */
38752     break;
38753 
38754   case 1386:
38755 #line 9674 "gram.y" /* yacc.c:1646  */
38756     {
38757 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38758 					n->objectType = OBJECT_SUBSCRIPTION;
38759 					n->object = (Node *) makeString((yyvsp[-3].str));
38760 					n->newowner = (yyvsp[0].rolespec);
38761 					(yyval.node) = (Node *)n;
38762 				}
38763 #line 38764 "gram.c" /* yacc.c:1646  */
38764     break;
38765 
38766   case 1387:
38767 #line 9692 "gram.y" /* yacc.c:1646  */
38768     {
38769 					CreatePublicationStmt *n = makeNode(CreatePublicationStmt);
38770 					n->pubname = (yyvsp[-2].str);
38771 					n->options = (yyvsp[0].list);
38772 					if ((yyvsp[-1].node) != NULL)
38773 					{
38774 						/* FOR TABLE */
38775 						if (IsA((yyvsp[-1].node), List))
38776 							n->tables = (List *)(yyvsp[-1].node);
38777 						/* FOR ALL TABLES */
38778 						else
38779 							n->for_all_tables = true;
38780 					}
38781 					(yyval.node) = (Node *)n;
38782 				}
38783 #line 38784 "gram.c" /* yacc.c:1646  */
38784     break;
38785 
38786   case 1388:
38787 #line 9710 "gram.y" /* yacc.c:1646  */
38788     { (yyval.node) = (yyvsp[0].node); }
38789 #line 38790 "gram.c" /* yacc.c:1646  */
38790     break;
38791 
38792   case 1389:
38793 #line 9711 "gram.y" /* yacc.c:1646  */
38794     { (yyval.node) = NULL; }
38795 #line 38796 "gram.c" /* yacc.c:1646  */
38796     break;
38797 
38798   case 1390:
38799 #line 9716 "gram.y" /* yacc.c:1646  */
38800     {
38801 					(yyval.node) = (Node *) (yyvsp[0].list);
38802 				}
38803 #line 38804 "gram.c" /* yacc.c:1646  */
38804     break;
38805 
38806   case 1391:
38807 #line 9720 "gram.y" /* yacc.c:1646  */
38808     {
38809 					(yyval.node) = (Node *) makeInteger(true);
38810 				}
38811 #line 38812 "gram.c" /* yacc.c:1646  */
38812     break;
38813 
38814   case 1392:
38815 #line 9740 "gram.y" /* yacc.c:1646  */
38816     {
38817 					AlterPublicationStmt *n = makeNode(AlterPublicationStmt);
38818 					n->pubname = (yyvsp[-2].str);
38819 					n->options = (yyvsp[0].list);
38820 					(yyval.node) = (Node *)n;
38821 				}
38822 #line 38823 "gram.c" /* yacc.c:1646  */
38823     break;
38824 
38825   case 1393:
38826 #line 9747 "gram.y" /* yacc.c:1646  */
38827     {
38828 					AlterPublicationStmt *n = makeNode(AlterPublicationStmt);
38829 					n->pubname = (yyvsp[-3].str);
38830 					n->tables = (yyvsp[0].list);
38831 					n->tableAction = DEFELEM_ADD;
38832 					(yyval.node) = (Node *)n;
38833 				}
38834 #line 38835 "gram.c" /* yacc.c:1646  */
38835     break;
38836 
38837   case 1394:
38838 #line 9755 "gram.y" /* yacc.c:1646  */
38839     {
38840 					AlterPublicationStmt *n = makeNode(AlterPublicationStmt);
38841 					n->pubname = (yyvsp[-3].str);
38842 					n->tables = (yyvsp[0].list);
38843 					n->tableAction = DEFELEM_SET;
38844 					(yyval.node) = (Node *)n;
38845 				}
38846 #line 38847 "gram.c" /* yacc.c:1646  */
38847     break;
38848 
38849   case 1395:
38850 #line 9763 "gram.y" /* yacc.c:1646  */
38851     {
38852 					AlterPublicationStmt *n = makeNode(AlterPublicationStmt);
38853 					n->pubname = (yyvsp[-3].str);
38854 					n->tables = (yyvsp[0].list);
38855 					n->tableAction = DEFELEM_DROP;
38856 					(yyval.node) = (Node *)n;
38857 				}
38858 #line 38859 "gram.c" /* yacc.c:1646  */
38859     break;
38860 
38861   case 1396:
38862 #line 9780 "gram.y" /* yacc.c:1646  */
38863     {
38864 					CreateSubscriptionStmt *n =
38865 						makeNode(CreateSubscriptionStmt);
38866 					n->subname = (yyvsp[-5].str);
38867 					n->conninfo = (yyvsp[-3].str);
38868 					n->publication = (yyvsp[-1].list);
38869 					n->options = (yyvsp[0].list);
38870 					(yyval.node) = (Node *)n;
38871 				}
38872 #line 38873 "gram.c" /* yacc.c:1646  */
38873     break;
38874 
38875   case 1397:
38876 #line 9793 "gram.y" /* yacc.c:1646  */
38877     {
38878 					(yyval.list) = list_make1((yyvsp[0].value));
38879 				}
38880 #line 38881 "gram.c" /* yacc.c:1646  */
38881     break;
38882 
38883   case 1398:
38884 #line 9797 "gram.y" /* yacc.c:1646  */
38885     {
38886 					(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].value));
38887 				}
38888 #line 38889 "gram.c" /* yacc.c:1646  */
38889     break;
38890 
38891   case 1399:
38892 #line 9803 "gram.y" /* yacc.c:1646  */
38893     { (yyval.value) = makeString((yyvsp[0].str)); }
38894 #line 38895 "gram.c" /* yacc.c:1646  */
38895     break;
38896 
38897   case 1400:
38898 #line 9813 "gram.y" /* yacc.c:1646  */
38899     {
38900 					AlterSubscriptionStmt *n =
38901 						makeNode(AlterSubscriptionStmt);
38902 					n->kind = ALTER_SUBSCRIPTION_OPTIONS;
38903 					n->subname = (yyvsp[-2].str);
38904 					n->options = (yyvsp[0].list);
38905 					(yyval.node) = (Node *)n;
38906 				}
38907 #line 38908 "gram.c" /* yacc.c:1646  */
38908     break;
38909 
38910   case 1401:
38911 #line 9822 "gram.y" /* yacc.c:1646  */
38912     {
38913 					AlterSubscriptionStmt *n =
38914 						makeNode(AlterSubscriptionStmt);
38915 					n->kind = ALTER_SUBSCRIPTION_CONNECTION;
38916 					n->subname = (yyvsp[-2].str);
38917 					n->conninfo = (yyvsp[0].str);
38918 					(yyval.node) = (Node *)n;
38919 				}
38920 #line 38921 "gram.c" /* yacc.c:1646  */
38921     break;
38922 
38923   case 1402:
38924 #line 9831 "gram.y" /* yacc.c:1646  */
38925     {
38926 					AlterSubscriptionStmt *n =
38927 						makeNode(AlterSubscriptionStmt);
38928 					n->kind = ALTER_SUBSCRIPTION_REFRESH;
38929 					n->subname = (yyvsp[-3].str);
38930 					n->options = (yyvsp[0].list);
38931 					(yyval.node) = (Node *)n;
38932 				}
38933 #line 38934 "gram.c" /* yacc.c:1646  */
38934     break;
38935 
38936   case 1403:
38937 #line 9840 "gram.y" /* yacc.c:1646  */
38938     {
38939 					AlterSubscriptionStmt *n =
38940 						makeNode(AlterSubscriptionStmt);
38941 					n->kind = ALTER_SUBSCRIPTION_PUBLICATION;
38942 					n->subname = (yyvsp[-4].str);
38943 					n->publication = (yyvsp[-1].list);
38944 					n->options = (yyvsp[0].list);
38945 					(yyval.node) = (Node *)n;
38946 				}
38947 #line 38948 "gram.c" /* yacc.c:1646  */
38948     break;
38949 
38950   case 1404:
38951 #line 9850 "gram.y" /* yacc.c:1646  */
38952     {
38953 					AlterSubscriptionStmt *n =
38954 						makeNode(AlterSubscriptionStmt);
38955 					n->kind = ALTER_SUBSCRIPTION_ENABLED;
38956 					n->subname = (yyvsp[-1].str);
38957 					n->options = list_make1(makeDefElem("enabled",
38958 											(Node *)makeInteger(true), (yylsp[-3])));
38959 					(yyval.node) = (Node *)n;
38960 				}
38961 #line 38962 "gram.c" /* yacc.c:1646  */
38962     break;
38963 
38964   case 1405:
38965 #line 9860 "gram.y" /* yacc.c:1646  */
38966     {
38967 					AlterSubscriptionStmt *n =
38968 						makeNode(AlterSubscriptionStmt);
38969 					n->kind = ALTER_SUBSCRIPTION_ENABLED;
38970 					n->subname = (yyvsp[-1].str);
38971 					n->options = list_make1(makeDefElem("enabled",
38972 											(Node *)makeInteger(false), (yylsp[-3])));
38973 					(yyval.node) = (Node *)n;
38974 				}
38975 #line 38976 "gram.c" /* yacc.c:1646  */
38976     break;
38977 
38978   case 1406:
38979 #line 9878 "gram.y" /* yacc.c:1646  */
38980     {
38981 					DropSubscriptionStmt *n = makeNode(DropSubscriptionStmt);
38982 					n->subname = (yyvsp[-1].str);
38983 					n->missing_ok = false;
38984 					n->behavior = (yyvsp[0].dbehavior);
38985 					(yyval.node) = (Node *) n;
38986 				}
38987 #line 38988 "gram.c" /* yacc.c:1646  */
38988     break;
38989 
38990   case 1407:
38991 #line 9886 "gram.y" /* yacc.c:1646  */
38992     {
38993 					DropSubscriptionStmt *n = makeNode(DropSubscriptionStmt);
38994 					n->subname = (yyvsp[-1].str);
38995 					n->missing_ok = true;
38996 					n->behavior = (yyvsp[0].dbehavior);
38997 					(yyval.node) = (Node *) n;
38998 				}
38999 #line 39000 "gram.c" /* yacc.c:1646  */
39000     break;
39001 
39002   case 1408:
39003 #line 9904 "gram.y" /* yacc.c:1646  */
39004     {
39005 					RuleStmt *n = makeNode(RuleStmt);
39006 					n->replace = (yyvsp[-11].boolean);
39007 					n->relation = (yyvsp[-4].range);
39008 					n->rulename = (yyvsp[-9].str);
39009 					n->whereClause = (yyvsp[-3].node);
39010 					n->event = (yyvsp[-6].ival);
39011 					n->instead = (yyvsp[-1].boolean);
39012 					n->actions = (yyvsp[0].list);
39013 					(yyval.node) = (Node *)n;
39014 				}
39015 #line 39016 "gram.c" /* yacc.c:1646  */
39016     break;
39017 
39018   case 1409:
39019 #line 9918 "gram.y" /* yacc.c:1646  */
39020     { (yyval.list) = NIL; }
39021 #line 39022 "gram.c" /* yacc.c:1646  */
39022     break;
39023 
39024   case 1410:
39025 #line 9919 "gram.y" /* yacc.c:1646  */
39026     { (yyval.list) = list_make1((yyvsp[0].node)); }
39027 #line 39028 "gram.c" /* yacc.c:1646  */
39028     break;
39029 
39030   case 1411:
39031 #line 9920 "gram.y" /* yacc.c:1646  */
39032     { (yyval.list) = (yyvsp[-1].list); }
39033 #line 39034 "gram.c" /* yacc.c:1646  */
39034     break;
39035 
39036   case 1412:
39037 #line 9926 "gram.y" /* yacc.c:1646  */
39038     { if ((yyvsp[0].node) != NULL)
39039 					(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
39040 				  else
39041 					(yyval.list) = (yyvsp[-2].list);
39042 				}
39043 #line 39044 "gram.c" /* yacc.c:1646  */
39044     break;
39045 
39046   case 1413:
39047 #line 9932 "gram.y" /* yacc.c:1646  */
39048     { if ((yyvsp[0].node) != NULL)
39049 					(yyval.list) = list_make1((yyvsp[0].node));
39050 				  else
39051 					(yyval.list) = NIL;
39052 				}
39053 #line 39054 "gram.c" /* yacc.c:1646  */
39054     break;
39055 
39056   case 1419:
39057 #line 9948 "gram.y" /* yacc.c:1646  */
39058     { (yyval.node) = (yyvsp[0].node); }
39059 #line 39060 "gram.c" /* yacc.c:1646  */
39060     break;
39061 
39062   case 1420:
39063 #line 9949 "gram.y" /* yacc.c:1646  */
39064     { (yyval.node) = NULL; }
39065 #line 39066 "gram.c" /* yacc.c:1646  */
39066     break;
39067 
39068   case 1421:
39069 #line 9952 "gram.y" /* yacc.c:1646  */
39070     { (yyval.ival) = CMD_SELECT; }
39071 #line 39072 "gram.c" /* yacc.c:1646  */
39072     break;
39073 
39074   case 1422:
39075 #line 9953 "gram.y" /* yacc.c:1646  */
39076     { (yyval.ival) = CMD_UPDATE; }
39077 #line 39078 "gram.c" /* yacc.c:1646  */
39078     break;
39079 
39080   case 1423:
39081 #line 9954 "gram.y" /* yacc.c:1646  */
39082     { (yyval.ival) = CMD_DELETE; }
39083 #line 39084 "gram.c" /* yacc.c:1646  */
39084     break;
39085 
39086   case 1424:
39087 #line 9955 "gram.y" /* yacc.c:1646  */
39088     { (yyval.ival) = CMD_INSERT; }
39089 #line 39090 "gram.c" /* yacc.c:1646  */
39090     break;
39091 
39092   case 1425:
39093 #line 9959 "gram.y" /* yacc.c:1646  */
39094     { (yyval.boolean) = true; }
39095 #line 39096 "gram.c" /* yacc.c:1646  */
39096     break;
39097 
39098   case 1426:
39099 #line 9960 "gram.y" /* yacc.c:1646  */
39100     { (yyval.boolean) = false; }
39101 #line 39102 "gram.c" /* yacc.c:1646  */
39102     break;
39103 
39104   case 1427:
39105 #line 9961 "gram.y" /* yacc.c:1646  */
39106     { (yyval.boolean) = false; }
39107 #line 39108 "gram.c" /* yacc.c:1646  */
39108     break;
39109 
39110   case 1428:
39111 #line 9974 "gram.y" /* yacc.c:1646  */
39112     {
39113 					NotifyStmt *n = makeNode(NotifyStmt);
39114 					n->conditionname = (yyvsp[-1].str);
39115 					n->payload = (yyvsp[0].str);
39116 					(yyval.node) = (Node *)n;
39117 				}
39118 #line 39119 "gram.c" /* yacc.c:1646  */
39119     break;
39120 
39121   case 1429:
39122 #line 9983 "gram.y" /* yacc.c:1646  */
39123     { (yyval.str) = (yyvsp[0].str); }
39124 #line 39125 "gram.c" /* yacc.c:1646  */
39125     break;
39126 
39127   case 1430:
39128 #line 9984 "gram.y" /* yacc.c:1646  */
39129     { (yyval.str) = NULL; }
39130 #line 39131 "gram.c" /* yacc.c:1646  */
39131     break;
39132 
39133   case 1431:
39134 #line 9988 "gram.y" /* yacc.c:1646  */
39135     {
39136 					ListenStmt *n = makeNode(ListenStmt);
39137 					n->conditionname = (yyvsp[0].str);
39138 					(yyval.node) = (Node *)n;
39139 				}
39140 #line 39141 "gram.c" /* yacc.c:1646  */
39141     break;
39142 
39143   case 1432:
39144 #line 9997 "gram.y" /* yacc.c:1646  */
39145     {
39146 					UnlistenStmt *n = makeNode(UnlistenStmt);
39147 					n->conditionname = (yyvsp[0].str);
39148 					(yyval.node) = (Node *)n;
39149 				}
39150 #line 39151 "gram.c" /* yacc.c:1646  */
39151     break;
39152 
39153   case 1433:
39154 #line 10003 "gram.y" /* yacc.c:1646  */
39155     {
39156 					UnlistenStmt *n = makeNode(UnlistenStmt);
39157 					n->conditionname = NULL;
39158 					(yyval.node) = (Node *)n;
39159 				}
39160 #line 39161 "gram.c" /* yacc.c:1646  */
39161     break;
39162 
39163   case 1434:
39164 #line 10022 "gram.y" /* yacc.c:1646  */
39165     {
39166 					TransactionStmt *n = makeNode(TransactionStmt);
39167 					n->kind = TRANS_STMT_ROLLBACK;
39168 					n->options = NIL;
39169 					n->chain = (yyvsp[0].boolean);
39170 					(yyval.node) = (Node *)n;
39171 				}
39172 #line 39173 "gram.c" /* yacc.c:1646  */
39173     break;
39174 
39175   case 1435:
39176 #line 10030 "gram.y" /* yacc.c:1646  */
39177     {
39178 					TransactionStmt *n = makeNode(TransactionStmt);
39179 					n->kind = TRANS_STMT_BEGIN;
39180 					n->options = (yyvsp[0].list);
39181 					(yyval.node) = (Node *)n;
39182 				}
39183 #line 39184 "gram.c" /* yacc.c:1646  */
39184     break;
39185 
39186   case 1436:
39187 #line 10037 "gram.y" /* yacc.c:1646  */
39188     {
39189 					TransactionStmt *n = makeNode(TransactionStmt);
39190 					n->kind = TRANS_STMT_START;
39191 					n->options = (yyvsp[0].list);
39192 					(yyval.node) = (Node *)n;
39193 				}
39194 #line 39195 "gram.c" /* yacc.c:1646  */
39195     break;
39196 
39197   case 1437:
39198 #line 10044 "gram.y" /* yacc.c:1646  */
39199     {
39200 					TransactionStmt *n = makeNode(TransactionStmt);
39201 					n->kind = TRANS_STMT_COMMIT;
39202 					n->options = NIL;
39203 					n->chain = (yyvsp[0].boolean);
39204 					(yyval.node) = (Node *)n;
39205 				}
39206 #line 39207 "gram.c" /* yacc.c:1646  */
39207     break;
39208 
39209   case 1438:
39210 #line 10052 "gram.y" /* yacc.c:1646  */
39211     {
39212 					TransactionStmt *n = makeNode(TransactionStmt);
39213 					n->kind = TRANS_STMT_COMMIT;
39214 					n->options = NIL;
39215 					n->chain = (yyvsp[0].boolean);
39216 					(yyval.node) = (Node *)n;
39217 				}
39218 #line 39219 "gram.c" /* yacc.c:1646  */
39219     break;
39220 
39221   case 1439:
39222 #line 10060 "gram.y" /* yacc.c:1646  */
39223     {
39224 					TransactionStmt *n = makeNode(TransactionStmt);
39225 					n->kind = TRANS_STMT_ROLLBACK;
39226 					n->options = NIL;
39227 					n->chain = (yyvsp[0].boolean);
39228 					(yyval.node) = (Node *)n;
39229 				}
39230 #line 39231 "gram.c" /* yacc.c:1646  */
39231     break;
39232 
39233   case 1440:
39234 #line 10068 "gram.y" /* yacc.c:1646  */
39235     {
39236 					TransactionStmt *n = makeNode(TransactionStmt);
39237 					n->kind = TRANS_STMT_SAVEPOINT;
39238 					n->savepoint_name = (yyvsp[0].str);
39239 					(yyval.node) = (Node *)n;
39240 				}
39241 #line 39242 "gram.c" /* yacc.c:1646  */
39242     break;
39243 
39244   case 1441:
39245 #line 10075 "gram.y" /* yacc.c:1646  */
39246     {
39247 					TransactionStmt *n = makeNode(TransactionStmt);
39248 					n->kind = TRANS_STMT_RELEASE;
39249 					n->savepoint_name = (yyvsp[0].str);
39250 					(yyval.node) = (Node *)n;
39251 				}
39252 #line 39253 "gram.c" /* yacc.c:1646  */
39253     break;
39254 
39255   case 1442:
39256 #line 10082 "gram.y" /* yacc.c:1646  */
39257     {
39258 					TransactionStmt *n = makeNode(TransactionStmt);
39259 					n->kind = TRANS_STMT_RELEASE;
39260 					n->savepoint_name = (yyvsp[0].str);
39261 					(yyval.node) = (Node *)n;
39262 				}
39263 #line 39264 "gram.c" /* yacc.c:1646  */
39264     break;
39265 
39266   case 1443:
39267 #line 10089 "gram.y" /* yacc.c:1646  */
39268     {
39269 					TransactionStmt *n = makeNode(TransactionStmt);
39270 					n->kind = TRANS_STMT_ROLLBACK_TO;
39271 					n->savepoint_name = (yyvsp[0].str);
39272 					(yyval.node) = (Node *)n;
39273 				}
39274 #line 39275 "gram.c" /* yacc.c:1646  */
39275     break;
39276 
39277   case 1444:
39278 #line 10096 "gram.y" /* yacc.c:1646  */
39279     {
39280 					TransactionStmt *n = makeNode(TransactionStmt);
39281 					n->kind = TRANS_STMT_ROLLBACK_TO;
39282 					n->savepoint_name = (yyvsp[0].str);
39283 					(yyval.node) = (Node *)n;
39284 				}
39285 #line 39286 "gram.c" /* yacc.c:1646  */
39286     break;
39287 
39288   case 1445:
39289 #line 10103 "gram.y" /* yacc.c:1646  */
39290     {
39291 					TransactionStmt *n = makeNode(TransactionStmt);
39292 					n->kind = TRANS_STMT_PREPARE;
39293 					n->gid = (yyvsp[0].str);
39294 					(yyval.node) = (Node *)n;
39295 				}
39296 #line 39297 "gram.c" /* yacc.c:1646  */
39297     break;
39298 
39299   case 1446:
39300 #line 10110 "gram.y" /* yacc.c:1646  */
39301     {
39302 					TransactionStmt *n = makeNode(TransactionStmt);
39303 					n->kind = TRANS_STMT_COMMIT_PREPARED;
39304 					n->gid = (yyvsp[0].str);
39305 					(yyval.node) = (Node *)n;
39306 				}
39307 #line 39308 "gram.c" /* yacc.c:1646  */
39308     break;
39309 
39310   case 1447:
39311 #line 10117 "gram.y" /* yacc.c:1646  */
39312     {
39313 					TransactionStmt *n = makeNode(TransactionStmt);
39314 					n->kind = TRANS_STMT_ROLLBACK_PREPARED;
39315 					n->gid = (yyvsp[0].str);
39316 					(yyval.node) = (Node *)n;
39317 				}
39318 #line 39319 "gram.c" /* yacc.c:1646  */
39319     break;
39320 
39321   case 1448:
39322 #line 10125 "gram.y" /* yacc.c:1646  */
39323     {}
39324 #line 39325 "gram.c" /* yacc.c:1646  */
39325     break;
39326 
39327   case 1449:
39328 #line 10126 "gram.y" /* yacc.c:1646  */
39329     {}
39330 #line 39331 "gram.c" /* yacc.c:1646  */
39331     break;
39332 
39333   case 1450:
39334 #line 10127 "gram.y" /* yacc.c:1646  */
39335     {}
39336 #line 39337 "gram.c" /* yacc.c:1646  */
39337     break;
39338 
39339   case 1451:
39340 #line 10132 "gram.y" /* yacc.c:1646  */
39341     { (yyval.defelt) = makeDefElem("transaction_isolation",
39342 									   makeStringConst((yyvsp[0].str), (yylsp[0])), (yylsp[-2])); }
39343 #line 39344 "gram.c" /* yacc.c:1646  */
39344     break;
39345 
39346   case 1452:
39347 #line 10135 "gram.y" /* yacc.c:1646  */
39348     { (yyval.defelt) = makeDefElem("transaction_read_only",
39349 									   makeIntConst(true, (yylsp[-1])), (yylsp[-1])); }
39350 #line 39351 "gram.c" /* yacc.c:1646  */
39351     break;
39352 
39353   case 1453:
39354 #line 10138 "gram.y" /* yacc.c:1646  */
39355     { (yyval.defelt) = makeDefElem("transaction_read_only",
39356 									   makeIntConst(false, (yylsp[-1])), (yylsp[-1])); }
39357 #line 39358 "gram.c" /* yacc.c:1646  */
39358     break;
39359 
39360   case 1454:
39361 #line 10141 "gram.y" /* yacc.c:1646  */
39362     { (yyval.defelt) = makeDefElem("transaction_deferrable",
39363 									   makeIntConst(true, (yylsp[0])), (yylsp[0])); }
39364 #line 39365 "gram.c" /* yacc.c:1646  */
39365     break;
39366 
39367   case 1455:
39368 #line 10144 "gram.y" /* yacc.c:1646  */
39369     { (yyval.defelt) = makeDefElem("transaction_deferrable",
39370 									   makeIntConst(false, (yylsp[-1])), (yylsp[-1])); }
39371 #line 39372 "gram.c" /* yacc.c:1646  */
39372     break;
39373 
39374   case 1456:
39375 #line 10151 "gram.y" /* yacc.c:1646  */
39376     { (yyval.list) = list_make1((yyvsp[0].defelt)); }
39377 #line 39378 "gram.c" /* yacc.c:1646  */
39378     break;
39379 
39380   case 1457:
39381 #line 10153 "gram.y" /* yacc.c:1646  */
39382     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
39383 #line 39384 "gram.c" /* yacc.c:1646  */
39384     break;
39385 
39386   case 1458:
39387 #line 10155 "gram.y" /* yacc.c:1646  */
39388     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
39389 #line 39390 "gram.c" /* yacc.c:1646  */
39390     break;
39391 
39392   case 1460:
39393 #line 10161 "gram.y" /* yacc.c:1646  */
39394     { (yyval.list) = NIL; }
39395 #line 39396 "gram.c" /* yacc.c:1646  */
39396     break;
39397 
39398   case 1461:
39399 #line 10165 "gram.y" /* yacc.c:1646  */
39400     { (yyval.boolean) = true; }
39401 #line 39402 "gram.c" /* yacc.c:1646  */
39402     break;
39403 
39404   case 1462:
39405 #line 10166 "gram.y" /* yacc.c:1646  */
39406     { (yyval.boolean) = false; }
39407 #line 39408 "gram.c" /* yacc.c:1646  */
39408     break;
39409 
39410   case 1463:
39411 #line 10167 "gram.y" /* yacc.c:1646  */
39412     { (yyval.boolean) = false; }
39413 #line 39414 "gram.c" /* yacc.c:1646  */
39414     break;
39415 
39416   case 1464:
39417 #line 10181 "gram.y" /* yacc.c:1646  */
39418     {
39419 					ViewStmt *n = makeNode(ViewStmt);
39420 					n->view = (yyvsp[-5].range);
39421 					n->view->relpersistence = (yyvsp[-7].ival);
39422 					n->aliases = (yyvsp[-4].list);
39423 					n->query = (yyvsp[-1].node);
39424 					n->replace = false;
39425 					n->options = (yyvsp[-3].list);
39426 					n->withCheckOption = (yyvsp[0].ival);
39427 					(yyval.node) = (Node *) n;
39428 				}
39429 #line 39430 "gram.c" /* yacc.c:1646  */
39430     break;
39431 
39432   case 1465:
39433 #line 10194 "gram.y" /* yacc.c:1646  */
39434     {
39435 					ViewStmt *n = makeNode(ViewStmt);
39436 					n->view = (yyvsp[-5].range);
39437 					n->view->relpersistence = (yyvsp[-7].ival);
39438 					n->aliases = (yyvsp[-4].list);
39439 					n->query = (yyvsp[-1].node);
39440 					n->replace = true;
39441 					n->options = (yyvsp[-3].list);
39442 					n->withCheckOption = (yyvsp[0].ival);
39443 					(yyval.node) = (Node *) n;
39444 				}
39445 #line 39446 "gram.c" /* yacc.c:1646  */
39446     break;
39447 
39448   case 1466:
39449 #line 10207 "gram.y" /* yacc.c:1646  */
39450     {
39451 					ViewStmt *n = makeNode(ViewStmt);
39452 					n->view = (yyvsp[-7].range);
39453 					n->view->relpersistence = (yyvsp[-10].ival);
39454 					n->aliases = (yyvsp[-5].list);
39455 					n->query = makeRecursiveViewSelect(n->view->relname, n->aliases, (yyvsp[-1].node));
39456 					n->replace = false;
39457 					n->options = (yyvsp[-3].list);
39458 					n->withCheckOption = (yyvsp[0].ival);
39459 					if (n->withCheckOption != NO_CHECK_OPTION)
39460 						ereport(ERROR,
39461 								(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
39462 								 errmsg("WITH CHECK OPTION not supported on recursive views"),
39463 								 parser_errposition((yylsp[0]))));
39464 					(yyval.node) = (Node *) n;
39465 				}
39466 #line 39467 "gram.c" /* yacc.c:1646  */
39467     break;
39468 
39469   case 1467:
39470 #line 10225 "gram.y" /* yacc.c:1646  */
39471     {
39472 					ViewStmt *n = makeNode(ViewStmt);
39473 					n->view = (yyvsp[-7].range);
39474 					n->view->relpersistence = (yyvsp[-10].ival);
39475 					n->aliases = (yyvsp[-5].list);
39476 					n->query = makeRecursiveViewSelect(n->view->relname, n->aliases, (yyvsp[-1].node));
39477 					n->replace = true;
39478 					n->options = (yyvsp[-3].list);
39479 					n->withCheckOption = (yyvsp[0].ival);
39480 					if (n->withCheckOption != NO_CHECK_OPTION)
39481 						ereport(ERROR,
39482 								(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
39483 								 errmsg("WITH CHECK OPTION not supported on recursive views"),
39484 								 parser_errposition((yylsp[0]))));
39485 					(yyval.node) = (Node *) n;
39486 				}
39487 #line 39488 "gram.c" /* yacc.c:1646  */
39488     break;
39489 
39490   case 1468:
39491 #line 10244 "gram.y" /* yacc.c:1646  */
39492     { (yyval.ival) = CASCADED_CHECK_OPTION; }
39493 #line 39494 "gram.c" /* yacc.c:1646  */
39494     break;
39495 
39496   case 1469:
39497 #line 10245 "gram.y" /* yacc.c:1646  */
39498     { (yyval.ival) = CASCADED_CHECK_OPTION; }
39499 #line 39500 "gram.c" /* yacc.c:1646  */
39500     break;
39501 
39502   case 1470:
39503 #line 10246 "gram.y" /* yacc.c:1646  */
39504     { (yyval.ival) = LOCAL_CHECK_OPTION; }
39505 #line 39506 "gram.c" /* yacc.c:1646  */
39506     break;
39507 
39508   case 1471:
39509 #line 10247 "gram.y" /* yacc.c:1646  */
39510     { (yyval.ival) = NO_CHECK_OPTION; }
39511 #line 39512 "gram.c" /* yacc.c:1646  */
39512     break;
39513 
39514   case 1472:
39515 #line 10258 "gram.y" /* yacc.c:1646  */
39516     {
39517 					LoadStmt *n = makeNode(LoadStmt);
39518 					n->filename = (yyvsp[0].str);
39519 					(yyval.node) = (Node *)n;
39520 				}
39521 #line 39522 "gram.c" /* yacc.c:1646  */
39522     break;
39523 
39524   case 1473:
39525 #line 10274 "gram.y" /* yacc.c:1646  */
39526     {
39527 					CreatedbStmt *n = makeNode(CreatedbStmt);
39528 					n->dbname = (yyvsp[-2].str);
39529 					n->options = (yyvsp[0].list);
39530 					(yyval.node) = (Node *)n;
39531 				}
39532 #line 39533 "gram.c" /* yacc.c:1646  */
39533     break;
39534 
39535   case 1474:
39536 #line 10283 "gram.y" /* yacc.c:1646  */
39537     { (yyval.list) = (yyvsp[0].list); }
39538 #line 39539 "gram.c" /* yacc.c:1646  */
39539     break;
39540 
39541   case 1475:
39542 #line 10284 "gram.y" /* yacc.c:1646  */
39543     { (yyval.list) = NIL; }
39544 #line 39545 "gram.c" /* yacc.c:1646  */
39545     break;
39546 
39547   case 1476:
39548 #line 10288 "gram.y" /* yacc.c:1646  */
39549     { (yyval.list) = list_make1((yyvsp[0].defelt)); }
39550 #line 39551 "gram.c" /* yacc.c:1646  */
39551     break;
39552 
39553   case 1477:
39554 #line 10289 "gram.y" /* yacc.c:1646  */
39555     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
39556 #line 39557 "gram.c" /* yacc.c:1646  */
39557     break;
39558 
39559   case 1478:
39560 #line 10294 "gram.y" /* yacc.c:1646  */
39561     {
39562 					(yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *)makeInteger((yyvsp[0].ival)), (yylsp[-2]));
39563 				}
39564 #line 39565 "gram.c" /* yacc.c:1646  */
39565     break;
39566 
39567   case 1479:
39568 #line 10298 "gram.y" /* yacc.c:1646  */
39569     {
39570 					(yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *)makeString((yyvsp[0].str)), (yylsp[-2]));
39571 				}
39572 #line 39573 "gram.c" /* yacc.c:1646  */
39573     break;
39574 
39575   case 1480:
39576 #line 10302 "gram.y" /* yacc.c:1646  */
39577     {
39578 					(yyval.defelt) = makeDefElem((yyvsp[-2].str), NULL, (yylsp[-2]));
39579 				}
39580 #line 39581 "gram.c" /* yacc.c:1646  */
39581     break;
39582 
39583   case 1481:
39584 #line 10319 "gram.y" /* yacc.c:1646  */
39585     { (yyval.str) = (yyvsp[0].str); }
39586 #line 39587 "gram.c" /* yacc.c:1646  */
39587     break;
39588 
39589   case 1482:
39590 #line 10320 "gram.y" /* yacc.c:1646  */
39591     { (yyval.str) = pstrdup("connection_limit"); }
39592 #line 39593 "gram.c" /* yacc.c:1646  */
39593     break;
39594 
39595   case 1483:
39596 #line 10321 "gram.y" /* yacc.c:1646  */
39597     { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
39598 #line 39599 "gram.c" /* yacc.c:1646  */
39599     break;
39600 
39601   case 1484:
39602 #line 10322 "gram.y" /* yacc.c:1646  */
39603     { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
39604 #line 39605 "gram.c" /* yacc.c:1646  */
39605     break;
39606 
39607   case 1485:
39608 #line 10323 "gram.y" /* yacc.c:1646  */
39609     { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
39610 #line 39611 "gram.c" /* yacc.c:1646  */
39611     break;
39612 
39613   case 1486:
39614 #line 10324 "gram.y" /* yacc.c:1646  */
39615     { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
39616 #line 39617 "gram.c" /* yacc.c:1646  */
39617     break;
39618 
39619   case 1487:
39620 #line 10325 "gram.y" /* yacc.c:1646  */
39621     { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
39622 #line 39623 "gram.c" /* yacc.c:1646  */
39623     break;
39624 
39625   case 1488:
39626 #line 10332 "gram.y" /* yacc.c:1646  */
39627     {}
39628 #line 39629 "gram.c" /* yacc.c:1646  */
39629     break;
39630 
39631   case 1489:
39632 #line 10333 "gram.y" /* yacc.c:1646  */
39633     {}
39634 #line 39635 "gram.c" /* yacc.c:1646  */
39635     break;
39636 
39637   case 1490:
39638 #line 10345 "gram.y" /* yacc.c:1646  */
39639     {
39640 					AlterDatabaseStmt *n = makeNode(AlterDatabaseStmt);
39641 					n->dbname = (yyvsp[-2].str);
39642 					n->options = (yyvsp[0].list);
39643 					(yyval.node) = (Node *)n;
39644 				 }
39645 #line 39646 "gram.c" /* yacc.c:1646  */
39646     break;
39647 
39648   case 1491:
39649 #line 10352 "gram.y" /* yacc.c:1646  */
39650     {
39651 					AlterDatabaseStmt *n = makeNode(AlterDatabaseStmt);
39652 					n->dbname = (yyvsp[-1].str);
39653 					n->options = (yyvsp[0].list);
39654 					(yyval.node) = (Node *)n;
39655 				 }
39656 #line 39657 "gram.c" /* yacc.c:1646  */
39657     break;
39658 
39659   case 1492:
39660 #line 10359 "gram.y" /* yacc.c:1646  */
39661     {
39662 					AlterDatabaseStmt *n = makeNode(AlterDatabaseStmt);
39663 					n->dbname = (yyvsp[-3].str);
39664 					n->options = list_make1(makeDefElem("tablespace",
39665 														(Node *)makeString((yyvsp[0].str)), (yylsp[0])));
39666 					(yyval.node) = (Node *)n;
39667 				 }
39668 #line 39669 "gram.c" /* yacc.c:1646  */
39669     break;
39670 
39671   case 1493:
39672 #line 10370 "gram.y" /* yacc.c:1646  */
39673     {
39674 					AlterDatabaseSetStmt *n = makeNode(AlterDatabaseSetStmt);
39675 					n->dbname = (yyvsp[-1].str);
39676 					n->setstmt = (yyvsp[0].vsetstmt);
39677 					(yyval.node) = (Node *)n;
39678 				}
39679 #line 39680 "gram.c" /* yacc.c:1646  */
39680     break;
39681 
39682   case 1494:
39683 #line 10387 "gram.y" /* yacc.c:1646  */
39684     {
39685 					DropdbStmt *n = makeNode(DropdbStmt);
39686 					n->dbname = (yyvsp[0].str);
39687 					n->missing_ok = false;
39688 					n->options = NULL;
39689 					(yyval.node) = (Node *)n;
39690 				}
39691 #line 39692 "gram.c" /* yacc.c:1646  */
39692     break;
39693 
39694   case 1495:
39695 #line 10395 "gram.y" /* yacc.c:1646  */
39696     {
39697 					DropdbStmt *n = makeNode(DropdbStmt);
39698 					n->dbname = (yyvsp[0].str);
39699 					n->missing_ok = true;
39700 					n->options = NULL;
39701 					(yyval.node) = (Node *)n;
39702 				}
39703 #line 39704 "gram.c" /* yacc.c:1646  */
39704     break;
39705 
39706   case 1496:
39707 #line 10403 "gram.y" /* yacc.c:1646  */
39708     {
39709 					DropdbStmt *n = makeNode(DropdbStmt);
39710 					n->dbname = (yyvsp[-4].str);
39711 					n->missing_ok = false;
39712 					n->options = (yyvsp[-1].list);
39713 					(yyval.node) = (Node *)n;
39714 				}
39715 #line 39716 "gram.c" /* yacc.c:1646  */
39716     break;
39717 
39718   case 1497:
39719 #line 10411 "gram.y" /* yacc.c:1646  */
39720     {
39721 					DropdbStmt *n = makeNode(DropdbStmt);
39722 					n->dbname = (yyvsp[-4].str);
39723 					n->missing_ok = true;
39724 					n->options = (yyvsp[-1].list);
39725 					(yyval.node) = (Node *)n;
39726 				}
39727 #line 39728 "gram.c" /* yacc.c:1646  */
39728     break;
39729 
39730   case 1498:
39731 #line 10422 "gram.y" /* yacc.c:1646  */
39732     {
39733 					(yyval.list) = list_make1((Node *) (yyvsp[0].defelt));
39734 				}
39735 #line 39736 "gram.c" /* yacc.c:1646  */
39736     break;
39737 
39738   case 1499:
39739 #line 10426 "gram.y" /* yacc.c:1646  */
39740     {
39741 					(yyval.list) = lappend((yyvsp[-2].list), (Node *) (yyvsp[0].defelt));
39742 				}
39743 #line 39744 "gram.c" /* yacc.c:1646  */
39744     break;
39745 
39746   case 1500:
39747 #line 10437 "gram.y" /* yacc.c:1646  */
39748     {
39749 					(yyval.defelt) = makeDefElem("force", NULL, (yylsp[0]));
39750 				}
39751 #line 39752 "gram.c" /* yacc.c:1646  */
39752     break;
39753 
39754   case 1501:
39755 #line 10449 "gram.y" /* yacc.c:1646  */
39756     {
39757 					AlterCollationStmt *n = makeNode(AlterCollationStmt);
39758 					n->collname = (yyvsp[-2].list);
39759 					(yyval.node) = (Node *)n;
39760 				}
39761 #line 39762 "gram.c" /* yacc.c:1646  */
39762     break;
39763 
39764   case 1502:
39765 #line 10466 "gram.y" /* yacc.c:1646  */
39766     {
39767 					AlterSystemStmt *n = makeNode(AlterSystemStmt);
39768 					n->setstmt = (yyvsp[0].vsetstmt);
39769 					(yyval.node) = (Node *)n;
39770 				}
39771 #line 39772 "gram.c" /* yacc.c:1646  */
39772     break;
39773 
39774   case 1503:
39775 #line 10472 "gram.y" /* yacc.c:1646  */
39776     {
39777 					AlterSystemStmt *n = makeNode(AlterSystemStmt);
39778 					n->setstmt = (yyvsp[0].vsetstmt);
39779 					(yyval.node) = (Node *)n;
39780 				}
39781 #line 39782 "gram.c" /* yacc.c:1646  */
39782     break;
39783 
39784   case 1504:
39785 #line 10488 "gram.y" /* yacc.c:1646  */
39786     {
39787 					CreateDomainStmt *n = makeNode(CreateDomainStmt);
39788 					n->domainname = (yyvsp[-3].list);
39789 					n->typeName = (yyvsp[-1].typnam);
39790 					SplitColQualList((yyvsp[0].list), &n->constraints, &n->collClause,
39791 									 yyscanner);
39792 					(yyval.node) = (Node *)n;
39793 				}
39794 #line 39795 "gram.c" /* yacc.c:1646  */
39795     break;
39796 
39797   case 1505:
39798 #line 10501 "gram.y" /* yacc.c:1646  */
39799     {
39800 					AlterDomainStmt *n = makeNode(AlterDomainStmt);
39801 					n->subtype = 'T';
39802 					n->typeName = (yyvsp[-1].list);
39803 					n->def = (yyvsp[0].node);
39804 					(yyval.node) = (Node *)n;
39805 				}
39806 #line 39807 "gram.c" /* yacc.c:1646  */
39807     break;
39808 
39809   case 1506:
39810 #line 10510 "gram.y" /* yacc.c:1646  */
39811     {
39812 					AlterDomainStmt *n = makeNode(AlterDomainStmt);
39813 					n->subtype = 'N';
39814 					n->typeName = (yyvsp[-3].list);
39815 					(yyval.node) = (Node *)n;
39816 				}
39817 #line 39818 "gram.c" /* yacc.c:1646  */
39818     break;
39819 
39820   case 1507:
39821 #line 10518 "gram.y" /* yacc.c:1646  */
39822     {
39823 					AlterDomainStmt *n = makeNode(AlterDomainStmt);
39824 					n->subtype = 'O';
39825 					n->typeName = (yyvsp[-3].list);
39826 					(yyval.node) = (Node *)n;
39827 				}
39828 #line 39829 "gram.c" /* yacc.c:1646  */
39829     break;
39830 
39831   case 1508:
39832 #line 10526 "gram.y" /* yacc.c:1646  */
39833     {
39834 					AlterDomainStmt *n = makeNode(AlterDomainStmt);
39835 					n->subtype = 'C';
39836 					n->typeName = (yyvsp[-2].list);
39837 					n->def = (yyvsp[0].node);
39838 					(yyval.node) = (Node *)n;
39839 				}
39840 #line 39841 "gram.c" /* yacc.c:1646  */
39841     break;
39842 
39843   case 1509:
39844 #line 10535 "gram.y" /* yacc.c:1646  */
39845     {
39846 					AlterDomainStmt *n = makeNode(AlterDomainStmt);
39847 					n->subtype = 'X';
39848 					n->typeName = (yyvsp[-4].list);
39849 					n->name = (yyvsp[-1].str);
39850 					n->behavior = (yyvsp[0].dbehavior);
39851 					n->missing_ok = false;
39852 					(yyval.node) = (Node *)n;
39853 				}
39854 #line 39855 "gram.c" /* yacc.c:1646  */
39855     break;
39856 
39857   case 1510:
39858 #line 10546 "gram.y" /* yacc.c:1646  */
39859     {
39860 					AlterDomainStmt *n = makeNode(AlterDomainStmt);
39861 					n->subtype = 'X';
39862 					n->typeName = (yyvsp[-6].list);
39863 					n->name = (yyvsp[-1].str);
39864 					n->behavior = (yyvsp[0].dbehavior);
39865 					n->missing_ok = true;
39866 					(yyval.node) = (Node *)n;
39867 				}
39868 #line 39869 "gram.c" /* yacc.c:1646  */
39869     break;
39870 
39871   case 1511:
39872 #line 10557 "gram.y" /* yacc.c:1646  */
39873     {
39874 					AlterDomainStmt *n = makeNode(AlterDomainStmt);
39875 					n->subtype = 'V';
39876 					n->typeName = (yyvsp[-3].list);
39877 					n->name = (yyvsp[0].str);
39878 					(yyval.node) = (Node *)n;
39879 				}
39880 #line 39881 "gram.c" /* yacc.c:1646  */
39881     break;
39882 
39883   case 1512:
39884 #line 10566 "gram.y" /* yacc.c:1646  */
39885     {}
39886 #line 39887 "gram.c" /* yacc.c:1646  */
39887     break;
39888 
39889   case 1513:
39890 #line 10567 "gram.y" /* yacc.c:1646  */
39891     {}
39892 #line 39893 "gram.c" /* yacc.c:1646  */
39893     break;
39894 
39895   case 1514:
39896 #line 10579 "gram.y" /* yacc.c:1646  */
39897     {
39898 					AlterTSDictionaryStmt *n = makeNode(AlterTSDictionaryStmt);
39899 					n->dictname = (yyvsp[-1].list);
39900 					n->options = (yyvsp[0].list);
39901 					(yyval.node) = (Node *)n;
39902 				}
39903 #line 39904 "gram.c" /* yacc.c:1646  */
39904     break;
39905 
39906   case 1515:
39907 #line 10589 "gram.y" /* yacc.c:1646  */
39908     {
39909 					AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
39910 					n->kind = ALTER_TSCONFIG_ADD_MAPPING;
39911 					n->cfgname = (yyvsp[-6].list);
39912 					n->tokentype = (yyvsp[-2].list);
39913 					n->dicts = (yyvsp[0].list);
39914 					n->override = false;
39915 					n->replace = false;
39916 					(yyval.node) = (Node*)n;
39917 				}
39918 #line 39919 "gram.c" /* yacc.c:1646  */
39919     break;
39920 
39921   case 1516:
39922 #line 10600 "gram.y" /* yacc.c:1646  */
39923     {
39924 					AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
39925 					n->kind = ALTER_TSCONFIG_ALTER_MAPPING_FOR_TOKEN;
39926 					n->cfgname = (yyvsp[-6].list);
39927 					n->tokentype = (yyvsp[-2].list);
39928 					n->dicts = (yyvsp[0].list);
39929 					n->override = true;
39930 					n->replace = false;
39931 					(yyval.node) = (Node*)n;
39932 				}
39933 #line 39934 "gram.c" /* yacc.c:1646  */
39934     break;
39935 
39936   case 1517:
39937 #line 10611 "gram.y" /* yacc.c:1646  */
39938     {
39939 					AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
39940 					n->kind = ALTER_TSCONFIG_REPLACE_DICT;
39941 					n->cfgname = (yyvsp[-6].list);
39942 					n->tokentype = NIL;
39943 					n->dicts = list_make2((yyvsp[-2].list),(yyvsp[0].list));
39944 					n->override = false;
39945 					n->replace = true;
39946 					(yyval.node) = (Node*)n;
39947 				}
39948 #line 39949 "gram.c" /* yacc.c:1646  */
39949     break;
39950 
39951   case 1518:
39952 #line 10622 "gram.y" /* yacc.c:1646  */
39953     {
39954 					AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
39955 					n->kind = ALTER_TSCONFIG_REPLACE_DICT_FOR_TOKEN;
39956 					n->cfgname = (yyvsp[-8].list);
39957 					n->tokentype = (yyvsp[-4].list);
39958 					n->dicts = list_make2((yyvsp[-2].list),(yyvsp[0].list));
39959 					n->override = false;
39960 					n->replace = true;
39961 					(yyval.node) = (Node*)n;
39962 				}
39963 #line 39964 "gram.c" /* yacc.c:1646  */
39964     break;
39965 
39966   case 1519:
39967 #line 10633 "gram.y" /* yacc.c:1646  */
39968     {
39969 					AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
39970 					n->kind = ALTER_TSCONFIG_DROP_MAPPING;
39971 					n->cfgname = (yyvsp[-4].list);
39972 					n->tokentype = (yyvsp[0].list);
39973 					n->missing_ok = false;
39974 					(yyval.node) = (Node*)n;
39975 				}
39976 #line 39977 "gram.c" /* yacc.c:1646  */
39977     break;
39978 
39979   case 1520:
39980 #line 10642 "gram.y" /* yacc.c:1646  */
39981     {
39982 					AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
39983 					n->kind = ALTER_TSCONFIG_DROP_MAPPING;
39984 					n->cfgname = (yyvsp[-6].list);
39985 					n->tokentype = (yyvsp[0].list);
39986 					n->missing_ok = true;
39987 					(yyval.node) = (Node*)n;
39988 				}
39989 #line 39990 "gram.c" /* yacc.c:1646  */
39990     break;
39991 
39992   case 1521:
39993 #line 10653 "gram.y" /* yacc.c:1646  */
39994     {}
39995 #line 39996 "gram.c" /* yacc.c:1646  */
39996     break;
39997 
39998   case 1522:
39999 #line 10654 "gram.y" /* yacc.c:1646  */
40000     {}
40001 #line 40002 "gram.c" /* yacc.c:1646  */
40002     break;
40003 
40004   case 1523:
40005 #line 10670 "gram.y" /* yacc.c:1646  */
40006     {
40007 				CreateConversionStmt *n = makeNode(CreateConversionStmt);
40008 				n->conversion_name = (yyvsp[-6].list);
40009 				n->for_encoding_name = (yyvsp[-4].str);
40010 				n->to_encoding_name = (yyvsp[-2].str);
40011 				n->func_name = (yyvsp[0].list);
40012 				n->def = (yyvsp[-8].boolean);
40013 				(yyval.node) = (Node *)n;
40014 			}
40015 #line 40016 "gram.c" /* yacc.c:1646  */
40016     break;
40017 
40018   case 1524:
40019 #line 10692 "gram.y" /* yacc.c:1646  */
40020     {
40021 					ClusterStmt *n = makeNode(ClusterStmt);
40022 					n->relation = (yyvsp[-1].range);
40023 					n->indexname = (yyvsp[0].str);
40024 					n->options = 0;
40025 					if ((yyvsp[-2].boolean))
40026 						n->options |= CLUOPT_VERBOSE;
40027 					(yyval.node) = (Node*)n;
40028 				}
40029 #line 40030 "gram.c" /* yacc.c:1646  */
40030     break;
40031 
40032   case 1525:
40033 #line 10702 "gram.y" /* yacc.c:1646  */
40034     {
40035 					ClusterStmt *n = makeNode(ClusterStmt);
40036 					n->relation = NULL;
40037 					n->indexname = NULL;
40038 					n->options = 0;
40039 					if ((yyvsp[0].boolean))
40040 						n->options |= CLUOPT_VERBOSE;
40041 					(yyval.node) = (Node*)n;
40042 				}
40043 #line 40044 "gram.c" /* yacc.c:1646  */
40044     break;
40045 
40046   case 1526:
40047 #line 10713 "gram.y" /* yacc.c:1646  */
40048     {
40049 					ClusterStmt *n = makeNode(ClusterStmt);
40050 					n->relation = (yyvsp[0].range);
40051 					n->indexname = (yyvsp[-2].str);
40052 					n->options = 0;
40053 					if ((yyvsp[-3].boolean))
40054 						n->options |= CLUOPT_VERBOSE;
40055 					(yyval.node) = (Node*)n;
40056 				}
40057 #line 40058 "gram.c" /* yacc.c:1646  */
40058     break;
40059 
40060   case 1527:
40061 #line 10725 "gram.y" /* yacc.c:1646  */
40062     { (yyval.str) = (yyvsp[0].str); }
40063 #line 40064 "gram.c" /* yacc.c:1646  */
40064     break;
40065 
40066   case 1528:
40067 #line 10726 "gram.y" /* yacc.c:1646  */
40068     { (yyval.str) = NULL; }
40069 #line 40070 "gram.c" /* yacc.c:1646  */
40070     break;
40071 
40072   case 1529:
40073 #line 10739 "gram.y" /* yacc.c:1646  */
40074     {
40075 					VacuumStmt *n = makeNode(VacuumStmt);
40076 					n->options = NIL;
40077 					if ((yyvsp[-4].boolean))
40078 						n->options = lappend(n->options,
40079 											 makeDefElem("full", NULL, (yylsp[-4])));
40080 					if ((yyvsp[-3].boolean))
40081 						n->options = lappend(n->options,
40082 											 makeDefElem("freeze", NULL, (yylsp[-3])));
40083 					if ((yyvsp[-2].boolean))
40084 						n->options = lappend(n->options,
40085 											 makeDefElem("verbose", NULL, (yylsp[-2])));
40086 					if ((yyvsp[-1].boolean))
40087 						n->options = lappend(n->options,
40088 											 makeDefElem("analyze", NULL, (yylsp[-1])));
40089 					n->rels = (yyvsp[0].list);
40090 					n->is_vacuumcmd = true;
40091 					(yyval.node) = (Node *)n;
40092 				}
40093 #line 40094 "gram.c" /* yacc.c:1646  */
40094     break;
40095 
40096   case 1530:
40097 #line 10759 "gram.y" /* yacc.c:1646  */
40098     {
40099 					VacuumStmt *n = makeNode(VacuumStmt);
40100 					n->options = (yyvsp[-2].list);
40101 					n->rels = (yyvsp[0].list);
40102 					n->is_vacuumcmd = true;
40103 					(yyval.node) = (Node *) n;
40104 				}
40105 #line 40106 "gram.c" /* yacc.c:1646  */
40106     break;
40107 
40108   case 1531:
40109 #line 10769 "gram.y" /* yacc.c:1646  */
40110     {
40111 					VacuumStmt *n = makeNode(VacuumStmt);
40112 					n->options = NIL;
40113 					if ((yyvsp[-1].boolean))
40114 						n->options = lappend(n->options,
40115 											 makeDefElem("verbose", NULL, (yylsp[-1])));
40116 					n->rels = (yyvsp[0].list);
40117 					n->is_vacuumcmd = false;
40118 					(yyval.node) = (Node *)n;
40119 				}
40120 #line 40121 "gram.c" /* yacc.c:1646  */
40121     break;
40122 
40123   case 1532:
40124 #line 10780 "gram.y" /* yacc.c:1646  */
40125     {
40126 					VacuumStmt *n = makeNode(VacuumStmt);
40127 					n->options = (yyvsp[-2].list);
40128 					n->rels = (yyvsp[0].list);
40129 					n->is_vacuumcmd = false;
40130 					(yyval.node) = (Node *) n;
40131 				}
40132 #line 40133 "gram.c" /* yacc.c:1646  */
40133     break;
40134 
40135   case 1533:
40136 #line 10791 "gram.y" /* yacc.c:1646  */
40137     {
40138 					(yyval.list) = list_make1((yyvsp[0].defelt));
40139 				}
40140 #line 40141 "gram.c" /* yacc.c:1646  */
40141     break;
40142 
40143   case 1534:
40144 #line 10795 "gram.y" /* yacc.c:1646  */
40145     {
40146 					(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
40147 				}
40148 #line 40149 "gram.c" /* yacc.c:1646  */
40149     break;
40150 
40151   case 1535:
40152 #line 10801 "gram.y" /* yacc.c:1646  */
40153     {}
40154 #line 40155 "gram.c" /* yacc.c:1646  */
40155     break;
40156 
40157   case 1536:
40158 #line 10802 "gram.y" /* yacc.c:1646  */
40159     {}
40160 #line 40161 "gram.c" /* yacc.c:1646  */
40161     break;
40162 
40163   case 1537:
40164 #line 10807 "gram.y" /* yacc.c:1646  */
40165     {
40166 					(yyval.defelt) = makeDefElem((yyvsp[-1].str), (yyvsp[0].node), (yylsp[-1]));
40167 				}
40168 #line 40169 "gram.c" /* yacc.c:1646  */
40169     break;
40170 
40171   case 1538:
40172 #line 10813 "gram.y" /* yacc.c:1646  */
40173     { (yyval.str) = (yyvsp[0].str); }
40174 #line 40175 "gram.c" /* yacc.c:1646  */
40175     break;
40176 
40177   case 1539:
40178 #line 10814 "gram.y" /* yacc.c:1646  */
40179     { (yyval.str) = "analyze"; }
40180 #line 40181 "gram.c" /* yacc.c:1646  */
40181     break;
40182 
40183   case 1540:
40184 #line 10818 "gram.y" /* yacc.c:1646  */
40185     { (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
40186 #line 40187 "gram.c" /* yacc.c:1646  */
40187     break;
40188 
40189   case 1541:
40190 #line 10819 "gram.y" /* yacc.c:1646  */
40191     { (yyval.node) = (Node *) (yyvsp[0].value); }
40192 #line 40193 "gram.c" /* yacc.c:1646  */
40193     break;
40194 
40195   case 1542:
40196 #line 10820 "gram.y" /* yacc.c:1646  */
40197     { (yyval.node) = NULL; }
40198 #line 40199 "gram.c" /* yacc.c:1646  */
40199     break;
40200 
40201   case 1543:
40202 #line 10824 "gram.y" /* yacc.c:1646  */
40203     { (yyval.boolean) = true; }
40204 #line 40205 "gram.c" /* yacc.c:1646  */
40205     break;
40206 
40207   case 1544:
40208 #line 10825 "gram.y" /* yacc.c:1646  */
40209     { (yyval.boolean) = false; }
40210 #line 40211 "gram.c" /* yacc.c:1646  */
40211     break;
40212 
40213   case 1545:
40214 #line 10829 "gram.y" /* yacc.c:1646  */
40215     { (yyval.boolean) = true; }
40216 #line 40217 "gram.c" /* yacc.c:1646  */
40217     break;
40218 
40219   case 1546:
40220 #line 10830 "gram.y" /* yacc.c:1646  */
40221     { (yyval.boolean) = false; }
40222 #line 40223 "gram.c" /* yacc.c:1646  */
40223     break;
40224 
40225   case 1547:
40226 #line 10833 "gram.y" /* yacc.c:1646  */
40227     { (yyval.boolean) = true; }
40228 #line 40229 "gram.c" /* yacc.c:1646  */
40229     break;
40230 
40231   case 1548:
40232 #line 10834 "gram.y" /* yacc.c:1646  */
40233     { (yyval.boolean) = false; }
40234 #line 40235 "gram.c" /* yacc.c:1646  */
40235     break;
40236 
40237   case 1549:
40238 #line 10837 "gram.y" /* yacc.c:1646  */
40239     { (yyval.boolean) = true; }
40240 #line 40241 "gram.c" /* yacc.c:1646  */
40241     break;
40242 
40243   case 1550:
40244 #line 10838 "gram.y" /* yacc.c:1646  */
40245     { (yyval.boolean) = false; }
40246 #line 40247 "gram.c" /* yacc.c:1646  */
40247     break;
40248 
40249   case 1551:
40250 #line 10842 "gram.y" /* yacc.c:1646  */
40251     { (yyval.list) = (yyvsp[-1].list); }
40252 #line 40253 "gram.c" /* yacc.c:1646  */
40253     break;
40254 
40255   case 1552:
40256 #line 10843 "gram.y" /* yacc.c:1646  */
40257     { (yyval.list) = NIL; }
40258 #line 40259 "gram.c" /* yacc.c:1646  */
40259     break;
40260 
40261   case 1553:
40262 #line 10848 "gram.y" /* yacc.c:1646  */
40263     {
40264 					(yyval.node) = (Node *) makeVacuumRelation((yyvsp[-1].range), InvalidOid, (yyvsp[0].list));
40265 				}
40266 #line 40267 "gram.c" /* yacc.c:1646  */
40267     break;
40268 
40269   case 1554:
40270 #line 10855 "gram.y" /* yacc.c:1646  */
40271     { (yyval.list) = list_make1((yyvsp[0].node)); }
40272 #line 40273 "gram.c" /* yacc.c:1646  */
40273     break;
40274 
40275   case 1555:
40276 #line 10857 "gram.y" /* yacc.c:1646  */
40277     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
40278 #line 40279 "gram.c" /* yacc.c:1646  */
40279     break;
40280 
40281   case 1556:
40282 #line 10861 "gram.y" /* yacc.c:1646  */
40283     { (yyval.list) = (yyvsp[0].list); }
40284 #line 40285 "gram.c" /* yacc.c:1646  */
40285     break;
40286 
40287   case 1557:
40288 #line 10862 "gram.y" /* yacc.c:1646  */
40289     { (yyval.list) = NIL; }
40290 #line 40291 "gram.c" /* yacc.c:1646  */
40291     break;
40292 
40293   case 1558:
40294 #line 10876 "gram.y" /* yacc.c:1646  */
40295     {
40296 					ExplainStmt *n = makeNode(ExplainStmt);
40297 					n->query = (yyvsp[0].node);
40298 					n->options = NIL;
40299 					(yyval.node) = (Node *) n;
40300 				}
40301 #line 40302 "gram.c" /* yacc.c:1646  */
40302     break;
40303 
40304   case 1559:
40305 #line 10883 "gram.y" /* yacc.c:1646  */
40306     {
40307 					ExplainStmt *n = makeNode(ExplainStmt);
40308 					n->query = (yyvsp[0].node);
40309 					n->options = list_make1(makeDefElem("analyze", NULL, (yylsp[-2])));
40310 					if ((yyvsp[-1].boolean))
40311 						n->options = lappend(n->options,
40312 											 makeDefElem("verbose", NULL, (yylsp[-1])));
40313 					(yyval.node) = (Node *) n;
40314 				}
40315 #line 40316 "gram.c" /* yacc.c:1646  */
40316     break;
40317 
40318   case 1560:
40319 #line 10893 "gram.y" /* yacc.c:1646  */
40320     {
40321 					ExplainStmt *n = makeNode(ExplainStmt);
40322 					n->query = (yyvsp[0].node);
40323 					n->options = list_make1(makeDefElem("verbose", NULL, (yylsp[-1])));
40324 					(yyval.node) = (Node *) n;
40325 				}
40326 #line 40327 "gram.c" /* yacc.c:1646  */
40327     break;
40328 
40329   case 1561:
40330 #line 10900 "gram.y" /* yacc.c:1646  */
40331     {
40332 					ExplainStmt *n = makeNode(ExplainStmt);
40333 					n->query = (yyvsp[0].node);
40334 					n->options = (yyvsp[-2].list);
40335 					(yyval.node) = (Node *) n;
40336 				}
40337 #line 40338 "gram.c" /* yacc.c:1646  */
40338     break;
40339 
40340   case 1571:
40341 #line 10922 "gram.y" /* yacc.c:1646  */
40342     {
40343 					(yyval.list) = list_make1((yyvsp[0].defelt));
40344 				}
40345 #line 40346 "gram.c" /* yacc.c:1646  */
40346     break;
40347 
40348   case 1572:
40349 #line 10926 "gram.y" /* yacc.c:1646  */
40350     {
40351 					(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
40352 				}
40353 #line 40354 "gram.c" /* yacc.c:1646  */
40354     break;
40355 
40356   case 1573:
40357 #line 10933 "gram.y" /* yacc.c:1646  */
40358     {
40359 					(yyval.defelt) = makeDefElem((yyvsp[-1].str), (yyvsp[0].node), (yylsp[-1]));
40360 				}
40361 #line 40362 "gram.c" /* yacc.c:1646  */
40362     break;
40363 
40364   case 1574:
40365 #line 10939 "gram.y" /* yacc.c:1646  */
40366     { (yyval.str) = (yyvsp[0].str); }
40367 #line 40368 "gram.c" /* yacc.c:1646  */
40368     break;
40369 
40370   case 1575:
40371 #line 10940 "gram.y" /* yacc.c:1646  */
40372     { (yyval.str) = "analyze"; }
40373 #line 40374 "gram.c" /* yacc.c:1646  */
40374     break;
40375 
40376   case 1576:
40377 #line 10944 "gram.y" /* yacc.c:1646  */
40378     { (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
40379 #line 40380 "gram.c" /* yacc.c:1646  */
40380     break;
40381 
40382   case 1577:
40383 #line 10945 "gram.y" /* yacc.c:1646  */
40384     { (yyval.node) = (Node *) (yyvsp[0].value); }
40385 #line 40386 "gram.c" /* yacc.c:1646  */
40386     break;
40387 
40388   case 1578:
40389 #line 10946 "gram.y" /* yacc.c:1646  */
40390     { (yyval.node) = NULL; }
40391 #line 40392 "gram.c" /* yacc.c:1646  */
40392     break;
40393 
40394   case 1579:
40395 #line 10957 "gram.y" /* yacc.c:1646  */
40396     {
40397 					PrepareStmt *n = makeNode(PrepareStmt);
40398 					n->name = (yyvsp[-3].str);
40399 					n->argtypes = (yyvsp[-2].list);
40400 					n->query = (yyvsp[0].node);
40401 					(yyval.node) = (Node *) n;
40402 				}
40403 #line 40404 "gram.c" /* yacc.c:1646  */
40404     break;
40405 
40406   case 1580:
40407 #line 10966 "gram.y" /* yacc.c:1646  */
40408     { (yyval.list) = (yyvsp[-1].list); }
40409 #line 40410 "gram.c" /* yacc.c:1646  */
40410     break;
40411 
40412   case 1581:
40413 #line 10967 "gram.y" /* yacc.c:1646  */
40414     { (yyval.list) = NIL; }
40415 #line 40416 "gram.c" /* yacc.c:1646  */
40416     break;
40417 
40418   case 1586:
40419 #line 10985 "gram.y" /* yacc.c:1646  */
40420     {
40421 					ExecuteStmt *n = makeNode(ExecuteStmt);
40422 					n->name = (yyvsp[-1].str);
40423 					n->params = (yyvsp[0].list);
40424 					(yyval.node) = (Node *) n;
40425 				}
40426 #line 40427 "gram.c" /* yacc.c:1646  */
40427     break;
40428 
40429   case 1587:
40430 #line 10993 "gram.y" /* yacc.c:1646  */
40431     {
40432 					CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
40433 					ExecuteStmt *n = makeNode(ExecuteStmt);
40434 					n->name = (yyvsp[-2].str);
40435 					n->params = (yyvsp[-1].list);
40436 					ctas->query = (Node *) n;
40437 					ctas->into = (yyvsp[-5].into);
40438 					ctas->relkind = OBJECT_TABLE;
40439 					ctas->is_select_into = false;
40440 					ctas->if_not_exists = false;
40441 					/* cram additional flags into the IntoClause */
40442 					(yyvsp[-5].into)->rel->relpersistence = (yyvsp[-7].ival);
40443 					(yyvsp[-5].into)->skipData = !((yyvsp[0].boolean));
40444 					(yyval.node) = (Node *) ctas;
40445 				}
40446 #line 40447 "gram.c" /* yacc.c:1646  */
40447     break;
40448 
40449   case 1588:
40450 #line 11010 "gram.y" /* yacc.c:1646  */
40451     {
40452 					CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
40453 					ExecuteStmt *n = makeNode(ExecuteStmt);
40454 					n->name = (yyvsp[-2].str);
40455 					n->params = (yyvsp[-1].list);
40456 					ctas->query = (Node *) n;
40457 					ctas->into = (yyvsp[-5].into);
40458 					ctas->relkind = OBJECT_TABLE;
40459 					ctas->is_select_into = false;
40460 					ctas->if_not_exists = true;
40461 					/* cram additional flags into the IntoClause */
40462 					(yyvsp[-5].into)->rel->relpersistence = (yyvsp[-10].ival);
40463 					(yyvsp[-5].into)->skipData = !((yyvsp[0].boolean));
40464 					(yyval.node) = (Node *) ctas;
40465 				}
40466 #line 40467 "gram.c" /* yacc.c:1646  */
40467     break;
40468 
40469   case 1589:
40470 #line 11027 "gram.y" /* yacc.c:1646  */
40471     { (yyval.list) = (yyvsp[-1].list); }
40472 #line 40473 "gram.c" /* yacc.c:1646  */
40473     break;
40474 
40475   case 1590:
40476 #line 11028 "gram.y" /* yacc.c:1646  */
40477     { (yyval.list) = NIL; }
40478 #line 40479 "gram.c" /* yacc.c:1646  */
40479     break;
40480 
40481   case 1591:
40482 #line 11039 "gram.y" /* yacc.c:1646  */
40483     {
40484 						DeallocateStmt *n = makeNode(DeallocateStmt);
40485 						n->name = (yyvsp[0].str);
40486 						(yyval.node) = (Node *) n;
40487 					}
40488 #line 40489 "gram.c" /* yacc.c:1646  */
40489     break;
40490 
40491   case 1592:
40492 #line 11045 "gram.y" /* yacc.c:1646  */
40493     {
40494 						DeallocateStmt *n = makeNode(DeallocateStmt);
40495 						n->name = (yyvsp[0].str);
40496 						(yyval.node) = (Node *) n;
40497 					}
40498 #line 40499 "gram.c" /* yacc.c:1646  */
40499     break;
40500 
40501   case 1593:
40502 #line 11051 "gram.y" /* yacc.c:1646  */
40503     {
40504 						DeallocateStmt *n = makeNode(DeallocateStmt);
40505 						n->name = NULL;
40506 						(yyval.node) = (Node *) n;
40507 					}
40508 #line 40509 "gram.c" /* yacc.c:1646  */
40509     break;
40510 
40511   case 1594:
40512 #line 11057 "gram.y" /* yacc.c:1646  */
40513     {
40514 						DeallocateStmt *n = makeNode(DeallocateStmt);
40515 						n->name = NULL;
40516 						(yyval.node) = (Node *) n;
40517 					}
40518 #line 40519 "gram.c" /* yacc.c:1646  */
40519     break;
40520 
40521   case 1595:
40522 #line 11074 "gram.y" /* yacc.c:1646  */
40523     {
40524 					(yyvsp[-2].istmt)->relation = (yyvsp[-3].range);
40525 					(yyvsp[-2].istmt)->onConflictClause = (yyvsp[-1].onconflict);
40526 					(yyvsp[-2].istmt)->returningList = (yyvsp[0].list);
40527 					(yyvsp[-2].istmt)->withClause = (yyvsp[-6].with);
40528 					(yyval.node) = (Node *) (yyvsp[-2].istmt);
40529 				}
40530 #line 40531 "gram.c" /* yacc.c:1646  */
40531     break;
40532 
40533   case 1596:
40534 #line 11091 "gram.y" /* yacc.c:1646  */
40535     {
40536 					(yyval.range) = (yyvsp[0].range);
40537 				}
40538 #line 40539 "gram.c" /* yacc.c:1646  */
40539     break;
40540 
40541   case 1597:
40542 #line 11095 "gram.y" /* yacc.c:1646  */
40543     {
40544 					(yyvsp[-2].range)->alias = makeAlias((yyvsp[0].str), NIL);
40545 					(yyval.range) = (yyvsp[-2].range);
40546 				}
40547 #line 40548 "gram.c" /* yacc.c:1646  */
40548     break;
40549 
40550   case 1598:
40551 #line 11103 "gram.y" /* yacc.c:1646  */
40552     {
40553 					(yyval.istmt) = makeNode(InsertStmt);
40554 					(yyval.istmt)->cols = NIL;
40555 					(yyval.istmt)->selectStmt = (yyvsp[0].node);
40556 				}
40557 #line 40558 "gram.c" /* yacc.c:1646  */
40558     break;
40559 
40560   case 1599:
40561 #line 11109 "gram.y" /* yacc.c:1646  */
40562     {
40563 					(yyval.istmt) = makeNode(InsertStmt);
40564 					(yyval.istmt)->cols = NIL;
40565 					(yyval.istmt)->override = (yyvsp[-2].ival);
40566 					(yyval.istmt)->selectStmt = (yyvsp[0].node);
40567 				}
40568 #line 40569 "gram.c" /* yacc.c:1646  */
40569     break;
40570 
40571   case 1600:
40572 #line 11116 "gram.y" /* yacc.c:1646  */
40573     {
40574 					(yyval.istmt) = makeNode(InsertStmt);
40575 					(yyval.istmt)->cols = (yyvsp[-2].list);
40576 					(yyval.istmt)->selectStmt = (yyvsp[0].node);
40577 				}
40578 #line 40579 "gram.c" /* yacc.c:1646  */
40579     break;
40580 
40581   case 1601:
40582 #line 11122 "gram.y" /* yacc.c:1646  */
40583     {
40584 					(yyval.istmt) = makeNode(InsertStmt);
40585 					(yyval.istmt)->cols = (yyvsp[-5].list);
40586 					(yyval.istmt)->override = (yyvsp[-2].ival);
40587 					(yyval.istmt)->selectStmt = (yyvsp[0].node);
40588 				}
40589 #line 40590 "gram.c" /* yacc.c:1646  */
40590     break;
40591 
40592   case 1602:
40593 #line 11129 "gram.y" /* yacc.c:1646  */
40594     {
40595 					(yyval.istmt) = makeNode(InsertStmt);
40596 					(yyval.istmt)->cols = NIL;
40597 					(yyval.istmt)->selectStmt = NULL;
40598 				}
40599 #line 40600 "gram.c" /* yacc.c:1646  */
40600     break;
40601 
40602   case 1603:
40603 #line 11137 "gram.y" /* yacc.c:1646  */
40604     { (yyval.ival) = OVERRIDING_USER_VALUE; }
40605 #line 40606 "gram.c" /* yacc.c:1646  */
40606     break;
40607 
40608   case 1604:
40609 #line 11138 "gram.y" /* yacc.c:1646  */
40610     { (yyval.ival) = OVERRIDING_SYSTEM_VALUE; }
40611 #line 40612 "gram.c" /* yacc.c:1646  */
40612     break;
40613 
40614   case 1605:
40615 #line 11143 "gram.y" /* yacc.c:1646  */
40616     { (yyval.list) = list_make1((yyvsp[0].target)); }
40617 #line 40618 "gram.c" /* yacc.c:1646  */
40618     break;
40619 
40620   case 1606:
40621 #line 11145 "gram.y" /* yacc.c:1646  */
40622     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].target)); }
40623 #line 40624 "gram.c" /* yacc.c:1646  */
40624     break;
40625 
40626   case 1607:
40627 #line 11150 "gram.y" /* yacc.c:1646  */
40628     {
40629 					(yyval.target) = makeNode(ResTarget);
40630 					(yyval.target)->name = (yyvsp[-1].str);
40631 					(yyval.target)->indirection = check_indirection((yyvsp[0].list), yyscanner);
40632 					(yyval.target)->val = NULL;
40633 					(yyval.target)->location = (yylsp[-1]);
40634 				}
40635 #line 40636 "gram.c" /* yacc.c:1646  */
40636     break;
40637 
40638   case 1608:
40639 #line 11161 "gram.y" /* yacc.c:1646  */
40640     {
40641 					(yyval.onconflict) = makeNode(OnConflictClause);
40642 					(yyval.onconflict)->action = ONCONFLICT_UPDATE;
40643 					(yyval.onconflict)->infer = (yyvsp[-5].infer);
40644 					(yyval.onconflict)->targetList = (yyvsp[-1].list);
40645 					(yyval.onconflict)->whereClause = (yyvsp[0].node);
40646 					(yyval.onconflict)->location = (yylsp[-7]);
40647 				}
40648 #line 40649 "gram.c" /* yacc.c:1646  */
40649     break;
40650 
40651   case 1609:
40652 #line 11171 "gram.y" /* yacc.c:1646  */
40653     {
40654 					(yyval.onconflict) = makeNode(OnConflictClause);
40655 					(yyval.onconflict)->action = ONCONFLICT_NOTHING;
40656 					(yyval.onconflict)->infer = (yyvsp[-2].infer);
40657 					(yyval.onconflict)->targetList = NIL;
40658 					(yyval.onconflict)->whereClause = NULL;
40659 					(yyval.onconflict)->location = (yylsp[-4]);
40660 				}
40661 #line 40662 "gram.c" /* yacc.c:1646  */
40662     break;
40663 
40664   case 1610:
40665 #line 11180 "gram.y" /* yacc.c:1646  */
40666     {
40667 					(yyval.onconflict) = NULL;
40668 				}
40669 #line 40670 "gram.c" /* yacc.c:1646  */
40670     break;
40671 
40672   case 1611:
40673 #line 11187 "gram.y" /* yacc.c:1646  */
40674     {
40675 					(yyval.infer) = makeNode(InferClause);
40676 					(yyval.infer)->indexElems = (yyvsp[-2].list);
40677 					(yyval.infer)->whereClause = (yyvsp[0].node);
40678 					(yyval.infer)->conname = NULL;
40679 					(yyval.infer)->location = (yylsp[-3]);
40680 				}
40681 #line 40682 "gram.c" /* yacc.c:1646  */
40682     break;
40683 
40684   case 1612:
40685 #line 11196 "gram.y" /* yacc.c:1646  */
40686     {
40687 					(yyval.infer) = makeNode(InferClause);
40688 					(yyval.infer)->indexElems = NIL;
40689 					(yyval.infer)->whereClause = NULL;
40690 					(yyval.infer)->conname = (yyvsp[0].str);
40691 					(yyval.infer)->location = (yylsp[-2]);
40692 				}
40693 #line 40694 "gram.c" /* yacc.c:1646  */
40694     break;
40695 
40696   case 1613:
40697 #line 11204 "gram.y" /* yacc.c:1646  */
40698     {
40699 					(yyval.infer) = NULL;
40700 				}
40701 #line 40702 "gram.c" /* yacc.c:1646  */
40702     break;
40703 
40704   case 1614:
40705 #line 11210 "gram.y" /* yacc.c:1646  */
40706     { (yyval.list) = (yyvsp[0].list); }
40707 #line 40708 "gram.c" /* yacc.c:1646  */
40708     break;
40709 
40710   case 1615:
40711 #line 11211 "gram.y" /* yacc.c:1646  */
40712     { (yyval.list) = NIL; }
40713 #line 40714 "gram.c" /* yacc.c:1646  */
40714     break;
40715 
40716   case 1616:
40717 #line 11224 "gram.y" /* yacc.c:1646  */
40718     {
40719 					DeleteStmt *n = makeNode(DeleteStmt);
40720 					n->relation = (yyvsp[-3].range);
40721 					n->usingClause = (yyvsp[-2].list);
40722 					n->whereClause = (yyvsp[-1].node);
40723 					n->returningList = (yyvsp[0].list);
40724 					n->withClause = (yyvsp[-6].with);
40725 					(yyval.node) = (Node *)n;
40726 				}
40727 #line 40728 "gram.c" /* yacc.c:1646  */
40728     break;
40729 
40730   case 1617:
40731 #line 11236 "gram.y" /* yacc.c:1646  */
40732     { (yyval.list) = (yyvsp[0].list); }
40733 #line 40734 "gram.c" /* yacc.c:1646  */
40734     break;
40735 
40736   case 1618:
40737 #line 11237 "gram.y" /* yacc.c:1646  */
40738     { (yyval.list) = NIL; }
40739 #line 40740 "gram.c" /* yacc.c:1646  */
40740     break;
40741 
40742   case 1619:
40743 #line 11249 "gram.y" /* yacc.c:1646  */
40744     {
40745 					LockStmt *n = makeNode(LockStmt);
40746 
40747 					n->relations = (yyvsp[-2].list);
40748 					n->mode = (yyvsp[-1].ival);
40749 					n->nowait = (yyvsp[0].boolean);
40750 					(yyval.node) = (Node *)n;
40751 				}
40752 #line 40753 "gram.c" /* yacc.c:1646  */
40753     break;
40754 
40755   case 1620:
40756 #line 11259 "gram.y" /* yacc.c:1646  */
40757     { (yyval.ival) = (yyvsp[-1].ival); }
40758 #line 40759 "gram.c" /* yacc.c:1646  */
40759     break;
40760 
40761   case 1621:
40762 #line 11260 "gram.y" /* yacc.c:1646  */
40763     { (yyval.ival) = AccessExclusiveLock; }
40764 #line 40765 "gram.c" /* yacc.c:1646  */
40765     break;
40766 
40767   case 1622:
40768 #line 11263 "gram.y" /* yacc.c:1646  */
40769     { (yyval.ival) = AccessShareLock; }
40770 #line 40771 "gram.c" /* yacc.c:1646  */
40771     break;
40772 
40773   case 1623:
40774 #line 11264 "gram.y" /* yacc.c:1646  */
40775     { (yyval.ival) = RowShareLock; }
40776 #line 40777 "gram.c" /* yacc.c:1646  */
40777     break;
40778 
40779   case 1624:
40780 #line 11265 "gram.y" /* yacc.c:1646  */
40781     { (yyval.ival) = RowExclusiveLock; }
40782 #line 40783 "gram.c" /* yacc.c:1646  */
40783     break;
40784 
40785   case 1625:
40786 #line 11266 "gram.y" /* yacc.c:1646  */
40787     { (yyval.ival) = ShareUpdateExclusiveLock; }
40788 #line 40789 "gram.c" /* yacc.c:1646  */
40789     break;
40790 
40791   case 1626:
40792 #line 11267 "gram.y" /* yacc.c:1646  */
40793     { (yyval.ival) = ShareLock; }
40794 #line 40795 "gram.c" /* yacc.c:1646  */
40795     break;
40796 
40797   case 1627:
40798 #line 11268 "gram.y" /* yacc.c:1646  */
40799     { (yyval.ival) = ShareRowExclusiveLock; }
40800 #line 40801 "gram.c" /* yacc.c:1646  */
40801     break;
40802 
40803   case 1628:
40804 #line 11269 "gram.y" /* yacc.c:1646  */
40805     { (yyval.ival) = ExclusiveLock; }
40806 #line 40807 "gram.c" /* yacc.c:1646  */
40807     break;
40808 
40809   case 1629:
40810 #line 11270 "gram.y" /* yacc.c:1646  */
40811     { (yyval.ival) = AccessExclusiveLock; }
40812 #line 40813 "gram.c" /* yacc.c:1646  */
40813     break;
40814 
40815   case 1630:
40816 #line 11273 "gram.y" /* yacc.c:1646  */
40817     { (yyval.boolean) = true; }
40818 #line 40819 "gram.c" /* yacc.c:1646  */
40819     break;
40820 
40821   case 1631:
40822 #line 11274 "gram.y" /* yacc.c:1646  */
40823     { (yyval.boolean) = false; }
40824 #line 40825 "gram.c" /* yacc.c:1646  */
40825     break;
40826 
40827   case 1632:
40828 #line 11278 "gram.y" /* yacc.c:1646  */
40829     { (yyval.ival) = LockWaitError; }
40830 #line 40831 "gram.c" /* yacc.c:1646  */
40831     break;
40832 
40833   case 1633:
40834 #line 11279 "gram.y" /* yacc.c:1646  */
40835     { (yyval.ival) = LockWaitSkip; }
40836 #line 40837 "gram.c" /* yacc.c:1646  */
40837     break;
40838 
40839   case 1634:
40840 #line 11280 "gram.y" /* yacc.c:1646  */
40841     { (yyval.ival) = LockWaitBlock; }
40842 #line 40843 "gram.c" /* yacc.c:1646  */
40843     break;
40844 
40845   case 1635:
40846 #line 11296 "gram.y" /* yacc.c:1646  */
40847     {
40848 					UpdateStmt *n = makeNode(UpdateStmt);
40849 					n->relation = (yyvsp[-5].range);
40850 					n->targetList = (yyvsp[-3].list);
40851 					n->fromClause = (yyvsp[-2].list);
40852 					n->whereClause = (yyvsp[-1].node);
40853 					n->returningList = (yyvsp[0].list);
40854 					n->withClause = (yyvsp[-7].with);
40855 					(yyval.node) = (Node *)n;
40856 				}
40857 #line 40858 "gram.c" /* yacc.c:1646  */
40858     break;
40859 
40860   case 1636:
40861 #line 11308 "gram.y" /* yacc.c:1646  */
40862     { (yyval.list) = (yyvsp[0].list); }
40863 #line 40864 "gram.c" /* yacc.c:1646  */
40864     break;
40865 
40866   case 1637:
40867 #line 11309 "gram.y" /* yacc.c:1646  */
40868     { (yyval.list) = list_concat((yyvsp[-2].list),(yyvsp[0].list)); }
40869 #line 40870 "gram.c" /* yacc.c:1646  */
40870     break;
40871 
40872   case 1638:
40873 #line 11314 "gram.y" /* yacc.c:1646  */
40874     {
40875 					(yyvsp[-2].target)->val = (Node *) (yyvsp[0].node);
40876 					(yyval.list) = list_make1((yyvsp[-2].target));
40877 				}
40878 #line 40879 "gram.c" /* yacc.c:1646  */
40879     break;
40880 
40881   case 1639:
40882 #line 11319 "gram.y" /* yacc.c:1646  */
40883     {
40884 					int ncolumns = list_length((yyvsp[-3].list));
40885 					int i = 1;
40886 					ListCell *col_cell;
40887 
40888 					/* Create a MultiAssignRef source for each target */
40889 					foreach(col_cell, (yyvsp[-3].list))
40890 					{
40891 						ResTarget *res_col = (ResTarget *) lfirst(col_cell);
40892 						MultiAssignRef *r = makeNode(MultiAssignRef);
40893 
40894 						r->source = (Node *) (yyvsp[0].node);
40895 						r->colno = i;
40896 						r->ncolumns = ncolumns;
40897 						res_col->val = (Node *) r;
40898 						i++;
40899 					}
40900 
40901 					(yyval.list) = (yyvsp[-3].list);
40902 				}
40903 #line 40904 "gram.c" /* yacc.c:1646  */
40904     break;
40905 
40906   case 1640:
40907 #line 11343 "gram.y" /* yacc.c:1646  */
40908     {
40909 					(yyval.target) = makeNode(ResTarget);
40910 					(yyval.target)->name = (yyvsp[-1].str);
40911 					(yyval.target)->indirection = check_indirection((yyvsp[0].list), yyscanner);
40912 					(yyval.target)->val = NULL;	/* upper production sets this */
40913 					(yyval.target)->location = (yylsp[-1]);
40914 				}
40915 #line 40916 "gram.c" /* yacc.c:1646  */
40916     break;
40917 
40918   case 1641:
40919 #line 11353 "gram.y" /* yacc.c:1646  */
40920     { (yyval.list) = list_make1((yyvsp[0].target)); }
40921 #line 40922 "gram.c" /* yacc.c:1646  */
40922     break;
40923 
40924   case 1642:
40925 #line 11354 "gram.y" /* yacc.c:1646  */
40926     { (yyval.list) = lappend((yyvsp[-2].list),(yyvsp[0].target)); }
40927 #line 40928 "gram.c" /* yacc.c:1646  */
40928     break;
40929 
40930   case 1643:
40931 #line 11365 "gram.y" /* yacc.c:1646  */
40932     {
40933 					DeclareCursorStmt *n = makeNode(DeclareCursorStmt);
40934 					n->portalname = (yyvsp[-5].str);
40935 					/* currently we always set FAST_PLAN option */
40936 					n->options = (yyvsp[-4].ival) | (yyvsp[-2].ival) | CURSOR_OPT_FAST_PLAN;
40937 					n->query = (yyvsp[0].node);
40938 					(yyval.node) = (Node *)n;
40939 				}
40940 #line 40941 "gram.c" /* yacc.c:1646  */
40941     break;
40942 
40943   case 1644:
40944 #line 11375 "gram.y" /* yacc.c:1646  */
40945     { (yyval.str) = (yyvsp[0].str); }
40946 #line 40947 "gram.c" /* yacc.c:1646  */
40947     break;
40948 
40949   case 1645:
40950 #line 11378 "gram.y" /* yacc.c:1646  */
40951     { (yyval.ival) = 0; }
40952 #line 40953 "gram.c" /* yacc.c:1646  */
40953     break;
40954 
40955   case 1646:
40956 #line 11379 "gram.y" /* yacc.c:1646  */
40957     { (yyval.ival) = (yyvsp[-2].ival) | CURSOR_OPT_NO_SCROLL; }
40958 #line 40959 "gram.c" /* yacc.c:1646  */
40959     break;
40960 
40961   case 1647:
40962 #line 11380 "gram.y" /* yacc.c:1646  */
40963     { (yyval.ival) = (yyvsp[-1].ival) | CURSOR_OPT_SCROLL; }
40964 #line 40965 "gram.c" /* yacc.c:1646  */
40965     break;
40966 
40967   case 1648:
40968 #line 11381 "gram.y" /* yacc.c:1646  */
40969     { (yyval.ival) = (yyvsp[-1].ival) | CURSOR_OPT_BINARY; }
40970 #line 40971 "gram.c" /* yacc.c:1646  */
40971     break;
40972 
40973   case 1649:
40974 #line 11382 "gram.y" /* yacc.c:1646  */
40975     { (yyval.ival) = (yyvsp[-1].ival) | CURSOR_OPT_INSENSITIVE; }
40976 #line 40977 "gram.c" /* yacc.c:1646  */
40977     break;
40978 
40979   case 1650:
40980 #line 11385 "gram.y" /* yacc.c:1646  */
40981     { (yyval.ival) = 0; }
40982 #line 40983 "gram.c" /* yacc.c:1646  */
40983     break;
40984 
40985   case 1651:
40986 #line 11386 "gram.y" /* yacc.c:1646  */
40987     { (yyval.ival) = CURSOR_OPT_HOLD; }
40988 #line 40989 "gram.c" /* yacc.c:1646  */
40989     break;
40990 
40991   case 1652:
40992 #line 11387 "gram.y" /* yacc.c:1646  */
40993     { (yyval.ival) = 0; }
40994 #line 40995 "gram.c" /* yacc.c:1646  */
40995     break;
40996 
40997   case 1655:
40998 #line 11440 "gram.y" /* yacc.c:1646  */
40999     { (yyval.node) = (yyvsp[-1].node); }
41000 #line 41001 "gram.c" /* yacc.c:1646  */
41001     break;
41002 
41003   case 1656:
41004 #line 11441 "gram.y" /* yacc.c:1646  */
41005     { (yyval.node) = (yyvsp[-1].node); }
41006 #line 41007 "gram.c" /* yacc.c:1646  */
41007     break;
41008 
41009   case 1657:
41010 #line 11456 "gram.y" /* yacc.c:1646  */
41011     { (yyval.node) = (yyvsp[0].node); }
41012 #line 41013 "gram.c" /* yacc.c:1646  */
41013     break;
41014 
41015   case 1658:
41016 #line 11458 "gram.y" /* yacc.c:1646  */
41017     {
41018 					insertSelectOptions((SelectStmt *) (yyvsp[-1].node), (yyvsp[0].list), NIL,
41019 										NULL, NULL,
41020 										yyscanner);
41021 					(yyval.node) = (yyvsp[-1].node);
41022 				}
41023 #line 41024 "gram.c" /* yacc.c:1646  */
41024     break;
41025 
41026   case 1659:
41027 #line 11465 "gram.y" /* yacc.c:1646  */
41028     {
41029 					insertSelectOptions((SelectStmt *) (yyvsp[-3].node), (yyvsp[-2].list), (yyvsp[-1].list),
41030 										(yyvsp[0].selectlimit),
41031 										NULL,
41032 										yyscanner);
41033 					(yyval.node) = (yyvsp[-3].node);
41034 				}
41035 #line 41036 "gram.c" /* yacc.c:1646  */
41036     break;
41037 
41038   case 1660:
41039 #line 11473 "gram.y" /* yacc.c:1646  */
41040     {
41041 					insertSelectOptions((SelectStmt *) (yyvsp[-3].node), (yyvsp[-2].list), (yyvsp[0].list),
41042 										(yyvsp[-1].selectlimit),
41043 										NULL,
41044 										yyscanner);
41045 					(yyval.node) = (yyvsp[-3].node);
41046 				}
41047 #line 41048 "gram.c" /* yacc.c:1646  */
41048     break;
41049 
41050   case 1661:
41051 #line 11481 "gram.y" /* yacc.c:1646  */
41052     {
41053 					insertSelectOptions((SelectStmt *) (yyvsp[0].node), NULL, NIL,
41054 										NULL,
41055 										(yyvsp[-1].with),
41056 										yyscanner);
41057 					(yyval.node) = (yyvsp[0].node);
41058 				}
41059 #line 41060 "gram.c" /* yacc.c:1646  */
41060     break;
41061 
41062   case 1662:
41063 #line 11489 "gram.y" /* yacc.c:1646  */
41064     {
41065 					insertSelectOptions((SelectStmt *) (yyvsp[-1].node), (yyvsp[0].list), NIL,
41066 										NULL,
41067 										(yyvsp[-2].with),
41068 										yyscanner);
41069 					(yyval.node) = (yyvsp[-1].node);
41070 				}
41071 #line 41072 "gram.c" /* yacc.c:1646  */
41072     break;
41073 
41074   case 1663:
41075 #line 11497 "gram.y" /* yacc.c:1646  */
41076     {
41077 					insertSelectOptions((SelectStmt *) (yyvsp[-3].node), (yyvsp[-2].list), (yyvsp[-1].list),
41078 										(yyvsp[0].selectlimit),
41079 										(yyvsp[-4].with),
41080 										yyscanner);
41081 					(yyval.node) = (yyvsp[-3].node);
41082 				}
41083 #line 41084 "gram.c" /* yacc.c:1646  */
41084     break;
41085 
41086   case 1664:
41087 #line 11505 "gram.y" /* yacc.c:1646  */
41088     {
41089 					insertSelectOptions((SelectStmt *) (yyvsp[-3].node), (yyvsp[-2].list), (yyvsp[0].list),
41090 										(yyvsp[-1].selectlimit),
41091 										(yyvsp[-4].with),
41092 										yyscanner);
41093 					(yyval.node) = (yyvsp[-3].node);
41094 				}
41095 #line 41096 "gram.c" /* yacc.c:1646  */
41096     break;
41097 
41098   case 1665:
41099 #line 11515 "gram.y" /* yacc.c:1646  */
41100     { (yyval.node) = (yyvsp[0].node); }
41101 #line 41102 "gram.c" /* yacc.c:1646  */
41102     break;
41103 
41104   case 1666:
41105 #line 11516 "gram.y" /* yacc.c:1646  */
41106     { (yyval.node) = (yyvsp[0].node); }
41107 #line 41108 "gram.c" /* yacc.c:1646  */
41108     break;
41109 
41110   case 1667:
41111 #line 11546 "gram.y" /* yacc.c:1646  */
41112     {
41113 					SelectStmt *n = makeNode(SelectStmt);
41114 					n->targetList = (yyvsp[-6].list);
41115 					n->intoClause = (yyvsp[-5].into);
41116 					n->fromClause = (yyvsp[-4].list);
41117 					n->whereClause = (yyvsp[-3].node);
41118 					n->groupClause = (yyvsp[-2].list);
41119 					n->havingClause = (yyvsp[-1].node);
41120 					n->windowClause = (yyvsp[0].list);
41121 					(yyval.node) = (Node *)n;
41122 				}
41123 #line 41124 "gram.c" /* yacc.c:1646  */
41124     break;
41125 
41126   case 1668:
41127 #line 11560 "gram.y" /* yacc.c:1646  */
41128     {
41129 					SelectStmt *n = makeNode(SelectStmt);
41130 					n->distinctClause = (yyvsp[-7].list);
41131 					n->targetList = (yyvsp[-6].list);
41132 					n->intoClause = (yyvsp[-5].into);
41133 					n->fromClause = (yyvsp[-4].list);
41134 					n->whereClause = (yyvsp[-3].node);
41135 					n->groupClause = (yyvsp[-2].list);
41136 					n->havingClause = (yyvsp[-1].node);
41137 					n->windowClause = (yyvsp[0].list);
41138 					(yyval.node) = (Node *)n;
41139 				}
41140 #line 41141 "gram.c" /* yacc.c:1646  */
41141     break;
41142 
41143   case 1669:
41144 #line 11572 "gram.y" /* yacc.c:1646  */
41145     { (yyval.node) = (yyvsp[0].node); }
41146 #line 41147 "gram.c" /* yacc.c:1646  */
41147     break;
41148 
41149   case 1670:
41150 #line 11574 "gram.y" /* yacc.c:1646  */
41151     {
41152 					/* same as SELECT * FROM relation_expr */
41153 					ColumnRef *cr = makeNode(ColumnRef);
41154 					ResTarget *rt = makeNode(ResTarget);
41155 					SelectStmt *n = makeNode(SelectStmt);
41156 
41157 					cr->fields = list_make1(makeNode(A_Star));
41158 					cr->location = -1;
41159 
41160 					rt->name = NULL;
41161 					rt->indirection = NIL;
41162 					rt->val = (Node *)cr;
41163 					rt->location = -1;
41164 
41165 					n->targetList = list_make1(rt);
41166 					n->fromClause = list_make1((yyvsp[0].range));
41167 					(yyval.node) = (Node *)n;
41168 				}
41169 #line 41170 "gram.c" /* yacc.c:1646  */
41170     break;
41171 
41172   case 1671:
41173 #line 11593 "gram.y" /* yacc.c:1646  */
41174     {
41175 					(yyval.node) = makeSetOp(SETOP_UNION, (yyvsp[-1].boolean), (yyvsp[-3].node), (yyvsp[0].node));
41176 				}
41177 #line 41178 "gram.c" /* yacc.c:1646  */
41178     break;
41179 
41180   case 1672:
41181 #line 11597 "gram.y" /* yacc.c:1646  */
41182     {
41183 					(yyval.node) = makeSetOp(SETOP_INTERSECT, (yyvsp[-1].boolean), (yyvsp[-3].node), (yyvsp[0].node));
41184 				}
41185 #line 41186 "gram.c" /* yacc.c:1646  */
41186     break;
41187 
41188   case 1673:
41189 #line 11601 "gram.y" /* yacc.c:1646  */
41190     {
41191 					(yyval.node) = makeSetOp(SETOP_EXCEPT, (yyvsp[-1].boolean), (yyvsp[-3].node), (yyvsp[0].node));
41192 				}
41193 #line 41194 "gram.c" /* yacc.c:1646  */
41194     break;
41195 
41196   case 1674:
41197 #line 11618 "gram.y" /* yacc.c:1646  */
41198     {
41199 				(yyval.with) = makeNode(WithClause);
41200 				(yyval.with)->ctes = (yyvsp[0].list);
41201 				(yyval.with)->recursive = false;
41202 				(yyval.with)->location = (yylsp[-1]);
41203 			}
41204 #line 41205 "gram.c" /* yacc.c:1646  */
41205     break;
41206 
41207   case 1675:
41208 #line 11625 "gram.y" /* yacc.c:1646  */
41209     {
41210 				(yyval.with) = makeNode(WithClause);
41211 				(yyval.with)->ctes = (yyvsp[0].list);
41212 				(yyval.with)->recursive = false;
41213 				(yyval.with)->location = (yylsp[-1]);
41214 			}
41215 #line 41216 "gram.c" /* yacc.c:1646  */
41216     break;
41217 
41218   case 1676:
41219 #line 11632 "gram.y" /* yacc.c:1646  */
41220     {
41221 				(yyval.with) = makeNode(WithClause);
41222 				(yyval.with)->ctes = (yyvsp[0].list);
41223 				(yyval.with)->recursive = true;
41224 				(yyval.with)->location = (yylsp[-2]);
41225 			}
41226 #line 41227 "gram.c" /* yacc.c:1646  */
41227     break;
41228 
41229   case 1677:
41230 #line 11641 "gram.y" /* yacc.c:1646  */
41231     { (yyval.list) = list_make1((yyvsp[0].node)); }
41232 #line 41233 "gram.c" /* yacc.c:1646  */
41233     break;
41234 
41235   case 1678:
41236 #line 11642 "gram.y" /* yacc.c:1646  */
41237     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
41238 #line 41239 "gram.c" /* yacc.c:1646  */
41239     break;
41240 
41241   case 1679:
41242 #line 11646 "gram.y" /* yacc.c:1646  */
41243     {
41244 				CommonTableExpr *n = makeNode(CommonTableExpr);
41245 				n->ctename = (yyvsp[-6].str);
41246 				n->aliascolnames = (yyvsp[-5].list);
41247 				n->ctematerialized = (yyvsp[-3].ival);
41248 				n->ctequery = (yyvsp[-1].node);
41249 				n->location = (yylsp[-6]);
41250 				(yyval.node) = (Node *) n;
41251 			}
41252 #line 41253 "gram.c" /* yacc.c:1646  */
41253     break;
41254 
41255   case 1680:
41256 #line 11658 "gram.y" /* yacc.c:1646  */
41257     { (yyval.ival) = CTEMaterializeAlways; }
41258 #line 41259 "gram.c" /* yacc.c:1646  */
41259     break;
41260 
41261   case 1681:
41262 #line 11659 "gram.y" /* yacc.c:1646  */
41263     { (yyval.ival) = CTEMaterializeNever; }
41264 #line 41265 "gram.c" /* yacc.c:1646  */
41265     break;
41266 
41267   case 1682:
41268 #line 11660 "gram.y" /* yacc.c:1646  */
41269     { (yyval.ival) = CTEMaterializeDefault; }
41270 #line 41271 "gram.c" /* yacc.c:1646  */
41271     break;
41272 
41273   case 1683:
41274 #line 11664 "gram.y" /* yacc.c:1646  */
41275     { (yyval.with) = (yyvsp[0].with); }
41276 #line 41277 "gram.c" /* yacc.c:1646  */
41277     break;
41278 
41279   case 1684:
41280 #line 11665 "gram.y" /* yacc.c:1646  */
41281     { (yyval.with) = NULL; }
41282 #line 41283 "gram.c" /* yacc.c:1646  */
41283     break;
41284 
41285   case 1685:
41286 #line 11670 "gram.y" /* yacc.c:1646  */
41287     {
41288 					(yyval.into) = makeNode(IntoClause);
41289 					(yyval.into)->rel = (yyvsp[0].range);
41290 					(yyval.into)->colNames = NIL;
41291 					(yyval.into)->options = NIL;
41292 					(yyval.into)->onCommit = ONCOMMIT_NOOP;
41293 					(yyval.into)->tableSpaceName = NULL;
41294 					(yyval.into)->viewQuery = NULL;
41295 					(yyval.into)->skipData = false;
41296 				}
41297 #line 41298 "gram.c" /* yacc.c:1646  */
41298     break;
41299 
41300   case 1686:
41301 #line 11681 "gram.y" /* yacc.c:1646  */
41302     { (yyval.into) = NULL; }
41303 #line 41304 "gram.c" /* yacc.c:1646  */
41304     break;
41305 
41306   case 1687:
41307 #line 11690 "gram.y" /* yacc.c:1646  */
41308     {
41309 					(yyval.range) = (yyvsp[0].range);
41310 					(yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
41311 				}
41312 #line 41313 "gram.c" /* yacc.c:1646  */
41313     break;
41314 
41315   case 1688:
41316 #line 11695 "gram.y" /* yacc.c:1646  */
41317     {
41318 					(yyval.range) = (yyvsp[0].range);
41319 					(yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
41320 				}
41321 #line 41322 "gram.c" /* yacc.c:1646  */
41322     break;
41323 
41324   case 1689:
41325 #line 11700 "gram.y" /* yacc.c:1646  */
41326     {
41327 					(yyval.range) = (yyvsp[0].range);
41328 					(yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
41329 				}
41330 #line 41331 "gram.c" /* yacc.c:1646  */
41331     break;
41332 
41333   case 1690:
41334 #line 11705 "gram.y" /* yacc.c:1646  */
41335     {
41336 					(yyval.range) = (yyvsp[0].range);
41337 					(yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
41338 				}
41339 #line 41340 "gram.c" /* yacc.c:1646  */
41340     break;
41341 
41342   case 1691:
41343 #line 11710 "gram.y" /* yacc.c:1646  */
41344     {
41345 					ereport(WARNING,
41346 							(errmsg("GLOBAL is deprecated in temporary table creation"),
41347 							 parser_errposition((yylsp[-3]))));
41348 					(yyval.range) = (yyvsp[0].range);
41349 					(yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
41350 				}
41351 #line 41352 "gram.c" /* yacc.c:1646  */
41352     break;
41353 
41354   case 1692:
41355 #line 11718 "gram.y" /* yacc.c:1646  */
41356     {
41357 					ereport(WARNING,
41358 							(errmsg("GLOBAL is deprecated in temporary table creation"),
41359 							 parser_errposition((yylsp[-3]))));
41360 					(yyval.range) = (yyvsp[0].range);
41361 					(yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
41362 				}
41363 #line 41364 "gram.c" /* yacc.c:1646  */
41364     break;
41365 
41366   case 1693:
41367 #line 11726 "gram.y" /* yacc.c:1646  */
41368     {
41369 					(yyval.range) = (yyvsp[0].range);
41370 					(yyval.range)->relpersistence = RELPERSISTENCE_UNLOGGED;
41371 				}
41372 #line 41373 "gram.c" /* yacc.c:1646  */
41373     break;
41374 
41375   case 1694:
41376 #line 11731 "gram.y" /* yacc.c:1646  */
41377     {
41378 					(yyval.range) = (yyvsp[0].range);
41379 					(yyval.range)->relpersistence = RELPERSISTENCE_PERMANENT;
41380 				}
41381 #line 41382 "gram.c" /* yacc.c:1646  */
41382     break;
41383 
41384   case 1695:
41385 #line 11736 "gram.y" /* yacc.c:1646  */
41386     {
41387 					(yyval.range) = (yyvsp[0].range);
41388 					(yyval.range)->relpersistence = RELPERSISTENCE_PERMANENT;
41389 				}
41390 #line 41391 "gram.c" /* yacc.c:1646  */
41391     break;
41392 
41393   case 1696:
41394 #line 11742 "gram.y" /* yacc.c:1646  */
41395     {}
41396 #line 41397 "gram.c" /* yacc.c:1646  */
41397     break;
41398 
41399   case 1697:
41400 #line 11743 "gram.y" /* yacc.c:1646  */
41401     {}
41402 #line 41403 "gram.c" /* yacc.c:1646  */
41403     break;
41404 
41405   case 1698:
41406 #line 11747 "gram.y" /* yacc.c:1646  */
41407     { (yyval.boolean) = true; }
41408 #line 41409 "gram.c" /* yacc.c:1646  */
41409     break;
41410 
41411   case 1699:
41412 #line 11748 "gram.y" /* yacc.c:1646  */
41413     { (yyval.boolean) = false; }
41414 #line 41415 "gram.c" /* yacc.c:1646  */
41415     break;
41416 
41417   case 1700:
41418 #line 11749 "gram.y" /* yacc.c:1646  */
41419     { (yyval.boolean) = false; }
41420 #line 41421 "gram.c" /* yacc.c:1646  */
41421     break;
41422 
41423   case 1701:
41424 #line 11756 "gram.y" /* yacc.c:1646  */
41425     { (yyval.list) = list_make1(NIL); }
41426 #line 41427 "gram.c" /* yacc.c:1646  */
41427     break;
41428 
41429   case 1702:
41430 #line 11757 "gram.y" /* yacc.c:1646  */
41431     { (yyval.list) = (yyvsp[-1].list); }
41432 #line 41433 "gram.c" /* yacc.c:1646  */
41433     break;
41434 
41435   case 1703:
41436 #line 11761 "gram.y" /* yacc.c:1646  */
41437     { (yyval.list) = NIL;}
41438 #line 41439 "gram.c" /* yacc.c:1646  */
41439     break;
41440 
41441   case 1704:
41442 #line 11762 "gram.y" /* yacc.c:1646  */
41443     { (yyval.list) = NIL; }
41444 #line 41445 "gram.c" /* yacc.c:1646  */
41445     break;
41446 
41447   case 1705:
41448 #line 11766 "gram.y" /* yacc.c:1646  */
41449     { (yyval.list) = (yyvsp[0].list);}
41450 #line 41451 "gram.c" /* yacc.c:1646  */
41451     break;
41452 
41453   case 1706:
41454 #line 11767 "gram.y" /* yacc.c:1646  */
41455     { (yyval.list) = NIL; }
41456 #line 41457 "gram.c" /* yacc.c:1646  */
41457     break;
41458 
41459   case 1707:
41460 #line 11771 "gram.y" /* yacc.c:1646  */
41461     { (yyval.list) = (yyvsp[0].list); }
41462 #line 41463 "gram.c" /* yacc.c:1646  */
41463     break;
41464 
41465   case 1708:
41466 #line 11775 "gram.y" /* yacc.c:1646  */
41467     { (yyval.list) = list_make1((yyvsp[0].sortby)); }
41468 #line 41469 "gram.c" /* yacc.c:1646  */
41469     break;
41470 
41471   case 1709:
41472 #line 11776 "gram.y" /* yacc.c:1646  */
41473     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].sortby)); }
41474 #line 41475 "gram.c" /* yacc.c:1646  */
41475     break;
41476 
41477   case 1710:
41478 #line 11780 "gram.y" /* yacc.c:1646  */
41479     {
41480 					(yyval.sortby) = makeNode(SortBy);
41481 					(yyval.sortby)->node = (yyvsp[-3].node);
41482 					(yyval.sortby)->sortby_dir = SORTBY_USING;
41483 					(yyval.sortby)->sortby_nulls = (yyvsp[0].ival);
41484 					(yyval.sortby)->useOp = (yyvsp[-1].list);
41485 					(yyval.sortby)->location = (yylsp[-1]);
41486 				}
41487 #line 41488 "gram.c" /* yacc.c:1646  */
41488     break;
41489 
41490   case 1711:
41491 #line 11789 "gram.y" /* yacc.c:1646  */
41492     {
41493 					(yyval.sortby) = makeNode(SortBy);
41494 					(yyval.sortby)->node = (yyvsp[-2].node);
41495 					(yyval.sortby)->sortby_dir = (yyvsp[-1].ival);
41496 					(yyval.sortby)->sortby_nulls = (yyvsp[0].ival);
41497 					(yyval.sortby)->useOp = NIL;
41498 					(yyval.sortby)->location = -1;		/* no operator */
41499 				}
41500 #line 41501 "gram.c" /* yacc.c:1646  */
41501     break;
41502 
41503   case 1712:
41504 #line 11802 "gram.y" /* yacc.c:1646  */
41505     {
41506 					(yyval.selectlimit) = (yyvsp[-1].selectlimit);
41507 					((yyval.selectlimit))->limitOffset = (yyvsp[0].node);
41508 				}
41509 #line 41510 "gram.c" /* yacc.c:1646  */
41510     break;
41511 
41512   case 1713:
41513 #line 11807 "gram.y" /* yacc.c:1646  */
41514     {
41515 					(yyval.selectlimit) = (yyvsp[0].selectlimit);
41516 					((yyval.selectlimit))->limitOffset = (yyvsp[-1].node);
41517 				}
41518 #line 41519 "gram.c" /* yacc.c:1646  */
41519     break;
41520 
41521   case 1714:
41522 #line 11812 "gram.y" /* yacc.c:1646  */
41523     {
41524 					(yyval.selectlimit) = (yyvsp[0].selectlimit);
41525 				}
41526 #line 41527 "gram.c" /* yacc.c:1646  */
41527     break;
41528 
41529   case 1715:
41530 #line 11816 "gram.y" /* yacc.c:1646  */
41531     {
41532 					SelectLimit *n = (SelectLimit *) palloc(sizeof(SelectLimit));
41533 					n->limitOffset = (yyvsp[0].node);
41534 					n->limitCount = NULL;
41535 					n->limitOption = LIMIT_OPTION_COUNT;
41536 					(yyval.selectlimit) = n;
41537 				}
41538 #line 41539 "gram.c" /* yacc.c:1646  */
41539     break;
41540 
41541   case 1716:
41542 #line 11826 "gram.y" /* yacc.c:1646  */
41543     { (yyval.selectlimit) = (yyvsp[0].selectlimit); }
41544 #line 41545 "gram.c" /* yacc.c:1646  */
41545     break;
41546 
41547   case 1717:
41548 #line 11827 "gram.y" /* yacc.c:1646  */
41549     { (yyval.selectlimit) = NULL; }
41550 #line 41551 "gram.c" /* yacc.c:1646  */
41551     break;
41552 
41553   case 1718:
41554 #line 11832 "gram.y" /* yacc.c:1646  */
41555     {
41556 					SelectLimit *n = (SelectLimit *) palloc(sizeof(SelectLimit));
41557 					n->limitOffset = NULL;
41558 					n->limitCount = (yyvsp[0].node);
41559 					n->limitOption = LIMIT_OPTION_COUNT;
41560 					(yyval.selectlimit) = n;
41561 				}
41562 #line 41563 "gram.c" /* yacc.c:1646  */
41563     break;
41564 
41565   case 1719:
41566 #line 11840 "gram.y" /* yacc.c:1646  */
41567     {
41568 					/* Disabled because it was too confusing, bjm 2002-02-18 */
41569 					ereport(ERROR,
41570 							(errcode(ERRCODE_SYNTAX_ERROR),
41571 							 errmsg("LIMIT #,# syntax is not supported"),
41572 							 errhint("Use separate LIMIT and OFFSET clauses."),
41573 							 parser_errposition((yylsp[-3]))));
41574 				}
41575 #line 41576 "gram.c" /* yacc.c:1646  */
41576     break;
41577 
41578   case 1720:
41579 #line 11856 "gram.y" /* yacc.c:1646  */
41580     {
41581 					SelectLimit *n = (SelectLimit *) palloc(sizeof(SelectLimit));
41582 					n->limitOffset = NULL;
41583 					n->limitCount = (yyvsp[-2].node);
41584 					n->limitOption = LIMIT_OPTION_COUNT;
41585 					(yyval.selectlimit) = n;
41586 				}
41587 #line 41588 "gram.c" /* yacc.c:1646  */
41588     break;
41589 
41590   case 1721:
41591 #line 11864 "gram.y" /* yacc.c:1646  */
41592     {
41593 					SelectLimit *n = (SelectLimit *) palloc(sizeof(SelectLimit));
41594 					n->limitOffset = NULL;
41595 					n->limitCount = (yyvsp[-3].node);
41596 					n->limitOption = LIMIT_OPTION_WITH_TIES;
41597 					(yyval.selectlimit) = n;
41598 				}
41599 #line 41600 "gram.c" /* yacc.c:1646  */
41600     break;
41601 
41602   case 1722:
41603 #line 11872 "gram.y" /* yacc.c:1646  */
41604     {
41605 					SelectLimit *n = (SelectLimit *) palloc(sizeof(SelectLimit));
41606 					n->limitOffset = NULL;
41607 					n->limitCount = makeIntConst(1, -1);
41608 					n->limitOption = LIMIT_OPTION_COUNT;
41609 					(yyval.selectlimit) = n;
41610 				}
41611 #line 41612 "gram.c" /* yacc.c:1646  */
41612     break;
41613 
41614   case 1723:
41615 #line 11880 "gram.y" /* yacc.c:1646  */
41616     {
41617 					SelectLimit *n = (SelectLimit *) palloc(sizeof(SelectLimit));
41618 					n->limitOffset = NULL;
41619 					n->limitCount = makeIntConst(1, -1);
41620 					n->limitOption = LIMIT_OPTION_WITH_TIES;
41621 					(yyval.selectlimit) = n;
41622 				}
41623 #line 41624 "gram.c" /* yacc.c:1646  */
41624     break;
41625 
41626   case 1724:
41627 #line 11891 "gram.y" /* yacc.c:1646  */
41628     { (yyval.node) = (yyvsp[0].node); }
41629 #line 41630 "gram.c" /* yacc.c:1646  */
41630     break;
41631 
41632   case 1725:
41633 #line 11894 "gram.y" /* yacc.c:1646  */
41634     { (yyval.node) = (yyvsp[-1].node); }
41635 #line 41636 "gram.c" /* yacc.c:1646  */
41636     break;
41637 
41638   case 1726:
41639 #line 11898 "gram.y" /* yacc.c:1646  */
41640     { (yyval.node) = (yyvsp[0].node); }
41641 #line 41642 "gram.c" /* yacc.c:1646  */
41642     break;
41643 
41644   case 1727:
41645 #line 11900 "gram.y" /* yacc.c:1646  */
41646     {
41647 					/* LIMIT ALL is represented as a NULL constant */
41648 					(yyval.node) = makeNullAConst((yylsp[0]));
41649 				}
41650 #line 41651 "gram.c" /* yacc.c:1646  */
41651     break;
41652 
41653   case 1728:
41654 #line 11907 "gram.y" /* yacc.c:1646  */
41655     { (yyval.node) = (yyvsp[0].node); }
41656 #line 41657 "gram.c" /* yacc.c:1646  */
41657     break;
41658 
41659   case 1729:
41660 #line 11927 "gram.y" /* yacc.c:1646  */
41661     { (yyval.node) = (yyvsp[0].node); }
41662 #line 41663 "gram.c" /* yacc.c:1646  */
41663     break;
41664 
41665   case 1730:
41666 #line 11929 "gram.y" /* yacc.c:1646  */
41667     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, (yyvsp[0].node), (yylsp[-1])); }
41668 #line 41669 "gram.c" /* yacc.c:1646  */
41669     break;
41670 
41671   case 1731:
41672 #line 11931 "gram.y" /* yacc.c:1646  */
41673     { (yyval.node) = doNegate((yyvsp[0].node), (yylsp[-1])); }
41674 #line 41675 "gram.c" /* yacc.c:1646  */
41675     break;
41676 
41677   case 1732:
41678 #line 11935 "gram.y" /* yacc.c:1646  */
41679     { (yyval.node) = makeIntConst((yyvsp[0].ival),(yylsp[0])); }
41680 #line 41681 "gram.c" /* yacc.c:1646  */
41681     break;
41682 
41683   case 1733:
41684 #line 11936 "gram.y" /* yacc.c:1646  */
41685     { (yyval.node) = makeFloatConst((yyvsp[0].str),(yylsp[0])); }
41686 #line 41687 "gram.c" /* yacc.c:1646  */
41687     break;
41688 
41689   case 1734:
41690 #line 11940 "gram.y" /* yacc.c:1646  */
41691     { (yyval.ival) = 0; }
41692 #line 41693 "gram.c" /* yacc.c:1646  */
41693     break;
41694 
41695   case 1735:
41696 #line 11941 "gram.y" /* yacc.c:1646  */
41697     { (yyval.ival) = 0; }
41698 #line 41699 "gram.c" /* yacc.c:1646  */
41699     break;
41700 
41701   case 1736:
41702 #line 11944 "gram.y" /* yacc.c:1646  */
41703     { (yyval.ival) = 0; }
41704 #line 41705 "gram.c" /* yacc.c:1646  */
41705     break;
41706 
41707   case 1737:
41708 #line 11945 "gram.y" /* yacc.c:1646  */
41709     { (yyval.ival) = 0; }
41710 #line 41711 "gram.c" /* yacc.c:1646  */
41711     break;
41712 
41713   case 1738:
41714 #line 11970 "gram.y" /* yacc.c:1646  */
41715     { (yyval.list) = (yyvsp[0].list); }
41716 #line 41717 "gram.c" /* yacc.c:1646  */
41717     break;
41718 
41719   case 1739:
41720 #line 11971 "gram.y" /* yacc.c:1646  */
41721     { (yyval.list) = NIL; }
41722 #line 41723 "gram.c" /* yacc.c:1646  */
41723     break;
41724 
41725   case 1740:
41726 #line 11975 "gram.y" /* yacc.c:1646  */
41727     { (yyval.list) = list_make1((yyvsp[0].node)); }
41728 #line 41729 "gram.c" /* yacc.c:1646  */
41729     break;
41730 
41731   case 1741:
41732 #line 11976 "gram.y" /* yacc.c:1646  */
41733     { (yyval.list) = lappend((yyvsp[-2].list),(yyvsp[0].node)); }
41734 #line 41735 "gram.c" /* yacc.c:1646  */
41735     break;
41736 
41737   case 1742:
41738 #line 11980 "gram.y" /* yacc.c:1646  */
41739     { (yyval.node) = (yyvsp[0].node); }
41740 #line 41741 "gram.c" /* yacc.c:1646  */
41741     break;
41742 
41743   case 1743:
41744 #line 11981 "gram.y" /* yacc.c:1646  */
41745     { (yyval.node) = (yyvsp[0].node); }
41746 #line 41747 "gram.c" /* yacc.c:1646  */
41747     break;
41748 
41749   case 1744:
41750 #line 11982 "gram.y" /* yacc.c:1646  */
41751     { (yyval.node) = (yyvsp[0].node); }
41752 #line 41753 "gram.c" /* yacc.c:1646  */
41753     break;
41754 
41755   case 1745:
41756 #line 11983 "gram.y" /* yacc.c:1646  */
41757     { (yyval.node) = (yyvsp[0].node); }
41758 #line 41759 "gram.c" /* yacc.c:1646  */
41759     break;
41760 
41761   case 1746:
41762 #line 11984 "gram.y" /* yacc.c:1646  */
41763     { (yyval.node) = (yyvsp[0].node); }
41764 #line 41765 "gram.c" /* yacc.c:1646  */
41765     break;
41766 
41767   case 1747:
41768 #line 11989 "gram.y" /* yacc.c:1646  */
41769     {
41770 					(yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_EMPTY, NIL, (yylsp[-1]));
41771 				}
41772 #line 41773 "gram.c" /* yacc.c:1646  */
41773     break;
41774 
41775   case 1748:
41776 #line 12002 "gram.y" /* yacc.c:1646  */
41777     {
41778 					(yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_ROLLUP, (yyvsp[-1].list), (yylsp[-3]));
41779 				}
41780 #line 41781 "gram.c" /* yacc.c:1646  */
41781     break;
41782 
41783   case 1749:
41784 #line 12009 "gram.y" /* yacc.c:1646  */
41785     {
41786 					(yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_CUBE, (yyvsp[-1].list), (yylsp[-3]));
41787 				}
41788 #line 41789 "gram.c" /* yacc.c:1646  */
41789     break;
41790 
41791   case 1750:
41792 #line 12016 "gram.y" /* yacc.c:1646  */
41793     {
41794 					(yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_SETS, (yyvsp[-1].list), (yylsp[-4]));
41795 				}
41796 #line 41797 "gram.c" /* yacc.c:1646  */
41797     break;
41798 
41799   case 1751:
41800 #line 12022 "gram.y" /* yacc.c:1646  */
41801     { (yyval.node) = (yyvsp[0].node); }
41802 #line 41803 "gram.c" /* yacc.c:1646  */
41803     break;
41804 
41805   case 1752:
41806 #line 12023 "gram.y" /* yacc.c:1646  */
41807     { (yyval.node) = NULL; }
41808 #line 41809 "gram.c" /* yacc.c:1646  */
41809     break;
41810 
41811   case 1753:
41812 #line 12027 "gram.y" /* yacc.c:1646  */
41813     { (yyval.list) = (yyvsp[0].list); }
41814 #line 41815 "gram.c" /* yacc.c:1646  */
41815     break;
41816 
41817   case 1754:
41818 #line 12028 "gram.y" /* yacc.c:1646  */
41819     { (yyval.list) = NIL; }
41820 #line 41821 "gram.c" /* yacc.c:1646  */
41821     break;
41822 
41823   case 1755:
41824 #line 12032 "gram.y" /* yacc.c:1646  */
41825     { (yyval.list) = (yyvsp[0].list); }
41826 #line 41827 "gram.c" /* yacc.c:1646  */
41827     break;
41828 
41829   case 1756:
41830 #line 12033 "gram.y" /* yacc.c:1646  */
41831     { (yyval.list) = NIL; }
41832 #line 41833 "gram.c" /* yacc.c:1646  */
41833     break;
41834 
41835   case 1757:
41836 #line 12037 "gram.y" /* yacc.c:1646  */
41837     { (yyval.list) = list_make1((yyvsp[0].node)); }
41838 #line 41839 "gram.c" /* yacc.c:1646  */
41839     break;
41840 
41841   case 1758:
41842 #line 12038 "gram.y" /* yacc.c:1646  */
41843     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
41844 #line 41845 "gram.c" /* yacc.c:1646  */
41845     break;
41846 
41847   case 1759:
41848 #line 12043 "gram.y" /* yacc.c:1646  */
41849     {
41850 					LockingClause *n = makeNode(LockingClause);
41851 					n->lockedRels = (yyvsp[-1].list);
41852 					n->strength = (yyvsp[-2].ival);
41853 					n->waitPolicy = (yyvsp[0].ival);
41854 					(yyval.node) = (Node *) n;
41855 				}
41856 #line 41857 "gram.c" /* yacc.c:1646  */
41857     break;
41858 
41859   case 1760:
41860 #line 12053 "gram.y" /* yacc.c:1646  */
41861     { (yyval.ival) = LCS_FORUPDATE; }
41862 #line 41863 "gram.c" /* yacc.c:1646  */
41863     break;
41864 
41865   case 1761:
41866 #line 12054 "gram.y" /* yacc.c:1646  */
41867     { (yyval.ival) = LCS_FORNOKEYUPDATE; }
41868 #line 41869 "gram.c" /* yacc.c:1646  */
41869     break;
41870 
41871   case 1762:
41872 #line 12055 "gram.y" /* yacc.c:1646  */
41873     { (yyval.ival) = LCS_FORSHARE; }
41874 #line 41875 "gram.c" /* yacc.c:1646  */
41875     break;
41876 
41877   case 1763:
41878 #line 12056 "gram.y" /* yacc.c:1646  */
41879     { (yyval.ival) = LCS_FORKEYSHARE; }
41880 #line 41881 "gram.c" /* yacc.c:1646  */
41881     break;
41882 
41883   case 1764:
41884 #line 12060 "gram.y" /* yacc.c:1646  */
41885     { (yyval.list) = (yyvsp[0].list); }
41886 #line 41887 "gram.c" /* yacc.c:1646  */
41887     break;
41888 
41889   case 1765:
41890 #line 12061 "gram.y" /* yacc.c:1646  */
41891     { (yyval.list) = NIL; }
41892 #line 41893 "gram.c" /* yacc.c:1646  */
41893     break;
41894 
41895   case 1766:
41896 #line 12072 "gram.y" /* yacc.c:1646  */
41897     {
41898 					SelectStmt *n = makeNode(SelectStmt);
41899 					n->valuesLists = list_make1((yyvsp[-1].list));
41900 					(yyval.node) = (Node *) n;
41901 				}
41902 #line 41903 "gram.c" /* yacc.c:1646  */
41903     break;
41904 
41905   case 1767:
41906 #line 12078 "gram.y" /* yacc.c:1646  */
41907     {
41908 					SelectStmt *n = (SelectStmt *) (yyvsp[-4].node);
41909 					n->valuesLists = lappend(n->valuesLists, (yyvsp[-1].list));
41910 					(yyval.node) = (Node *) n;
41911 				}
41912 #line 41913 "gram.c" /* yacc.c:1646  */
41913     break;
41914 
41915   case 1768:
41916 #line 12095 "gram.y" /* yacc.c:1646  */
41917     { (yyval.list) = (yyvsp[0].list); }
41918 #line 41919 "gram.c" /* yacc.c:1646  */
41919     break;
41920 
41921   case 1769:
41922 #line 12096 "gram.y" /* yacc.c:1646  */
41923     { (yyval.list) = NIL; }
41924 #line 41925 "gram.c" /* yacc.c:1646  */
41925     break;
41926 
41927   case 1770:
41928 #line 12100 "gram.y" /* yacc.c:1646  */
41929     { (yyval.list) = list_make1((yyvsp[0].node)); }
41930 #line 41931 "gram.c" /* yacc.c:1646  */
41931     break;
41932 
41933   case 1771:
41934 #line 12101 "gram.y" /* yacc.c:1646  */
41935     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
41936 #line 41937 "gram.c" /* yacc.c:1646  */
41937     break;
41938 
41939   case 1772:
41940 #line 12108 "gram.y" /* yacc.c:1646  */
41941     {
41942 					(yyvsp[-1].range)->alias = (yyvsp[0].alias);
41943 					(yyval.node) = (Node *) (yyvsp[-1].range);
41944 				}
41945 #line 41946 "gram.c" /* yacc.c:1646  */
41946     break;
41947 
41948   case 1773:
41949 #line 12113 "gram.y" /* yacc.c:1646  */
41950     {
41951 					RangeTableSample *n = (RangeTableSample *) (yyvsp[0].node);
41952 					(yyvsp[-2].range)->alias = (yyvsp[-1].alias);
41953 					/* relation_expr goes inside the RangeTableSample node */
41954 					n->relation = (Node *) (yyvsp[-2].range);
41955 					(yyval.node) = (Node *) n;
41956 				}
41957 #line 41958 "gram.c" /* yacc.c:1646  */
41958     break;
41959 
41960   case 1774:
41961 #line 12121 "gram.y" /* yacc.c:1646  */
41962     {
41963 					RangeFunction *n = (RangeFunction *) (yyvsp[-1].node);
41964 					n->alias = linitial((yyvsp[0].list));
41965 					n->coldeflist = lsecond((yyvsp[0].list));
41966 					(yyval.node) = (Node *) n;
41967 				}
41968 #line 41969 "gram.c" /* yacc.c:1646  */
41969     break;
41970 
41971   case 1775:
41972 #line 12128 "gram.y" /* yacc.c:1646  */
41973     {
41974 					RangeFunction *n = (RangeFunction *) (yyvsp[-1].node);
41975 					n->lateral = true;
41976 					n->alias = linitial((yyvsp[0].list));
41977 					n->coldeflist = lsecond((yyvsp[0].list));
41978 					(yyval.node) = (Node *) n;
41979 				}
41980 #line 41981 "gram.c" /* yacc.c:1646  */
41981     break;
41982 
41983   case 1776:
41984 #line 12136 "gram.y" /* yacc.c:1646  */
41985     {
41986 					RangeTableFunc *n = (RangeTableFunc *) (yyvsp[-1].node);
41987 					n->alias = (yyvsp[0].alias);
41988 					(yyval.node) = (Node *) n;
41989 				}
41990 #line 41991 "gram.c" /* yacc.c:1646  */
41991     break;
41992 
41993   case 1777:
41994 #line 12142 "gram.y" /* yacc.c:1646  */
41995     {
41996 					RangeTableFunc *n = (RangeTableFunc *) (yyvsp[-1].node);
41997 					n->lateral = true;
41998 					n->alias = (yyvsp[0].alias);
41999 					(yyval.node) = (Node *) n;
42000 				}
42001 #line 42002 "gram.c" /* yacc.c:1646  */
42002     break;
42003 
42004   case 1778:
42005 #line 12149 "gram.y" /* yacc.c:1646  */
42006     {
42007 					RangeSubselect *n = makeNode(RangeSubselect);
42008 					n->lateral = false;
42009 					n->subquery = (yyvsp[-1].node);
42010 					n->alias = (yyvsp[0].alias);
42011 					/*
42012 					 * The SQL spec does not permit a subselect
42013 					 * (<derived_table>) without an alias clause,
42014 					 * so we don't either.  This avoids the problem
42015 					 * of needing to invent a unique refname for it.
42016 					 * That could be surmounted if there's sufficient
42017 					 * popular demand, but for now let's just implement
42018 					 * the spec and see if anyone complains.
42019 					 * However, it does seem like a good idea to emit
42020 					 * an error message that's better than "syntax error".
42021 					 */
42022 					if ((yyvsp[0].alias) == NULL)
42023 					{
42024 						if (IsA((yyvsp[-1].node), SelectStmt) &&
42025 							((SelectStmt *) (yyvsp[-1].node))->valuesLists)
42026 							ereport(ERROR,
42027 									(errcode(ERRCODE_SYNTAX_ERROR),
42028 									 errmsg("VALUES in FROM must have an alias"),
42029 									 errhint("For example, FROM (VALUES ...) [AS] foo."),
42030 									 parser_errposition((yylsp[-1]))));
42031 						else
42032 							ereport(ERROR,
42033 									(errcode(ERRCODE_SYNTAX_ERROR),
42034 									 errmsg("subquery in FROM must have an alias"),
42035 									 errhint("For example, FROM (SELECT ...) [AS] foo."),
42036 									 parser_errposition((yylsp[-1]))));
42037 					}
42038 					(yyval.node) = (Node *) n;
42039 				}
42040 #line 42041 "gram.c" /* yacc.c:1646  */
42041     break;
42042 
42043   case 1779:
42044 #line 12184 "gram.y" /* yacc.c:1646  */
42045     {
42046 					RangeSubselect *n = makeNode(RangeSubselect);
42047 					n->lateral = true;
42048 					n->subquery = (yyvsp[-1].node);
42049 					n->alias = (yyvsp[0].alias);
42050 					/* same comment as above */
42051 					if ((yyvsp[0].alias) == NULL)
42052 					{
42053 						if (IsA((yyvsp[-1].node), SelectStmt) &&
42054 							((SelectStmt *) (yyvsp[-1].node))->valuesLists)
42055 							ereport(ERROR,
42056 									(errcode(ERRCODE_SYNTAX_ERROR),
42057 									 errmsg("VALUES in FROM must have an alias"),
42058 									 errhint("For example, FROM (VALUES ...) [AS] foo."),
42059 									 parser_errposition((yylsp[-1]))));
42060 						else
42061 							ereport(ERROR,
42062 									(errcode(ERRCODE_SYNTAX_ERROR),
42063 									 errmsg("subquery in FROM must have an alias"),
42064 									 errhint("For example, FROM (SELECT ...) [AS] foo."),
42065 									 parser_errposition((yylsp[-1]))));
42066 					}
42067 					(yyval.node) = (Node *) n;
42068 				}
42069 #line 42070 "gram.c" /* yacc.c:1646  */
42070     break;
42071 
42072   case 1780:
42073 #line 12209 "gram.y" /* yacc.c:1646  */
42074     {
42075 					(yyval.node) = (Node *) (yyvsp[0].jexpr);
42076 				}
42077 #line 42078 "gram.c" /* yacc.c:1646  */
42078     break;
42079 
42080   case 1781:
42081 #line 12213 "gram.y" /* yacc.c:1646  */
42082     {
42083 					(yyvsp[-2].jexpr)->alias = (yyvsp[0].alias);
42084 					(yyval.node) = (Node *) (yyvsp[-2].jexpr);
42085 				}
42086 #line 42087 "gram.c" /* yacc.c:1646  */
42087     break;
42088 
42089   case 1782:
42090 #line 12239 "gram.y" /* yacc.c:1646  */
42091     {
42092 					(yyval.jexpr) = (yyvsp[-1].jexpr);
42093 				}
42094 #line 42095 "gram.c" /* yacc.c:1646  */
42095     break;
42096 
42097   case 1783:
42098 #line 12243 "gram.y" /* yacc.c:1646  */
42099     {
42100 					/* CROSS JOIN is same as unqualified inner join */
42101 					JoinExpr *n = makeNode(JoinExpr);
42102 					n->jointype = JOIN_INNER;
42103 					n->isNatural = false;
42104 					n->larg = (yyvsp[-3].node);
42105 					n->rarg = (yyvsp[0].node);
42106 					n->usingClause = NIL;
42107 					n->quals = NULL;
42108 					(yyval.jexpr) = n;
42109 				}
42110 #line 42111 "gram.c" /* yacc.c:1646  */
42111     break;
42112 
42113   case 1784:
42114 #line 12255 "gram.y" /* yacc.c:1646  */
42115     {
42116 					JoinExpr *n = makeNode(JoinExpr);
42117 					n->jointype = (yyvsp[-3].jtype);
42118 					n->isNatural = false;
42119 					n->larg = (yyvsp[-4].node);
42120 					n->rarg = (yyvsp[-1].node);
42121 					if ((yyvsp[0].node) != NULL && IsA((yyvsp[0].node), List))
42122 						n->usingClause = (List *) (yyvsp[0].node); /* USING clause */
42123 					else
42124 						n->quals = (yyvsp[0].node); /* ON clause */
42125 					(yyval.jexpr) = n;
42126 				}
42127 #line 42128 "gram.c" /* yacc.c:1646  */
42128     break;
42129 
42130   case 1785:
42131 #line 12268 "gram.y" /* yacc.c:1646  */
42132     {
42133 					/* letting join_type reduce to empty doesn't work */
42134 					JoinExpr *n = makeNode(JoinExpr);
42135 					n->jointype = JOIN_INNER;
42136 					n->isNatural = false;
42137 					n->larg = (yyvsp[-3].node);
42138 					n->rarg = (yyvsp[-1].node);
42139 					if ((yyvsp[0].node) != NULL && IsA((yyvsp[0].node), List))
42140 						n->usingClause = (List *) (yyvsp[0].node); /* USING clause */
42141 					else
42142 						n->quals = (yyvsp[0].node); /* ON clause */
42143 					(yyval.jexpr) = n;
42144 				}
42145 #line 42146 "gram.c" /* yacc.c:1646  */
42146     break;
42147 
42148   case 1786:
42149 #line 12282 "gram.y" /* yacc.c:1646  */
42150     {
42151 					JoinExpr *n = makeNode(JoinExpr);
42152 					n->jointype = (yyvsp[-2].jtype);
42153 					n->isNatural = true;
42154 					n->larg = (yyvsp[-4].node);
42155 					n->rarg = (yyvsp[0].node);
42156 					n->usingClause = NIL; /* figure out which columns later... */
42157 					n->quals = NULL; /* fill later */
42158 					(yyval.jexpr) = n;
42159 				}
42160 #line 42161 "gram.c" /* yacc.c:1646  */
42161     break;
42162 
42163   case 1787:
42164 #line 12293 "gram.y" /* yacc.c:1646  */
42165     {
42166 					/* letting join_type reduce to empty doesn't work */
42167 					JoinExpr *n = makeNode(JoinExpr);
42168 					n->jointype = JOIN_INNER;
42169 					n->isNatural = true;
42170 					n->larg = (yyvsp[-3].node);
42171 					n->rarg = (yyvsp[0].node);
42172 					n->usingClause = NIL; /* figure out which columns later... */
42173 					n->quals = NULL; /* fill later */
42174 					(yyval.jexpr) = n;
42175 				}
42176 #line 42177 "gram.c" /* yacc.c:1646  */
42177     break;
42178 
42179   case 1788:
42180 #line 12308 "gram.y" /* yacc.c:1646  */
42181     {
42182 					(yyval.alias) = makeNode(Alias);
42183 					(yyval.alias)->aliasname = (yyvsp[-3].str);
42184 					(yyval.alias)->colnames = (yyvsp[-1].list);
42185 				}
42186 #line 42187 "gram.c" /* yacc.c:1646  */
42187     break;
42188 
42189   case 1789:
42190 #line 12314 "gram.y" /* yacc.c:1646  */
42191     {
42192 					(yyval.alias) = makeNode(Alias);
42193 					(yyval.alias)->aliasname = (yyvsp[0].str);
42194 				}
42195 #line 42196 "gram.c" /* yacc.c:1646  */
42196     break;
42197 
42198   case 1790:
42199 #line 12319 "gram.y" /* yacc.c:1646  */
42200     {
42201 					(yyval.alias) = makeNode(Alias);
42202 					(yyval.alias)->aliasname = (yyvsp[-3].str);
42203 					(yyval.alias)->colnames = (yyvsp[-1].list);
42204 				}
42205 #line 42206 "gram.c" /* yacc.c:1646  */
42206     break;
42207 
42208   case 1791:
42209 #line 12325 "gram.y" /* yacc.c:1646  */
42210     {
42211 					(yyval.alias) = makeNode(Alias);
42212 					(yyval.alias)->aliasname = (yyvsp[0].str);
42213 				}
42214 #line 42215 "gram.c" /* yacc.c:1646  */
42215     break;
42216 
42217   case 1792:
42218 #line 12331 "gram.y" /* yacc.c:1646  */
42219     { (yyval.alias) = (yyvsp[0].alias); }
42220 #line 42221 "gram.c" /* yacc.c:1646  */
42221     break;
42222 
42223   case 1793:
42224 #line 12332 "gram.y" /* yacc.c:1646  */
42225     { (yyval.alias) = NULL; }
42226 #line 42227 "gram.c" /* yacc.c:1646  */
42227     break;
42228 
42229   case 1794:
42230 #line 12341 "gram.y" /* yacc.c:1646  */
42231     {
42232 					(yyval.list) = list_make2((yyvsp[0].alias), NIL);
42233 				}
42234 #line 42235 "gram.c" /* yacc.c:1646  */
42235     break;
42236 
42237   case 1795:
42238 #line 12345 "gram.y" /* yacc.c:1646  */
42239     {
42240 					(yyval.list) = list_make2(NULL, (yyvsp[-1].list));
42241 				}
42242 #line 42243 "gram.c" /* yacc.c:1646  */
42243     break;
42244 
42245   case 1796:
42246 #line 12349 "gram.y" /* yacc.c:1646  */
42247     {
42248 					Alias *a = makeNode(Alias);
42249 					a->aliasname = (yyvsp[-3].str);
42250 					(yyval.list) = list_make2(a, (yyvsp[-1].list));
42251 				}
42252 #line 42253 "gram.c" /* yacc.c:1646  */
42253     break;
42254 
42255   case 1797:
42256 #line 12355 "gram.y" /* yacc.c:1646  */
42257     {
42258 					Alias *a = makeNode(Alias);
42259 					a->aliasname = (yyvsp[-3].str);
42260 					(yyval.list) = list_make2(a, (yyvsp[-1].list));
42261 				}
42262 #line 42263 "gram.c" /* yacc.c:1646  */
42263     break;
42264 
42265   case 1798:
42266 #line 12361 "gram.y" /* yacc.c:1646  */
42267     {
42268 					(yyval.list) = list_make2(NULL, NIL);
42269 				}
42270 #line 42271 "gram.c" /* yacc.c:1646  */
42271     break;
42272 
42273   case 1799:
42274 #line 12366 "gram.y" /* yacc.c:1646  */
42275     { (yyval.jtype) = JOIN_FULL; }
42276 #line 42277 "gram.c" /* yacc.c:1646  */
42277     break;
42278 
42279   case 1800:
42280 #line 12367 "gram.y" /* yacc.c:1646  */
42281     { (yyval.jtype) = JOIN_LEFT; }
42282 #line 42283 "gram.c" /* yacc.c:1646  */
42283     break;
42284 
42285   case 1801:
42286 #line 12368 "gram.y" /* yacc.c:1646  */
42287     { (yyval.jtype) = JOIN_RIGHT; }
42288 #line 42289 "gram.c" /* yacc.c:1646  */
42289     break;
42290 
42291   case 1802:
42292 #line 12369 "gram.y" /* yacc.c:1646  */
42293     { (yyval.jtype) = JOIN_INNER; }
42294 #line 42295 "gram.c" /* yacc.c:1646  */
42295     break;
42296 
42297   case 1803:
42298 #line 12373 "gram.y" /* yacc.c:1646  */
42299     { (yyval.node) = NULL; }
42300 #line 42301 "gram.c" /* yacc.c:1646  */
42301     break;
42302 
42303   case 1804:
42304 #line 12374 "gram.y" /* yacc.c:1646  */
42305     { (yyval.node) = NULL; }
42306 #line 42307 "gram.c" /* yacc.c:1646  */
42307     break;
42308 
42309   case 1805:
42310 #line 12386 "gram.y" /* yacc.c:1646  */
42311     { (yyval.node) = (Node *) (yyvsp[-1].list); }
42312 #line 42313 "gram.c" /* yacc.c:1646  */
42313     break;
42314 
42315   case 1806:
42316 #line 12387 "gram.y" /* yacc.c:1646  */
42317     { (yyval.node) = (yyvsp[0].node); }
42318 #line 42319 "gram.c" /* yacc.c:1646  */
42319     break;
42320 
42321   case 1807:
42322 #line 12393 "gram.y" /* yacc.c:1646  */
42323     {
42324 					/* inheritance query, implicitly */
42325 					(yyval.range) = (yyvsp[0].range);
42326 					(yyval.range)->inh = true;
42327 					(yyval.range)->alias = NULL;
42328 				}
42329 #line 42330 "gram.c" /* yacc.c:1646  */
42330     break;
42331 
42332   case 1808:
42333 #line 12400 "gram.y" /* yacc.c:1646  */
42334     {
42335 					/* inheritance query, explicitly */
42336 					(yyval.range) = (yyvsp[-1].range);
42337 					(yyval.range)->inh = true;
42338 					(yyval.range)->alias = NULL;
42339 				}
42340 #line 42341 "gram.c" /* yacc.c:1646  */
42341     break;
42342 
42343   case 1809:
42344 #line 12407 "gram.y" /* yacc.c:1646  */
42345     {
42346 					/* no inheritance */
42347 					(yyval.range) = (yyvsp[0].range);
42348 					(yyval.range)->inh = false;
42349 					(yyval.range)->alias = NULL;
42350 				}
42351 #line 42352 "gram.c" /* yacc.c:1646  */
42352     break;
42353 
42354   case 1810:
42355 #line 12414 "gram.y" /* yacc.c:1646  */
42356     {
42357 					/* no inheritance, SQL99-style syntax */
42358 					(yyval.range) = (yyvsp[-1].range);
42359 					(yyval.range)->inh = false;
42360 					(yyval.range)->alias = NULL;
42361 				}
42362 #line 42363 "gram.c" /* yacc.c:1646  */
42363     break;
42364 
42365   case 1811:
42366 #line 12424 "gram.y" /* yacc.c:1646  */
42367     { (yyval.list) = list_make1((yyvsp[0].range)); }
42368 #line 42369 "gram.c" /* yacc.c:1646  */
42369     break;
42370 
42371   case 1812:
42372 #line 12425 "gram.y" /* yacc.c:1646  */
42373     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].range)); }
42374 #line 42375 "gram.c" /* yacc.c:1646  */
42375     break;
42376 
42377   case 1813:
42378 #line 12439 "gram.y" /* yacc.c:1646  */
42379     {
42380 					(yyval.range) = (yyvsp[0].range);
42381 				}
42382 #line 42383 "gram.c" /* yacc.c:1646  */
42383     break;
42384 
42385   case 1814:
42386 #line 12443 "gram.y" /* yacc.c:1646  */
42387     {
42388 					Alias *alias = makeNode(Alias);
42389 					alias->aliasname = (yyvsp[0].str);
42390 					(yyvsp[-1].range)->alias = alias;
42391 					(yyval.range) = (yyvsp[-1].range);
42392 				}
42393 #line 42394 "gram.c" /* yacc.c:1646  */
42394     break;
42395 
42396   case 1815:
42397 #line 12450 "gram.y" /* yacc.c:1646  */
42398     {
42399 					Alias *alias = makeNode(Alias);
42400 					alias->aliasname = (yyvsp[0].str);
42401 					(yyvsp[-2].range)->alias = alias;
42402 					(yyval.range) = (yyvsp[-2].range);
42403 				}
42404 #line 42405 "gram.c" /* yacc.c:1646  */
42405     break;
42406 
42407   case 1816:
42408 #line 12463 "gram.y" /* yacc.c:1646  */
42409     {
42410 					RangeTableSample *n = makeNode(RangeTableSample);
42411 					/* n->relation will be filled in later */
42412 					n->method = (yyvsp[-4].list);
42413 					n->args = (yyvsp[-2].list);
42414 					n->repeatable = (yyvsp[0].node);
42415 					n->location = (yylsp[-4]);
42416 					(yyval.node) = (Node *) n;
42417 				}
42418 #line 42419 "gram.c" /* yacc.c:1646  */
42419     break;
42420 
42421   case 1817:
42422 #line 12475 "gram.y" /* yacc.c:1646  */
42423     { (yyval.node) = (Node *) (yyvsp[-1].node); }
42424 #line 42425 "gram.c" /* yacc.c:1646  */
42425     break;
42426 
42427   case 1818:
42428 #line 12476 "gram.y" /* yacc.c:1646  */
42429     { (yyval.node) = NULL; }
42430 #line 42431 "gram.c" /* yacc.c:1646  */
42431     break;
42432 
42433   case 1819:
42434 #line 12492 "gram.y" /* yacc.c:1646  */
42435     {
42436 					RangeFunction *n = makeNode(RangeFunction);
42437 					n->lateral = false;
42438 					n->ordinality = (yyvsp[0].boolean);
42439 					n->is_rowsfrom = false;
42440 					n->functions = list_make1(list_make2((yyvsp[-1].node), NIL));
42441 					/* alias and coldeflist are set by table_ref production */
42442 					(yyval.node) = (Node *) n;
42443 				}
42444 #line 42445 "gram.c" /* yacc.c:1646  */
42445     break;
42446 
42447   case 1820:
42448 #line 12502 "gram.y" /* yacc.c:1646  */
42449     {
42450 					RangeFunction *n = makeNode(RangeFunction);
42451 					n->lateral = false;
42452 					n->ordinality = (yyvsp[0].boolean);
42453 					n->is_rowsfrom = true;
42454 					n->functions = (yyvsp[-2].list);
42455 					/* alias and coldeflist are set by table_ref production */
42456 					(yyval.node) = (Node *) n;
42457 				}
42458 #line 42459 "gram.c" /* yacc.c:1646  */
42459     break;
42460 
42461   case 1821:
42462 #line 12514 "gram.y" /* yacc.c:1646  */
42463     { (yyval.list) = list_make2((yyvsp[-1].node), (yyvsp[0].list)); }
42464 #line 42465 "gram.c" /* yacc.c:1646  */
42465     break;
42466 
42467   case 1822:
42468 #line 12518 "gram.y" /* yacc.c:1646  */
42469     { (yyval.list) = list_make1((yyvsp[0].list)); }
42470 #line 42471 "gram.c" /* yacc.c:1646  */
42471     break;
42472 
42473   case 1823:
42474 #line 12519 "gram.y" /* yacc.c:1646  */
42475     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].list)); }
42476 #line 42477 "gram.c" /* yacc.c:1646  */
42477     break;
42478 
42479   case 1824:
42480 #line 12522 "gram.y" /* yacc.c:1646  */
42481     { (yyval.list) = (yyvsp[-1].list); }
42482 #line 42483 "gram.c" /* yacc.c:1646  */
42483     break;
42484 
42485   case 1825:
42486 #line 12523 "gram.y" /* yacc.c:1646  */
42487     { (yyval.list) = NIL; }
42488 #line 42489 "gram.c" /* yacc.c:1646  */
42489     break;
42490 
42491   case 1826:
42492 #line 12526 "gram.y" /* yacc.c:1646  */
42493     { (yyval.boolean) = true; }
42494 #line 42495 "gram.c" /* yacc.c:1646  */
42495     break;
42496 
42497   case 1827:
42498 #line 12527 "gram.y" /* yacc.c:1646  */
42499     { (yyval.boolean) = false; }
42500 #line 42501 "gram.c" /* yacc.c:1646  */
42501     break;
42502 
42503   case 1828:
42504 #line 12532 "gram.y" /* yacc.c:1646  */
42505     { (yyval.node) = (yyvsp[0].node); }
42506 #line 42507 "gram.c" /* yacc.c:1646  */
42507     break;
42508 
42509   case 1829:
42510 #line 12533 "gram.y" /* yacc.c:1646  */
42511     { (yyval.node) = NULL; }
42512 #line 42513 "gram.c" /* yacc.c:1646  */
42513     break;
42514 
42515   case 1830:
42516 #line 12538 "gram.y" /* yacc.c:1646  */
42517     { (yyval.node) = (yyvsp[0].node); }
42518 #line 42519 "gram.c" /* yacc.c:1646  */
42519     break;
42520 
42521   case 1831:
42522 #line 12540 "gram.y" /* yacc.c:1646  */
42523     {
42524 					CurrentOfExpr *n = makeNode(CurrentOfExpr);
42525 					/* cvarno is filled in by parse analysis */
42526 					n->cursor_name = (yyvsp[0].str);
42527 					n->cursor_param = 0;
42528 					(yyval.node) = (Node *) n;
42529 				}
42530 #line 42531 "gram.c" /* yacc.c:1646  */
42531     break;
42532 
42533   case 1832:
42534 #line 12547 "gram.y" /* yacc.c:1646  */
42535     { (yyval.node) = NULL; }
42536 #line 42537 "gram.c" /* yacc.c:1646  */
42537     break;
42538 
42539   case 1833:
42540 #line 12552 "gram.y" /* yacc.c:1646  */
42541     { (yyval.list) = (yyvsp[0].list); }
42542 #line 42543 "gram.c" /* yacc.c:1646  */
42543     break;
42544 
42545   case 1834:
42546 #line 12553 "gram.y" /* yacc.c:1646  */
42547     { (yyval.list) = NIL; }
42548 #line 42549 "gram.c" /* yacc.c:1646  */
42549     break;
42550 
42551   case 1835:
42552 #line 12558 "gram.y" /* yacc.c:1646  */
42553     {
42554 					(yyval.list) = list_make1((yyvsp[0].node));
42555 				}
42556 #line 42557 "gram.c" /* yacc.c:1646  */
42557     break;
42558 
42559   case 1836:
42560 #line 12562 "gram.y" /* yacc.c:1646  */
42561     {
42562 					(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
42563 				}
42564 #line 42565 "gram.c" /* yacc.c:1646  */
42565     break;
42566 
42567   case 1837:
42568 #line 12568 "gram.y" /* yacc.c:1646  */
42569     {
42570 					ColumnDef *n = makeNode(ColumnDef);
42571 					n->colname = (yyvsp[-2].str);
42572 					n->typeName = (yyvsp[-1].typnam);
42573 					n->inhcount = 0;
42574 					n->is_local = true;
42575 					n->is_not_null = false;
42576 					n->is_from_type = false;
42577 					n->storage = 0;
42578 					n->raw_default = NULL;
42579 					n->cooked_default = NULL;
42580 					n->collClause = (CollateClause *) (yyvsp[0].node);
42581 					n->collOid = InvalidOid;
42582 					n->constraints = NIL;
42583 					n->location = (yylsp[-2]);
42584 					(yyval.node) = (Node *)n;
42585 				}
42586 #line 42587 "gram.c" /* yacc.c:1646  */
42587     break;
42588 
42589   case 1838:
42590 #line 12592 "gram.y" /* yacc.c:1646  */
42591     {
42592 					RangeTableFunc *n = makeNode(RangeTableFunc);
42593 					n->rowexpr = (yyvsp[-4].node);
42594 					n->docexpr = (yyvsp[-3].node);
42595 					n->columns = (yyvsp[-1].list);
42596 					n->namespaces = NIL;
42597 					n->location = (yylsp[-6]);
42598 					(yyval.node) = (Node *)n;
42599 				}
42600 #line 42601 "gram.c" /* yacc.c:1646  */
42601     break;
42602 
42603   case 1839:
42604 #line 12603 "gram.y" /* yacc.c:1646  */
42605     {
42606 					RangeTableFunc *n = makeNode(RangeTableFunc);
42607 					n->rowexpr = (yyvsp[-4].node);
42608 					n->docexpr = (yyvsp[-3].node);
42609 					n->columns = (yyvsp[-1].list);
42610 					n->namespaces = (yyvsp[-7].list);
42611 					n->location = (yylsp[-11]);
42612 					(yyval.node) = (Node *)n;
42613 				}
42614 #line 42615 "gram.c" /* yacc.c:1646  */
42615     break;
42616 
42617   case 1840:
42618 #line 12614 "gram.y" /* yacc.c:1646  */
42619     { (yyval.list) = list_make1((yyvsp[0].node)); }
42620 #line 42621 "gram.c" /* yacc.c:1646  */
42621     break;
42622 
42623   case 1841:
42624 #line 12615 "gram.y" /* yacc.c:1646  */
42625     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
42626 #line 42627 "gram.c" /* yacc.c:1646  */
42627     break;
42628 
42629   case 1842:
42630 #line 12620 "gram.y" /* yacc.c:1646  */
42631     {
42632 					RangeTableFuncCol	   *fc = makeNode(RangeTableFuncCol);
42633 
42634 					fc->colname = (yyvsp[-1].str);
42635 					fc->for_ordinality = false;
42636 					fc->typeName = (yyvsp[0].typnam);
42637 					fc->is_not_null = false;
42638 					fc->colexpr = NULL;
42639 					fc->coldefexpr = NULL;
42640 					fc->location = (yylsp[-1]);
42641 
42642 					(yyval.node) = (Node *) fc;
42643 				}
42644 #line 42645 "gram.c" /* yacc.c:1646  */
42645     break;
42646 
42647   case 1843:
42648 #line 12634 "gram.y" /* yacc.c:1646  */
42649     {
42650 					RangeTableFuncCol	   *fc = makeNode(RangeTableFuncCol);
42651 					ListCell		   *option;
42652 					bool				nullability_seen = false;
42653 
42654 					fc->colname = (yyvsp[-2].str);
42655 					fc->typeName = (yyvsp[-1].typnam);
42656 					fc->for_ordinality = false;
42657 					fc->is_not_null = false;
42658 					fc->colexpr = NULL;
42659 					fc->coldefexpr = NULL;
42660 					fc->location = (yylsp[-2]);
42661 
42662 					foreach(option, (yyvsp[0].list))
42663 					{
42664 						DefElem   *defel = (DefElem *) lfirst(option);
42665 
42666 						if (strcmp(defel->defname, "default") == 0)
42667 						{
42668 							if (fc->coldefexpr != NULL)
42669 								ereport(ERROR,
42670 										(errcode(ERRCODE_SYNTAX_ERROR),
42671 										 errmsg("only one DEFAULT value is allowed"),
42672 										 parser_errposition(defel->location)));
42673 							fc->coldefexpr = defel->arg;
42674 						}
42675 						else if (strcmp(defel->defname, "path") == 0)
42676 						{
42677 							if (fc->colexpr != NULL)
42678 								ereport(ERROR,
42679 										(errcode(ERRCODE_SYNTAX_ERROR),
42680 										 errmsg("only one PATH value per column is allowed"),
42681 										 parser_errposition(defel->location)));
42682 							fc->colexpr = defel->arg;
42683 						}
42684 						else if (strcmp(defel->defname, "is_not_null") == 0)
42685 						{
42686 							if (nullability_seen)
42687 								ereport(ERROR,
42688 										(errcode(ERRCODE_SYNTAX_ERROR),
42689 										 errmsg("conflicting or redundant NULL / NOT NULL declarations for column \"%s\"", fc->colname),
42690 										 parser_errposition(defel->location)));
42691 							fc->is_not_null = intVal(defel->arg);
42692 							nullability_seen = true;
42693 						}
42694 						else
42695 						{
42696 							ereport(ERROR,
42697 									(errcode(ERRCODE_SYNTAX_ERROR),
42698 									 errmsg("unrecognized column option \"%s\"",
42699 											defel->defname),
42700 									 parser_errposition(defel->location)));
42701 						}
42702 					}
42703 					(yyval.node) = (Node *) fc;
42704 				}
42705 #line 42706 "gram.c" /* yacc.c:1646  */
42706     break;
42707 
42708   case 1844:
42709 #line 12691 "gram.y" /* yacc.c:1646  */
42710     {
42711 					RangeTableFuncCol	   *fc = makeNode(RangeTableFuncCol);
42712 
42713 					fc->colname = (yyvsp[-2].str);
42714 					fc->for_ordinality = true;
42715 					/* other fields are ignored, initialized by makeNode */
42716 					fc->location = (yylsp[-2]);
42717 
42718 					(yyval.node) = (Node *) fc;
42719 				}
42720 #line 42721 "gram.c" /* yacc.c:1646  */
42721     break;
42722 
42723   case 1845:
42724 #line 12705 "gram.y" /* yacc.c:1646  */
42725     { (yyval.list) = list_make1((yyvsp[0].defelt)); }
42726 #line 42727 "gram.c" /* yacc.c:1646  */
42727     break;
42728 
42729   case 1846:
42730 #line 12707 "gram.y" /* yacc.c:1646  */
42731     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
42732 #line 42733 "gram.c" /* yacc.c:1646  */
42733     break;
42734 
42735   case 1847:
42736 #line 12712 "gram.y" /* yacc.c:1646  */
42737     { (yyval.defelt) = makeDefElem((yyvsp[-1].str), (yyvsp[0].node), (yylsp[-1])); }
42738 #line 42739 "gram.c" /* yacc.c:1646  */
42739     break;
42740 
42741   case 1848:
42742 #line 12714 "gram.y" /* yacc.c:1646  */
42743     { (yyval.defelt) = makeDefElem("default", (yyvsp[0].node), (yylsp[-1])); }
42744 #line 42745 "gram.c" /* yacc.c:1646  */
42745     break;
42746 
42747   case 1849:
42748 #line 12716 "gram.y" /* yacc.c:1646  */
42749     { (yyval.defelt) = makeDefElem("is_not_null", (Node *) makeInteger(true), (yylsp[-1])); }
42750 #line 42751 "gram.c" /* yacc.c:1646  */
42751     break;
42752 
42753   case 1850:
42754 #line 12718 "gram.y" /* yacc.c:1646  */
42755     { (yyval.defelt) = makeDefElem("is_not_null", (Node *) makeInteger(false), (yylsp[0])); }
42756 #line 42757 "gram.c" /* yacc.c:1646  */
42757     break;
42758 
42759   case 1851:
42760 #line 12723 "gram.y" /* yacc.c:1646  */
42761     { (yyval.list) = list_make1((yyvsp[0].target)); }
42762 #line 42763 "gram.c" /* yacc.c:1646  */
42763     break;
42764 
42765   case 1852:
42766 #line 12725 "gram.y" /* yacc.c:1646  */
42767     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].target)); }
42768 #line 42769 "gram.c" /* yacc.c:1646  */
42769     break;
42770 
42771   case 1853:
42772 #line 12730 "gram.y" /* yacc.c:1646  */
42773     {
42774 					(yyval.target) = makeNode(ResTarget);
42775 					(yyval.target)->name = (yyvsp[0].str);
42776 					(yyval.target)->indirection = NIL;
42777 					(yyval.target)->val = (yyvsp[-2].node);
42778 					(yyval.target)->location = (yylsp[-2]);
42779 				}
42780 #line 42781 "gram.c" /* yacc.c:1646  */
42781     break;
42782 
42783   case 1854:
42784 #line 12738 "gram.y" /* yacc.c:1646  */
42785     {
42786 					(yyval.target) = makeNode(ResTarget);
42787 					(yyval.target)->name = NULL;
42788 					(yyval.target)->indirection = NIL;
42789 					(yyval.target)->val = (yyvsp[0].node);
42790 					(yyval.target)->location = (yylsp[-1]);
42791 				}
42792 #line 42793 "gram.c" /* yacc.c:1646  */
42793     break;
42794 
42795   case 1855:
42796 #line 12758 "gram.y" /* yacc.c:1646  */
42797     {
42798 					(yyval.typnam) = (yyvsp[-1].typnam);
42799 					(yyval.typnam)->arrayBounds = (yyvsp[0].list);
42800 				}
42801 #line 42802 "gram.c" /* yacc.c:1646  */
42802     break;
42803 
42804   case 1856:
42805 #line 12763 "gram.y" /* yacc.c:1646  */
42806     {
42807 					(yyval.typnam) = (yyvsp[-1].typnam);
42808 					(yyval.typnam)->arrayBounds = (yyvsp[0].list);
42809 					(yyval.typnam)->setof = true;
42810 				}
42811 #line 42812 "gram.c" /* yacc.c:1646  */
42812     break;
42813 
42814   case 1857:
42815 #line 12770 "gram.y" /* yacc.c:1646  */
42816     {
42817 					(yyval.typnam) = (yyvsp[-4].typnam);
42818 					(yyval.typnam)->arrayBounds = list_make1(makeInteger((yyvsp[-1].ival)));
42819 				}
42820 #line 42821 "gram.c" /* yacc.c:1646  */
42821     break;
42822 
42823   case 1858:
42824 #line 12775 "gram.y" /* yacc.c:1646  */
42825     {
42826 					(yyval.typnam) = (yyvsp[-4].typnam);
42827 					(yyval.typnam)->arrayBounds = list_make1(makeInteger((yyvsp[-1].ival)));
42828 					(yyval.typnam)->setof = true;
42829 				}
42830 #line 42831 "gram.c" /* yacc.c:1646  */
42831     break;
42832 
42833   case 1859:
42834 #line 12781 "gram.y" /* yacc.c:1646  */
42835     {
42836 					(yyval.typnam) = (yyvsp[-1].typnam);
42837 					(yyval.typnam)->arrayBounds = list_make1(makeInteger(-1));
42838 				}
42839 #line 42840 "gram.c" /* yacc.c:1646  */
42840     break;
42841 
42842   case 1860:
42843 #line 12786 "gram.y" /* yacc.c:1646  */
42844     {
42845 					(yyval.typnam) = (yyvsp[-1].typnam);
42846 					(yyval.typnam)->arrayBounds = list_make1(makeInteger(-1));
42847 					(yyval.typnam)->setof = true;
42848 				}
42849 #line 42850 "gram.c" /* yacc.c:1646  */
42850     break;
42851 
42852   case 1861:
42853 #line 12795 "gram.y" /* yacc.c:1646  */
42854     {  (yyval.list) = lappend((yyvsp[-2].list), makeInteger(-1)); }
42855 #line 42856 "gram.c" /* yacc.c:1646  */
42856     break;
42857 
42858   case 1862:
42859 #line 12797 "gram.y" /* yacc.c:1646  */
42860     {  (yyval.list) = lappend((yyvsp[-3].list), makeInteger((yyvsp[-1].ival))); }
42861 #line 42862 "gram.c" /* yacc.c:1646  */
42862     break;
42863 
42864   case 1863:
42865 #line 12799 "gram.y" /* yacc.c:1646  */
42866     {  (yyval.list) = NIL; }
42867 #line 42868 "gram.c" /* yacc.c:1646  */
42868     break;
42869 
42870   case 1864:
42871 #line 12803 "gram.y" /* yacc.c:1646  */
42872     { (yyval.typnam) = (yyvsp[0].typnam); }
42873 #line 42874 "gram.c" /* yacc.c:1646  */
42874     break;
42875 
42876   case 1865:
42877 #line 12804 "gram.y" /* yacc.c:1646  */
42878     { (yyval.typnam) = (yyvsp[0].typnam); }
42879 #line 42880 "gram.c" /* yacc.c:1646  */
42880     break;
42881 
42882   case 1866:
42883 #line 12805 "gram.y" /* yacc.c:1646  */
42884     { (yyval.typnam) = (yyvsp[0].typnam); }
42885 #line 42886 "gram.c" /* yacc.c:1646  */
42886     break;
42887 
42888   case 1867:
42889 #line 12806 "gram.y" /* yacc.c:1646  */
42890     { (yyval.typnam) = (yyvsp[0].typnam); }
42891 #line 42892 "gram.c" /* yacc.c:1646  */
42892     break;
42893 
42894   case 1868:
42895 #line 12807 "gram.y" /* yacc.c:1646  */
42896     { (yyval.typnam) = (yyvsp[0].typnam); }
42897 #line 42898 "gram.c" /* yacc.c:1646  */
42898     break;
42899 
42900   case 1869:
42901 #line 12809 "gram.y" /* yacc.c:1646  */
42902     {
42903 					(yyval.typnam) = (yyvsp[-1].typnam);
42904 					(yyval.typnam)->typmods = (yyvsp[0].list);
42905 				}
42906 #line 42907 "gram.c" /* yacc.c:1646  */
42907     break;
42908 
42909   case 1870:
42910 #line 12814 "gram.y" /* yacc.c:1646  */
42911     {
42912 					(yyval.typnam) = (yyvsp[-3].typnam);
42913 					(yyval.typnam)->typmods = list_make2(makeIntConst(INTERVAL_FULL_RANGE, -1),
42914 											 makeIntConst((yyvsp[-1].ival), (yylsp[-1])));
42915 				}
42916 #line 42917 "gram.c" /* yacc.c:1646  */
42917     break;
42918 
42919   case 1871:
42920 #line 12833 "gram.y" /* yacc.c:1646  */
42921     { (yyval.typnam) = (yyvsp[0].typnam); }
42922 #line 42923 "gram.c" /* yacc.c:1646  */
42923     break;
42924 
42925   case 1872:
42926 #line 12834 "gram.y" /* yacc.c:1646  */
42927     { (yyval.typnam) = (yyvsp[0].typnam); }
42928 #line 42929 "gram.c" /* yacc.c:1646  */
42929     break;
42930 
42931   case 1873:
42932 #line 12835 "gram.y" /* yacc.c:1646  */
42933     { (yyval.typnam) = (yyvsp[0].typnam); }
42934 #line 42935 "gram.c" /* yacc.c:1646  */
42935     break;
42936 
42937   case 1874:
42938 #line 12836 "gram.y" /* yacc.c:1646  */
42939     { (yyval.typnam) = (yyvsp[0].typnam); }
42940 #line 42941 "gram.c" /* yacc.c:1646  */
42941     break;
42942 
42943   case 1875:
42944 #line 12848 "gram.y" /* yacc.c:1646  */
42945     {
42946 					(yyval.typnam) = makeTypeName((yyvsp[-1].str));
42947 					(yyval.typnam)->typmods = (yyvsp[0].list);
42948 					(yyval.typnam)->location = (yylsp[-1]);
42949 				}
42950 #line 42951 "gram.c" /* yacc.c:1646  */
42951     break;
42952 
42953   case 1876:
42954 #line 12854 "gram.y" /* yacc.c:1646  */
42955     {
42956 					(yyval.typnam) = makeTypeNameFromNameList(lcons(makeString((yyvsp[-2].str)), (yyvsp[-1].list)));
42957 					(yyval.typnam)->typmods = (yyvsp[0].list);
42958 					(yyval.typnam)->location = (yylsp[-2]);
42959 				}
42960 #line 42961 "gram.c" /* yacc.c:1646  */
42961     break;
42962 
42963   case 1877:
42964 #line 12861 "gram.y" /* yacc.c:1646  */
42965     { (yyval.list) = (yyvsp[-1].list); }
42966 #line 42967 "gram.c" /* yacc.c:1646  */
42967     break;
42968 
42969   case 1878:
42970 #line 12862 "gram.y" /* yacc.c:1646  */
42971     { (yyval.list) = NIL; }
42972 #line 42973 "gram.c" /* yacc.c:1646  */
42973     break;
42974 
42975   case 1879:
42976 #line 12869 "gram.y" /* yacc.c:1646  */
42977     {
42978 					(yyval.typnam) = SystemTypeName("int4");
42979 					(yyval.typnam)->location = (yylsp[0]);
42980 				}
42981 #line 42982 "gram.c" /* yacc.c:1646  */
42982     break;
42983 
42984   case 1880:
42985 #line 12874 "gram.y" /* yacc.c:1646  */
42986     {
42987 					(yyval.typnam) = SystemTypeName("int4");
42988 					(yyval.typnam)->location = (yylsp[0]);
42989 				}
42990 #line 42991 "gram.c" /* yacc.c:1646  */
42991     break;
42992 
42993   case 1881:
42994 #line 12879 "gram.y" /* yacc.c:1646  */
42995     {
42996 					(yyval.typnam) = SystemTypeName("int2");
42997 					(yyval.typnam)->location = (yylsp[0]);
42998 				}
42999 #line 43000 "gram.c" /* yacc.c:1646  */
43000     break;
43001 
43002   case 1882:
43003 #line 12884 "gram.y" /* yacc.c:1646  */
43004     {
43005 					(yyval.typnam) = SystemTypeName("int8");
43006 					(yyval.typnam)->location = (yylsp[0]);
43007 				}
43008 #line 43009 "gram.c" /* yacc.c:1646  */
43009     break;
43010 
43011   case 1883:
43012 #line 12889 "gram.y" /* yacc.c:1646  */
43013     {
43014 					(yyval.typnam) = SystemTypeName("float4");
43015 					(yyval.typnam)->location = (yylsp[0]);
43016 				}
43017 #line 43018 "gram.c" /* yacc.c:1646  */
43018     break;
43019 
43020   case 1884:
43021 #line 12894 "gram.y" /* yacc.c:1646  */
43022     {
43023 					(yyval.typnam) = (yyvsp[0].typnam);
43024 					(yyval.typnam)->location = (yylsp[-1]);
43025 				}
43026 #line 43027 "gram.c" /* yacc.c:1646  */
43027     break;
43028 
43029   case 1885:
43030 #line 12899 "gram.y" /* yacc.c:1646  */
43031     {
43032 					(yyval.typnam) = SystemTypeName("float8");
43033 					(yyval.typnam)->location = (yylsp[-1]);
43034 				}
43035 #line 43036 "gram.c" /* yacc.c:1646  */
43036     break;
43037 
43038   case 1886:
43039 #line 12904 "gram.y" /* yacc.c:1646  */
43040     {
43041 					(yyval.typnam) = SystemTypeName("numeric");
43042 					(yyval.typnam)->typmods = (yyvsp[0].list);
43043 					(yyval.typnam)->location = (yylsp[-1]);
43044 				}
43045 #line 43046 "gram.c" /* yacc.c:1646  */
43046     break;
43047 
43048   case 1887:
43049 #line 12910 "gram.y" /* yacc.c:1646  */
43050     {
43051 					(yyval.typnam) = SystemTypeName("numeric");
43052 					(yyval.typnam)->typmods = (yyvsp[0].list);
43053 					(yyval.typnam)->location = (yylsp[-1]);
43054 				}
43055 #line 43056 "gram.c" /* yacc.c:1646  */
43056     break;
43057 
43058   case 1888:
43059 #line 12916 "gram.y" /* yacc.c:1646  */
43060     {
43061 					(yyval.typnam) = SystemTypeName("numeric");
43062 					(yyval.typnam)->typmods = (yyvsp[0].list);
43063 					(yyval.typnam)->location = (yylsp[-1]);
43064 				}
43065 #line 43066 "gram.c" /* yacc.c:1646  */
43066     break;
43067 
43068   case 1889:
43069 #line 12922 "gram.y" /* yacc.c:1646  */
43070     {
43071 					(yyval.typnam) = SystemTypeName("bool");
43072 					(yyval.typnam)->location = (yylsp[0]);
43073 				}
43074 #line 43075 "gram.c" /* yacc.c:1646  */
43075     break;
43076 
43077   case 1890:
43078 #line 12929 "gram.y" /* yacc.c:1646  */
43079     {
43080 					/*
43081 					 * Check FLOAT() precision limits assuming IEEE floating
43082 					 * types - thomas 1997-09-18
43083 					 */
43084 					if ((yyvsp[-1].ival) < 1)
43085 						ereport(ERROR,
43086 								(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
43087 								 errmsg("precision for type float must be at least 1 bit"),
43088 								 parser_errposition((yylsp[-1]))));
43089 					else if ((yyvsp[-1].ival) <= 24)
43090 						(yyval.typnam) = SystemTypeName("float4");
43091 					else if ((yyvsp[-1].ival) <= 53)
43092 						(yyval.typnam) = SystemTypeName("float8");
43093 					else
43094 						ereport(ERROR,
43095 								(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
43096 								 errmsg("precision for type float must be less than 54 bits"),
43097 								 parser_errposition((yylsp[-1]))));
43098 				}
43099 #line 43100 "gram.c" /* yacc.c:1646  */
43100     break;
43101 
43102   case 1891:
43103 #line 12950 "gram.y" /* yacc.c:1646  */
43104     {
43105 					(yyval.typnam) = SystemTypeName("float8");
43106 				}
43107 #line 43108 "gram.c" /* yacc.c:1646  */
43108     break;
43109 
43110   case 1892:
43111 #line 12960 "gram.y" /* yacc.c:1646  */
43112     {
43113 					(yyval.typnam) = (yyvsp[0].typnam);
43114 				}
43115 #line 43116 "gram.c" /* yacc.c:1646  */
43116     break;
43117 
43118   case 1893:
43119 #line 12964 "gram.y" /* yacc.c:1646  */
43120     {
43121 					(yyval.typnam) = (yyvsp[0].typnam);
43122 				}
43123 #line 43124 "gram.c" /* yacc.c:1646  */
43124     break;
43125 
43126   case 1894:
43127 #line 12972 "gram.y" /* yacc.c:1646  */
43128     {
43129 					(yyval.typnam) = (yyvsp[0].typnam);
43130 				}
43131 #line 43132 "gram.c" /* yacc.c:1646  */
43132     break;
43133 
43134   case 1895:
43135 #line 12976 "gram.y" /* yacc.c:1646  */
43136     {
43137 					(yyval.typnam) = (yyvsp[0].typnam);
43138 					(yyval.typnam)->typmods = NIL;
43139 				}
43140 #line 43141 "gram.c" /* yacc.c:1646  */
43141     break;
43142 
43143   case 1896:
43144 #line 12984 "gram.y" /* yacc.c:1646  */
43145     {
43146 					char *typname;
43147 
43148 					typname = (yyvsp[-3].boolean) ? "varbit" : "bit";
43149 					(yyval.typnam) = SystemTypeName(typname);
43150 					(yyval.typnam)->typmods = (yyvsp[-1].list);
43151 					(yyval.typnam)->location = (yylsp[-4]);
43152 				}
43153 #line 43154 "gram.c" /* yacc.c:1646  */
43154     break;
43155 
43156   case 1897:
43157 #line 12996 "gram.y" /* yacc.c:1646  */
43158     {
43159 					/* bit defaults to bit(1), varbit to no limit */
43160 					if ((yyvsp[0].boolean))
43161 					{
43162 						(yyval.typnam) = SystemTypeName("varbit");
43163 					}
43164 					else
43165 					{
43166 						(yyval.typnam) = SystemTypeName("bit");
43167 						(yyval.typnam)->typmods = list_make1(makeIntConst(1, -1));
43168 					}
43169 					(yyval.typnam)->location = (yylsp[-1]);
43170 				}
43171 #line 43172 "gram.c" /* yacc.c:1646  */
43172     break;
43173 
43174   case 1898:
43175 #line 13017 "gram.y" /* yacc.c:1646  */
43176     {
43177 					(yyval.typnam) = (yyvsp[0].typnam);
43178 				}
43179 #line 43180 "gram.c" /* yacc.c:1646  */
43180     break;
43181 
43182   case 1899:
43183 #line 13021 "gram.y" /* yacc.c:1646  */
43184     {
43185 					(yyval.typnam) = (yyvsp[0].typnam);
43186 				}
43187 #line 43188 "gram.c" /* yacc.c:1646  */
43188     break;
43189 
43190   case 1900:
43191 #line 13027 "gram.y" /* yacc.c:1646  */
43192     {
43193 					(yyval.typnam) = (yyvsp[0].typnam);
43194 				}
43195 #line 43196 "gram.c" /* yacc.c:1646  */
43196     break;
43197 
43198   case 1901:
43199 #line 13031 "gram.y" /* yacc.c:1646  */
43200     {
43201 					/* Length was not specified so allow to be unrestricted.
43202 					 * This handles problems with fixed-length (bpchar) strings
43203 					 * which in column definitions must default to a length
43204 					 * of one, but should not be constrained if the length
43205 					 * was not specified.
43206 					 */
43207 					(yyval.typnam) = (yyvsp[0].typnam);
43208 					(yyval.typnam)->typmods = NIL;
43209 				}
43210 #line 43211 "gram.c" /* yacc.c:1646  */
43211     break;
43212 
43213   case 1902:
43214 #line 13044 "gram.y" /* yacc.c:1646  */
43215     {
43216 					(yyval.typnam) = SystemTypeName((yyvsp[-3].str));
43217 					(yyval.typnam)->typmods = list_make1(makeIntConst((yyvsp[-1].ival), (yylsp[-1])));
43218 					(yyval.typnam)->location = (yylsp[-3]);
43219 				}
43220 #line 43221 "gram.c" /* yacc.c:1646  */
43221     break;
43222 
43223   case 1903:
43224 #line 13052 "gram.y" /* yacc.c:1646  */
43225     {
43226 					(yyval.typnam) = SystemTypeName((yyvsp[0].str));
43227 					/* char defaults to char(1), varchar to no limit */
43228 					if (strcmp((yyvsp[0].str), "bpchar") == 0)
43229 						(yyval.typnam)->typmods = list_make1(makeIntConst(1, -1));
43230 					(yyval.typnam)->location = (yylsp[0]);
43231 				}
43232 #line 43233 "gram.c" /* yacc.c:1646  */
43233     break;
43234 
43235   case 1904:
43236 #line 13062 "gram.y" /* yacc.c:1646  */
43237     { (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
43238 #line 43239 "gram.c" /* yacc.c:1646  */
43239     break;
43240 
43241   case 1905:
43242 #line 13064 "gram.y" /* yacc.c:1646  */
43243     { (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
43244 #line 43245 "gram.c" /* yacc.c:1646  */
43245     break;
43246 
43247   case 1906:
43248 #line 13066 "gram.y" /* yacc.c:1646  */
43249     { (yyval.str) = "varchar"; }
43250 #line 43251 "gram.c" /* yacc.c:1646  */
43251     break;
43252 
43253   case 1907:
43254 #line 13068 "gram.y" /* yacc.c:1646  */
43255     { (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
43256 #line 43257 "gram.c" /* yacc.c:1646  */
43257     break;
43258 
43259   case 1908:
43260 #line 13070 "gram.y" /* yacc.c:1646  */
43261     { (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
43262 #line 43263 "gram.c" /* yacc.c:1646  */
43263     break;
43264 
43265   case 1909:
43266 #line 13072 "gram.y" /* yacc.c:1646  */
43267     { (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
43268 #line 43269 "gram.c" /* yacc.c:1646  */
43269     break;
43270 
43271   case 1910:
43272 #line 13076 "gram.y" /* yacc.c:1646  */
43273     { (yyval.boolean) = true; }
43274 #line 43275 "gram.c" /* yacc.c:1646  */
43275     break;
43276 
43277   case 1911:
43278 #line 13077 "gram.y" /* yacc.c:1646  */
43279     { (yyval.boolean) = false; }
43280 #line 43281 "gram.c" /* yacc.c:1646  */
43281     break;
43282 
43283   case 1912:
43284 #line 13085 "gram.y" /* yacc.c:1646  */
43285     {
43286 					if ((yyvsp[0].boolean))
43287 						(yyval.typnam) = SystemTypeName("timestamptz");
43288 					else
43289 						(yyval.typnam) = SystemTypeName("timestamp");
43290 					(yyval.typnam)->typmods = list_make1(makeIntConst((yyvsp[-2].ival), (yylsp[-2])));
43291 					(yyval.typnam)->location = (yylsp[-4]);
43292 				}
43293 #line 43294 "gram.c" /* yacc.c:1646  */
43294     break;
43295 
43296   case 1913:
43297 #line 13094 "gram.y" /* yacc.c:1646  */
43298     {
43299 					if ((yyvsp[0].boolean))
43300 						(yyval.typnam) = SystemTypeName("timestamptz");
43301 					else
43302 						(yyval.typnam) = SystemTypeName("timestamp");
43303 					(yyval.typnam)->location = (yylsp[-1]);
43304 				}
43305 #line 43306 "gram.c" /* yacc.c:1646  */
43306     break;
43307 
43308   case 1914:
43309 #line 13102 "gram.y" /* yacc.c:1646  */
43310     {
43311 					if ((yyvsp[0].boolean))
43312 						(yyval.typnam) = SystemTypeName("timetz");
43313 					else
43314 						(yyval.typnam) = SystemTypeName("time");
43315 					(yyval.typnam)->typmods = list_make1(makeIntConst((yyvsp[-2].ival), (yylsp[-2])));
43316 					(yyval.typnam)->location = (yylsp[-4]);
43317 				}
43318 #line 43319 "gram.c" /* yacc.c:1646  */
43319     break;
43320 
43321   case 1915:
43322 #line 13111 "gram.y" /* yacc.c:1646  */
43323     {
43324 					if ((yyvsp[0].boolean))
43325 						(yyval.typnam) = SystemTypeName("timetz");
43326 					else
43327 						(yyval.typnam) = SystemTypeName("time");
43328 					(yyval.typnam)->location = (yylsp[-1]);
43329 				}
43330 #line 43331 "gram.c" /* yacc.c:1646  */
43331     break;
43332 
43333   case 1916:
43334 #line 13122 "gram.y" /* yacc.c:1646  */
43335     {
43336 					(yyval.typnam) = SystemTypeName("interval");
43337 					(yyval.typnam)->location = (yylsp[0]);
43338 				}
43339 #line 43340 "gram.c" /* yacc.c:1646  */
43340     break;
43341 
43342   case 1917:
43343 #line 13129 "gram.y" /* yacc.c:1646  */
43344     { (yyval.boolean) = true; }
43345 #line 43346 "gram.c" /* yacc.c:1646  */
43346     break;
43347 
43348   case 1918:
43349 #line 13130 "gram.y" /* yacc.c:1646  */
43350     { (yyval.boolean) = false; }
43351 #line 43352 "gram.c" /* yacc.c:1646  */
43352     break;
43353 
43354   case 1919:
43355 #line 13131 "gram.y" /* yacc.c:1646  */
43356     { (yyval.boolean) = false; }
43357 #line 43358 "gram.c" /* yacc.c:1646  */
43358     break;
43359 
43360   case 1920:
43361 #line 13136 "gram.y" /* yacc.c:1646  */
43362     { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(YEAR), (yylsp[0]))); }
43363 #line 43364 "gram.c" /* yacc.c:1646  */
43364     break;
43365 
43366   case 1921:
43367 #line 13138 "gram.y" /* yacc.c:1646  */
43368     { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(MONTH), (yylsp[0]))); }
43369 #line 43370 "gram.c" /* yacc.c:1646  */
43370     break;
43371 
43372   case 1922:
43373 #line 13140 "gram.y" /* yacc.c:1646  */
43374     { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY), (yylsp[0]))); }
43375 #line 43376 "gram.c" /* yacc.c:1646  */
43376     break;
43377 
43378   case 1923:
43379 #line 13142 "gram.y" /* yacc.c:1646  */
43380     { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(HOUR), (yylsp[0]))); }
43381 #line 43382 "gram.c" /* yacc.c:1646  */
43382     break;
43383 
43384   case 1924:
43385 #line 13144 "gram.y" /* yacc.c:1646  */
43386     { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(MINUTE), (yylsp[0]))); }
43387 #line 43388 "gram.c" /* yacc.c:1646  */
43388     break;
43389 
43390   case 1925:
43391 #line 13146 "gram.y" /* yacc.c:1646  */
43392     { (yyval.list) = (yyvsp[0].list); }
43393 #line 43394 "gram.c" /* yacc.c:1646  */
43394     break;
43395 
43396   case 1926:
43397 #line 13148 "gram.y" /* yacc.c:1646  */
43398     {
43399 					(yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(YEAR) |
43400 												 INTERVAL_MASK(MONTH), (yylsp[-2])));
43401 				}
43402 #line 43403 "gram.c" /* yacc.c:1646  */
43403     break;
43404 
43405   case 1927:
43406 #line 13153 "gram.y" /* yacc.c:1646  */
43407     {
43408 					(yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY) |
43409 												 INTERVAL_MASK(HOUR), (yylsp[-2])));
43410 				}
43411 #line 43412 "gram.c" /* yacc.c:1646  */
43412     break;
43413 
43414   case 1928:
43415 #line 13158 "gram.y" /* yacc.c:1646  */
43416     {
43417 					(yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY) |
43418 												 INTERVAL_MASK(HOUR) |
43419 												 INTERVAL_MASK(MINUTE), (yylsp[-2])));
43420 				}
43421 #line 43422 "gram.c" /* yacc.c:1646  */
43422     break;
43423 
43424   case 1929:
43425 #line 13164 "gram.y" /* yacc.c:1646  */
43426     {
43427 					(yyval.list) = (yyvsp[0].list);
43428 					linitial((yyval.list)) = makeIntConst(INTERVAL_MASK(DAY) |
43429 												INTERVAL_MASK(HOUR) |
43430 												INTERVAL_MASK(MINUTE) |
43431 												INTERVAL_MASK(SECOND), (yylsp[-2]));
43432 				}
43433 #line 43434 "gram.c" /* yacc.c:1646  */
43434     break;
43435 
43436   case 1930:
43437 #line 13172 "gram.y" /* yacc.c:1646  */
43438     {
43439 					(yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(HOUR) |
43440 												 INTERVAL_MASK(MINUTE), (yylsp[-2])));
43441 				}
43442 #line 43443 "gram.c" /* yacc.c:1646  */
43443     break;
43444 
43445   case 1931:
43446 #line 13177 "gram.y" /* yacc.c:1646  */
43447     {
43448 					(yyval.list) = (yyvsp[0].list);
43449 					linitial((yyval.list)) = makeIntConst(INTERVAL_MASK(HOUR) |
43450 												INTERVAL_MASK(MINUTE) |
43451 												INTERVAL_MASK(SECOND), (yylsp[-2]));
43452 				}
43453 #line 43454 "gram.c" /* yacc.c:1646  */
43454     break;
43455 
43456   case 1932:
43457 #line 13184 "gram.y" /* yacc.c:1646  */
43458     {
43459 					(yyval.list) = (yyvsp[0].list);
43460 					linitial((yyval.list)) = makeIntConst(INTERVAL_MASK(MINUTE) |
43461 												INTERVAL_MASK(SECOND), (yylsp[-2]));
43462 				}
43463 #line 43464 "gram.c" /* yacc.c:1646  */
43464     break;
43465 
43466   case 1933:
43467 #line 13190 "gram.y" /* yacc.c:1646  */
43468     { (yyval.list) = NIL; }
43469 #line 43470 "gram.c" /* yacc.c:1646  */
43470     break;
43471 
43472   case 1934:
43473 #line 13195 "gram.y" /* yacc.c:1646  */
43474     {
43475 					(yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(SECOND), (yylsp[0])));
43476 				}
43477 #line 43478 "gram.c" /* yacc.c:1646  */
43478     break;
43479 
43480   case 1935:
43481 #line 13199 "gram.y" /* yacc.c:1646  */
43482     {
43483 					(yyval.list) = list_make2(makeIntConst(INTERVAL_MASK(SECOND), (yylsp[-3])),
43484 									makeIntConst((yyvsp[-1].ival), (yylsp[-1])));
43485 				}
43486 #line 43487 "gram.c" /* yacc.c:1646  */
43487     break;
43488 
43489   case 1936:
43490 #line 13234 "gram.y" /* yacc.c:1646  */
43491     { (yyval.node) = (yyvsp[0].node); }
43492 #line 43493 "gram.c" /* yacc.c:1646  */
43493     break;
43494 
43495   case 1937:
43496 #line 13236 "gram.y" /* yacc.c:1646  */
43497     { (yyval.node) = makeTypeCast((yyvsp[-2].node), (yyvsp[0].typnam), (yylsp[-1])); }
43498 #line 43499 "gram.c" /* yacc.c:1646  */
43499     break;
43500 
43501   case 1938:
43502 #line 13238 "gram.y" /* yacc.c:1646  */
43503     {
43504 					CollateClause *n = makeNode(CollateClause);
43505 					n->arg = (yyvsp[-2].node);
43506 					n->collname = (yyvsp[0].list);
43507 					n->location = (yylsp[-1]);
43508 					(yyval.node) = (Node *) n;
43509 				}
43510 #line 43511 "gram.c" /* yacc.c:1646  */
43511     break;
43512 
43513   case 1939:
43514 #line 13246 "gram.y" /* yacc.c:1646  */
43515     {
43516 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("timezone"),
43517 											   list_make2((yyvsp[0].node), (yyvsp[-4].node)),
43518 											   (yylsp[-3]));
43519 				}
43520 #line 43521 "gram.c" /* yacc.c:1646  */
43521     break;
43522 
43523   case 1940:
43524 #line 13261 "gram.y" /* yacc.c:1646  */
43525     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, (yyvsp[0].node), (yylsp[-1])); }
43526 #line 43527 "gram.c" /* yacc.c:1646  */
43527     break;
43528 
43529   case 1941:
43530 #line 13263 "gram.y" /* yacc.c:1646  */
43531     { (yyval.node) = doNegate((yyvsp[0].node), (yylsp[-1])); }
43532 #line 43533 "gram.c" /* yacc.c:1646  */
43533     break;
43534 
43535   case 1942:
43536 #line 13265 "gram.y" /* yacc.c:1646  */
43537     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43538 #line 43539 "gram.c" /* yacc.c:1646  */
43539     break;
43540 
43541   case 1943:
43542 #line 13267 "gram.y" /* yacc.c:1646  */
43543     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "-", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43544 #line 43545 "gram.c" /* yacc.c:1646  */
43545     break;
43546 
43547   case 1944:
43548 #line 13269 "gram.y" /* yacc.c:1646  */
43549     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "*", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43550 #line 43551 "gram.c" /* yacc.c:1646  */
43551     break;
43552 
43553   case 1945:
43554 #line 13271 "gram.y" /* yacc.c:1646  */
43555     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "/", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43556 #line 43557 "gram.c" /* yacc.c:1646  */
43557     break;
43558 
43559   case 1946:
43560 #line 13273 "gram.y" /* yacc.c:1646  */
43561     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "%", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43562 #line 43563 "gram.c" /* yacc.c:1646  */
43563     break;
43564 
43565   case 1947:
43566 #line 13275 "gram.y" /* yacc.c:1646  */
43567     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "^", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43568 #line 43569 "gram.c" /* yacc.c:1646  */
43569     break;
43570 
43571   case 1948:
43572 #line 13277 "gram.y" /* yacc.c:1646  */
43573     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43574 #line 43575 "gram.c" /* yacc.c:1646  */
43575     break;
43576 
43577   case 1949:
43578 #line 13279 "gram.y" /* yacc.c:1646  */
43579     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43580 #line 43581 "gram.c" /* yacc.c:1646  */
43581     break;
43582 
43583   case 1950:
43584 #line 13281 "gram.y" /* yacc.c:1646  */
43585     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43586 #line 43587 "gram.c" /* yacc.c:1646  */
43587     break;
43588 
43589   case 1951:
43590 #line 13283 "gram.y" /* yacc.c:1646  */
43591     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43592 #line 43593 "gram.c" /* yacc.c:1646  */
43593     break;
43594 
43595   case 1952:
43596 #line 13285 "gram.y" /* yacc.c:1646  */
43597     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43598 #line 43599 "gram.c" /* yacc.c:1646  */
43599     break;
43600 
43601   case 1953:
43602 #line 13287 "gram.y" /* yacc.c:1646  */
43603     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<>", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43604 #line 43605 "gram.c" /* yacc.c:1646  */
43605     break;
43606 
43607   case 1954:
43608 #line 13290 "gram.y" /* yacc.c:1646  */
43609     { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[-1].list), (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43610 #line 43611 "gram.c" /* yacc.c:1646  */
43611     break;
43612 
43613   case 1955:
43614 #line 13292 "gram.y" /* yacc.c:1646  */
43615     { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[-1].list), NULL, (yyvsp[0].node), (yylsp[-1])); }
43616 #line 43617 "gram.c" /* yacc.c:1646  */
43617     break;
43618 
43619   case 1956:
43620 #line 13294 "gram.y" /* yacc.c:1646  */
43621     { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[0].list), (yyvsp[-1].node), NULL, (yylsp[0])); }
43622 #line 43623 "gram.c" /* yacc.c:1646  */
43623     break;
43624 
43625   case 1957:
43626 #line 13297 "gram.y" /* yacc.c:1646  */
43627     { (yyval.node) = makeAndExpr((yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43628 #line 43629 "gram.c" /* yacc.c:1646  */
43629     break;
43630 
43631   case 1958:
43632 #line 13299 "gram.y" /* yacc.c:1646  */
43633     { (yyval.node) = makeOrExpr((yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43634 #line 43635 "gram.c" /* yacc.c:1646  */
43635     break;
43636 
43637   case 1959:
43638 #line 13301 "gram.y" /* yacc.c:1646  */
43639     { (yyval.node) = makeNotExpr((yyvsp[0].node), (yylsp[-1])); }
43640 #line 43641 "gram.c" /* yacc.c:1646  */
43641     break;
43642 
43643   case 1960:
43644 #line 13303 "gram.y" /* yacc.c:1646  */
43645     { (yyval.node) = makeNotExpr((yyvsp[0].node), (yylsp[-1])); }
43646 #line 43647 "gram.c" /* yacc.c:1646  */
43647     break;
43648 
43649   case 1961:
43650 #line 13306 "gram.y" /* yacc.c:1646  */
43651     {
43652 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "~~",
43653 												   (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1]));
43654 				}
43655 #line 43656 "gram.c" /* yacc.c:1646  */
43656     break;
43657 
43658   case 1962:
43659 #line 13311 "gram.y" /* yacc.c:1646  */
43660     {
43661 					FuncCall *n = makeFuncCall(SystemFuncName("like_escape"),
43662 											   list_make2((yyvsp[-2].node), (yyvsp[0].node)),
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:1646  */
43668     break;
43669 
43670   case 1963:
43671 #line 13319 "gram.y" /* yacc.c:1646  */
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:1646  */
43677     break;
43678 
43679   case 1964:
43680 #line 13324 "gram.y" /* yacc.c:1646  */
43681     {
43682 					FuncCall *n = makeFuncCall(SystemFuncName("like_escape"),
43683 											   list_make2((yyvsp[-2].node), (yyvsp[0].node)),
43684 											   (yylsp[-4]));
43685 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "!~~",
43686 												   (yyvsp[-5].node), (Node *) n, (yylsp[-4]));
43687 				}
43688 #line 43689 "gram.c" /* yacc.c:1646  */
43689     break;
43690 
43691   case 1965:
43692 #line 13332 "gram.y" /* yacc.c:1646  */
43693     {
43694 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "~~*",
43695 												   (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1]));
43696 				}
43697 #line 43698 "gram.c" /* yacc.c:1646  */
43698     break;
43699 
43700   case 1966:
43701 #line 13337 "gram.y" /* yacc.c:1646  */
43702     {
43703 					FuncCall *n = makeFuncCall(SystemFuncName("like_escape"),
43704 											   list_make2((yyvsp[-2].node), (yyvsp[0].node)),
43705 											   (yylsp[-3]));
43706 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "~~*",
43707 												   (yyvsp[-4].node), (Node *) n, (yylsp[-3]));
43708 				}
43709 #line 43710 "gram.c" /* yacc.c:1646  */
43710     break;
43711 
43712   case 1967:
43713 #line 13345 "gram.y" /* yacc.c:1646  */
43714     {
43715 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "!~~*",
43716 												   (yyvsp[-3].node), (yyvsp[0].node), (yylsp[-2]));
43717 				}
43718 #line 43719 "gram.c" /* yacc.c:1646  */
43719     break;
43720 
43721   case 1968:
43722 #line 13350 "gram.y" /* yacc.c:1646  */
43723     {
43724 					FuncCall *n = makeFuncCall(SystemFuncName("like_escape"),
43725 											   list_make2((yyvsp[-2].node), (yyvsp[0].node)),
43726 											   (yylsp[-4]));
43727 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "!~~*",
43728 												   (yyvsp[-5].node), (Node *) n, (yylsp[-4]));
43729 				}
43730 #line 43731 "gram.c" /* yacc.c:1646  */
43731     break;
43732 
43733   case 1969:
43734 #line 13359 "gram.y" /* yacc.c:1646  */
43735     {
43736 					FuncCall *n = makeFuncCall(SystemFuncName("similar_to_escape"),
43737 											   list_make1((yyvsp[0].node)),
43738 											   (yylsp[-2]));
43739 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "~",
43740 												   (yyvsp[-3].node), (Node *) n, (yylsp[-2]));
43741 				}
43742 #line 43743 "gram.c" /* yacc.c:1646  */
43743     break;
43744 
43745   case 1970:
43746 #line 13367 "gram.y" /* yacc.c:1646  */
43747     {
43748 					FuncCall *n = makeFuncCall(SystemFuncName("similar_to_escape"),
43749 											   list_make2((yyvsp[-2].node), (yyvsp[0].node)),
43750 											   (yylsp[-4]));
43751 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "~",
43752 												   (yyvsp[-5].node), (Node *) n, (yylsp[-4]));
43753 				}
43754 #line 43755 "gram.c" /* yacc.c:1646  */
43755     break;
43756 
43757   case 1971:
43758 #line 13375 "gram.y" /* yacc.c:1646  */
43759     {
43760 					FuncCall *n = makeFuncCall(SystemFuncName("similar_to_escape"),
43761 											   list_make1((yyvsp[0].node)),
43762 											   (yylsp[-3]));
43763 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "!~",
43764 												   (yyvsp[-4].node), (Node *) n, (yylsp[-3]));
43765 				}
43766 #line 43767 "gram.c" /* yacc.c:1646  */
43767     break;
43768 
43769   case 1972:
43770 #line 13383 "gram.y" /* yacc.c:1646  */
43771     {
43772 					FuncCall *n = makeFuncCall(SystemFuncName("similar_to_escape"),
43773 											   list_make2((yyvsp[-2].node), (yyvsp[0].node)),
43774 											   (yylsp[-5]));
43775 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "!~",
43776 												   (yyvsp[-6].node), (Node *) n, (yylsp[-5]));
43777 				}
43778 #line 43779 "gram.c" /* yacc.c:1646  */
43779     break;
43780 
43781   case 1973:
43782 #line 13401 "gram.y" /* yacc.c:1646  */
43783     {
43784 					NullTest *n = makeNode(NullTest);
43785 					n->arg = (Expr *) (yyvsp[-2].node);
43786 					n->nulltesttype = IS_NULL;
43787 					n->location = (yylsp[-1]);
43788 					(yyval.node) = (Node *)n;
43789 				}
43790 #line 43791 "gram.c" /* yacc.c:1646  */
43791     break;
43792 
43793   case 1974:
43794 #line 13409 "gram.y" /* yacc.c:1646  */
43795     {
43796 					NullTest *n = makeNode(NullTest);
43797 					n->arg = (Expr *) (yyvsp[-1].node);
43798 					n->nulltesttype = IS_NULL;
43799 					n->location = (yylsp[0]);
43800 					(yyval.node) = (Node *)n;
43801 				}
43802 #line 43803 "gram.c" /* yacc.c:1646  */
43803     break;
43804 
43805   case 1975:
43806 #line 13417 "gram.y" /* yacc.c:1646  */
43807     {
43808 					NullTest *n = makeNode(NullTest);
43809 					n->arg = (Expr *) (yyvsp[-3].node);
43810 					n->nulltesttype = IS_NOT_NULL;
43811 					n->location = (yylsp[-2]);
43812 					(yyval.node) = (Node *)n;
43813 				}
43814 #line 43815 "gram.c" /* yacc.c:1646  */
43815     break;
43816 
43817   case 1976:
43818 #line 13425 "gram.y" /* yacc.c:1646  */
43819     {
43820 					NullTest *n = makeNode(NullTest);
43821 					n->arg = (Expr *) (yyvsp[-1].node);
43822 					n->nulltesttype = IS_NOT_NULL;
43823 					n->location = (yylsp[0]);
43824 					(yyval.node) = (Node *)n;
43825 				}
43826 #line 43827 "gram.c" /* yacc.c:1646  */
43827     break;
43828 
43829   case 1977:
43830 #line 13433 "gram.y" /* yacc.c:1646  */
43831     {
43832 					if (list_length((yyvsp[-2].list)) != 2)
43833 						ereport(ERROR,
43834 								(errcode(ERRCODE_SYNTAX_ERROR),
43835 								 errmsg("wrong number of parameters on left side of OVERLAPS expression"),
43836 								 parser_errposition((yylsp[-2]))));
43837 					if (list_length((yyvsp[0].list)) != 2)
43838 						ereport(ERROR,
43839 								(errcode(ERRCODE_SYNTAX_ERROR),
43840 								 errmsg("wrong number of parameters on right side of OVERLAPS expression"),
43841 								 parser_errposition((yylsp[0]))));
43842 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("overlaps"),
43843 											   list_concat((yyvsp[-2].list), (yyvsp[0].list)),
43844 											   (yylsp[-1]));
43845 				}
43846 #line 43847 "gram.c" /* yacc.c:1646  */
43847     break;
43848 
43849   case 1978:
43850 #line 13449 "gram.y" /* yacc.c:1646  */
43851     {
43852 					BooleanTest *b = makeNode(BooleanTest);
43853 					b->arg = (Expr *) (yyvsp[-2].node);
43854 					b->booltesttype = IS_TRUE;
43855 					b->location = (yylsp[-1]);
43856 					(yyval.node) = (Node *)b;
43857 				}
43858 #line 43859 "gram.c" /* yacc.c:1646  */
43859     break;
43860 
43861   case 1979:
43862 #line 13457 "gram.y" /* yacc.c:1646  */
43863     {
43864 					BooleanTest *b = makeNode(BooleanTest);
43865 					b->arg = (Expr *) (yyvsp[-3].node);
43866 					b->booltesttype = IS_NOT_TRUE;
43867 					b->location = (yylsp[-2]);
43868 					(yyval.node) = (Node *)b;
43869 				}
43870 #line 43871 "gram.c" /* yacc.c:1646  */
43871     break;
43872 
43873   case 1980:
43874 #line 13465 "gram.y" /* yacc.c:1646  */
43875     {
43876 					BooleanTest *b = makeNode(BooleanTest);
43877 					b->arg = (Expr *) (yyvsp[-2].node);
43878 					b->booltesttype = IS_FALSE;
43879 					b->location = (yylsp[-1]);
43880 					(yyval.node) = (Node *)b;
43881 				}
43882 #line 43883 "gram.c" /* yacc.c:1646  */
43883     break;
43884 
43885   case 1981:
43886 #line 13473 "gram.y" /* yacc.c:1646  */
43887     {
43888 					BooleanTest *b = makeNode(BooleanTest);
43889 					b->arg = (Expr *) (yyvsp[-3].node);
43890 					b->booltesttype = IS_NOT_FALSE;
43891 					b->location = (yylsp[-2]);
43892 					(yyval.node) = (Node *)b;
43893 				}
43894 #line 43895 "gram.c" /* yacc.c:1646  */
43895     break;
43896 
43897   case 1982:
43898 #line 13481 "gram.y" /* yacc.c:1646  */
43899     {
43900 					BooleanTest *b = makeNode(BooleanTest);
43901 					b->arg = (Expr *) (yyvsp[-2].node);
43902 					b->booltesttype = IS_UNKNOWN;
43903 					b->location = (yylsp[-1]);
43904 					(yyval.node) = (Node *)b;
43905 				}
43906 #line 43907 "gram.c" /* yacc.c:1646  */
43907     break;
43908 
43909   case 1983:
43910 #line 13489 "gram.y" /* yacc.c:1646  */
43911     {
43912 					BooleanTest *b = makeNode(BooleanTest);
43913 					b->arg = (Expr *) (yyvsp[-3].node);
43914 					b->booltesttype = IS_NOT_UNKNOWN;
43915 					b->location = (yylsp[-2]);
43916 					(yyval.node) = (Node *)b;
43917 				}
43918 #line 43919 "gram.c" /* yacc.c:1646  */
43919     break;
43920 
43921   case 1984:
43922 #line 13497 "gram.y" /* yacc.c:1646  */
43923     {
43924 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_DISTINCT, "=", (yyvsp[-4].node), (yyvsp[0].node), (yylsp[-3]));
43925 				}
43926 #line 43927 "gram.c" /* yacc.c:1646  */
43927     break;
43928 
43929   case 1985:
43930 #line 13501 "gram.y" /* yacc.c:1646  */
43931     {
43932                     (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_DISTINCT, "=", (yyvsp[-5].node), (yyvsp[0].node), (yylsp[-4]));
43933 				}
43934 #line 43935 "gram.c" /* yacc.c:1646  */
43935     break;
43936 
43937   case 1986:
43938 #line 13505 "gram.y" /* yacc.c:1646  */
43939     {
43940 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OF, "=", (yyvsp[-5].node), (Node *) (yyvsp[-1].list), (yylsp[-4]));
43941 				}
43942 #line 43943 "gram.c" /* yacc.c:1646  */
43943     break;
43944 
43945   case 1987:
43946 #line 13509 "gram.y" /* yacc.c:1646  */
43947     {
43948 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OF, "<>", (yyvsp[-6].node), (Node *) (yyvsp[-1].list), (yylsp[-5]));
43949 				}
43950 #line 43951 "gram.c" /* yacc.c:1646  */
43951     break;
43952 
43953   case 1988:
43954 #line 13513 "gram.y" /* yacc.c:1646  */
43955     {
43956 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_BETWEEN,
43957 												   "BETWEEN",
43958 												   (yyvsp[-5].node),
43959 												   (Node *) list_make2((yyvsp[-2].node), (yyvsp[0].node)),
43960 												   (yylsp[-4]));
43961 				}
43962 #line 43963 "gram.c" /* yacc.c:1646  */
43963     break;
43964 
43965   case 1989:
43966 #line 13521 "gram.y" /* yacc.c:1646  */
43967     {
43968 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_BETWEEN,
43969 												   "NOT BETWEEN",
43970 												   (yyvsp[-6].node),
43971 												   (Node *) list_make2((yyvsp[-2].node), (yyvsp[0].node)),
43972 												   (yylsp[-5]));
43973 				}
43974 #line 43975 "gram.c" /* yacc.c:1646  */
43975     break;
43976 
43977   case 1990:
43978 #line 13529 "gram.y" /* yacc.c:1646  */
43979     {
43980 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_BETWEEN_SYM,
43981 												   "BETWEEN SYMMETRIC",
43982 												   (yyvsp[-5].node),
43983 												   (Node *) list_make2((yyvsp[-2].node), (yyvsp[0].node)),
43984 												   (yylsp[-4]));
43985 				}
43986 #line 43987 "gram.c" /* yacc.c:1646  */
43987     break;
43988 
43989   case 1991:
43990 #line 13537 "gram.y" /* yacc.c:1646  */
43991     {
43992 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_BETWEEN_SYM,
43993 												   "NOT BETWEEN SYMMETRIC",
43994 												   (yyvsp[-6].node),
43995 												   (Node *) list_make2((yyvsp[-2].node), (yyvsp[0].node)),
43996 												   (yylsp[-5]));
43997 				}
43998 #line 43999 "gram.c" /* yacc.c:1646  */
43999     break;
44000 
44001   case 1992:
44002 #line 13545 "gram.y" /* yacc.c:1646  */
44003     {
44004 					/* in_expr returns a SubLink or a list of a_exprs */
44005 					if (IsA((yyvsp[0].node), SubLink))
44006 					{
44007 						/* generate foo = ANY (subquery) */
44008 						SubLink *n = (SubLink *) (yyvsp[0].node);
44009 						n->subLinkType = ANY_SUBLINK;
44010 						n->subLinkId = 0;
44011 						n->testexpr = (yyvsp[-2].node);
44012 						n->operName = NIL;		/* show it's IN not = ANY */
44013 						n->location = (yylsp[-1]);
44014 						(yyval.node) = (Node *)n;
44015 					}
44016 					else
44017 					{
44018 						/* generate scalar IN expression */
44019 						(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_IN, "=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1]));
44020 					}
44021 				}
44022 #line 44023 "gram.c" /* yacc.c:1646  */
44023     break;
44024 
44025   case 1993:
44026 #line 13565 "gram.y" /* yacc.c:1646  */
44027     {
44028 					/* in_expr returns a SubLink or a list of a_exprs */
44029 					if (IsA((yyvsp[0].node), SubLink))
44030 					{
44031 						/* generate NOT (foo = ANY (subquery)) */
44032 						/* Make an = ANY node */
44033 						SubLink *n = (SubLink *) (yyvsp[0].node);
44034 						n->subLinkType = ANY_SUBLINK;
44035 						n->subLinkId = 0;
44036 						n->testexpr = (yyvsp[-3].node);
44037 						n->operName = NIL;		/* show it's IN not = ANY */
44038 						n->location = (yylsp[-2]);
44039 						/* Stick a NOT on top; must have same parse location */
44040 						(yyval.node) = makeNotExpr((Node *) n, (yylsp[-2]));
44041 					}
44042 					else
44043 					{
44044 						/* generate scalar NOT IN expression */
44045 						(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_IN, "<>", (yyvsp[-3].node), (yyvsp[0].node), (yylsp[-2]));
44046 					}
44047 				}
44048 #line 44049 "gram.c" /* yacc.c:1646  */
44049     break;
44050 
44051   case 1994:
44052 #line 13587 "gram.y" /* yacc.c:1646  */
44053     {
44054 					SubLink *n = makeNode(SubLink);
44055 					n->subLinkType = (yyvsp[-1].ival);
44056 					n->subLinkId = 0;
44057 					n->testexpr = (yyvsp[-3].node);
44058 					n->operName = (yyvsp[-2].list);
44059 					n->subselect = (yyvsp[0].node);
44060 					n->location = (yylsp[-2]);
44061 					(yyval.node) = (Node *)n;
44062 				}
44063 #line 44064 "gram.c" /* yacc.c:1646  */
44064     break;
44065 
44066   case 1995:
44067 #line 13598 "gram.y" /* yacc.c:1646  */
44068     {
44069 					if ((yyvsp[-3].ival) == ANY_SUBLINK)
44070 						(yyval.node) = (Node *) makeA_Expr(AEXPR_OP_ANY, (yyvsp[-4].list), (yyvsp[-5].node), (yyvsp[-1].node), (yylsp[-4]));
44071 					else
44072 						(yyval.node) = (Node *) makeA_Expr(AEXPR_OP_ALL, (yyvsp[-4].list), (yyvsp[-5].node), (yyvsp[-1].node), (yylsp[-4]));
44073 				}
44074 #line 44075 "gram.c" /* yacc.c:1646  */
44075     break;
44076 
44077   case 1996:
44078 #line 13605 "gram.y" /* yacc.c:1646  */
44079     {
44080 					/* Not sure how to get rid of the parentheses
44081 					 * but there are lots of shift/reduce errors without them.
44082 					 *
44083 					 * Should be able to implement this by plopping the entire
44084 					 * select into a node, then transforming the target expressions
44085 					 * from whatever they are into count(*), and testing the
44086 					 * entire result equal to one.
44087 					 * But, will probably implement a separate node in the executor.
44088 					 */
44089 					ereport(ERROR,
44090 							(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
44091 							 errmsg("UNIQUE predicate is not yet implemented"),
44092 							 parser_errposition((yylsp[-1]))));
44093 				}
44094 #line 44095 "gram.c" /* yacc.c:1646  */
44095     break;
44096 
44097   case 1997:
44098 #line 13621 "gram.y" /* yacc.c:1646  */
44099     {
44100 					(yyval.node) = makeXmlExpr(IS_DOCUMENT, NULL, NIL,
44101 									 list_make1((yyvsp[-2].node)), (yylsp[-1]));
44102 				}
44103 #line 44104 "gram.c" /* yacc.c:1646  */
44104     break;
44105 
44106   case 1998:
44107 #line 13626 "gram.y" /* yacc.c:1646  */
44108     {
44109 					(yyval.node) = makeNotExpr(makeXmlExpr(IS_DOCUMENT, NULL, NIL,
44110 												 list_make1((yyvsp[-3].node)), (yylsp[-2])),
44111 									 (yylsp[-2]));
44112 				}
44113 #line 44114 "gram.c" /* yacc.c:1646  */
44114     break;
44115 
44116   case 1999:
44117 #line 13632 "gram.y" /* yacc.c:1646  */
44118     {
44119 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("is_normalized"), list_make1((yyvsp[-2].node)), (yylsp[-1]));
44120 				}
44121 #line 44122 "gram.c" /* yacc.c:1646  */
44122     break;
44123 
44124   case 2000:
44125 #line 13636 "gram.y" /* yacc.c:1646  */
44126     {
44127 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("is_normalized"), list_make2((yyvsp[-3].node), makeStringConst((yyvsp[-1].str), (yylsp[-1]))), (yylsp[-2]));
44128 				}
44129 #line 44130 "gram.c" /* yacc.c:1646  */
44130     break;
44131 
44132   case 2001:
44133 #line 13640 "gram.y" /* yacc.c:1646  */
44134     {
44135 					(yyval.node) = makeNotExpr((Node *) makeFuncCall(SystemFuncName("is_normalized"), list_make1((yyvsp[-3].node)), (yylsp[-2])), (yylsp[-2]));
44136 				}
44137 #line 44138 "gram.c" /* yacc.c:1646  */
44138     break;
44139 
44140   case 2002:
44141 #line 13644 "gram.y" /* yacc.c:1646  */
44142     {
44143 					(yyval.node) = makeNotExpr((Node *) makeFuncCall(SystemFuncName("is_normalized"), list_make2((yyvsp[-4].node), makeStringConst((yyvsp[-1].str), (yylsp[-1]))), (yylsp[-3])), (yylsp[-3]));
44144 				}
44145 #line 44146 "gram.c" /* yacc.c:1646  */
44146     break;
44147 
44148   case 2003:
44149 #line 13648 "gram.y" /* yacc.c:1646  */
44150     {
44151 					/*
44152 					 * The SQL spec only allows DEFAULT in "contextually typed
44153 					 * expressions", but for us, it's easier to allow it in
44154 					 * any a_expr and then throw error during parse analysis
44155 					 * if it's in an inappropriate context.  This way also
44156 					 * lets us say something smarter than "syntax error".
44157 					 */
44158 					SetToDefault *n = makeNode(SetToDefault);
44159 					/* parse analysis will fill in the rest */
44160 					n->location = (yylsp[0]);
44161 					(yyval.node) = (Node *)n;
44162 				}
44163 #line 44164 "gram.c" /* yacc.c:1646  */
44164     break;
44165 
44166   case 2004:
44167 #line 13673 "gram.y" /* yacc.c:1646  */
44168     { (yyval.node) = (yyvsp[0].node); }
44169 #line 44170 "gram.c" /* yacc.c:1646  */
44170     break;
44171 
44172   case 2005:
44173 #line 13675 "gram.y" /* yacc.c:1646  */
44174     { (yyval.node) = makeTypeCast((yyvsp[-2].node), (yyvsp[0].typnam), (yylsp[-1])); }
44175 #line 44176 "gram.c" /* yacc.c:1646  */
44176     break;
44177 
44178   case 2006:
44179 #line 13677 "gram.y" /* yacc.c:1646  */
44180     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, (yyvsp[0].node), (yylsp[-1])); }
44181 #line 44182 "gram.c" /* yacc.c:1646  */
44182     break;
44183 
44184   case 2007:
44185 #line 13679 "gram.y" /* yacc.c:1646  */
44186     { (yyval.node) = doNegate((yyvsp[0].node), (yylsp[-1])); }
44187 #line 44188 "gram.c" /* yacc.c:1646  */
44188     break;
44189 
44190   case 2008:
44191 #line 13681 "gram.y" /* yacc.c:1646  */
44192     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
44193 #line 44194 "gram.c" /* yacc.c:1646  */
44194     break;
44195 
44196   case 2009:
44197 #line 13683 "gram.y" /* yacc.c:1646  */
44198     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "-", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
44199 #line 44200 "gram.c" /* yacc.c:1646  */
44200     break;
44201 
44202   case 2010:
44203 #line 13685 "gram.y" /* yacc.c:1646  */
44204     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "*", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
44205 #line 44206 "gram.c" /* yacc.c:1646  */
44206     break;
44207 
44208   case 2011:
44209 #line 13687 "gram.y" /* yacc.c:1646  */
44210     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "/", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
44211 #line 44212 "gram.c" /* yacc.c:1646  */
44212     break;
44213 
44214   case 2012:
44215 #line 13689 "gram.y" /* yacc.c:1646  */
44216     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "%", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
44217 #line 44218 "gram.c" /* yacc.c:1646  */
44218     break;
44219 
44220   case 2013:
44221 #line 13691 "gram.y" /* yacc.c:1646  */
44222     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "^", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
44223 #line 44224 "gram.c" /* yacc.c:1646  */
44224     break;
44225 
44226   case 2014:
44227 #line 13693 "gram.y" /* yacc.c:1646  */
44228     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
44229 #line 44230 "gram.c" /* yacc.c:1646  */
44230     break;
44231 
44232   case 2015:
44233 #line 13695 "gram.y" /* yacc.c:1646  */
44234     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
44235 #line 44236 "gram.c" /* yacc.c:1646  */
44236     break;
44237 
44238   case 2016:
44239 #line 13697 "gram.y" /* yacc.c:1646  */
44240     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
44241 #line 44242 "gram.c" /* yacc.c:1646  */
44242     break;
44243 
44244   case 2017:
44245 #line 13699 "gram.y" /* yacc.c:1646  */
44246     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
44247 #line 44248 "gram.c" /* yacc.c:1646  */
44248     break;
44249 
44250   case 2018:
44251 #line 13701 "gram.y" /* yacc.c:1646  */
44252     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
44253 #line 44254 "gram.c" /* yacc.c:1646  */
44254     break;
44255 
44256   case 2019:
44257 #line 13703 "gram.y" /* yacc.c:1646  */
44258     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<>", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
44259 #line 44260 "gram.c" /* yacc.c:1646  */
44260     break;
44261 
44262   case 2020:
44263 #line 13705 "gram.y" /* yacc.c:1646  */
44264     { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[-1].list), (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
44265 #line 44266 "gram.c" /* yacc.c:1646  */
44266     break;
44267 
44268   case 2021:
44269 #line 13707 "gram.y" /* yacc.c:1646  */
44270     { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[-1].list), NULL, (yyvsp[0].node), (yylsp[-1])); }
44271 #line 44272 "gram.c" /* yacc.c:1646  */
44272     break;
44273 
44274   case 2022:
44275 #line 13709 "gram.y" /* yacc.c:1646  */
44276     { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[0].list), (yyvsp[-1].node), NULL, (yylsp[0])); }
44277 #line 44278 "gram.c" /* yacc.c:1646  */
44278     break;
44279 
44280   case 2023:
44281 #line 13711 "gram.y" /* yacc.c:1646  */
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:1646  */
44286     break;
44287 
44288   case 2024:
44289 #line 13715 "gram.y" /* yacc.c:1646  */
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:1646  */
44294     break;
44295 
44296   case 2025:
44297 #line 13719 "gram.y" /* yacc.c:1646  */
44298     {
44299 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OF, "=", (yyvsp[-5].node), (Node *) (yyvsp[-1].list), (yylsp[-4]));
44300 				}
44301 #line 44302 "gram.c" /* yacc.c:1646  */
44302     break;
44303 
44304   case 2026:
44305 #line 13723 "gram.y" /* yacc.c:1646  */
44306     {
44307 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OF, "<>", (yyvsp[-6].node), (Node *) (yyvsp[-1].list), (yylsp[-5]));
44308 				}
44309 #line 44310 "gram.c" /* yacc.c:1646  */
44310     break;
44311 
44312   case 2027:
44313 #line 13727 "gram.y" /* yacc.c:1646  */
44314     {
44315 					(yyval.node) = makeXmlExpr(IS_DOCUMENT, NULL, NIL,
44316 									 list_make1((yyvsp[-2].node)), (yylsp[-1]));
44317 				}
44318 #line 44319 "gram.c" /* yacc.c:1646  */
44319     break;
44320 
44321   case 2028:
44322 #line 13732 "gram.y" /* yacc.c:1646  */
44323     {
44324 					(yyval.node) = makeNotExpr(makeXmlExpr(IS_DOCUMENT, NULL, NIL,
44325 												 list_make1((yyvsp[-3].node)), (yylsp[-2])),
44326 									 (yylsp[-2]));
44327 				}
44328 #line 44329 "gram.c" /* yacc.c:1646  */
44329     break;
44330 
44331   case 2029:
44332 #line 13747 "gram.y" /* yacc.c:1646  */
44333     { (yyval.node) = (yyvsp[0].node); }
44334 #line 44335 "gram.c" /* yacc.c:1646  */
44335     break;
44336 
44337   case 2030:
44338 #line 13748 "gram.y" /* yacc.c:1646  */
44339     { (yyval.node) = (yyvsp[0].node); }
44340 #line 44341 "gram.c" /* yacc.c:1646  */
44341     break;
44342 
44343   case 2031:
44344 #line 13750 "gram.y" /* yacc.c:1646  */
44345     {
44346 					ParamRef *p = makeNode(ParamRef);
44347 					p->number = (yyvsp[-1].ival);
44348 					p->location = (yylsp[-1]);
44349 					if ((yyvsp[0].list))
44350 					{
44351 						A_Indirection *n = makeNode(A_Indirection);
44352 						n->arg = (Node *) p;
44353 						n->indirection = check_indirection((yyvsp[0].list), yyscanner);
44354 						(yyval.node) = (Node *) n;
44355 					}
44356 					else
44357 						(yyval.node) = (Node *) p;
44358 				}
44359 #line 44360 "gram.c" /* yacc.c:1646  */
44360     break;
44361 
44362   case 2032:
44363 #line 13765 "gram.y" /* yacc.c:1646  */
44364     {
44365 					if ((yyvsp[0].list))
44366 					{
44367 						A_Indirection *n = makeNode(A_Indirection);
44368 						n->arg = (yyvsp[-2].node);
44369 						n->indirection = check_indirection((yyvsp[0].list), yyscanner);
44370 						(yyval.node) = (Node *)n;
44371 					}
44372 					else if (operator_precedence_warning)
44373 					{
44374 						/*
44375 						 * If precedence warnings are enabled, insert
44376 						 * AEXPR_PAREN nodes wrapping all explicitly
44377 						 * parenthesized subexpressions; this prevents bogus
44378 						 * warnings from being issued when the ordering has
44379 						 * been forced by parentheses.  Take care that an
44380 						 * AEXPR_PAREN node has the same exprLocation as its
44381 						 * child, so as not to cause surprising changes in
44382 						 * error cursor positioning.
44383 						 *
44384 						 * In principle we should not be relying on a GUC to
44385 						 * decide whether to insert AEXPR_PAREN nodes.
44386 						 * However, since they have no effect except to
44387 						 * suppress warnings, it's probably safe enough; and
44388 						 * we'd just as soon not waste cycles on dummy parse
44389 						 * nodes if we don't have to.
44390 						 */
44391 						(yyval.node) = (Node *) makeA_Expr(AEXPR_PAREN, NIL, (yyvsp[-2].node), NULL,
44392 												 exprLocation((yyvsp[-2].node)));
44393 					}
44394 					else
44395 						(yyval.node) = (yyvsp[-2].node);
44396 				}
44397 #line 44398 "gram.c" /* yacc.c:1646  */
44398     break;
44399 
44400   case 2033:
44401 #line 13799 "gram.y" /* yacc.c:1646  */
44402     { (yyval.node) = (yyvsp[0].node); }
44403 #line 44404 "gram.c" /* yacc.c:1646  */
44404     break;
44405 
44406   case 2034:
44407 #line 13801 "gram.y" /* yacc.c:1646  */
44408     { (yyval.node) = (yyvsp[0].node); }
44409 #line 44410 "gram.c" /* yacc.c:1646  */
44410     break;
44411 
44412   case 2035:
44413 #line 13803 "gram.y" /* yacc.c:1646  */
44414     {
44415 					SubLink *n = makeNode(SubLink);
44416 					n->subLinkType = EXPR_SUBLINK;
44417 					n->subLinkId = 0;
44418 					n->testexpr = NULL;
44419 					n->operName = NIL;
44420 					n->subselect = (yyvsp[0].node);
44421 					n->location = (yylsp[0]);
44422 					(yyval.node) = (Node *)n;
44423 				}
44424 #line 44425 "gram.c" /* yacc.c:1646  */
44425     break;
44426 
44427   case 2036:
44428 #line 13814 "gram.y" /* yacc.c:1646  */
44429     {
44430 					/*
44431 					 * Because the select_with_parens nonterminal is designed
44432 					 * to "eat" as many levels of parens as possible, the
44433 					 * '(' a_expr ')' opt_indirection production above will
44434 					 * fail to match a sub-SELECT with indirection decoration;
44435 					 * the sub-SELECT won't be regarded as an a_expr as long
44436 					 * as there are parens around it.  To support applying
44437 					 * subscripting or field selection to a sub-SELECT result,
44438 					 * we need this redundant-looking production.
44439 					 */
44440 					SubLink *n = makeNode(SubLink);
44441 					A_Indirection *a = makeNode(A_Indirection);
44442 					n->subLinkType = EXPR_SUBLINK;
44443 					n->subLinkId = 0;
44444 					n->testexpr = NULL;
44445 					n->operName = NIL;
44446 					n->subselect = (yyvsp[-1].node);
44447 					n->location = (yylsp[-1]);
44448 					a->arg = (Node *)n;
44449 					a->indirection = check_indirection((yyvsp[0].list), yyscanner);
44450 					(yyval.node) = (Node *)a;
44451 				}
44452 #line 44453 "gram.c" /* yacc.c:1646  */
44453     break;
44454 
44455   case 2037:
44456 #line 13838 "gram.y" /* yacc.c:1646  */
44457     {
44458 					SubLink *n = makeNode(SubLink);
44459 					n->subLinkType = EXISTS_SUBLINK;
44460 					n->subLinkId = 0;
44461 					n->testexpr = NULL;
44462 					n->operName = NIL;
44463 					n->subselect = (yyvsp[0].node);
44464 					n->location = (yylsp[-1]);
44465 					(yyval.node) = (Node *)n;
44466 				}
44467 #line 44468 "gram.c" /* yacc.c:1646  */
44468     break;
44469 
44470   case 2038:
44471 #line 13849 "gram.y" /* yacc.c:1646  */
44472     {
44473 					SubLink *n = makeNode(SubLink);
44474 					n->subLinkType = ARRAY_SUBLINK;
44475 					n->subLinkId = 0;
44476 					n->testexpr = NULL;
44477 					n->operName = NIL;
44478 					n->subselect = (yyvsp[0].node);
44479 					n->location = (yylsp[-1]);
44480 					(yyval.node) = (Node *)n;
44481 				}
44482 #line 44483 "gram.c" /* yacc.c:1646  */
44483     break;
44484 
44485   case 2039:
44486 #line 13860 "gram.y" /* yacc.c:1646  */
44487     {
44488 					A_ArrayExpr *n = castNode(A_ArrayExpr, (yyvsp[0].node));
44489 					/* point outermost A_ArrayExpr to the ARRAY keyword */
44490 					n->location = (yylsp[-1]);
44491 					(yyval.node) = (Node *)n;
44492 				}
44493 #line 44494 "gram.c" /* yacc.c:1646  */
44494     break;
44495 
44496   case 2040:
44497 #line 13867 "gram.y" /* yacc.c:1646  */
44498     {
44499 					RowExpr *r = makeNode(RowExpr);
44500 					r->args = (yyvsp[0].list);
44501 					r->row_typeid = InvalidOid;	/* not analyzed yet */
44502 					r->colnames = NIL;	/* to be filled in during analysis */
44503 					r->row_format = COERCE_EXPLICIT_CALL; /* abuse */
44504 					r->location = (yylsp[0]);
44505 					(yyval.node) = (Node *)r;
44506 				}
44507 #line 44508 "gram.c" /* yacc.c:1646  */
44508     break;
44509 
44510   case 2041:
44511 #line 13877 "gram.y" /* yacc.c:1646  */
44512     {
44513 					RowExpr *r = makeNode(RowExpr);
44514 					r->args = (yyvsp[0].list);
44515 					r->row_typeid = InvalidOid;	/* not analyzed yet */
44516 					r->colnames = NIL;	/* to be filled in during analysis */
44517 					r->row_format = COERCE_IMPLICIT_CAST; /* abuse */
44518 					r->location = (yylsp[0]);
44519 					(yyval.node) = (Node *)r;
44520 				}
44521 #line 44522 "gram.c" /* yacc.c:1646  */
44522     break;
44523 
44524   case 2042:
44525 #line 13887 "gram.y" /* yacc.c:1646  */
44526     {
44527 				  GroupingFunc *g = makeNode(GroupingFunc);
44528 				  g->args = (yyvsp[-1].list);
44529 				  g->location = (yylsp[-3]);
44530 				  (yyval.node) = (Node *)g;
44531 			  }
44532 #line 44533 "gram.c" /* yacc.c:1646  */
44533     break;
44534 
44535   case 2043:
44536 #line 13896 "gram.y" /* yacc.c:1646  */
44537     {
44538 					(yyval.node) = (Node *) makeFuncCall((yyvsp[-2].list), NIL, (yylsp[-2]));
44539 				}
44540 #line 44541 "gram.c" /* yacc.c:1646  */
44541     break;
44542 
44543   case 2044:
44544 #line 13900 "gram.y" /* yacc.c:1646  */
44545     {
44546 					FuncCall *n = makeFuncCall((yyvsp[-4].list), (yyvsp[-2].list), (yylsp[-4]));
44547 					n->agg_order = (yyvsp[-1].list);
44548 					(yyval.node) = (Node *)n;
44549 				}
44550 #line 44551 "gram.c" /* yacc.c:1646  */
44551     break;
44552 
44553   case 2045:
44554 #line 13906 "gram.y" /* yacc.c:1646  */
44555     {
44556 					FuncCall *n = makeFuncCall((yyvsp[-5].list), list_make1((yyvsp[-2].node)), (yylsp[-5]));
44557 					n->func_variadic = true;
44558 					n->agg_order = (yyvsp[-1].list);
44559 					(yyval.node) = (Node *)n;
44560 				}
44561 #line 44562 "gram.c" /* yacc.c:1646  */
44562     break;
44563 
44564   case 2046:
44565 #line 13913 "gram.y" /* yacc.c:1646  */
44566     {
44567 					FuncCall *n = makeFuncCall((yyvsp[-7].list), lappend((yyvsp[-5].list), (yyvsp[-2].node)), (yylsp[-7]));
44568 					n->func_variadic = true;
44569 					n->agg_order = (yyvsp[-1].list);
44570 					(yyval.node) = (Node *)n;
44571 				}
44572 #line 44573 "gram.c" /* yacc.c:1646  */
44573     break;
44574 
44575   case 2047:
44576 #line 13920 "gram.y" /* yacc.c:1646  */
44577     {
44578 					FuncCall *n = makeFuncCall((yyvsp[-5].list), (yyvsp[-2].list), (yylsp[-5]));
44579 					n->agg_order = (yyvsp[-1].list);
44580 					/* Ideally we'd mark the FuncCall node to indicate
44581 					 * "must be an aggregate", but there's no provision
44582 					 * for that in FuncCall at the moment.
44583 					 */
44584 					(yyval.node) = (Node *)n;
44585 				}
44586 #line 44587 "gram.c" /* yacc.c:1646  */
44587     break;
44588 
44589   case 2048:
44590 #line 13930 "gram.y" /* yacc.c:1646  */
44591     {
44592 					FuncCall *n = makeFuncCall((yyvsp[-5].list), (yyvsp[-2].list), (yylsp[-5]));
44593 					n->agg_order = (yyvsp[-1].list);
44594 					n->agg_distinct = true;
44595 					(yyval.node) = (Node *)n;
44596 				}
44597 #line 44598 "gram.c" /* yacc.c:1646  */
44598     break;
44599 
44600   case 2049:
44601 #line 13937 "gram.y" /* yacc.c:1646  */
44602     {
44603 					/*
44604 					 * We consider AGGREGATE(*) to invoke a parameterless
44605 					 * aggregate.  This does the right thing for COUNT(*),
44606 					 * and there are no other aggregates in SQL that accept
44607 					 * '*' as parameter.
44608 					 *
44609 					 * The FuncCall node is also marked agg_star = true,
44610 					 * so that later processing can detect what the argument
44611 					 * really was.
44612 					 */
44613 					FuncCall *n = makeFuncCall((yyvsp[-3].list), NIL, (yylsp[-3]));
44614 					n->agg_star = true;
44615 					(yyval.node) = (Node *)n;
44616 				}
44617 #line 44618 "gram.c" /* yacc.c:1646  */
44618     break;
44619 
44620   case 2050:
44621 #line 13965 "gram.y" /* yacc.c:1646  */
44622     {
44623 					FuncCall *n = (FuncCall *) (yyvsp[-3].node);
44624 					/*
44625 					 * The order clause for WITHIN GROUP and the one for
44626 					 * plain-aggregate ORDER BY share a field, so we have to
44627 					 * check here that at most one is present.  We also check
44628 					 * for DISTINCT and VARIADIC here to give a better error
44629 					 * location.  Other consistency checks are deferred to
44630 					 * parse analysis.
44631 					 */
44632 					if ((yyvsp[-2].list) != NIL)
44633 					{
44634 						if (n->agg_order != NIL)
44635 							ereport(ERROR,
44636 									(errcode(ERRCODE_SYNTAX_ERROR),
44637 									 errmsg("cannot use multiple ORDER BY clauses with WITHIN GROUP"),
44638 									 parser_errposition((yylsp[-2]))));
44639 						if (n->agg_distinct)
44640 							ereport(ERROR,
44641 									(errcode(ERRCODE_SYNTAX_ERROR),
44642 									 errmsg("cannot use DISTINCT with WITHIN GROUP"),
44643 									 parser_errposition((yylsp[-2]))));
44644 						if (n->func_variadic)
44645 							ereport(ERROR,
44646 									(errcode(ERRCODE_SYNTAX_ERROR),
44647 									 errmsg("cannot use VARIADIC with WITHIN GROUP"),
44648 									 parser_errposition((yylsp[-2]))));
44649 						n->agg_order = (yyvsp[-2].list);
44650 						n->agg_within_group = true;
44651 					}
44652 					n->agg_filter = (yyvsp[-1].node);
44653 					n->over = (yyvsp[0].windef);
44654 					(yyval.node) = (Node *) n;
44655 				}
44656 #line 44657 "gram.c" /* yacc.c:1646  */
44657     break;
44658 
44659   case 2051:
44660 #line 14000 "gram.y" /* yacc.c:1646  */
44661     { (yyval.node) = (yyvsp[0].node); }
44662 #line 44663 "gram.c" /* yacc.c:1646  */
44663     break;
44664 
44665   case 2052:
44666 #line 14010 "gram.y" /* yacc.c:1646  */
44667     { (yyval.node) = (yyvsp[0].node); }
44668 #line 44669 "gram.c" /* yacc.c:1646  */
44669     break;
44670 
44671   case 2053:
44672 #line 14011 "gram.y" /* yacc.c:1646  */
44673     { (yyval.node) = (yyvsp[0].node); }
44674 #line 44675 "gram.c" /* yacc.c:1646  */
44675     break;
44676 
44677   case 2054:
44678 #line 14019 "gram.y" /* yacc.c:1646  */
44679     {
44680 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("pg_collation_for"),
44681 											   list_make1((yyvsp[-1].node)),
44682 											   (yylsp[-4]));
44683 				}
44684 #line 44685 "gram.c" /* yacc.c:1646  */
44685     break;
44686 
44687   case 2055:
44688 #line 14025 "gram.y" /* yacc.c:1646  */
44689     {
44690 					(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_DATE, -1, (yylsp[0]));
44691 				}
44692 #line 44693 "gram.c" /* yacc.c:1646  */
44693     break;
44694 
44695   case 2056:
44696 #line 14029 "gram.y" /* yacc.c:1646  */
44697     {
44698 					(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIME, -1, (yylsp[0]));
44699 				}
44700 #line 44701 "gram.c" /* yacc.c:1646  */
44701     break;
44702 
44703   case 2057:
44704 #line 14033 "gram.y" /* yacc.c:1646  */
44705     {
44706 					(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIME_N, (yyvsp[-1].ival), (yylsp[-3]));
44707 				}
44708 #line 44709 "gram.c" /* yacc.c:1646  */
44709     break;
44710 
44711   case 2058:
44712 #line 14037 "gram.y" /* yacc.c:1646  */
44713     {
44714 					(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIMESTAMP, -1, (yylsp[0]));
44715 				}
44716 #line 44717 "gram.c" /* yacc.c:1646  */
44717     break;
44718 
44719   case 2059:
44720 #line 14041 "gram.y" /* yacc.c:1646  */
44721     {
44722 					(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIMESTAMP_N, (yyvsp[-1].ival), (yylsp[-3]));
44723 				}
44724 #line 44725 "gram.c" /* yacc.c:1646  */
44725     break;
44726 
44727   case 2060:
44728 #line 14045 "gram.y" /* yacc.c:1646  */
44729     {
44730 					(yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIME, -1, (yylsp[0]));
44731 				}
44732 #line 44733 "gram.c" /* yacc.c:1646  */
44733     break;
44734 
44735   case 2061:
44736 #line 14049 "gram.y" /* yacc.c:1646  */
44737     {
44738 					(yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIME_N, (yyvsp[-1].ival), (yylsp[-3]));
44739 				}
44740 #line 44741 "gram.c" /* yacc.c:1646  */
44741     break;
44742 
44743   case 2062:
44744 #line 14053 "gram.y" /* yacc.c:1646  */
44745     {
44746 					(yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIMESTAMP, -1, (yylsp[0]));
44747 				}
44748 #line 44749 "gram.c" /* yacc.c:1646  */
44749     break;
44750 
44751   case 2063:
44752 #line 14057 "gram.y" /* yacc.c:1646  */
44753     {
44754 					(yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIMESTAMP_N, (yyvsp[-1].ival), (yylsp[-3]));
44755 				}
44756 #line 44757 "gram.c" /* yacc.c:1646  */
44757     break;
44758 
44759   case 2064:
44760 #line 14061 "gram.y" /* yacc.c:1646  */
44761     {
44762 					(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_ROLE, -1, (yylsp[0]));
44763 				}
44764 #line 44765 "gram.c" /* yacc.c:1646  */
44765     break;
44766 
44767   case 2065:
44768 #line 14065 "gram.y" /* yacc.c:1646  */
44769     {
44770 					(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_USER, -1, (yylsp[0]));
44771 				}
44772 #line 44773 "gram.c" /* yacc.c:1646  */
44773     break;
44774 
44775   case 2066:
44776 #line 14069 "gram.y" /* yacc.c:1646  */
44777     {
44778 					(yyval.node) = makeSQLValueFunction(SVFOP_SESSION_USER, -1, (yylsp[0]));
44779 				}
44780 #line 44781 "gram.c" /* yacc.c:1646  */
44781     break;
44782 
44783   case 2067:
44784 #line 14073 "gram.y" /* yacc.c:1646  */
44785     {
44786 					(yyval.node) = makeSQLValueFunction(SVFOP_USER, -1, (yylsp[0]));
44787 				}
44788 #line 44789 "gram.c" /* yacc.c:1646  */
44789     break;
44790 
44791   case 2068:
44792 #line 14077 "gram.y" /* yacc.c:1646  */
44793     {
44794 					(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_CATALOG, -1, (yylsp[0]));
44795 				}
44796 #line 44797 "gram.c" /* yacc.c:1646  */
44797     break;
44798 
44799   case 2069:
44800 #line 14081 "gram.y" /* yacc.c:1646  */
44801     {
44802 					(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_SCHEMA, -1, (yylsp[0]));
44803 				}
44804 #line 44805 "gram.c" /* yacc.c:1646  */
44805     break;
44806 
44807   case 2070:
44808 #line 14085 "gram.y" /* yacc.c:1646  */
44809     { (yyval.node) = makeTypeCast((yyvsp[-3].node), (yyvsp[-1].typnam), (yylsp[-5])); }
44810 #line 44811 "gram.c" /* yacc.c:1646  */
44811     break;
44812 
44813   case 2071:
44814 #line 14087 "gram.y" /* yacc.c:1646  */
44815     {
44816 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("date_part"), (yyvsp[-1].list), (yylsp[-3]));
44817 				}
44818 #line 44819 "gram.c" /* yacc.c:1646  */
44819     break;
44820 
44821   case 2072:
44822 #line 14091 "gram.y" /* yacc.c:1646  */
44823     {
44824 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("normalize"), list_make1((yyvsp[-1].node)), (yylsp[-3]));
44825 				}
44826 #line 44827 "gram.c" /* yacc.c:1646  */
44827     break;
44828 
44829   case 2073:
44830 #line 14095 "gram.y" /* yacc.c:1646  */
44831     {
44832 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("normalize"), list_make2((yyvsp[-3].node), makeStringConst((yyvsp[-1].str), (yylsp[-1]))), (yylsp[-5]));
44833 				}
44834 #line 44835 "gram.c" /* yacc.c:1646  */
44835     break;
44836 
44837   case 2074:
44838 #line 14099 "gram.y" /* yacc.c:1646  */
44839     {
44840 					/* overlay(A PLACING B FROM C FOR D) is converted to
44841 					 * overlay(A, B, C, D)
44842 					 * overlay(A PLACING B FROM C) is converted to
44843 					 * overlay(A, B, C)
44844 					 */
44845 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("overlay"), (yyvsp[-1].list), (yylsp[-3]));
44846 				}
44847 #line 44848 "gram.c" /* yacc.c:1646  */
44848     break;
44849 
44850   case 2075:
44851 #line 14108 "gram.y" /* yacc.c:1646  */
44852     {
44853 					/* position(A in B) is converted to position(B, A) */
44854 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("position"), (yyvsp[-1].list), (yylsp[-3]));
44855 				}
44856 #line 44857 "gram.c" /* yacc.c:1646  */
44857     break;
44858 
44859   case 2076:
44860 #line 14113 "gram.y" /* yacc.c:1646  */
44861     {
44862 					/* substring(A from B for C) is converted to
44863 					 * substring(A, B, C) - thomas 2000-11-28
44864 					 */
44865 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("substring"), (yyvsp[-1].list), (yylsp[-3]));
44866 				}
44867 #line 44868 "gram.c" /* yacc.c:1646  */
44868     break;
44869 
44870   case 2077:
44871 #line 14120 "gram.y" /* yacc.c:1646  */
44872     {
44873 					/* TREAT(expr AS target) converts expr of a particular type to target,
44874 					 * which is defined to be a subtype of the original expression.
44875 					 * In SQL99, this is intended for use with structured UDTs,
44876 					 * but let's make this a generally useful form allowing stronger
44877 					 * coercions than are handled by implicit casting.
44878 					 *
44879 					 * Convert SystemTypeName() to SystemFuncName() even though
44880 					 * at the moment they result in the same thing.
44881 					 */
44882 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName(((Value *)llast((yyvsp[-1].typnam)->names))->val.str),
44883 												list_make1((yyvsp[-3].node)),
44884 												(yylsp[-5]));
44885 				}
44886 #line 44887 "gram.c" /* yacc.c:1646  */
44887     break;
44888 
44889   case 2078:
44890 #line 14135 "gram.y" /* yacc.c:1646  */
44891     {
44892 					/* various trim expressions are defined in SQL
44893 					 * - thomas 1997-07-19
44894 					 */
44895 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("btrim"), (yyvsp[-1].list), (yylsp[-4]));
44896 				}
44897 #line 44898 "gram.c" /* yacc.c:1646  */
44898     break;
44899 
44900   case 2079:
44901 #line 14142 "gram.y" /* yacc.c:1646  */
44902     {
44903 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("ltrim"), (yyvsp[-1].list), (yylsp[-4]));
44904 				}
44905 #line 44906 "gram.c" /* yacc.c:1646  */
44906     break;
44907 
44908   case 2080:
44909 #line 14146 "gram.y" /* yacc.c:1646  */
44910     {
44911 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("rtrim"), (yyvsp[-1].list), (yylsp[-4]));
44912 				}
44913 #line 44914 "gram.c" /* yacc.c:1646  */
44914     break;
44915 
44916   case 2081:
44917 #line 14150 "gram.y" /* yacc.c:1646  */
44918     {
44919 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("btrim"), (yyvsp[-1].list), (yylsp[-3]));
44920 				}
44921 #line 44922 "gram.c" /* yacc.c:1646  */
44922     break;
44923 
44924   case 2082:
44925 #line 14154 "gram.y" /* yacc.c:1646  */
44926     {
44927 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NULLIF, "=", (yyvsp[-3].node), (yyvsp[-1].node), (yylsp[-5]));
44928 				}
44929 #line 44930 "gram.c" /* yacc.c:1646  */
44930     break;
44931 
44932   case 2083:
44933 #line 14158 "gram.y" /* yacc.c:1646  */
44934     {
44935 					CoalesceExpr *c = makeNode(CoalesceExpr);
44936 					c->args = (yyvsp[-1].list);
44937 					c->location = (yylsp[-3]);
44938 					(yyval.node) = (Node *)c;
44939 				}
44940 #line 44941 "gram.c" /* yacc.c:1646  */
44941     break;
44942 
44943   case 2084:
44944 #line 14165 "gram.y" /* yacc.c:1646  */
44945     {
44946 					MinMaxExpr *v = makeNode(MinMaxExpr);
44947 					v->args = (yyvsp[-1].list);
44948 					v->op = IS_GREATEST;
44949 					v->location = (yylsp[-3]);
44950 					(yyval.node) = (Node *)v;
44951 				}
44952 #line 44953 "gram.c" /* yacc.c:1646  */
44953     break;
44954 
44955   case 2085:
44956 #line 14173 "gram.y" /* yacc.c:1646  */
44957     {
44958 					MinMaxExpr *v = makeNode(MinMaxExpr);
44959 					v->args = (yyvsp[-1].list);
44960 					v->op = IS_LEAST;
44961 					v->location = (yylsp[-3]);
44962 					(yyval.node) = (Node *)v;
44963 				}
44964 #line 44965 "gram.c" /* yacc.c:1646  */
44965     break;
44966 
44967   case 2086:
44968 #line 14181 "gram.y" /* yacc.c:1646  */
44969     {
44970 					(yyval.node) = makeXmlExpr(IS_XMLCONCAT, NULL, NIL, (yyvsp[-1].list), (yylsp[-3]));
44971 				}
44972 #line 44973 "gram.c" /* yacc.c:1646  */
44973     break;
44974 
44975   case 2087:
44976 #line 14185 "gram.y" /* yacc.c:1646  */
44977     {
44978 					(yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[-1].str), NIL, NIL, (yylsp[-4]));
44979 				}
44980 #line 44981 "gram.c" /* yacc.c:1646  */
44981     break;
44982 
44983   case 2088:
44984 #line 14189 "gram.y" /* yacc.c:1646  */
44985     {
44986 					(yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[-3].str), (yyvsp[-1].list), NIL, (yylsp[-6]));
44987 				}
44988 #line 44989 "gram.c" /* yacc.c:1646  */
44989     break;
44990 
44991   case 2089:
44992 #line 14193 "gram.y" /* yacc.c:1646  */
44993     {
44994 					(yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[-3].str), NIL, (yyvsp[-1].list), (yylsp[-6]));
44995 				}
44996 #line 44997 "gram.c" /* yacc.c:1646  */
44997     break;
44998 
44999   case 2090:
45000 #line 14197 "gram.y" /* yacc.c:1646  */
45001     {
45002 					(yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[-5].str), (yyvsp[-3].list), (yyvsp[-1].list), (yylsp[-8]));
45003 				}
45004 #line 45005 "gram.c" /* yacc.c:1646  */
45005     break;
45006 
45007   case 2091:
45008 #line 14201 "gram.y" /* yacc.c:1646  */
45009     {
45010 					/* xmlexists(A PASSING [BY REF] B [BY REF]) is
45011 					 * converted to xmlexists(A, B)*/
45012 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("xmlexists"), list_make2((yyvsp[-2].node), (yyvsp[-1].node)), (yylsp[-4]));
45013 				}
45014 #line 45015 "gram.c" /* yacc.c:1646  */
45015     break;
45016 
45017   case 2092:
45018 #line 14207 "gram.y" /* yacc.c:1646  */
45019     {
45020 					(yyval.node) = makeXmlExpr(IS_XMLFOREST, NULL, (yyvsp[-1].list), NIL, (yylsp[-3]));
45021 				}
45022 #line 45023 "gram.c" /* yacc.c:1646  */
45023     break;
45024 
45025   case 2093:
45026 #line 14211 "gram.y" /* yacc.c:1646  */
45027     {
45028 					XmlExpr *x = (XmlExpr *)
45029 						makeXmlExpr(IS_XMLPARSE, NULL, NIL,
45030 									list_make2((yyvsp[-2].node), makeBoolAConst((yyvsp[-1].boolean), -1)),
45031 									(yylsp[-5]));
45032 					x->xmloption = (yyvsp[-3].ival);
45033 					(yyval.node) = (Node *)x;
45034 				}
45035 #line 45036 "gram.c" /* yacc.c:1646  */
45036     break;
45037 
45038   case 2094:
45039 #line 14220 "gram.y" /* yacc.c:1646  */
45040     {
45041 					(yyval.node) = makeXmlExpr(IS_XMLPI, (yyvsp[-1].str), NULL, NIL, (yylsp[-4]));
45042 				}
45043 #line 45044 "gram.c" /* yacc.c:1646  */
45044     break;
45045 
45046   case 2095:
45047 #line 14224 "gram.y" /* yacc.c:1646  */
45048     {
45049 					(yyval.node) = makeXmlExpr(IS_XMLPI, (yyvsp[-3].str), NULL, list_make1((yyvsp[-1].node)), (yylsp[-6]));
45050 				}
45051 #line 45052 "gram.c" /* yacc.c:1646  */
45052     break;
45053 
45054   case 2096:
45055 #line 14228 "gram.y" /* yacc.c:1646  */
45056     {
45057 					(yyval.node) = makeXmlExpr(IS_XMLROOT, NULL, NIL,
45058 									 list_make3((yyvsp[-4].node), (yyvsp[-2].node), (yyvsp[-1].node)), (yylsp[-6]));
45059 				}
45060 #line 45061 "gram.c" /* yacc.c:1646  */
45061     break;
45062 
45063   case 2097:
45064 #line 14233 "gram.y" /* yacc.c:1646  */
45065     {
45066 					XmlSerialize *n = makeNode(XmlSerialize);
45067 					n->xmloption = (yyvsp[-4].ival);
45068 					n->expr = (yyvsp[-3].node);
45069 					n->typeName = (yyvsp[-1].typnam);
45070 					n->location = (yylsp[-6]);
45071 					(yyval.node) = (Node *)n;
45072 				}
45073 #line 45074 "gram.c" /* yacc.c:1646  */
45074     break;
45075 
45076   case 2098:
45077 #line 14247 "gram.y" /* yacc.c:1646  */
45078     { (yyval.node) = (yyvsp[0].node); }
45079 #line 45080 "gram.c" /* yacc.c:1646  */
45080     break;
45081 
45082   case 2099:
45083 #line 14249 "gram.y" /* yacc.c:1646  */
45084     { (yyval.node) = makeNullAConst(-1); }
45085 #line 45086 "gram.c" /* yacc.c:1646  */
45086     break;
45087 
45088   case 2100:
45089 #line 14253 "gram.y" /* yacc.c:1646  */
45090     { (yyval.node) = makeIntConst(XML_STANDALONE_YES, -1); }
45091 #line 45092 "gram.c" /* yacc.c:1646  */
45092     break;
45093 
45094   case 2101:
45095 #line 14255 "gram.y" /* yacc.c:1646  */
45096     { (yyval.node) = makeIntConst(XML_STANDALONE_NO, -1); }
45097 #line 45098 "gram.c" /* yacc.c:1646  */
45098     break;
45099 
45100   case 2102:
45101 #line 14257 "gram.y" /* yacc.c:1646  */
45102     { (yyval.node) = makeIntConst(XML_STANDALONE_NO_VALUE, -1); }
45103 #line 45104 "gram.c" /* yacc.c:1646  */
45104     break;
45105 
45106   case 2103:
45107 #line 14259 "gram.y" /* yacc.c:1646  */
45108     { (yyval.node) = makeIntConst(XML_STANDALONE_OMITTED, -1); }
45109 #line 45110 "gram.c" /* yacc.c:1646  */
45110     break;
45111 
45112   case 2104:
45113 #line 14262 "gram.y" /* yacc.c:1646  */
45114     { (yyval.list) = (yyvsp[-1].list); }
45115 #line 45116 "gram.c" /* yacc.c:1646  */
45116     break;
45117 
45118   case 2105:
45119 #line 14265 "gram.y" /* yacc.c:1646  */
45120     { (yyval.list) = list_make1((yyvsp[0].target)); }
45121 #line 45122 "gram.c" /* yacc.c:1646  */
45122     break;
45123 
45124   case 2106:
45125 #line 14266 "gram.y" /* yacc.c:1646  */
45126     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].target)); }
45127 #line 45128 "gram.c" /* yacc.c:1646  */
45128     break;
45129 
45130   case 2107:
45131 #line 14270 "gram.y" /* yacc.c:1646  */
45132     {
45133 					(yyval.target) = makeNode(ResTarget);
45134 					(yyval.target)->name = (yyvsp[0].str);
45135 					(yyval.target)->indirection = NIL;
45136 					(yyval.target)->val = (Node *) (yyvsp[-2].node);
45137 					(yyval.target)->location = (yylsp[-2]);
45138 				}
45139 #line 45140 "gram.c" /* yacc.c:1646  */
45140     break;
45141 
45142   case 2108:
45143 #line 14278 "gram.y" /* yacc.c:1646  */
45144     {
45145 					(yyval.target) = makeNode(ResTarget);
45146 					(yyval.target)->name = NULL;
45147 					(yyval.target)->indirection = NIL;
45148 					(yyval.target)->val = (Node *) (yyvsp[0].node);
45149 					(yyval.target)->location = (yylsp[0]);
45150 				}
45151 #line 45152 "gram.c" /* yacc.c:1646  */
45152     break;
45153 
45154   case 2109:
45155 #line 14287 "gram.y" /* yacc.c:1646  */
45156     { (yyval.ival) = XMLOPTION_DOCUMENT; }
45157 #line 45158 "gram.c" /* yacc.c:1646  */
45158     break;
45159 
45160   case 2110:
45161 #line 14288 "gram.y" /* yacc.c:1646  */
45162     { (yyval.ival) = XMLOPTION_CONTENT; }
45163 #line 45164 "gram.c" /* yacc.c:1646  */
45164     break;
45165 
45166   case 2111:
45167 #line 14291 "gram.y" /* yacc.c:1646  */
45168     { (yyval.boolean) = true; }
45169 #line 45170 "gram.c" /* yacc.c:1646  */
45170     break;
45171 
45172   case 2112:
45173 #line 14292 "gram.y" /* yacc.c:1646  */
45174     { (yyval.boolean) = false; }
45175 #line 45176 "gram.c" /* yacc.c:1646  */
45176     break;
45177 
45178   case 2113:
45179 #line 14293 "gram.y" /* yacc.c:1646  */
45180     { (yyval.boolean) = false; }
45181 #line 45182 "gram.c" /* yacc.c:1646  */
45182     break;
45183 
45184   case 2114:
45185 #line 14299 "gram.y" /* yacc.c:1646  */
45186     {
45187 					(yyval.node) = (yyvsp[0].node);
45188 				}
45189 #line 45190 "gram.c" /* yacc.c:1646  */
45190     break;
45191 
45192   case 2115:
45193 #line 14303 "gram.y" /* yacc.c:1646  */
45194     {
45195 					(yyval.node) = (yyvsp[-1].node);
45196 				}
45197 #line 45198 "gram.c" /* yacc.c:1646  */
45198     break;
45199 
45200   case 2116:
45201 #line 14307 "gram.y" /* yacc.c:1646  */
45202     {
45203 					(yyval.node) = (yyvsp[0].node);
45204 				}
45205 #line 45206 "gram.c" /* yacc.c:1646  */
45206     break;
45207 
45208   case 2117:
45209 #line 14311 "gram.y" /* yacc.c:1646  */
45210     {
45211 					(yyval.node) = (yyvsp[-1].node);
45212 				}
45213 #line 45214 "gram.c" /* yacc.c:1646  */
45214     break;
45215 
45216   case 2120:
45217 #line 14326 "gram.y" /* yacc.c:1646  */
45218     { (yyval.list) = (yyvsp[-1].list); }
45219 #line 45220 "gram.c" /* yacc.c:1646  */
45220     break;
45221 
45222   case 2121:
45223 #line 14327 "gram.y" /* yacc.c:1646  */
45224     { (yyval.list) = NIL; }
45225 #line 45226 "gram.c" /* yacc.c:1646  */
45226     break;
45227 
45228   case 2122:
45229 #line 14331 "gram.y" /* yacc.c:1646  */
45230     { (yyval.node) = (yyvsp[-1].node); }
45231 #line 45232 "gram.c" /* yacc.c:1646  */
45232     break;
45233 
45234   case 2123:
45235 #line 14332 "gram.y" /* yacc.c:1646  */
45236     { (yyval.node) = NULL; }
45237 #line 45238 "gram.c" /* yacc.c:1646  */
45238     break;
45239 
45240   case 2124:
45241 #line 14340 "gram.y" /* yacc.c:1646  */
45242     { (yyval.list) = (yyvsp[0].list); }
45243 #line 45244 "gram.c" /* yacc.c:1646  */
45244     break;
45245 
45246   case 2125:
45247 #line 14341 "gram.y" /* yacc.c:1646  */
45248     { (yyval.list) = NIL; }
45249 #line 45250 "gram.c" /* yacc.c:1646  */
45250     break;
45251 
45252   case 2126:
45253 #line 14345 "gram.y" /* yacc.c:1646  */
45254     { (yyval.list) = list_make1((yyvsp[0].windef)); }
45255 #line 45256 "gram.c" /* yacc.c:1646  */
45256     break;
45257 
45258   case 2127:
45259 #line 14347 "gram.y" /* yacc.c:1646  */
45260     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].windef)); }
45261 #line 45262 "gram.c" /* yacc.c:1646  */
45262     break;
45263 
45264   case 2128:
45265 #line 14352 "gram.y" /* yacc.c:1646  */
45266     {
45267 					WindowDef *n = (yyvsp[0].windef);
45268 					n->name = (yyvsp[-2].str);
45269 					(yyval.windef) = n;
45270 				}
45271 #line 45272 "gram.c" /* yacc.c:1646  */
45272     break;
45273 
45274   case 2129:
45275 #line 14360 "gram.y" /* yacc.c:1646  */
45276     { (yyval.windef) = (yyvsp[0].windef); }
45277 #line 45278 "gram.c" /* yacc.c:1646  */
45278     break;
45279 
45280   case 2130:
45281 #line 14362 "gram.y" /* yacc.c:1646  */
45282     {
45283 					WindowDef *n = makeNode(WindowDef);
45284 					n->name = (yyvsp[0].str);
45285 					n->refname = NULL;
45286 					n->partitionClause = NIL;
45287 					n->orderClause = NIL;
45288 					n->frameOptions = FRAMEOPTION_DEFAULTS;
45289 					n->startOffset = NULL;
45290 					n->endOffset = NULL;
45291 					n->location = (yylsp[0]);
45292 					(yyval.windef) = n;
45293 				}
45294 #line 45295 "gram.c" /* yacc.c:1646  */
45295     break;
45296 
45297   case 2131:
45298 #line 14375 "gram.y" /* yacc.c:1646  */
45299     { (yyval.windef) = NULL; }
45300 #line 45301 "gram.c" /* yacc.c:1646  */
45301     break;
45302 
45303   case 2132:
45304 #line 14380 "gram.y" /* yacc.c:1646  */
45305     {
45306 					WindowDef *n = makeNode(WindowDef);
45307 					n->name = NULL;
45308 					n->refname = (yyvsp[-4].str);
45309 					n->partitionClause = (yyvsp[-3].list);
45310 					n->orderClause = (yyvsp[-2].list);
45311 					/* copy relevant fields of opt_frame_clause */
45312 					n->frameOptions = (yyvsp[-1].windef)->frameOptions;
45313 					n->startOffset = (yyvsp[-1].windef)->startOffset;
45314 					n->endOffset = (yyvsp[-1].windef)->endOffset;
45315 					n->location = (yylsp[-5]);
45316 					(yyval.windef) = n;
45317 				}
45318 #line 45319 "gram.c" /* yacc.c:1646  */
45319     break;
45320 
45321   case 2133:
45322 #line 14405 "gram.y" /* yacc.c:1646  */
45323     { (yyval.str) = (yyvsp[0].str); }
45324 #line 45325 "gram.c" /* yacc.c:1646  */
45325     break;
45326 
45327   case 2134:
45328 #line 14406 "gram.y" /* yacc.c:1646  */
45329     { (yyval.str) = NULL; }
45330 #line 45331 "gram.c" /* yacc.c:1646  */
45331     break;
45332 
45333   case 2135:
45334 #line 14409 "gram.y" /* yacc.c:1646  */
45335     { (yyval.list) = (yyvsp[0].list); }
45336 #line 45337 "gram.c" /* yacc.c:1646  */
45337     break;
45338 
45339   case 2136:
45340 #line 14410 "gram.y" /* yacc.c:1646  */
45341     { (yyval.list) = NIL; }
45342 #line 45343 "gram.c" /* yacc.c:1646  */
45343     break;
45344 
45345   case 2137:
45346 #line 14419 "gram.y" /* yacc.c:1646  */
45347     {
45348 					WindowDef *n = (yyvsp[-1].windef);
45349 					n->frameOptions |= FRAMEOPTION_NONDEFAULT | FRAMEOPTION_RANGE;
45350 					n->frameOptions |= (yyvsp[0].ival);
45351 					(yyval.windef) = n;
45352 				}
45353 #line 45354 "gram.c" /* yacc.c:1646  */
45354     break;
45355 
45356   case 2138:
45357 #line 14426 "gram.y" /* yacc.c:1646  */
45358     {
45359 					WindowDef *n = (yyvsp[-1].windef);
45360 					n->frameOptions |= FRAMEOPTION_NONDEFAULT | FRAMEOPTION_ROWS;
45361 					n->frameOptions |= (yyvsp[0].ival);
45362 					(yyval.windef) = n;
45363 				}
45364 #line 45365 "gram.c" /* yacc.c:1646  */
45365     break;
45366 
45367   case 2139:
45368 #line 14433 "gram.y" /* yacc.c:1646  */
45369     {
45370 					WindowDef *n = (yyvsp[-1].windef);
45371 					n->frameOptions |= FRAMEOPTION_NONDEFAULT | FRAMEOPTION_GROUPS;
45372 					n->frameOptions |= (yyvsp[0].ival);
45373 					(yyval.windef) = n;
45374 				}
45375 #line 45376 "gram.c" /* yacc.c:1646  */
45376     break;
45377 
45378   case 2140:
45379 #line 14440 "gram.y" /* yacc.c:1646  */
45380     {
45381 					WindowDef *n = makeNode(WindowDef);
45382 					n->frameOptions = FRAMEOPTION_DEFAULTS;
45383 					n->startOffset = NULL;
45384 					n->endOffset = NULL;
45385 					(yyval.windef) = n;
45386 				}
45387 #line 45388 "gram.c" /* yacc.c:1646  */
45388     break;
45389 
45390   case 2141:
45391 #line 14450 "gram.y" /* yacc.c:1646  */
45392     {
45393 					WindowDef *n = (yyvsp[0].windef);
45394 					/* reject invalid cases */
45395 					if (n->frameOptions & FRAMEOPTION_START_UNBOUNDED_FOLLOWING)
45396 						ereport(ERROR,
45397 								(errcode(ERRCODE_WINDOWING_ERROR),
45398 								 errmsg("frame start cannot be UNBOUNDED FOLLOWING"),
45399 								 parser_errposition((yylsp[0]))));
45400 					if (n->frameOptions & FRAMEOPTION_START_OFFSET_FOLLOWING)
45401 						ereport(ERROR,
45402 								(errcode(ERRCODE_WINDOWING_ERROR),
45403 								 errmsg("frame starting from following row cannot end with current row"),
45404 								 parser_errposition((yylsp[0]))));
45405 					n->frameOptions |= FRAMEOPTION_END_CURRENT_ROW;
45406 					(yyval.windef) = n;
45407 				}
45408 #line 45409 "gram.c" /* yacc.c:1646  */
45409     break;
45410 
45411   case 2142:
45412 #line 14467 "gram.y" /* yacc.c:1646  */
45413     {
45414 					WindowDef *n1 = (yyvsp[-2].windef);
45415 					WindowDef *n2 = (yyvsp[0].windef);
45416 					/* form merged options */
45417 					int		frameOptions = n1->frameOptions;
45418 					/* shift converts START_ options to END_ options */
45419 					frameOptions |= n2->frameOptions << 1;
45420 					frameOptions |= FRAMEOPTION_BETWEEN;
45421 					/* reject invalid cases */
45422 					if (frameOptions & FRAMEOPTION_START_UNBOUNDED_FOLLOWING)
45423 						ereport(ERROR,
45424 								(errcode(ERRCODE_WINDOWING_ERROR),
45425 								 errmsg("frame start cannot be UNBOUNDED FOLLOWING"),
45426 								 parser_errposition((yylsp[-2]))));
45427 					if (frameOptions & FRAMEOPTION_END_UNBOUNDED_PRECEDING)
45428 						ereport(ERROR,
45429 								(errcode(ERRCODE_WINDOWING_ERROR),
45430 								 errmsg("frame end cannot be UNBOUNDED PRECEDING"),
45431 								 parser_errposition((yylsp[0]))));
45432 					if ((frameOptions & FRAMEOPTION_START_CURRENT_ROW) &&
45433 						(frameOptions & FRAMEOPTION_END_OFFSET_PRECEDING))
45434 						ereport(ERROR,
45435 								(errcode(ERRCODE_WINDOWING_ERROR),
45436 								 errmsg("frame starting from current row cannot have preceding rows"),
45437 								 parser_errposition((yylsp[0]))));
45438 					if ((frameOptions & FRAMEOPTION_START_OFFSET_FOLLOWING) &&
45439 						(frameOptions & (FRAMEOPTION_END_OFFSET_PRECEDING |
45440 										 FRAMEOPTION_END_CURRENT_ROW)))
45441 						ereport(ERROR,
45442 								(errcode(ERRCODE_WINDOWING_ERROR),
45443 								 errmsg("frame starting from following row cannot have preceding rows"),
45444 								 parser_errposition((yylsp[0]))));
45445 					n1->frameOptions = frameOptions;
45446 					n1->endOffset = n2->startOffset;
45447 					(yyval.windef) = n1;
45448 				}
45449 #line 45450 "gram.c" /* yacc.c:1646  */
45450     break;
45451 
45452   case 2143:
45453 #line 14512 "gram.y" /* yacc.c:1646  */
45454     {
45455 					WindowDef *n = makeNode(WindowDef);
45456 					n->frameOptions = FRAMEOPTION_START_UNBOUNDED_PRECEDING;
45457 					n->startOffset = NULL;
45458 					n->endOffset = NULL;
45459 					(yyval.windef) = n;
45460 				}
45461 #line 45462 "gram.c" /* yacc.c:1646  */
45462     break;
45463 
45464   case 2144:
45465 #line 14520 "gram.y" /* yacc.c:1646  */
45466     {
45467 					WindowDef *n = makeNode(WindowDef);
45468 					n->frameOptions = FRAMEOPTION_START_UNBOUNDED_FOLLOWING;
45469 					n->startOffset = NULL;
45470 					n->endOffset = NULL;
45471 					(yyval.windef) = n;
45472 				}
45473 #line 45474 "gram.c" /* yacc.c:1646  */
45474     break;
45475 
45476   case 2145:
45477 #line 14528 "gram.y" /* yacc.c:1646  */
45478     {
45479 					WindowDef *n = makeNode(WindowDef);
45480 					n->frameOptions = FRAMEOPTION_START_CURRENT_ROW;
45481 					n->startOffset = NULL;
45482 					n->endOffset = NULL;
45483 					(yyval.windef) = n;
45484 				}
45485 #line 45486 "gram.c" /* yacc.c:1646  */
45486     break;
45487 
45488   case 2146:
45489 #line 14536 "gram.y" /* yacc.c:1646  */
45490     {
45491 					WindowDef *n = makeNode(WindowDef);
45492 					n->frameOptions = FRAMEOPTION_START_OFFSET_PRECEDING;
45493 					n->startOffset = (yyvsp[-1].node);
45494 					n->endOffset = NULL;
45495 					(yyval.windef) = n;
45496 				}
45497 #line 45498 "gram.c" /* yacc.c:1646  */
45498     break;
45499 
45500   case 2147:
45501 #line 14544 "gram.y" /* yacc.c:1646  */
45502     {
45503 					WindowDef *n = makeNode(WindowDef);
45504 					n->frameOptions = FRAMEOPTION_START_OFFSET_FOLLOWING;
45505 					n->startOffset = (yyvsp[-1].node);
45506 					n->endOffset = NULL;
45507 					(yyval.windef) = n;
45508 				}
45509 #line 45510 "gram.c" /* yacc.c:1646  */
45510     break;
45511 
45512   case 2148:
45513 #line 14554 "gram.y" /* yacc.c:1646  */
45514     { (yyval.ival) = FRAMEOPTION_EXCLUDE_CURRENT_ROW; }
45515 #line 45516 "gram.c" /* yacc.c:1646  */
45516     break;
45517 
45518   case 2149:
45519 #line 14555 "gram.y" /* yacc.c:1646  */
45520     { (yyval.ival) = FRAMEOPTION_EXCLUDE_GROUP; }
45521 #line 45522 "gram.c" /* yacc.c:1646  */
45522     break;
45523 
45524   case 2150:
45525 #line 14556 "gram.y" /* yacc.c:1646  */
45526     { (yyval.ival) = FRAMEOPTION_EXCLUDE_TIES; }
45527 #line 45528 "gram.c" /* yacc.c:1646  */
45528     break;
45529 
45530   case 2151:
45531 #line 14557 "gram.y" /* yacc.c:1646  */
45532     { (yyval.ival) = 0; }
45533 #line 45534 "gram.c" /* yacc.c:1646  */
45534     break;
45535 
45536   case 2152:
45537 #line 14558 "gram.y" /* yacc.c:1646  */
45538     { (yyval.ival) = 0; }
45539 #line 45540 "gram.c" /* yacc.c:1646  */
45540     break;
45541 
45542   case 2153:
45543 #line 14572 "gram.y" /* yacc.c:1646  */
45544     { (yyval.list) = (yyvsp[-1].list); }
45545 #line 45546 "gram.c" /* yacc.c:1646  */
45546     break;
45547 
45548   case 2154:
45549 #line 14573 "gram.y" /* yacc.c:1646  */
45550     { (yyval.list) = NIL; }
45551 #line 45552 "gram.c" /* yacc.c:1646  */
45552     break;
45553 
45554   case 2155:
45555 #line 14574 "gram.y" /* yacc.c:1646  */
45556     { (yyval.list) = lappend((yyvsp[-3].list), (yyvsp[-1].node)); }
45557 #line 45558 "gram.c" /* yacc.c:1646  */
45558     break;
45559 
45560   case 2156:
45561 #line 14577 "gram.y" /* yacc.c:1646  */
45562     { (yyval.list) = (yyvsp[-1].list); }
45563 #line 45564 "gram.c" /* yacc.c:1646  */
45564     break;
45565 
45566   case 2157:
45567 #line 14578 "gram.y" /* yacc.c:1646  */
45568     { (yyval.list) = NIL; }
45569 #line 45570 "gram.c" /* yacc.c:1646  */
45570     break;
45571 
45572   case 2158:
45573 #line 14581 "gram.y" /* yacc.c:1646  */
45574     { (yyval.list) = lappend((yyvsp[-3].list), (yyvsp[-1].node)); }
45575 #line 45576 "gram.c" /* yacc.c:1646  */
45576     break;
45577 
45578   case 2159:
45579 #line 14584 "gram.y" /* yacc.c:1646  */
45580     { (yyval.ival) = ANY_SUBLINK; }
45581 #line 45582 "gram.c" /* yacc.c:1646  */
45582     break;
45583 
45584   case 2160:
45585 #line 14585 "gram.y" /* yacc.c:1646  */
45586     { (yyval.ival) = ANY_SUBLINK; }
45587 #line 45588 "gram.c" /* yacc.c:1646  */
45588     break;
45589 
45590   case 2161:
45591 #line 14586 "gram.y" /* yacc.c:1646  */
45592     { (yyval.ival) = ALL_SUBLINK; }
45593 #line 45594 "gram.c" /* yacc.c:1646  */
45594     break;
45595 
45596   case 2162:
45597 #line 14589 "gram.y" /* yacc.c:1646  */
45598     { (yyval.str) = (yyvsp[0].str); }
45599 #line 45600 "gram.c" /* yacc.c:1646  */
45600     break;
45601 
45602   case 2163:
45603 #line 14590 "gram.y" /* yacc.c:1646  */
45604     { (yyval.str) = (yyvsp[0].str); }
45605 #line 45606 "gram.c" /* yacc.c:1646  */
45606     break;
45607 
45608   case 2164:
45609 #line 14593 "gram.y" /* yacc.c:1646  */
45610     { (yyval.str) = "+"; }
45611 #line 45612 "gram.c" /* yacc.c:1646  */
45612     break;
45613 
45614   case 2165:
45615 #line 14594 "gram.y" /* yacc.c:1646  */
45616     { (yyval.str) = "-"; }
45617 #line 45618 "gram.c" /* yacc.c:1646  */
45618     break;
45619 
45620   case 2166:
45621 #line 14595 "gram.y" /* yacc.c:1646  */
45622     { (yyval.str) = "*"; }
45623 #line 45624 "gram.c" /* yacc.c:1646  */
45624     break;
45625 
45626   case 2167:
45627 #line 14596 "gram.y" /* yacc.c:1646  */
45628     { (yyval.str) = "/"; }
45629 #line 45630 "gram.c" /* yacc.c:1646  */
45630     break;
45631 
45632   case 2168:
45633 #line 14597 "gram.y" /* yacc.c:1646  */
45634     { (yyval.str) = "%"; }
45635 #line 45636 "gram.c" /* yacc.c:1646  */
45636     break;
45637 
45638   case 2169:
45639 #line 14598 "gram.y" /* yacc.c:1646  */
45640     { (yyval.str) = "^"; }
45641 #line 45642 "gram.c" /* yacc.c:1646  */
45642     break;
45643 
45644   case 2170:
45645 #line 14599 "gram.y" /* yacc.c:1646  */
45646     { (yyval.str) = "<"; }
45647 #line 45648 "gram.c" /* yacc.c:1646  */
45648     break;
45649 
45650   case 2171:
45651 #line 14600 "gram.y" /* yacc.c:1646  */
45652     { (yyval.str) = ">"; }
45653 #line 45654 "gram.c" /* yacc.c:1646  */
45654     break;
45655 
45656   case 2172:
45657 #line 14601 "gram.y" /* yacc.c:1646  */
45658     { (yyval.str) = "="; }
45659 #line 45660 "gram.c" /* yacc.c:1646  */
45660     break;
45661 
45662   case 2173:
45663 #line 14602 "gram.y" /* yacc.c:1646  */
45664     { (yyval.str) = "<="; }
45665 #line 45666 "gram.c" /* yacc.c:1646  */
45666     break;
45667 
45668   case 2174:
45669 #line 14603 "gram.y" /* yacc.c:1646  */
45670     { (yyval.str) = ">="; }
45671 #line 45672 "gram.c" /* yacc.c:1646  */
45672     break;
45673 
45674   case 2175:
45675 #line 14604 "gram.y" /* yacc.c:1646  */
45676     { (yyval.str) = "<>"; }
45677 #line 45678 "gram.c" /* yacc.c:1646  */
45678     break;
45679 
45680   case 2176:
45681 #line 14608 "gram.y" /* yacc.c:1646  */
45682     { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
45683 #line 45684 "gram.c" /* yacc.c:1646  */
45684     break;
45685 
45686   case 2177:
45687 #line 14610 "gram.y" /* yacc.c:1646  */
45688     { (yyval.list) = (yyvsp[-1].list); }
45689 #line 45690 "gram.c" /* yacc.c:1646  */
45690     break;
45691 
45692   case 2178:
45693 #line 14615 "gram.y" /* yacc.c:1646  */
45694     { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
45695 #line 45696 "gram.c" /* yacc.c:1646  */
45696     break;
45697 
45698   case 2179:
45699 #line 14617 "gram.y" /* yacc.c:1646  */
45700     { (yyval.list) = (yyvsp[-1].list); }
45701 #line 45702 "gram.c" /* yacc.c:1646  */
45702     break;
45703 
45704   case 2180:
45705 #line 14622 "gram.y" /* yacc.c:1646  */
45706     { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
45707 #line 45708 "gram.c" /* yacc.c:1646  */
45708     break;
45709 
45710   case 2181:
45711 #line 14624 "gram.y" /* yacc.c:1646  */
45712     { (yyval.list) = (yyvsp[-1].list); }
45713 #line 45714 "gram.c" /* yacc.c:1646  */
45714     break;
45715 
45716   case 2182:
45717 #line 14626 "gram.y" /* yacc.c:1646  */
45718     { (yyval.list) = list_make1(makeString("~~")); }
45719 #line 45720 "gram.c" /* yacc.c:1646  */
45720     break;
45721 
45722   case 2183:
45723 #line 14628 "gram.y" /* yacc.c:1646  */
45724     { (yyval.list) = list_make1(makeString("!~~")); }
45725 #line 45726 "gram.c" /* yacc.c:1646  */
45726     break;
45727 
45728   case 2184:
45729 #line 14630 "gram.y" /* yacc.c:1646  */
45730     { (yyval.list) = list_make1(makeString("~~*")); }
45731 #line 45732 "gram.c" /* yacc.c:1646  */
45732     break;
45733 
45734   case 2185:
45735 #line 14632 "gram.y" /* yacc.c:1646  */
45736     { (yyval.list) = list_make1(makeString("!~~*")); }
45737 #line 45738 "gram.c" /* yacc.c:1646  */
45738     break;
45739 
45740   case 2186:
45741 #line 14644 "gram.y" /* yacc.c:1646  */
45742     {
45743 					(yyval.list) = list_make1((yyvsp[0].node));
45744 				}
45745 #line 45746 "gram.c" /* yacc.c:1646  */
45746     break;
45747 
45748   case 2187:
45749 #line 14648 "gram.y" /* yacc.c:1646  */
45750     {
45751 					(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
45752 				}
45753 #line 45754 "gram.c" /* yacc.c:1646  */
45754     break;
45755 
45756   case 2188:
45757 #line 14655 "gram.y" /* yacc.c:1646  */
45758     {
45759 					(yyval.list) = list_make1((yyvsp[0].node));
45760 				}
45761 #line 45762 "gram.c" /* yacc.c:1646  */
45762     break;
45763 
45764   case 2189:
45765 #line 14659 "gram.y" /* yacc.c:1646  */
45766     {
45767 					(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
45768 				}
45769 #line 45770 "gram.c" /* yacc.c:1646  */
45770     break;
45771 
45772   case 2190:
45773 #line 14665 "gram.y" /* yacc.c:1646  */
45774     {
45775 					(yyval.node) = (yyvsp[0].node);
45776 				}
45777 #line 45778 "gram.c" /* yacc.c:1646  */
45778     break;
45779 
45780   case 2191:
45781 #line 14669 "gram.y" /* yacc.c:1646  */
45782     {
45783 					NamedArgExpr *na = makeNode(NamedArgExpr);
45784 					na->name = (yyvsp[-2].str);
45785 					na->arg = (Expr *) (yyvsp[0].node);
45786 					na->argnumber = -1;		/* until determined */
45787 					na->location = (yylsp[-2]);
45788 					(yyval.node) = (Node *) na;
45789 				}
45790 #line 45791 "gram.c" /* yacc.c:1646  */
45791     break;
45792 
45793   case 2192:
45794 #line 14678 "gram.y" /* yacc.c:1646  */
45795     {
45796 					NamedArgExpr *na = makeNode(NamedArgExpr);
45797 					na->name = (yyvsp[-2].str);
45798 					na->arg = (Expr *) (yyvsp[0].node);
45799 					na->argnumber = -1;		/* until determined */
45800 					na->location = (yylsp[-2]);
45801 					(yyval.node) = (Node *) na;
45802 				}
45803 #line 45804 "gram.c" /* yacc.c:1646  */
45804     break;
45805 
45806   case 2193:
45807 #line 14688 "gram.y" /* yacc.c:1646  */
45808     { (yyval.list) = list_make1((yyvsp[0].typnam)); }
45809 #line 45810 "gram.c" /* yacc.c:1646  */
45810     break;
45811 
45812   case 2194:
45813 #line 14689 "gram.y" /* yacc.c:1646  */
45814     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].typnam)); }
45815 #line 45816 "gram.c" /* yacc.c:1646  */
45816     break;
45817 
45818   case 2195:
45819 #line 14693 "gram.y" /* yacc.c:1646  */
45820     {
45821 					(yyval.node) = makeAArrayExpr((yyvsp[-1].list), (yylsp[-2]));
45822 				}
45823 #line 45824 "gram.c" /* yacc.c:1646  */
45824     break;
45825 
45826   case 2196:
45827 #line 14697 "gram.y" /* yacc.c:1646  */
45828     {
45829 					(yyval.node) = makeAArrayExpr((yyvsp[-1].list), (yylsp[-2]));
45830 				}
45831 #line 45832 "gram.c" /* yacc.c:1646  */
45832     break;
45833 
45834   case 2197:
45835 #line 14701 "gram.y" /* yacc.c:1646  */
45836     {
45837 					(yyval.node) = makeAArrayExpr(NIL, (yylsp[-1]));
45838 				}
45839 #line 45840 "gram.c" /* yacc.c:1646  */
45840     break;
45841 
45842   case 2198:
45843 #line 14706 "gram.y" /* yacc.c:1646  */
45844     { (yyval.list) = list_make1((yyvsp[0].node)); }
45845 #line 45846 "gram.c" /* yacc.c:1646  */
45846     break;
45847 
45848   case 2199:
45849 #line 14707 "gram.y" /* yacc.c:1646  */
45850     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
45851 #line 45852 "gram.c" /* yacc.c:1646  */
45852     break;
45853 
45854   case 2200:
45855 #line 14713 "gram.y" /* yacc.c:1646  */
45856     {
45857 					(yyval.list) = list_make2(makeStringConst((yyvsp[-2].str), (yylsp[-2])), (yyvsp[0].node));
45858 				}
45859 #line 45860 "gram.c" /* yacc.c:1646  */
45860     break;
45861 
45862   case 2201:
45863 #line 14716 "gram.y" /* yacc.c:1646  */
45864     { (yyval.list) = NIL; }
45865 #line 45866 "gram.c" /* yacc.c:1646  */
45866     break;
45867 
45868   case 2202:
45869 #line 14723 "gram.y" /* yacc.c:1646  */
45870     { (yyval.str) = (yyvsp[0].str); }
45871 #line 45872 "gram.c" /* yacc.c:1646  */
45872     break;
45873 
45874   case 2203:
45875 #line 14724 "gram.y" /* yacc.c:1646  */
45876     { (yyval.str) = "year"; }
45877 #line 45878 "gram.c" /* yacc.c:1646  */
45878     break;
45879 
45880   case 2204:
45881 #line 14725 "gram.y" /* yacc.c:1646  */
45882     { (yyval.str) = "month"; }
45883 #line 45884 "gram.c" /* yacc.c:1646  */
45884     break;
45885 
45886   case 2205:
45887 #line 14726 "gram.y" /* yacc.c:1646  */
45888     { (yyval.str) = "day"; }
45889 #line 45890 "gram.c" /* yacc.c:1646  */
45890     break;
45891 
45892   case 2206:
45893 #line 14727 "gram.y" /* yacc.c:1646  */
45894     { (yyval.str) = "hour"; }
45895 #line 45896 "gram.c" /* yacc.c:1646  */
45896     break;
45897 
45898   case 2207:
45899 #line 14728 "gram.y" /* yacc.c:1646  */
45900     { (yyval.str) = "minute"; }
45901 #line 45902 "gram.c" /* yacc.c:1646  */
45902     break;
45903 
45904   case 2208:
45905 #line 14729 "gram.y" /* yacc.c:1646  */
45906     { (yyval.str) = "second"; }
45907 #line 45908 "gram.c" /* yacc.c:1646  */
45908     break;
45909 
45910   case 2209:
45911 #line 14730 "gram.y" /* yacc.c:1646  */
45912     { (yyval.str) = (yyvsp[0].str); }
45913 #line 45914 "gram.c" /* yacc.c:1646  */
45914     break;
45915 
45916   case 2210:
45917 #line 14734 "gram.y" /* yacc.c:1646  */
45918     { (yyval.str) = "nfc"; }
45919 #line 45920 "gram.c" /* yacc.c:1646  */
45920     break;
45921 
45922   case 2211:
45923 #line 14735 "gram.y" /* yacc.c:1646  */
45924     { (yyval.str) = "nfd"; }
45925 #line 45926 "gram.c" /* yacc.c:1646  */
45926     break;
45927 
45928   case 2212:
45929 #line 14736 "gram.y" /* yacc.c:1646  */
45930     { (yyval.str) = "nfkc"; }
45931 #line 45932 "gram.c" /* yacc.c:1646  */
45932     break;
45933 
45934   case 2213:
45935 #line 14737 "gram.y" /* yacc.c:1646  */
45936     { (yyval.str) = "nfkd"; }
45937 #line 45938 "gram.c" /* yacc.c:1646  */
45938     break;
45939 
45940   case 2214:
45941 #line 14748 "gram.y" /* yacc.c:1646  */
45942     {
45943 					(yyval.list) = list_make4((yyvsp[-3].node), (yyvsp[-2].node), (yyvsp[-1].node), (yyvsp[0].node));
45944 				}
45945 #line 45946 "gram.c" /* yacc.c:1646  */
45946     break;
45947 
45948   case 2215:
45949 #line 14752 "gram.y" /* yacc.c:1646  */
45950     {
45951 					(yyval.list) = list_make3((yyvsp[-2].node), (yyvsp[-1].node), (yyvsp[0].node));
45952 				}
45953 #line 45954 "gram.c" /* yacc.c:1646  */
45954     break;
45955 
45956   case 2216:
45957 #line 14759 "gram.y" /* yacc.c:1646  */
45958     { (yyval.node) = (yyvsp[0].node); }
45959 #line 45960 "gram.c" /* yacc.c:1646  */
45960     break;
45961 
45962   case 2217:
45963 #line 14765 "gram.y" /* yacc.c:1646  */
45964     { (yyval.list) = list_make2((yyvsp[0].node), (yyvsp[-2].node)); }
45965 #line 45966 "gram.c" /* yacc.c:1646  */
45966     break;
45967 
45968   case 2218:
45969 #line 14766 "gram.y" /* yacc.c:1646  */
45970     { (yyval.list) = NIL; }
45971 #line 45972 "gram.c" /* yacc.c:1646  */
45972     break;
45973 
45974   case 2219:
45975 #line 14783 "gram.y" /* yacc.c:1646  */
45976     {
45977 					(yyval.list) = list_make3((yyvsp[-2].node), (yyvsp[-1].node), (yyvsp[0].node));
45978 				}
45979 #line 45980 "gram.c" /* yacc.c:1646  */
45980     break;
45981 
45982   case 2220:
45983 #line 14787 "gram.y" /* yacc.c:1646  */
45984     {
45985 					/* not legal per SQL99, but might as well allow it */
45986 					(yyval.list) = list_make3((yyvsp[-2].node), (yyvsp[0].node), (yyvsp[-1].node));
45987 				}
45988 #line 45989 "gram.c" /* yacc.c:1646  */
45989     break;
45990 
45991   case 2221:
45992 #line 14792 "gram.y" /* yacc.c:1646  */
45993     {
45994 					(yyval.list) = list_make2((yyvsp[-1].node), (yyvsp[0].node));
45995 				}
45996 #line 45997 "gram.c" /* yacc.c:1646  */
45997     break;
45998 
45999   case 2222:
46000 #line 14796 "gram.y" /* yacc.c:1646  */
46001     {
46002 					/*
46003 					 * Since there are no cases where this syntax allows
46004 					 * a textual FOR value, we forcibly cast the argument
46005 					 * to int4.  The possible matches in pg_proc are
46006 					 * substring(text,int4) and substring(text,text),
46007 					 * and we don't want the parser to choose the latter,
46008 					 * which it is likely to do if the second argument
46009 					 * is unknown or doesn't have an implicit cast to int4.
46010 					 */
46011 					(yyval.list) = list_make3((yyvsp[-1].node), makeIntConst(1, -1),
46012 									makeTypeCast((yyvsp[0].node),
46013 												 SystemTypeName("int4"), -1));
46014 				}
46015 #line 46016 "gram.c" /* yacc.c:1646  */
46016     break;
46017 
46018   case 2223:
46019 #line 14811 "gram.y" /* yacc.c:1646  */
46020     {
46021 					(yyval.list) = (yyvsp[0].list);
46022 				}
46023 #line 46024 "gram.c" /* yacc.c:1646  */
46024     break;
46025 
46026   case 2224:
46027 #line 14815 "gram.y" /* yacc.c:1646  */
46028     { (yyval.list) = NIL; }
46029 #line 46030 "gram.c" /* yacc.c:1646  */
46030     break;
46031 
46032   case 2225:
46033 #line 14819 "gram.y" /* yacc.c:1646  */
46034     { (yyval.node) = (yyvsp[0].node); }
46035 #line 46036 "gram.c" /* yacc.c:1646  */
46036     break;
46037 
46038   case 2226:
46039 #line 14822 "gram.y" /* yacc.c:1646  */
46040     { (yyval.node) = (yyvsp[0].node); }
46041 #line 46042 "gram.c" /* yacc.c:1646  */
46042     break;
46043 
46044   case 2227:
46045 #line 14825 "gram.y" /* yacc.c:1646  */
46046     { (yyval.list) = lappend((yyvsp[0].list), (yyvsp[-2].node)); }
46047 #line 46048 "gram.c" /* yacc.c:1646  */
46048     break;
46049 
46050   case 2228:
46051 #line 14826 "gram.y" /* yacc.c:1646  */
46052     { (yyval.list) = (yyvsp[0].list); }
46053 #line 46054 "gram.c" /* yacc.c:1646  */
46054     break;
46055 
46056   case 2229:
46057 #line 14827 "gram.y" /* yacc.c:1646  */
46058     { (yyval.list) = (yyvsp[0].list); }
46059 #line 46060 "gram.c" /* yacc.c:1646  */
46060     break;
46061 
46062   case 2230:
46063 #line 14831 "gram.y" /* yacc.c:1646  */
46064     {
46065 					SubLink *n = makeNode(SubLink);
46066 					n->subselect = (yyvsp[0].node);
46067 					/* other fields will be filled later */
46068 					(yyval.node) = (Node *)n;
46069 				}
46070 #line 46071 "gram.c" /* yacc.c:1646  */
46071     break;
46072 
46073   case 2231:
46074 #line 14837 "gram.y" /* yacc.c:1646  */
46075     { (yyval.node) = (Node *)(yyvsp[-1].list); }
46076 #line 46077 "gram.c" /* yacc.c:1646  */
46077     break;
46078 
46079   case 2232:
46080 #line 14848 "gram.y" /* yacc.c:1646  */
46081     {
46082 					CaseExpr *c = makeNode(CaseExpr);
46083 					c->casetype = InvalidOid; /* not analyzed yet */
46084 					c->arg = (Expr *) (yyvsp[-3].node);
46085 					c->args = (yyvsp[-2].list);
46086 					c->defresult = (Expr *) (yyvsp[-1].node);
46087 					c->location = (yylsp[-4]);
46088 					(yyval.node) = (Node *)c;
46089 				}
46090 #line 46091 "gram.c" /* yacc.c:1646  */
46091     break;
46092 
46093   case 2233:
46094 #line 14861 "gram.y" /* yacc.c:1646  */
46095     { (yyval.list) = list_make1((yyvsp[0].node)); }
46096 #line 46097 "gram.c" /* yacc.c:1646  */
46097     break;
46098 
46099   case 2234:
46100 #line 14862 "gram.y" /* yacc.c:1646  */
46101     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
46102 #line 46103 "gram.c" /* yacc.c:1646  */
46103     break;
46104 
46105   case 2235:
46106 #line 14867 "gram.y" /* yacc.c:1646  */
46107     {
46108 					CaseWhen *w = makeNode(CaseWhen);
46109 					w->expr = (Expr *) (yyvsp[-2].node);
46110 					w->result = (Expr *) (yyvsp[0].node);
46111 					w->location = (yylsp[-3]);
46112 					(yyval.node) = (Node *)w;
46113 				}
46114 #line 46115 "gram.c" /* yacc.c:1646  */
46115     break;
46116 
46117   case 2236:
46118 #line 14877 "gram.y" /* yacc.c:1646  */
46119     { (yyval.node) = (yyvsp[0].node); }
46120 #line 46121 "gram.c" /* yacc.c:1646  */
46121     break;
46122 
46123   case 2237:
46124 #line 14878 "gram.y" /* yacc.c:1646  */
46125     { (yyval.node) = NULL; }
46126 #line 46127 "gram.c" /* yacc.c:1646  */
46127     break;
46128 
46129   case 2238:
46130 #line 14881 "gram.y" /* yacc.c:1646  */
46131     { (yyval.node) = (yyvsp[0].node); }
46132 #line 46133 "gram.c" /* yacc.c:1646  */
46133     break;
46134 
46135   case 2239:
46136 #line 14882 "gram.y" /* yacc.c:1646  */
46137     { (yyval.node) = NULL; }
46138 #line 46139 "gram.c" /* yacc.c:1646  */
46139     break;
46140 
46141   case 2240:
46142 #line 14886 "gram.y" /* yacc.c:1646  */
46143     {
46144 					(yyval.node) = makeColumnRef((yyvsp[0].str), NIL, (yylsp[0]), yyscanner);
46145 				}
46146 #line 46147 "gram.c" /* yacc.c:1646  */
46147     break;
46148 
46149   case 2241:
46150 #line 14890 "gram.y" /* yacc.c:1646  */
46151     {
46152 					(yyval.node) = makeColumnRef((yyvsp[-1].str), (yyvsp[0].list), (yylsp[-1]), yyscanner);
46153 				}
46154 #line 46155 "gram.c" /* yacc.c:1646  */
46155     break;
46156 
46157   case 2242:
46158 #line 14897 "gram.y" /* yacc.c:1646  */
46159     {
46160 					(yyval.node) = (Node *) makeString((yyvsp[0].str));
46161 				}
46162 #line 46163 "gram.c" /* yacc.c:1646  */
46163     break;
46164 
46165   case 2243:
46166 #line 14901 "gram.y" /* yacc.c:1646  */
46167     {
46168 					(yyval.node) = (Node *) makeNode(A_Star);
46169 				}
46170 #line 46171 "gram.c" /* yacc.c:1646  */
46171     break;
46172 
46173   case 2244:
46174 #line 14905 "gram.y" /* yacc.c:1646  */
46175     {
46176 					A_Indices *ai = makeNode(A_Indices);
46177 					ai->is_slice = false;
46178 					ai->lidx = NULL;
46179 					ai->uidx = (yyvsp[-1].node);
46180 					(yyval.node) = (Node *) ai;
46181 				}
46182 #line 46183 "gram.c" /* yacc.c:1646  */
46183     break;
46184 
46185   case 2245:
46186 #line 14913 "gram.y" /* yacc.c:1646  */
46187     {
46188 					A_Indices *ai = makeNode(A_Indices);
46189 					ai->is_slice = true;
46190 					ai->lidx = (yyvsp[-3].node);
46191 					ai->uidx = (yyvsp[-1].node);
46192 					(yyval.node) = (Node *) ai;
46193 				}
46194 #line 46195 "gram.c" /* yacc.c:1646  */
46195     break;
46196 
46197   case 2246:
46198 #line 14923 "gram.y" /* yacc.c:1646  */
46199     { (yyval.node) = (yyvsp[0].node); }
46200 #line 46201 "gram.c" /* yacc.c:1646  */
46201     break;
46202 
46203   case 2247:
46204 #line 14924 "gram.y" /* yacc.c:1646  */
46205     { (yyval.node) = NULL; }
46206 #line 46207 "gram.c" /* yacc.c:1646  */
46207     break;
46208 
46209   case 2248:
46210 #line 14928 "gram.y" /* yacc.c:1646  */
46211     { (yyval.list) = list_make1((yyvsp[0].node)); }
46212 #line 46213 "gram.c" /* yacc.c:1646  */
46213     break;
46214 
46215   case 2249:
46216 #line 14929 "gram.y" /* yacc.c:1646  */
46217     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
46218 #line 46219 "gram.c" /* yacc.c:1646  */
46219     break;
46220 
46221   case 2250:
46222 #line 14933 "gram.y" /* yacc.c:1646  */
46223     { (yyval.list) = NIL; }
46224 #line 46225 "gram.c" /* yacc.c:1646  */
46225     break;
46226 
46227   case 2251:
46228 #line 14934 "gram.y" /* yacc.c:1646  */
46229     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
46230 #line 46231 "gram.c" /* yacc.c:1646  */
46231     break;
46232 
46233   case 2254:
46234 #line 14948 "gram.y" /* yacc.c:1646  */
46235     { (yyval.list) = (yyvsp[0].list); }
46236 #line 46237 "gram.c" /* yacc.c:1646  */
46237     break;
46238 
46239   case 2255:
46240 #line 14949 "gram.y" /* yacc.c:1646  */
46241     { (yyval.list) = NIL; }
46242 #line 46243 "gram.c" /* yacc.c:1646  */
46243     break;
46244 
46245   case 2256:
46246 #line 14953 "gram.y" /* yacc.c:1646  */
46247     { (yyval.list) = list_make1((yyvsp[0].target)); }
46248 #line 46249 "gram.c" /* yacc.c:1646  */
46249     break;
46250 
46251   case 2257:
46252 #line 14954 "gram.y" /* yacc.c:1646  */
46253     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].target)); }
46254 #line 46255 "gram.c" /* yacc.c:1646  */
46255     break;
46256 
46257   case 2258:
46258 #line 14958 "gram.y" /* yacc.c:1646  */
46259     {
46260 					(yyval.target) = makeNode(ResTarget);
46261 					(yyval.target)->name = (yyvsp[0].str);
46262 					(yyval.target)->indirection = NIL;
46263 					(yyval.target)->val = (Node *)(yyvsp[-2].node);
46264 					(yyval.target)->location = (yylsp[-2]);
46265 				}
46266 #line 46267 "gram.c" /* yacc.c:1646  */
46267     break;
46268 
46269   case 2259:
46270 #line 14974 "gram.y" /* yacc.c:1646  */
46271     {
46272 					(yyval.target) = makeNode(ResTarget);
46273 					(yyval.target)->name = (yyvsp[0].str);
46274 					(yyval.target)->indirection = NIL;
46275 					(yyval.target)->val = (Node *)(yyvsp[-1].node);
46276 					(yyval.target)->location = (yylsp[-1]);
46277 				}
46278 #line 46279 "gram.c" /* yacc.c:1646  */
46279     break;
46280 
46281   case 2260:
46282 #line 14982 "gram.y" /* yacc.c:1646  */
46283     {
46284 					(yyval.target) = makeNode(ResTarget);
46285 					(yyval.target)->name = NULL;
46286 					(yyval.target)->indirection = NIL;
46287 					(yyval.target)->val = (Node *)(yyvsp[0].node);
46288 					(yyval.target)->location = (yylsp[0]);
46289 				}
46290 #line 46291 "gram.c" /* yacc.c:1646  */
46291     break;
46292 
46293   case 2261:
46294 #line 14990 "gram.y" /* yacc.c:1646  */
46295     {
46296 					ColumnRef *n = makeNode(ColumnRef);
46297 					n->fields = list_make1(makeNode(A_Star));
46298 					n->location = (yylsp[0]);
46299 
46300 					(yyval.target) = makeNode(ResTarget);
46301 					(yyval.target)->name = NULL;
46302 					(yyval.target)->indirection = NIL;
46303 					(yyval.target)->val = (Node *)n;
46304 					(yyval.target)->location = (yylsp[0]);
46305 				}
46306 #line 46307 "gram.c" /* yacc.c:1646  */
46307     break;
46308 
46309   case 2262:
46310 #line 15011 "gram.y" /* yacc.c:1646  */
46311     { (yyval.list) = list_make1((yyvsp[0].range)); }
46312 #line 46313 "gram.c" /* yacc.c:1646  */
46313     break;
46314 
46315   case 2263:
46316 #line 15012 "gram.y" /* yacc.c:1646  */
46317     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].range)); }
46318 #line 46319 "gram.c" /* yacc.c:1646  */
46319     break;
46320 
46321   case 2264:
46322 #line 15024 "gram.y" /* yacc.c:1646  */
46323     {
46324 					(yyval.range) = makeRangeVar(NULL, (yyvsp[0].str), (yylsp[0]));
46325 				}
46326 #line 46327 "gram.c" /* yacc.c:1646  */
46327     break;
46328 
46329   case 2265:
46330 #line 15028 "gram.y" /* yacc.c:1646  */
46331     {
46332 					check_qualified_name((yyvsp[0].list), yyscanner);
46333 					(yyval.range) = makeRangeVar(NULL, NULL, (yylsp[-1]));
46334 					switch (list_length((yyvsp[0].list)))
46335 					{
46336 						case 1:
46337 							(yyval.range)->catalogname = NULL;
46338 							(yyval.range)->schemaname = (yyvsp[-1].str);
46339 							(yyval.range)->relname = strVal(linitial((yyvsp[0].list)));
46340 							break;
46341 						case 2:
46342 							(yyval.range)->catalogname = (yyvsp[-1].str);
46343 							(yyval.range)->schemaname = strVal(linitial((yyvsp[0].list)));
46344 							(yyval.range)->relname = strVal(lsecond((yyvsp[0].list)));
46345 							break;
46346 						default:
46347 							ereport(ERROR,
46348 									(errcode(ERRCODE_SYNTAX_ERROR),
46349 									 errmsg("improper qualified name (too many dotted names): %s",
46350 											NameListToString(lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)))),
46351 									 parser_errposition((yylsp[-1]))));
46352 							break;
46353 					}
46354 				}
46355 #line 46356 "gram.c" /* yacc.c:1646  */
46356     break;
46357 
46358   case 2266:
46359 #line 15055 "gram.y" /* yacc.c:1646  */
46360     { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
46361 #line 46362 "gram.c" /* yacc.c:1646  */
46362     break;
46363 
46364   case 2267:
46365 #line 15057 "gram.y" /* yacc.c:1646  */
46366     { (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str))); }
46367 #line 46368 "gram.c" /* yacc.c:1646  */
46368     break;
46369 
46370   case 2268:
46371 #line 15061 "gram.y" /* yacc.c:1646  */
46372     { (yyval.str) = (yyvsp[0].str); }
46373 #line 46374 "gram.c" /* yacc.c:1646  */
46374     break;
46375 
46376   case 2269:
46377 #line 15064 "gram.y" /* yacc.c:1646  */
46378     { (yyval.str) = (yyvsp[0].str); }
46379 #line 46380 "gram.c" /* yacc.c:1646  */
46380     break;
46381 
46382   case 2270:
46383 #line 15067 "gram.y" /* yacc.c:1646  */
46384     { (yyval.str) = (yyvsp[0].str); }
46385 #line 46386 "gram.c" /* yacc.c:1646  */
46386     break;
46387 
46388   case 2271:
46389 #line 15069 "gram.y" /* yacc.c:1646  */
46390     { (yyval.str) = (yyvsp[0].str); }
46391 #line 46392 "gram.c" /* yacc.c:1646  */
46392     break;
46393 
46394   case 2272:
46395 #line 15071 "gram.y" /* yacc.c:1646  */
46396     { (yyval.str) = (yyvsp[0].str); }
46397 #line 46398 "gram.c" /* yacc.c:1646  */
46398     break;
46399 
46400   case 2273:
46401 #line 15073 "gram.y" /* yacc.c:1646  */
46402     { (yyval.str) = (yyvsp[0].str); }
46403 #line 46404 "gram.c" /* yacc.c:1646  */
46404     break;
46405 
46406   case 2274:
46407 #line 15084 "gram.y" /* yacc.c:1646  */
46408     { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
46409 #line 46410 "gram.c" /* yacc.c:1646  */
46410     break;
46411 
46412   case 2275:
46413 #line 15086 "gram.y" /* yacc.c:1646  */
46414     {
46415 						(yyval.list) = check_func_name(lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)),
46416 											 yyscanner);
46417 					}
46418 #line 46419 "gram.c" /* yacc.c:1646  */
46419     break;
46420 
46421   case 2276:
46422 #line 15097 "gram.y" /* yacc.c:1646  */
46423     {
46424 					(yyval.node) = makeIntConst((yyvsp[0].ival), (yylsp[0]));
46425 				}
46426 #line 46427 "gram.c" /* yacc.c:1646  */
46427     break;
46428 
46429   case 2277:
46430 #line 15101 "gram.y" /* yacc.c:1646  */
46431     {
46432 					(yyval.node) = makeFloatConst((yyvsp[0].str), (yylsp[0]));
46433 				}
46434 #line 46435 "gram.c" /* yacc.c:1646  */
46435     break;
46436 
46437   case 2278:
46438 #line 15105 "gram.y" /* yacc.c:1646  */
46439     {
46440 					(yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0]));
46441 				}
46442 #line 46443 "gram.c" /* yacc.c:1646  */
46443     break;
46444 
46445   case 2279:
46446 #line 15109 "gram.y" /* yacc.c:1646  */
46447     {
46448 					(yyval.node) = makeBitStringConst((yyvsp[0].str), (yylsp[0]));
46449 				}
46450 #line 46451 "gram.c" /* yacc.c:1646  */
46451     break;
46452 
46453   case 2280:
46454 #line 15113 "gram.y" /* yacc.c:1646  */
46455     {
46456 					/* This is a bit constant per SQL99:
46457 					 * Without Feature F511, "BIT data type",
46458 					 * a <general literal> shall not be a
46459 					 * <bit string literal> or a <hex string literal>.
46460 					 */
46461 					(yyval.node) = makeBitStringConst((yyvsp[0].str), (yylsp[0]));
46462 				}
46463 #line 46464 "gram.c" /* yacc.c:1646  */
46464     break;
46465 
46466   case 2281:
46467 #line 15122 "gram.y" /* yacc.c:1646  */
46468     {
46469 					/* generic type 'literal' syntax */
46470 					TypeName *t = makeTypeNameFromNameList((yyvsp[-1].list));
46471 					t->location = (yylsp[-1]);
46472 					(yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), t);
46473 				}
46474 #line 46475 "gram.c" /* yacc.c:1646  */
46475     break;
46476 
46477   case 2282:
46478 #line 15129 "gram.y" /* yacc.c:1646  */
46479     {
46480 					/* generic syntax with a type modifier */
46481 					TypeName *t = makeTypeNameFromNameList((yyvsp[-5].list));
46482 					ListCell *lc;
46483 
46484 					/*
46485 					 * We must use func_arg_list and opt_sort_clause in the
46486 					 * production to avoid reduce/reduce conflicts, but we
46487 					 * don't actually wish to allow NamedArgExpr in this
46488 					 * context, nor ORDER BY.
46489 					 */
46490 					foreach(lc, (yyvsp[-3].list))
46491 					{
46492 						NamedArgExpr *arg = (NamedArgExpr *) lfirst(lc);
46493 
46494 						if (IsA(arg, NamedArgExpr))
46495 							ereport(ERROR,
46496 									(errcode(ERRCODE_SYNTAX_ERROR),
46497 									 errmsg("type modifier cannot have parameter name"),
46498 									 parser_errposition(arg->location)));
46499 					}
46500 					if ((yyvsp[-2].list) != NIL)
46501 							ereport(ERROR,
46502 									(errcode(ERRCODE_SYNTAX_ERROR),
46503 									 errmsg("type modifier cannot have ORDER BY"),
46504 									 parser_errposition((yylsp[-2]))));
46505 
46506 					t->typmods = (yyvsp[-3].list);
46507 					t->location = (yylsp[-5]);
46508 					(yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), t);
46509 				}
46510 #line 46511 "gram.c" /* yacc.c:1646  */
46511     break;
46512 
46513   case 2283:
46514 #line 15161 "gram.y" /* yacc.c:1646  */
46515     {
46516 					(yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), (yyvsp[-1].typnam));
46517 				}
46518 #line 46519 "gram.c" /* yacc.c:1646  */
46519     break;
46520 
46521   case 2284:
46522 #line 15165 "gram.y" /* yacc.c:1646  */
46523     {
46524 					TypeName *t = (yyvsp[-2].typnam);
46525 					t->typmods = (yyvsp[0].list);
46526 					(yyval.node) = makeStringConstCast((yyvsp[-1].str), (yylsp[-1]), t);
46527 				}
46528 #line 46529 "gram.c" /* yacc.c:1646  */
46529     break;
46530 
46531   case 2285:
46532 #line 15171 "gram.y" /* yacc.c:1646  */
46533     {
46534 					TypeName *t = (yyvsp[-4].typnam);
46535 					t->typmods = list_make2(makeIntConst(INTERVAL_FULL_RANGE, -1),
46536 											makeIntConst((yyvsp[-2].ival), (yylsp[-2])));
46537 					(yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), t);
46538 				}
46539 #line 46540 "gram.c" /* yacc.c:1646  */
46540     break;
46541 
46542   case 2286:
46543 #line 15178 "gram.y" /* yacc.c:1646  */
46544     {
46545 					(yyval.node) = makeBoolAConst(true, (yylsp[0]));
46546 				}
46547 #line 46548 "gram.c" /* yacc.c:1646  */
46548     break;
46549 
46550   case 2287:
46551 #line 15182 "gram.y" /* yacc.c:1646  */
46552     {
46553 					(yyval.node) = makeBoolAConst(false, (yylsp[0]));
46554 				}
46555 #line 46556 "gram.c" /* yacc.c:1646  */
46556     break;
46557 
46558   case 2288:
46559 #line 15186 "gram.y" /* yacc.c:1646  */
46560     {
46561 					(yyval.node) = makeNullAConst((yylsp[0]));
46562 				}
46563 #line 46564 "gram.c" /* yacc.c:1646  */
46564     break;
46565 
46566   case 2289:
46567 #line 15191 "gram.y" /* yacc.c:1646  */
46568     { (yyval.ival) = (yyvsp[0].ival); }
46569 #line 46570 "gram.c" /* yacc.c:1646  */
46570     break;
46571 
46572   case 2290:
46573 #line 15192 "gram.y" /* yacc.c:1646  */
46574     { (yyval.str) = (yyvsp[0].str); }
46575 #line 46576 "gram.c" /* yacc.c:1646  */
46576     break;
46577 
46578   case 2291:
46579 #line 15194 "gram.y" /* yacc.c:1646  */
46580     { (yyval.ival) = (yyvsp[0].ival); }
46581 #line 46582 "gram.c" /* yacc.c:1646  */
46582     break;
46583 
46584   case 2292:
46585 #line 15195 "gram.y" /* yacc.c:1646  */
46586     { (yyval.ival) = + (yyvsp[0].ival); }
46587 #line 46588 "gram.c" /* yacc.c:1646  */
46588     break;
46589 
46590   case 2293:
46591 #line 15196 "gram.y" /* yacc.c:1646  */
46592     { (yyval.ival) = - (yyvsp[0].ival); }
46593 #line 46594 "gram.c" /* yacc.c:1646  */
46594     break;
46595 
46596   case 2294:
46597 #line 15201 "gram.y" /* yacc.c:1646  */
46598     {
46599 					RoleSpec *spc = (RoleSpec *) (yyvsp[0].rolespec);
46600 					switch (spc->roletype)
46601 					{
46602 						case ROLESPEC_CSTRING:
46603 							(yyval.str) = spc->rolename;
46604 							break;
46605 						case ROLESPEC_PUBLIC:
46606 							ereport(ERROR,
46607 									(errcode(ERRCODE_RESERVED_NAME),
46608 									 errmsg("role name \"%s\" is reserved",
46609 											"public"),
46610 									 parser_errposition((yylsp[0]))));
46611 							break;
46612 						case ROLESPEC_SESSION_USER:
46613 							ereport(ERROR,
46614 									(errcode(ERRCODE_RESERVED_NAME),
46615 									 errmsg("%s cannot be used as a role name here",
46616 											"SESSION_USER"),
46617 									 parser_errposition((yylsp[0]))));
46618 							break;
46619 						case ROLESPEC_CURRENT_USER:
46620 							ereport(ERROR,
46621 									(errcode(ERRCODE_RESERVED_NAME),
46622 									 errmsg("%s cannot be used as a role name here",
46623 											"CURRENT_USER"),
46624 									 parser_errposition((yylsp[0]))));
46625 							break;
46626 					}
46627 				}
46628 #line 46629 "gram.c" /* yacc.c:1646  */
46629     break;
46630 
46631   case 2295:
46632 #line 15234 "gram.y" /* yacc.c:1646  */
46633     {
46634 						/*
46635 						 * "public" and "none" are not keywords, but they must
46636 						 * be treated specially here.
46637 						 */
46638 						RoleSpec *n;
46639 						if (strcmp((yyvsp[0].str), "public") == 0)
46640 						{
46641 							n = (RoleSpec *) makeRoleSpec(ROLESPEC_PUBLIC, (yylsp[0]));
46642 							n->roletype = ROLESPEC_PUBLIC;
46643 						}
46644 						else if (strcmp((yyvsp[0].str), "none") == 0)
46645 						{
46646 							ereport(ERROR,
46647 									(errcode(ERRCODE_RESERVED_NAME),
46648 									 errmsg("role name \"%s\" is reserved",
46649 											"none"),
46650 									 parser_errposition((yylsp[0]))));
46651 						}
46652 						else
46653 						{
46654 							n = makeRoleSpec(ROLESPEC_CSTRING, (yylsp[0]));
46655 							n->rolename = pstrdup((yyvsp[0].str));
46656 						}
46657 						(yyval.rolespec) = n;
46658 					}
46659 #line 46660 "gram.c" /* yacc.c:1646  */
46660     break;
46661 
46662   case 2296:
46663 #line 15261 "gram.y" /* yacc.c:1646  */
46664     {
46665 						(yyval.rolespec) = makeRoleSpec(ROLESPEC_CURRENT_USER, (yylsp[0]));
46666 					}
46667 #line 46668 "gram.c" /* yacc.c:1646  */
46668     break;
46669 
46670   case 2297:
46671 #line 15265 "gram.y" /* yacc.c:1646  */
46672     {
46673 						(yyval.rolespec) = makeRoleSpec(ROLESPEC_SESSION_USER, (yylsp[0]));
46674 					}
46675 #line 46676 "gram.c" /* yacc.c:1646  */
46676     break;
46677 
46678   case 2298:
46679 #line 15271 "gram.y" /* yacc.c:1646  */
46680     { (yyval.list) = list_make1((yyvsp[0].rolespec)); }
46681 #line 46682 "gram.c" /* yacc.c:1646  */
46682     break;
46683 
46684   case 2299:
46685 #line 15273 "gram.y" /* yacc.c:1646  */
46686     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].rolespec)); }
46687 #line 46688 "gram.c" /* yacc.c:1646  */
46688     break;
46689 
46690   case 2300:
46691 #line 15289 "gram.y" /* yacc.c:1646  */
46692     { (yyval.str) = (yyvsp[0].str); }
46693 #line 46694 "gram.c" /* yacc.c:1646  */
46694     break;
46695 
46696   case 2301:
46697 #line 15290 "gram.y" /* yacc.c:1646  */
46698     { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
46699 #line 46700 "gram.c" /* yacc.c:1646  */
46700     break;
46701 
46702   case 2302:
46703 #line 15291 "gram.y" /* yacc.c:1646  */
46704     { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
46705 #line 46706 "gram.c" /* yacc.c:1646  */
46706     break;
46707 
46708   case 2303:
46709 #line 15296 "gram.y" /* yacc.c:1646  */
46710     { (yyval.str) = (yyvsp[0].str); }
46711 #line 46712 "gram.c" /* yacc.c:1646  */
46712     break;
46713 
46714   case 2304:
46715 #line 15297 "gram.y" /* yacc.c:1646  */
46716     { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
46717 #line 46718 "gram.c" /* yacc.c:1646  */
46718     break;
46719 
46720   case 2305:
46721 #line 15298 "gram.y" /* yacc.c:1646  */
46722     { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
46723 #line 46724 "gram.c" /* yacc.c:1646  */
46724     break;
46725 
46726   case 2306:
46727 #line 15303 "gram.y" /* yacc.c:1646  */
46728     { (yyval.str) = (yyvsp[0].str); }
46729 #line 46730 "gram.c" /* yacc.c:1646  */
46730     break;
46731 
46732   case 2307:
46733 #line 15304 "gram.y" /* yacc.c:1646  */
46734     { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
46735 #line 46736 "gram.c" /* yacc.c:1646  */
46736     break;
46737 
46738   case 2308:
46739 #line 15305 "gram.y" /* yacc.c:1646  */
46740     { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
46741 #line 46742 "gram.c" /* yacc.c:1646  */
46742     break;
46743 
46744   case 2309:
46745 #line 15306 "gram.y" /* yacc.c:1646  */
46746     { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
46747 #line 46748 "gram.c" /* yacc.c:1646  */
46748     break;
46749 
46750   case 2310:
46751 #line 15312 "gram.y" /* yacc.c:1646  */
46752     { (yyval.str) = (yyvsp[0].str); }
46753 #line 46754 "gram.c" /* yacc.c:1646  */
46754     break;
46755 
46756   case 2311:
46757 #line 15313 "gram.y" /* yacc.c:1646  */
46758     { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
46759 #line 46760 "gram.c" /* yacc.c:1646  */
46760     break;
46761 
46762   case 2312:
46763 #line 15314 "gram.y" /* yacc.c:1646  */
46764     { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
46765 #line 46766 "gram.c" /* yacc.c:1646  */
46766     break;
46767 
46768   case 2313:
46769 #line 15315 "gram.y" /* yacc.c:1646  */
46770     { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
46771 #line 46772 "gram.c" /* yacc.c:1646  */
46772     break;
46773 
46774   case 2314:
46775 #line 15316 "gram.y" /* yacc.c:1646  */
46776     { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
46777 #line 46778 "gram.c" /* yacc.c:1646  */
46778     break;
46779 
46780 
46781 #line 46782 "gram.c" /* yacc.c:1646  */
46782       default: break;
46783     }
46784   /* User semantic actions sometimes alter yychar, and that requires
46785      that yytoken be updated with the new translation.  We take the
46786      approach of translating immediately before every use of yytoken.
46787      One alternative is translating here after every semantic action,
46788      but that translation would be missed if the semantic action invokes
46789      YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
46790      if it invokes YYBACKUP.  In the case of YYABORT or YYACCEPT, an
46791      incorrect destructor might then be invoked immediately.  In the
46792      case of YYERROR or YYBACKUP, subsequent parser actions might lead
46793      to an incorrect destructor call or verbose syntax error message
46794      before the lookahead is translated.  */
46795   YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
46796 
46797   YYPOPSTACK (yylen);
46798   yylen = 0;
46799   YY_STACK_PRINT (yyss, yyssp);
46800 
46801   *++yyvsp = yyval;
46802   *++yylsp = yyloc;
46803 
46804   /* Now 'shift' the result of the reduction.  Determine what state
46805      that goes to, based on the state we popped back to and the rule
46806      number reduced by.  */
46807 
46808   yyn = yyr1[yyn];
46809 
46810   yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
46811   if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
46812     yystate = yytable[yystate];
46813   else
46814     yystate = yydefgoto[yyn - YYNTOKENS];
46815 
46816   goto yynewstate;
46817 
46818 
46819 /*--------------------------------------.
46820 | yyerrlab -- here on detecting error.  |
46821 `--------------------------------------*/
46822 yyerrlab:
46823   /* Make sure we have latest lookahead translation.  See comments at
46824      user semantic actions for why this is necessary.  */
46825   yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
46826 
46827   /* If not already recovering from an error, report this error.  */
46828   if (!yyerrstatus)
46829     {
46830       ++yynerrs;
46831 #if ! YYERROR_VERBOSE
46832       yyerror (&yylloc, yyscanner, YY_("syntax error"));
46833 #else
46834 # define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
46835                                         yyssp, yytoken)
46836       {
46837         char const *yymsgp = YY_("syntax error");
46838         int yysyntax_error_status;
46839         yysyntax_error_status = YYSYNTAX_ERROR;
46840         if (yysyntax_error_status == 0)
46841           yymsgp = yymsg;
46842         else if (yysyntax_error_status == 1)
46843           {
46844             if (yymsg != yymsgbuf)
46845               YYSTACK_FREE (yymsg);
46846             yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc);
46847             if (!yymsg)
46848               {
46849                 yymsg = yymsgbuf;
46850                 yymsg_alloc = sizeof yymsgbuf;
46851                 yysyntax_error_status = 2;
46852               }
46853             else
46854               {
46855                 yysyntax_error_status = YYSYNTAX_ERROR;
46856                 yymsgp = yymsg;
46857               }
46858           }
46859         yyerror (&yylloc, yyscanner, yymsgp);
46860         if (yysyntax_error_status == 2)
46861           goto yyexhaustedlab;
46862       }
46863 # undef YYSYNTAX_ERROR
46864 #endif
46865     }
46866 
46867   yyerror_range[1] = yylloc;
46868 
46869   if (yyerrstatus == 3)
46870     {
46871       /* If just tried and failed to reuse lookahead token after an
46872          error, discard it.  */
46873 
46874       if (yychar <= YYEOF)
46875         {
46876           /* Return failure if at end of input.  */
46877           if (yychar == YYEOF)
46878             YYABORT;
46879         }
46880       else
46881         {
46882           yydestruct ("Error: discarding",
46883                       yytoken, &yylval, &yylloc, yyscanner);
46884           yychar = YYEMPTY;
46885         }
46886     }
46887 
46888   /* Else will try to reuse lookahead token after shifting the error
46889      token.  */
46890   goto yyerrlab1;
46891 
46892 
46893 /*---------------------------------------------------.
46894 | yyerrorlab -- error raised explicitly by YYERROR.  |
46895 `---------------------------------------------------*/
46896 yyerrorlab:
46897 
46898   /* Pacify compilers like GCC when the user code never invokes
46899      YYERROR and the label yyerrorlab therefore never appears in user
46900      code.  */
46901   if (/*CONSTCOND*/ 0)
46902      goto yyerrorlab;
46903 
46904   yyerror_range[1] = yylsp[1-yylen];
46905   /* Do not reclaim the symbols of the rule whose action triggered
46906      this YYERROR.  */
46907   YYPOPSTACK (yylen);
46908   yylen = 0;
46909   YY_STACK_PRINT (yyss, yyssp);
46910   yystate = *yyssp;
46911   goto yyerrlab1;
46912 
46913 
46914 /*-------------------------------------------------------------.
46915 | yyerrlab1 -- common code for both syntax error and YYERROR.  |
46916 `-------------------------------------------------------------*/
46917 yyerrlab1:
46918   yyerrstatus = 3;      /* Each real token shifted decrements this.  */
46919 
46920   for (;;)
46921     {
46922       yyn = yypact[yystate];
46923       if (!yypact_value_is_default (yyn))
46924         {
46925           yyn += YYTERROR;
46926           if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
46927             {
46928               yyn = yytable[yyn];
46929               if (0 < yyn)
46930                 break;
46931             }
46932         }
46933 
46934       /* Pop the current state because it cannot handle the error token.  */
46935       if (yyssp == yyss)
46936         YYABORT;
46937 
46938       yyerror_range[1] = *yylsp;
46939       yydestruct ("Error: popping",
46940                   yystos[yystate], yyvsp, yylsp, yyscanner);
46941       YYPOPSTACK (1);
46942       yystate = *yyssp;
46943       YY_STACK_PRINT (yyss, yyssp);
46944     }
46945 
46946   YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
46947   *++yyvsp = yylval;
46948   YY_IGNORE_MAYBE_UNINITIALIZED_END
46949 
46950   yyerror_range[2] = yylloc;
46951   /* Using YYLLOC is tempting, but would change the location of
46952      the lookahead.  YYLOC is available though.  */
46953   YYLLOC_DEFAULT (yyloc, yyerror_range, 2);
46954   *++yylsp = yyloc;
46955 
46956   /* Shift the error token.  */
46957   YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
46958 
46959   yystate = yyn;
46960   goto yynewstate;
46961 
46962 
46963 /*-------------------------------------.
46964 | yyacceptlab -- YYACCEPT comes here.  |
46965 `-------------------------------------*/
46966 yyacceptlab:
46967   yyresult = 0;
46968   goto yyreturn;
46969 
46970 /*-----------------------------------.
46971 | yyabortlab -- YYABORT comes here.  |
46972 `-----------------------------------*/
46973 yyabortlab:
46974   yyresult = 1;
46975   goto yyreturn;
46976 
46977 #if !defined yyoverflow || YYERROR_VERBOSE
46978 /*-------------------------------------------------.
46979 | yyexhaustedlab -- memory exhaustion comes here.  |
46980 `-------------------------------------------------*/
46981 yyexhaustedlab:
46982   yyerror (&yylloc, yyscanner, YY_("memory exhausted"));
46983   yyresult = 2;
46984   /* Fall through.  */
46985 #endif
46986 
46987 yyreturn:
46988   if (yychar != YYEMPTY)
46989     {
46990       /* Make sure we have latest lookahead translation.  See comments at
46991          user semantic actions for why this is necessary.  */
46992       yytoken = YYTRANSLATE (yychar);
46993       yydestruct ("Cleanup: discarding lookahead",
46994                   yytoken, &yylval, &yylloc, yyscanner);
46995     }
46996   /* Do not reclaim the symbols of the rule whose action triggered
46997      this YYABORT or YYACCEPT.  */
46998   YYPOPSTACK (yylen);
46999   YY_STACK_PRINT (yyss, yyssp);
47000   while (yyssp != yyss)
47001     {
47002       yydestruct ("Cleanup: popping",
47003                   yystos[*yyssp], yyvsp, yylsp, yyscanner);
47004       YYPOPSTACK (1);
47005     }
47006 #ifndef yyoverflow
47007   if (yyss != yyssa)
47008     YYSTACK_FREE (yyss);
47009 #endif
47010 #if YYERROR_VERBOSE
47011   if (yymsg != yymsgbuf)
47012     YYSTACK_FREE (yymsg);
47013 #endif
47014   return yyresult;
47015 }
47016 #line 15823 "gram.y" /* yacc.c:1906  */
47017 
47018 
47019 /*
47020  * The signature of this function is required by bison.  However, we
47021  * ignore the passed yylloc and instead use the last token position
47022  * available from the scanner.
47023  */
47024 static void
base_yyerror(YYLTYPE * yylloc,core_yyscan_t yyscanner,const char * msg)47025 base_yyerror(YYLTYPE *yylloc, core_yyscan_t yyscanner, const char *msg)
47026 {
47027 	parser_yyerror(msg);
47028 }
47029 
47030 static RawStmt *
makeRawStmt(Node * stmt,int stmt_location)47031 makeRawStmt(Node *stmt, int stmt_location)
47032 {
47033 	RawStmt    *rs = makeNode(RawStmt);
47034 
47035 	rs->stmt = stmt;
47036 	rs->stmt_location = stmt_location;
47037 	rs->stmt_len = 0;			/* might get changed later */
47038 	return rs;
47039 }
47040 
47041 /* Adjust a RawStmt to reflect that it doesn't run to the end of the string */
47042 static void
updateRawStmtEnd(RawStmt * rs,int end_location)47043 updateRawStmtEnd(RawStmt *rs, int end_location)
47044 {
47045 	/*
47046 	 * If we already set the length, don't change it.  This is for situations
47047 	 * like "select foo ;; select bar" where the same statement will be last
47048 	 * in the string for more than one semicolon.
47049 	 */
47050 	if (rs->stmt_len > 0)
47051 		return;
47052 
47053 	/* OK, update length of RawStmt */
47054 	rs->stmt_len = end_location - rs->stmt_location;
47055 }
47056 
47057 static Node *
makeColumnRef(char * colname,List * indirection,int location,core_yyscan_t yyscanner)47058 makeColumnRef(char *colname, List *indirection,
47059 			  int location, core_yyscan_t yyscanner)
47060 {
47061 	/*
47062 	 * Generate a ColumnRef node, with an A_Indirection node added if there
47063 	 * is any subscripting in the specified indirection list.  However,
47064 	 * any field selection at the start of the indirection list must be
47065 	 * transposed into the "fields" part of the ColumnRef node.
47066 	 */
47067 	ColumnRef  *c = makeNode(ColumnRef);
47068 	int		nfields = 0;
47069 	ListCell *l;
47070 
47071 	c->location = location;
47072 	foreach(l, indirection)
47073 	{
47074 		if (IsA(lfirst(l), A_Indices))
47075 		{
47076 			A_Indirection *i = makeNode(A_Indirection);
47077 
47078 			if (nfields == 0)
47079 			{
47080 				/* easy case - all indirection goes to A_Indirection */
47081 				c->fields = list_make1(makeString(colname));
47082 				i->indirection = check_indirection(indirection, yyscanner);
47083 			}
47084 			else
47085 			{
47086 				/* got to split the list in two */
47087 				i->indirection = check_indirection(list_copy_tail(indirection,
47088 																  nfields),
47089 												   yyscanner);
47090 				indirection = list_truncate(indirection, nfields);
47091 				c->fields = lcons(makeString(colname), indirection);
47092 			}
47093 			i->arg = (Node *) c;
47094 			return (Node *) i;
47095 		}
47096 		else if (IsA(lfirst(l), A_Star))
47097 		{
47098 			/* We only allow '*' at the end of a ColumnRef */
47099 			if (lnext(indirection, l) != NULL)
47100 				parser_yyerror("improper use of \"*\"");
47101 		}
47102 		nfields++;
47103 	}
47104 	/* No subscripting, so all indirection gets added to field list */
47105 	c->fields = lcons(makeString(colname), indirection);
47106 	return (Node *) c;
47107 }
47108 
47109 Node *
makeTypeCast(Node * arg,TypeName * typename,int location)47110 makeTypeCast(Node *arg, TypeName *typename, int location)
47111 {
47112 	TypeCast *n = makeNode(TypeCast);
47113 	n->arg = arg;
47114 	n->typeName = typename;
47115 	n->location = location;
47116 	return (Node *) n;
47117 }
47118 
47119 static Node *
makeStringConst(char * str,int location)47120 makeStringConst(char *str, int location)
47121 {
47122 	A_Const *n = makeNode(A_Const);
47123 
47124 	n->val.type = T_String;
47125 	n->val.val.str = str;
47126 	n->location = location;
47127 
47128 	return (Node *)n;
47129 }
47130 
47131 Node *
makeStringConstCast(char * str,int location,TypeName * typename)47132 makeStringConstCast(char *str, int location, TypeName *typename)
47133 {
47134 	Node *s = makeStringConst(str, location);
47135 
47136 	return makeTypeCast(s, typename, -1);
47137 }
47138 
47139 Node *
makeIntConst(int val,int location)47140 makeIntConst(int val, int location)
47141 {
47142 	A_Const *n = makeNode(A_Const);
47143 
47144 	n->val.type = T_Integer;
47145 	n->val.val.ival = val;
47146 	n->location = location;
47147 
47148 	return (Node *)n;
47149 }
47150 
47151 static Node *
makeFloatConst(char * str,int location)47152 makeFloatConst(char *str, int location)
47153 {
47154 	A_Const *n = makeNode(A_Const);
47155 
47156 	n->val.type = T_Float;
47157 	n->val.val.str = str;
47158 	n->location = location;
47159 
47160 	return (Node *)n;
47161 }
47162 
47163 static Node *
makeBitStringConst(char * str,int location)47164 makeBitStringConst(char *str, int location)
47165 {
47166 	A_Const *n = makeNode(A_Const);
47167 
47168 	n->val.type = T_BitString;
47169 	n->val.val.str = str;
47170 	n->location = location;
47171 
47172 	return (Node *)n;
47173 }
47174 
47175 static Node *
makeNullAConst(int location)47176 makeNullAConst(int location)
47177 {
47178 	A_Const *n = makeNode(A_Const);
47179 
47180 	n->val.type = T_Null;
47181 	n->location = location;
47182 
47183 	return (Node *)n;
47184 }
47185 
47186 static Node *
makeAConst(Value * v,int location)47187 makeAConst(Value *v, int location)
47188 {
47189 	Node *n;
47190 
47191 	switch (v->type)
47192 	{
47193 		case T_Float:
47194 			n = makeFloatConst(v->val.str, location);
47195 			break;
47196 
47197 		case T_Integer:
47198 			n = makeIntConst(v->val.ival, location);
47199 			break;
47200 
47201 		case T_String:
47202 		default:
47203 			n = makeStringConst(v->val.str, location);
47204 			break;
47205 	}
47206 
47207 	return n;
47208 }
47209 
47210 /* makeBoolAConst()
47211  * Create an A_Const string node and put it inside a boolean cast.
47212  */
47213 static Node *
makeBoolAConst(bool state,int location)47214 makeBoolAConst(bool state, int location)
47215 {
47216 	A_Const *n = makeNode(A_Const);
47217 
47218 	n->val.type = T_String;
47219 	n->val.val.str = (state ? "t" : "f");
47220 	n->location = location;
47221 
47222 	return makeTypeCast((Node *)n, SystemTypeName("bool"), -1);
47223 }
47224 
47225 /* makeRoleSpec
47226  * Create a RoleSpec with the given type
47227  */
47228 static RoleSpec *
makeRoleSpec(RoleSpecType type,int location)47229 makeRoleSpec(RoleSpecType type, int location)
47230 {
47231 	RoleSpec *spec = makeNode(RoleSpec);
47232 
47233 	spec->roletype = type;
47234 	spec->location = location;
47235 
47236 	return spec;
47237 }
47238 
47239 /* check_qualified_name --- check the result of qualified_name production
47240  *
47241  * It's easiest to let the grammar production for qualified_name allow
47242  * subscripts and '*', which we then must reject here.
47243  */
47244 static void
check_qualified_name(List * names,core_yyscan_t yyscanner)47245 check_qualified_name(List *names, core_yyscan_t yyscanner)
47246 {
47247 	ListCell   *i;
47248 
47249 	foreach(i, names)
47250 	{
47251 		if (!IsA(lfirst(i), String))
47252 			parser_yyerror("syntax error");
47253 	}
47254 }
47255 
47256 /* check_func_name --- check the result of func_name production
47257  *
47258  * It's easiest to let the grammar production for func_name allow subscripts
47259  * and '*', which we then must reject here.
47260  */
47261 static List *
check_func_name(List * names,core_yyscan_t yyscanner)47262 check_func_name(List *names, core_yyscan_t yyscanner)
47263 {
47264 	ListCell   *i;
47265 
47266 	foreach(i, names)
47267 	{
47268 		if (!IsA(lfirst(i), String))
47269 			parser_yyerror("syntax error");
47270 	}
47271 	return names;
47272 }
47273 
47274 /* check_indirection --- check the result of indirection production
47275  *
47276  * We only allow '*' at the end of the list, but it's hard to enforce that
47277  * in the grammar, so do it here.
47278  */
47279 static List *
check_indirection(List * indirection,core_yyscan_t yyscanner)47280 check_indirection(List *indirection, core_yyscan_t yyscanner)
47281 {
47282 	ListCell *l;
47283 
47284 	foreach(l, indirection)
47285 	{
47286 		if (IsA(lfirst(l), A_Star))
47287 		{
47288 			if (lnext(indirection, l) != NULL)
47289 				parser_yyerror("improper use of \"*\"");
47290 		}
47291 	}
47292 	return indirection;
47293 }
47294 
47295 /* extractArgTypes()
47296  * Given a list of FunctionParameter nodes, extract a list of just the
47297  * argument types (TypeNames) for input parameters only.  This is what
47298  * is needed to look up an existing function, which is what is wanted by
47299  * the productions that use this call.
47300  */
47301 static List *
extractArgTypes(List * parameters)47302 extractArgTypes(List *parameters)
47303 {
47304 	List	   *result = NIL;
47305 	ListCell   *i;
47306 
47307 	foreach(i, parameters)
47308 	{
47309 		FunctionParameter *p = (FunctionParameter *) lfirst(i);
47310 
47311 		if (p->mode != FUNC_PARAM_OUT && p->mode != FUNC_PARAM_TABLE)
47312 			result = lappend(result, p->argType);
47313 	}
47314 	return result;
47315 }
47316 
47317 /* extractAggrArgTypes()
47318  * As above, but work from the output of the aggr_args production.
47319  */
47320 static List *
extractAggrArgTypes(List * aggrargs)47321 extractAggrArgTypes(List *aggrargs)
47322 {
47323 	Assert(list_length(aggrargs) == 2);
47324 	return extractArgTypes((List *) linitial(aggrargs));
47325 }
47326 
47327 /* makeOrderedSetArgs()
47328  * Build the result of the aggr_args production (which see the comments for).
47329  * This handles only the case where both given lists are nonempty, so that
47330  * we have to deal with multiple VARIADIC arguments.
47331  */
47332 static List *
makeOrderedSetArgs(List * directargs,List * orderedargs,core_yyscan_t yyscanner)47333 makeOrderedSetArgs(List *directargs, List *orderedargs,
47334 				   core_yyscan_t yyscanner)
47335 {
47336 	FunctionParameter *lastd = (FunctionParameter *) llast(directargs);
47337 	int			ndirectargs;
47338 
47339 	/* No restriction unless last direct arg is VARIADIC */
47340 	if (lastd->mode == FUNC_PARAM_VARIADIC)
47341 	{
47342 		FunctionParameter *firsto = (FunctionParameter *) linitial(orderedargs);
47343 
47344 		/*
47345 		 * We ignore the names, though the aggr_arg production allows them;
47346 		 * it doesn't allow default values, so those need not be checked.
47347 		 */
47348 		if (list_length(orderedargs) != 1 ||
47349 			firsto->mode != FUNC_PARAM_VARIADIC)
47350 			ereport(ERROR,
47351 					(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
47352 					 errmsg("an ordered-set aggregate with a VARIADIC direct argument must have one VARIADIC aggregated argument of the same data type"),
47353 					 parser_errposition(exprLocation((Node *) firsto))));
47354 
47355 		/* OK, drop the duplicate VARIADIC argument from the internal form */
47356 		orderedargs = NIL;
47357 	}
47358 
47359 	/* don't merge into the next line, as list_concat changes directargs */
47360 	ndirectargs = list_length(directargs);
47361 
47362 	return list_make2(list_concat(directargs, orderedargs),
47363 					  makeInteger(ndirectargs));
47364 }
47365 
47366 /* insertSelectOptions()
47367  * Insert ORDER BY, etc into an already-constructed SelectStmt.
47368  *
47369  * This routine is just to avoid duplicating code in SelectStmt productions.
47370  */
47371 static void
insertSelectOptions(SelectStmt * stmt,List * sortClause,List * lockingClause,SelectLimit * limitClause,WithClause * withClause,core_yyscan_t yyscanner)47372 insertSelectOptions(SelectStmt *stmt,
47373 					List *sortClause, List *lockingClause,
47374 					SelectLimit *limitClause,
47375 					WithClause *withClause,
47376 					core_yyscan_t yyscanner)
47377 {
47378 	Assert(IsA(stmt, SelectStmt));
47379 
47380 	/*
47381 	 * Tests here are to reject constructs like
47382 	 *	(SELECT foo ORDER BY bar) ORDER BY baz
47383 	 */
47384 	if (sortClause)
47385 	{
47386 		if (stmt->sortClause)
47387 			ereport(ERROR,
47388 					(errcode(ERRCODE_SYNTAX_ERROR),
47389 					 errmsg("multiple ORDER BY clauses not allowed"),
47390 					 parser_errposition(exprLocation((Node *) sortClause))));
47391 		stmt->sortClause = sortClause;
47392 	}
47393 	/* We can handle multiple locking clauses, though */
47394 	stmt->lockingClause = list_concat(stmt->lockingClause, lockingClause);
47395 	if (limitClause && limitClause->limitOffset)
47396 	{
47397 		if (stmt->limitOffset)
47398 			ereport(ERROR,
47399 					(errcode(ERRCODE_SYNTAX_ERROR),
47400 					 errmsg("multiple OFFSET clauses not allowed"),
47401 					 parser_errposition(exprLocation(limitClause->limitOffset))));
47402 		stmt->limitOffset = limitClause->limitOffset;
47403 	}
47404 	if (limitClause && limitClause->limitCount)
47405 	{
47406 		if (stmt->limitCount)
47407 			ereport(ERROR,
47408 					(errcode(ERRCODE_SYNTAX_ERROR),
47409 					 errmsg("multiple LIMIT clauses not allowed"),
47410 					 parser_errposition(exprLocation(limitClause->limitCount))));
47411 		stmt->limitCount = limitClause->limitCount;
47412 	}
47413 	if (limitClause && limitClause->limitOption != LIMIT_OPTION_DEFAULT)
47414 	{
47415 		if (stmt->limitOption)
47416 			ereport(ERROR,
47417 					(errcode(ERRCODE_SYNTAX_ERROR),
47418 					 errmsg("multiple limit options not allowed")));
47419 		if (!stmt->sortClause && limitClause->limitOption == LIMIT_OPTION_WITH_TIES)
47420 			ereport(ERROR,
47421 					(errcode(ERRCODE_SYNTAX_ERROR),
47422 					 errmsg("WITH TIES options can not be specified without ORDER BY clause")));
47423 		stmt->limitOption = limitClause->limitOption;
47424 	}
47425 	if (withClause)
47426 	{
47427 		if (stmt->withClause)
47428 			ereport(ERROR,
47429 					(errcode(ERRCODE_SYNTAX_ERROR),
47430 					 errmsg("multiple WITH clauses not allowed"),
47431 					 parser_errposition(exprLocation((Node *) withClause))));
47432 		stmt->withClause = withClause;
47433 	}
47434 }
47435 
47436 static Node *
makeSetOp(SetOperation op,bool all,Node * larg,Node * rarg)47437 makeSetOp(SetOperation op, bool all, Node *larg, Node *rarg)
47438 {
47439 	SelectStmt *n = makeNode(SelectStmt);
47440 
47441 	n->op = op;
47442 	n->all = all;
47443 	n->larg = (SelectStmt *) larg;
47444 	n->rarg = (SelectStmt *) rarg;
47445 	return (Node *) n;
47446 }
47447 
47448 /* SystemFuncName()
47449  * Build a properly-qualified reference to a built-in function.
47450  */
47451 List *
SystemFuncName(char * name)47452 SystemFuncName(char *name)
47453 {
47454 	return list_make2(makeString("pg_catalog"), makeString(name));
47455 }
47456 
47457 /* SystemTypeName()
47458  * Build a properly-qualified reference to a built-in type.
47459  *
47460  * typmod is defaulted, but may be changed afterwards by caller.
47461  * Likewise for the location.
47462  */
47463 TypeName *
SystemTypeName(char * name)47464 SystemTypeName(char *name)
47465 {
47466 	return makeTypeNameFromNameList(list_make2(makeString("pg_catalog"),
47467 											   makeString(name)));
47468 }
47469 /* doNegate()
47470  * Handle negation of a numeric constant.
47471  *
47472  * Formerly, we did this here because the optimizer couldn't cope with
47473  * indexquals that looked like "var = -4" --- it wants "var = const"
47474  * and a unary minus operator applied to a constant didn't qualify.
47475  * As of Postgres 7.0, that problem doesn't exist anymore because there
47476  * is a constant-subexpression simplifier in the optimizer.  However,
47477  * there's still a good reason for doing this here, which is that we can
47478  * postpone committing to a particular internal representation for simple
47479  * negative constants.	It's better to leave "-123.456" in string form
47480  * until we know what the desired type is.
47481  */
47482 static Node *
doNegate(Node * n,int location)47483 doNegate(Node *n, int location)
47484 {
47485 	if (IsA(n, A_Const))
47486 	{
47487 		A_Const *con = (A_Const *)n;
47488 
47489 		/* report the constant's location as that of the '-' sign */
47490 		con->location = location;
47491 
47492 		if (con->val.type == T_Integer)
47493 		{
47494 			con->val.val.ival = -con->val.val.ival;
47495 			return n;
47496 		}
47497 		if (con->val.type == T_Float)
47498 		{
47499 			doNegateFloat(&con->val);
47500 			return n;
47501 		}
47502 	}
47503 
47504 	return (Node *) makeSimpleA_Expr(AEXPR_OP, "-", NULL, n, location);
47505 }
47506 
47507 static void
doNegateFloat(Value * v)47508 doNegateFloat(Value *v)
47509 {
47510 	char   *oldval = v->val.str;
47511 
47512 	Assert(IsA(v, Float));
47513 	if (*oldval == '+')
47514 		oldval++;
47515 	if (*oldval == '-')
47516 		v->val.str = oldval+1;	/* just strip the '-' */
47517 	else
47518 		v->val.str = psprintf("-%s", oldval);
47519 }
47520 
47521 static Node *
makeAndExpr(Node * lexpr,Node * rexpr,int location)47522 makeAndExpr(Node *lexpr, Node *rexpr, int location)
47523 {
47524 	Node	   *lexp = lexpr;
47525 
47526 	/* Look through AEXPR_PAREN nodes so they don't affect flattening */
47527 	while (IsA(lexp, A_Expr) &&
47528 		   ((A_Expr *) lexp)->kind == AEXPR_PAREN)
47529 		lexp = ((A_Expr *) lexp)->lexpr;
47530 	/* Flatten "a AND b AND c ..." to a single BoolExpr on sight */
47531 	if (IsA(lexp, BoolExpr))
47532 	{
47533 		BoolExpr *blexpr = (BoolExpr *) lexp;
47534 
47535 		if (blexpr->boolop == AND_EXPR)
47536 		{
47537 			blexpr->args = lappend(blexpr->args, rexpr);
47538 			return (Node *) blexpr;
47539 		}
47540 	}
47541 	return (Node *) makeBoolExpr(AND_EXPR, list_make2(lexpr, rexpr), location);
47542 }
47543 
47544 static Node *
makeOrExpr(Node * lexpr,Node * rexpr,int location)47545 makeOrExpr(Node *lexpr, Node *rexpr, int location)
47546 {
47547 	Node	   *lexp = lexpr;
47548 
47549 	/* Look through AEXPR_PAREN nodes so they don't affect flattening */
47550 	while (IsA(lexp, A_Expr) &&
47551 		   ((A_Expr *) lexp)->kind == AEXPR_PAREN)
47552 		lexp = ((A_Expr *) lexp)->lexpr;
47553 	/* Flatten "a OR b OR c ..." to a single BoolExpr on sight */
47554 	if (IsA(lexp, BoolExpr))
47555 	{
47556 		BoolExpr *blexpr = (BoolExpr *) lexp;
47557 
47558 		if (blexpr->boolop == OR_EXPR)
47559 		{
47560 			blexpr->args = lappend(blexpr->args, rexpr);
47561 			return (Node *) blexpr;
47562 		}
47563 	}
47564 	return (Node *) makeBoolExpr(OR_EXPR, list_make2(lexpr, rexpr), location);
47565 }
47566 
47567 static Node *
makeNotExpr(Node * expr,int location)47568 makeNotExpr(Node *expr, int location)
47569 {
47570 	return (Node *) makeBoolExpr(NOT_EXPR, list_make1(expr), location);
47571 }
47572 
47573 static Node *
makeAArrayExpr(List * elements,int location)47574 makeAArrayExpr(List *elements, int location)
47575 {
47576 	A_ArrayExpr *n = makeNode(A_ArrayExpr);
47577 
47578 	n->elements = elements;
47579 	n->location = location;
47580 	return (Node *) n;
47581 }
47582 
47583 static Node *
makeSQLValueFunction(SQLValueFunctionOp op,int32 typmod,int location)47584 makeSQLValueFunction(SQLValueFunctionOp op, int32 typmod, int location)
47585 {
47586 	SQLValueFunction *svf = makeNode(SQLValueFunction);
47587 
47588 	svf->op = op;
47589 	/* svf->type will be filled during parse analysis */
47590 	svf->typmod = typmod;
47591 	svf->location = location;
47592 	return (Node *) svf;
47593 }
47594 
47595 static Node *
makeXmlExpr(XmlExprOp op,char * name,List * named_args,List * args,int location)47596 makeXmlExpr(XmlExprOp op, char *name, List *named_args, List *args,
47597 			int location)
47598 {
47599 	XmlExpr		*x = makeNode(XmlExpr);
47600 
47601 	x->op = op;
47602 	x->name = name;
47603 	/*
47604 	 * named_args is a list of ResTarget; it'll be split apart into separate
47605 	 * expression and name lists in transformXmlExpr().
47606 	 */
47607 	x->named_args = named_args;
47608 	x->arg_names = NIL;
47609 	x->args = args;
47610 	/* xmloption, if relevant, must be filled in by caller */
47611 	/* type and typmod will be filled in during parse analysis */
47612 	x->type = InvalidOid;			/* marks the node as not analyzed */
47613 	x->location = location;
47614 	return (Node *) x;
47615 }
47616 
47617 /*
47618  * Merge the input and output parameters of a table function.
47619  */
47620 static List *
mergeTableFuncParameters(List * func_args,List * columns)47621 mergeTableFuncParameters(List *func_args, List *columns)
47622 {
47623 	ListCell   *lc;
47624 
47625 	/* Explicit OUT and INOUT parameters shouldn't be used in this syntax */
47626 	foreach(lc, func_args)
47627 	{
47628 		FunctionParameter *p = (FunctionParameter *) lfirst(lc);
47629 
47630 		if (p->mode != FUNC_PARAM_IN && p->mode != FUNC_PARAM_VARIADIC)
47631 			ereport(ERROR,
47632 					(errcode(ERRCODE_SYNTAX_ERROR),
47633 					 errmsg("OUT and INOUT arguments aren't allowed in TABLE functions")));
47634 	}
47635 
47636 	return list_concat(func_args, columns);
47637 }
47638 
47639 /*
47640  * Determine return type of a TABLE function.  A single result column
47641  * returns setof that column's type; otherwise return setof record.
47642  */
47643 static TypeName *
TableFuncTypeName(List * columns)47644 TableFuncTypeName(List *columns)
47645 {
47646 	TypeName *result;
47647 
47648 	if (list_length(columns) == 1)
47649 	{
47650 		FunctionParameter *p = (FunctionParameter *) linitial(columns);
47651 
47652 		result = copyObject(p->argType);
47653 	}
47654 	else
47655 		result = SystemTypeName("record");
47656 
47657 	result->setof = true;
47658 
47659 	return result;
47660 }
47661 
47662 /*
47663  * Convert a list of (dotted) names to a RangeVar (like
47664  * makeRangeVarFromNameList, but with position support).  The
47665  * "AnyName" refers to the any_name production in the grammar.
47666  */
47667 static RangeVar *
makeRangeVarFromAnyName(List * names,int position,core_yyscan_t yyscanner)47668 makeRangeVarFromAnyName(List *names, int position, core_yyscan_t yyscanner)
47669 {
47670 	RangeVar *r = makeNode(RangeVar);
47671 
47672 	switch (list_length(names))
47673 	{
47674 		case 1:
47675 			r->catalogname = NULL;
47676 			r->schemaname = NULL;
47677 			r->relname = strVal(linitial(names));
47678 			break;
47679 		case 2:
47680 			r->catalogname = NULL;
47681 			r->schemaname = strVal(linitial(names));
47682 			r->relname = strVal(lsecond(names));
47683 			break;
47684 		case 3:
47685 			r->catalogname = strVal(linitial(names));
47686 			r->schemaname = strVal(lsecond(names));
47687 			r->relname = strVal(lthird(names));
47688 			break;
47689 		default:
47690 			ereport(ERROR,
47691 					(errcode(ERRCODE_SYNTAX_ERROR),
47692 					 errmsg("improper qualified name (too many dotted names): %s",
47693 							NameListToString(names)),
47694 					 parser_errposition(position)));
47695 			break;
47696 	}
47697 
47698 	r->relpersistence = RELPERSISTENCE_PERMANENT;
47699 	r->location = position;
47700 
47701 	return r;
47702 }
47703 
47704 /* Separate Constraint nodes from COLLATE clauses in a ColQualList */
47705 static void
SplitColQualList(List * qualList,List ** constraintList,CollateClause ** collClause,core_yyscan_t yyscanner)47706 SplitColQualList(List *qualList,
47707 				 List **constraintList, CollateClause **collClause,
47708 				 core_yyscan_t yyscanner)
47709 {
47710 	ListCell   *cell;
47711 
47712 	*collClause = NULL;
47713 	foreach(cell, qualList)
47714 	{
47715 		Node   *n = (Node *) lfirst(cell);
47716 
47717 		if (IsA(n, Constraint))
47718 		{
47719 			/* keep it in list */
47720 			continue;
47721 		}
47722 		if (IsA(n, CollateClause))
47723 		{
47724 			CollateClause *c = (CollateClause *) n;
47725 
47726 			if (*collClause)
47727 				ereport(ERROR,
47728 						(errcode(ERRCODE_SYNTAX_ERROR),
47729 						 errmsg("multiple COLLATE clauses not allowed"),
47730 						 parser_errposition(c->location)));
47731 			*collClause = c;
47732 		}
47733 		else
47734 			elog(ERROR, "unexpected node type %d", (int) n->type);
47735 		/* remove non-Constraint nodes from qualList */
47736 		qualList = foreach_delete_current(qualList, cell);
47737 	}
47738 	*constraintList = qualList;
47739 }
47740 
47741 /*
47742  * Process result of ConstraintAttributeSpec, and set appropriate bool flags
47743  * in the output command node.  Pass NULL for any flags the particular
47744  * command doesn't support.
47745  */
47746 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)47747 processCASbits(int cas_bits, int location, const char *constrType,
47748 			   bool *deferrable, bool *initdeferred, bool *not_valid,
47749 			   bool *no_inherit, core_yyscan_t yyscanner)
47750 {
47751 	/* defaults */
47752 	if (deferrable)
47753 		*deferrable = false;
47754 	if (initdeferred)
47755 		*initdeferred = false;
47756 	if (not_valid)
47757 		*not_valid = false;
47758 
47759 	if (cas_bits & (CAS_DEFERRABLE | CAS_INITIALLY_DEFERRED))
47760 	{
47761 		if (deferrable)
47762 			*deferrable = true;
47763 		else
47764 			ereport(ERROR,
47765 					(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
47766 					 /* translator: %s is CHECK, UNIQUE, or similar */
47767 					 errmsg("%s constraints cannot be marked DEFERRABLE",
47768 							constrType),
47769 					 parser_errposition(location)));
47770 	}
47771 
47772 	if (cas_bits & CAS_INITIALLY_DEFERRED)
47773 	{
47774 		if (initdeferred)
47775 			*initdeferred = true;
47776 		else
47777 			ereport(ERROR,
47778 					(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
47779 					 /* translator: %s is CHECK, UNIQUE, or similar */
47780 					 errmsg("%s constraints cannot be marked DEFERRABLE",
47781 							constrType),
47782 					 parser_errposition(location)));
47783 	}
47784 
47785 	if (cas_bits & CAS_NOT_VALID)
47786 	{
47787 		if (not_valid)
47788 			*not_valid = true;
47789 		else
47790 			ereport(ERROR,
47791 					(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
47792 					 /* translator: %s is CHECK, UNIQUE, or similar */
47793 					 errmsg("%s constraints cannot be marked NOT VALID",
47794 							constrType),
47795 					 parser_errposition(location)));
47796 	}
47797 
47798 	if (cas_bits & CAS_NO_INHERIT)
47799 	{
47800 		if (no_inherit)
47801 			*no_inherit = true;
47802 		else
47803 			ereport(ERROR,
47804 					(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
47805 					 /* translator: %s is CHECK, UNIQUE, or similar */
47806 					 errmsg("%s constraints cannot be marked NO INHERIT",
47807 							constrType),
47808 					 parser_errposition(location)));
47809 	}
47810 }
47811 
47812 /*----------
47813  * Recursive view transformation
47814  *
47815  * Convert
47816  *
47817  *     CREATE RECURSIVE VIEW relname (aliases) AS query
47818  *
47819  * to
47820  *
47821  *     CREATE VIEW relname (aliases) AS
47822  *         WITH RECURSIVE relname (aliases) AS (query)
47823  *         SELECT aliases FROM relname
47824  *
47825  * Actually, just the WITH ... part, which is then inserted into the original
47826  * view definition as the query.
47827  * ----------
47828  */
47829 static Node *
makeRecursiveViewSelect(char * relname,List * aliases,Node * query)47830 makeRecursiveViewSelect(char *relname, List *aliases, Node *query)
47831 {
47832 	SelectStmt *s = makeNode(SelectStmt);
47833 	WithClause *w = makeNode(WithClause);
47834 	CommonTableExpr *cte = makeNode(CommonTableExpr);
47835 	List	   *tl = NIL;
47836 	ListCell   *lc;
47837 
47838 	/* create common table expression */
47839 	cte->ctename = relname;
47840 	cte->aliascolnames = aliases;
47841 	cte->ctematerialized = CTEMaterializeDefault;
47842 	cte->ctequery = query;
47843 	cte->location = -1;
47844 
47845 	/* create WITH clause and attach CTE */
47846 	w->recursive = true;
47847 	w->ctes = list_make1(cte);
47848 	w->location = -1;
47849 
47850 	/* create target list for the new SELECT from the alias list of the
47851 	 * recursive view specification */
47852 	foreach (lc, aliases)
47853 	{
47854 		ResTarget *rt = makeNode(ResTarget);
47855 
47856 		rt->name = NULL;
47857 		rt->indirection = NIL;
47858 		rt->val = makeColumnRef(strVal(lfirst(lc)), NIL, -1, 0);
47859 		rt->location = -1;
47860 
47861 		tl = lappend(tl, rt);
47862 	}
47863 
47864 	/* create new SELECT combining WITH clause, target list, and fake FROM
47865 	 * clause */
47866 	s->withClause = w;
47867 	s->targetList = tl;
47868 	s->fromClause = list_make1(makeRangeVar(NULL, relname, -1));
47869 
47870 	return (Node *) s;
47871 }
47872 
47873 /* parser_init()
47874  * Initialize to parse one query string
47875  */
47876 void
parser_init(base_yy_extra_type * yyext)47877 parser_init(base_yy_extra_type *yyext)
47878 {
47879 	yyext->parsetree = NIL;		/* in case grammar forgets to set it */
47880 }
47881 
47882