postgresql-syntax-0.1: foreign/libpg_query/src/postgres/src_backend_parser_gram.c
/*--------------------------------------------------------------------
* Symbols referenced in this file:
* - parser_init
* - base_yyparse
* - SystemTypeName
* - SystemFuncName
* - yypact
* - yytranslate
* - yycheck
* - yytable
* - yydefact
* - yyr2
* - makeStringConst
* - makeAConst
* - makeStringConstCast
* - makeIntConst
* - processCASbits
* - makeRangeVarFromAnyName
* - SplitColQualList
* - doNegateFloat
* - extractAggrArgTypes
* - makeRoleSpec
* - extractArgTypes
* - mergeTableFuncParameters
* - TableFuncTypeName
* - makeOrderedSetArgs
* - makeRecursiveViewSelect
* - check_indirection
* - insertSelectOptions
* - makeSetOp
* - makeNullAConst
* - makeTypeCast
* - doNegate
* - makeInterval_or_AExprOp
* - makeAndExpr
* - makeOrExpr
* - makeNotExpr
* - makeXmlExpr
* - makeParamRef
* - makeBoolAConst
* - makeAArrayExpr
* - makeColumnRef
* - check_qualified_name
* - check_func_name
* - makeFloatConst
* - makeBitStringConst
* - makeParamRefCast
* - yyr1
* - yypgoto
* - yydefgoto
* - base_yyerror
* - yydestruct
* - yystos
*--------------------------------------------------------------------
*/
/* A Bison parser, made by GNU Bison 2.3. */
/* Skeleton implementation for Bison's Yacc-like parsers in C
Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA. */
/* As a special exception, you may create a larger work that contains
part or all of the Bison parser skeleton and distribute that work
under terms of your choice, so long as that work isn't itself a
parser generator using the skeleton or a modified version thereof
as a parser skeleton. Alternatively, if you modify or redistribute
the parser skeleton itself, you may (at your option) remove this
special exception, which will cause the skeleton and the resulting
Bison output files to be licensed under the GNU General Public
License without this special exception.
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
/* C LALR(1) parser skeleton written by Richard Stallman, by
simplifying the original so-called "semantic" parser. */
/* All symbols defined below should begin with yy or YY, to avoid
infringing on user name space. This should be done even for local
variables, as they might otherwise be expanded by user macros.
There are some unavoidable exceptions within include files to
define necessary library symbols; they are noted "INFRINGES ON
USER NAME SPACE" below. */
/* Identify Bison output. */
#define YYBISON 1
/* Bison version. */
#define YYBISON_VERSION "2.3"
/* Skeleton name. */
#define YYSKELETON_NAME "yacc.c"
/* Pure parsers. */
#define YYPURE 1
/* Using locations. */
#define YYLSP_NEEDED 1
/* Substitute the variable and function names. */
#define yyparse base_yyparse
#define yylex base_yylex
#define yyerror base_yyerror
#define yylval base_yylval
#define yychar base_yychar
#define yydebug base_yydebug
#define yynerrs base_yynerrs
#define yylloc base_yylloc
/* Tokens. */
#ifndef YYTOKENTYPE
# define YYTOKENTYPE
/* Put the tokens into the symbol table, so that GDB and other debuggers
know about them. */
enum yytokentype {
IDENT = 258,
FCONST = 259,
SCONST = 260,
BCONST = 261,
XCONST = 262,
Op = 263,
ICONST = 264,
PARAM = 265,
TYPECAST = 266,
DOT_DOT = 267,
COLON_EQUALS = 268,
EQUALS_GREATER = 269,
LESS_EQUALS = 270,
GREATER_EQUALS = 271,
NOT_EQUALS = 272,
ABORT_P = 273,
ABSOLUTE_P = 274,
ACCESS = 275,
ACTION = 276,
ADD_P = 277,
ADMIN = 278,
AFTER = 279,
AGGREGATE = 280,
ALL = 281,
ALSO = 282,
ALTER = 283,
ALWAYS = 284,
ANALYSE = 285,
ANALYZE = 286,
AND = 287,
ANY = 288,
ARRAY = 289,
AS = 290,
ASC = 291,
ASSERTION = 292,
ASSIGNMENT = 293,
ASYMMETRIC = 294,
AT = 295,
ATTRIBUTE = 296,
AUTHORIZATION = 297,
BACKWARD = 298,
BEFORE = 299,
BEGIN_P = 300,
BETWEEN = 301,
BIGINT = 302,
BINARY = 303,
BIT = 304,
BOOLEAN_P = 305,
BOTH = 306,
BY = 307,
CACHE = 308,
CALLED = 309,
CASCADE = 310,
CASCADED = 311,
CASE = 312,
CAST = 313,
CATALOG_P = 314,
CHAIN = 315,
CHAR_P = 316,
CHARACTER = 317,
CHARACTERISTICS = 318,
CHECK = 319,
CHECKPOINT = 320,
CLASS = 321,
CLOSE = 322,
CLUSTER = 323,
COALESCE = 324,
COLLATE = 325,
COLLATION = 326,
COLUMN = 327,
COMMENT = 328,
COMMENTS = 329,
COMMIT = 330,
COMMITTED = 331,
CONCURRENTLY = 332,
CONFIGURATION = 333,
CONFLICT = 334,
CONNECTION = 335,
CONSTRAINT = 336,
CONSTRAINTS = 337,
CONTENT_P = 338,
CONTINUE_P = 339,
CONVERSION_P = 340,
COPY = 341,
COST = 342,
CREATE = 343,
CROSS = 344,
CSV = 345,
CUBE = 346,
CURRENT_P = 347,
CURRENT_CATALOG = 348,
CURRENT_DATE = 349,
CURRENT_ROLE = 350,
CURRENT_SCHEMA = 351,
CURRENT_TIME = 352,
CURRENT_TIMESTAMP = 353,
CURRENT_USER = 354,
CURSOR = 355,
CYCLE = 356,
DATA_P = 357,
DATABASE = 358,
DAY_P = 359,
DEALLOCATE = 360,
DEC = 361,
DECIMAL_P = 362,
DECLARE = 363,
DEFAULT = 364,
DEFAULTS = 365,
DEFERRABLE = 366,
DEFERRED = 367,
DEFINER = 368,
DELETE_P = 369,
DELIMITER = 370,
DELIMITERS = 371,
DESC = 372,
DICTIONARY = 373,
DISABLE_P = 374,
DISCARD = 375,
DISTINCT = 376,
DO = 377,
DOCUMENT_P = 378,
DOMAIN_P = 379,
DOUBLE_P = 380,
DROP = 381,
EACH = 382,
ELSE = 383,
ENABLE_P = 384,
ENCODING = 385,
ENCRYPTED = 386,
END_P = 387,
ENUM_P = 388,
ESCAPE = 389,
EVENT = 390,
EXCEPT = 391,
EXCLUDE = 392,
EXCLUDING = 393,
EXCLUSIVE = 394,
EXECUTE = 395,
EXISTS = 396,
EXPLAIN = 397,
EXTENSION = 398,
EXTERNAL = 399,
EXTRACT = 400,
FALSE_P = 401,
FAMILY = 402,
FETCH = 403,
FILTER = 404,
FIRST_P = 405,
FLOAT_P = 406,
FOLLOWING = 407,
FOR = 408,
FORCE = 409,
FOREIGN = 410,
FORWARD = 411,
FREEZE = 412,
FROM = 413,
FULL = 414,
FUNCTION = 415,
FUNCTIONS = 416,
GLOBAL = 417,
GRANT = 418,
GRANTED = 419,
GREATEST = 420,
GROUP_P = 421,
GROUPING = 422,
HANDLER = 423,
HAVING = 424,
HEADER_P = 425,
HOLD = 426,
HOUR_P = 427,
IDENTITY_P = 428,
IF_P = 429,
ILIKE = 430,
IMMEDIATE = 431,
IMMUTABLE = 432,
IMPLICIT_P = 433,
IMPORT_P = 434,
IN_P = 435,
INCLUDING = 436,
INCREMENT = 437,
INDEX = 438,
INDEXES = 439,
INHERIT = 440,
INHERITS = 441,
INITIALLY = 442,
INLINE_P = 443,
INNER_P = 444,
INOUT = 445,
INPUT_P = 446,
INSENSITIVE = 447,
INSERT = 448,
INSTEAD = 449,
INT_P = 450,
INTEGER = 451,
INTERSECT = 452,
INTERVAL = 453,
INTO = 454,
INVOKER = 455,
IS = 456,
ISNULL = 457,
ISOLATION = 458,
JOIN = 459,
KEY = 460,
LABEL = 461,
LANGUAGE = 462,
LARGE_P = 463,
LAST_P = 464,
LATERAL_P = 465,
LEADING = 466,
LEAKPROOF = 467,
LEAST = 468,
LEFT = 469,
LEVEL = 470,
LIKE = 471,
LIMIT = 472,
LISTEN = 473,
LOAD = 474,
LOCAL = 475,
LOCALTIME = 476,
LOCALTIMESTAMP = 477,
LOCATION = 478,
LOCK_P = 479,
LOCKED = 480,
LOGGED = 481,
MAPPING = 482,
MATCH = 483,
MATERIALIZED = 484,
MAXVALUE = 485,
MINUTE_P = 486,
MINVALUE = 487,
MODE = 488,
MONTH_P = 489,
MOVE = 490,
NAME_P = 491,
NAMES = 492,
NATIONAL = 493,
NATURAL = 494,
NCHAR = 495,
NEXT = 496,
NO = 497,
NONE = 498,
NOT = 499,
NOTHING = 500,
NOTIFY = 501,
NOTNULL = 502,
NOWAIT = 503,
NULL_P = 504,
NULLIF = 505,
NULLS_P = 506,
NUMERIC = 507,
OBJECT_P = 508,
OF = 509,
OFF = 510,
OFFSET = 511,
OIDS = 512,
ON = 513,
ONLY = 514,
OPERATOR = 515,
OPTION = 516,
OPTIONS = 517,
OR = 518,
ORDER = 519,
ORDINALITY = 520,
OUT_P = 521,
OUTER_P = 522,
OVER = 523,
OVERLAPS = 524,
OVERLAY = 525,
OWNED = 526,
OWNER = 527,
PARSER = 528,
PARTIAL = 529,
PARTITION = 530,
PASSING = 531,
PASSWORD = 532,
PLACING = 533,
PLANS = 534,
POLICY = 535,
POSITION = 536,
PRECEDING = 537,
PRECISION = 538,
PRESERVE = 539,
PREPARE = 540,
PREPARED = 541,
PRIMARY = 542,
PRIOR = 543,
PRIVILEGES = 544,
PROCEDURAL = 545,
PROCEDURE = 546,
PROGRAM = 547,
QUOTE = 548,
RANGE = 549,
READ = 550,
REAL = 551,
REASSIGN = 552,
RECHECK = 553,
RECURSIVE = 554,
REF = 555,
REFERENCES = 556,
REFRESH = 557,
REINDEX = 558,
RELATIVE_P = 559,
RELEASE = 560,
RENAME = 561,
REPEATABLE = 562,
REPLACE = 563,
REPLICA = 564,
RESET = 565,
RESTART = 566,
RESTRICT = 567,
RETURNING = 568,
RETURNS = 569,
REVOKE = 570,
RIGHT = 571,
ROLE = 572,
ROLLBACK = 573,
ROLLUP = 574,
ROW = 575,
ROWS = 576,
RULE = 577,
SAVEPOINT = 578,
SCHEMA = 579,
SCROLL = 580,
SEARCH = 581,
SECOND_P = 582,
SECURITY = 583,
SELECT = 584,
SEQUENCE = 585,
SEQUENCES = 586,
SERIALIZABLE = 587,
SERVER = 588,
SESSION = 589,
SESSION_USER = 590,
SET = 591,
SETS = 592,
SETOF = 593,
SHARE = 594,
SHOW = 595,
SIMILAR = 596,
SIMPLE = 597,
SKIP = 598,
SMALLINT = 599,
SNAPSHOT = 600,
SOME = 601,
SQL_P = 602,
STABLE = 603,
STANDALONE_P = 604,
START = 605,
STATEMENT = 606,
STATISTICS = 607,
STDIN = 608,
STDOUT = 609,
STORAGE = 610,
STRICT_P = 611,
STRIP_P = 612,
SUBSTRING = 613,
SYMMETRIC = 614,
SYSID = 615,
SYSTEM_P = 616,
TABLE = 617,
TABLES = 618,
TABLESAMPLE = 619,
TABLESPACE = 620,
TEMP = 621,
TEMPLATE = 622,
TEMPORARY = 623,
TEXT_P = 624,
THEN = 625,
TIME = 626,
TIMESTAMP = 627,
TO = 628,
TRAILING = 629,
TRANSACTION = 630,
TRANSFORM = 631,
TREAT = 632,
TRIGGER = 633,
TRIM = 634,
TRUE_P = 635,
TRUNCATE = 636,
TRUSTED = 637,
TYPE_P = 638,
TYPES_P = 639,
UNBOUNDED = 640,
UNCOMMITTED = 641,
UNENCRYPTED = 642,
UNION = 643,
UNIQUE = 644,
UNKNOWN = 645,
UNLISTEN = 646,
UNLOGGED = 647,
UNTIL = 648,
UPDATE = 649,
USER = 650,
USING = 651,
VACUUM = 652,
VALID = 653,
VALIDATE = 654,
VALIDATOR = 655,
VALUE_P = 656,
VALUES = 657,
VARCHAR = 658,
VARIADIC = 659,
VARYING = 660,
VERBOSE = 661,
VERSION_P = 662,
VIEW = 663,
VIEWS = 664,
VOLATILE = 665,
WHEN = 666,
WHERE = 667,
WHITESPACE_P = 668,
WINDOW = 669,
WITH = 670,
WITHIN = 671,
WITHOUT = 672,
WORK = 673,
WRAPPER = 674,
WRITE = 675,
XML_P = 676,
XMLATTRIBUTES = 677,
XMLCONCAT = 678,
XMLELEMENT = 679,
XMLEXISTS = 680,
XMLFOREST = 681,
XMLPARSE = 682,
XMLPI = 683,
XMLROOT = 684,
XMLSERIALIZE = 685,
YEAR_P = 686,
YES_P = 687,
ZONE = 688,
NOT_LA = 689,
NULLS_LA = 690,
WITH_LA = 691,
POSTFIXOP = 692,
UMINUS = 693
};
#endif
/* Tokens. */
#define IDENT 258
#define FCONST 259
#define SCONST 260
#define BCONST 261
#define XCONST 262
#define Op 263
#define ICONST 264
#define PARAM 265
#define TYPECAST 266
#define DOT_DOT 267
#define COLON_EQUALS 268
#define EQUALS_GREATER 269
#define LESS_EQUALS 270
#define GREATER_EQUALS 271
#define NOT_EQUALS 272
#define ABORT_P 273
#define ABSOLUTE_P 274
#define ACCESS 275
#define ACTION 276
#define ADD_P 277
#define ADMIN 278
#define AFTER 279
#define AGGREGATE 280
#define ALL 281
#define ALSO 282
#define ALTER 283
#define ALWAYS 284
#define ANALYSE 285
#define ANALYZE 286
#define AND 287
#define ANY 288
#define ARRAY 289
#define AS 290
#define ASC 291
#define ASSERTION 292
#define ASSIGNMENT 293
#define ASYMMETRIC 294
#define AT 295
#define ATTRIBUTE 296
#define AUTHORIZATION 297
#define BACKWARD 298
#define BEFORE 299
#define BEGIN_P 300
#define BETWEEN 301
#define BIGINT 302
#define BINARY 303
#define BIT 304
#define BOOLEAN_P 305
#define BOTH 306
#define BY 307
#define CACHE 308
#define CALLED 309
#define CASCADE 310
#define CASCADED 311
#define CASE 312
#define CAST 313
#define CATALOG_P 314
#define CHAIN 315
#define CHAR_P 316
#define CHARACTER 317
#define CHARACTERISTICS 318
#define CHECK 319
#define CHECKPOINT 320
#define CLASS 321
#define CLOSE 322
#define CLUSTER 323
#define COALESCE 324
#define COLLATE 325
#define COLLATION 326
#define COLUMN 327
#define COMMENT 328
#define COMMENTS 329
#define COMMIT 330
#define COMMITTED 331
#define CONCURRENTLY 332
#define CONFIGURATION 333
#define CONFLICT 334
#define CONNECTION 335
#define CONSTRAINT 336
#define CONSTRAINTS 337
#define CONTENT_P 338
#define CONTINUE_P 339
#define CONVERSION_P 340
#define COPY 341
#define COST 342
#define CREATE 343
#define CROSS 344
#define CSV 345
#define CUBE 346
#define CURRENT_P 347
#define CURRENT_CATALOG 348
#define CURRENT_DATE 349
#define CURRENT_ROLE 350
#define CURRENT_SCHEMA 351
#define CURRENT_TIME 352
#define CURRENT_TIMESTAMP 353
#define CURRENT_USER 354
#define CURSOR 355
#define CYCLE 356
#define DATA_P 357
#define DATABASE 358
#define DAY_P 359
#define DEALLOCATE 360
#define DEC 361
#define DECIMAL_P 362
#define DECLARE 363
#define DEFAULT 364
#define DEFAULTS 365
#define DEFERRABLE 366
#define DEFERRED 367
#define DEFINER 368
#define DELETE_P 369
#define DELIMITER 370
#define DELIMITERS 371
#define DESC 372
#define DICTIONARY 373
#define DISABLE_P 374
#define DISCARD 375
#define DISTINCT 376
#define DO 377
#define DOCUMENT_P 378
#define DOMAIN_P 379
#define DOUBLE_P 380
#define DROP 381
#define EACH 382
#define ELSE 383
#define ENABLE_P 384
#define ENCODING 385
#define ENCRYPTED 386
#define END_P 387
#define ENUM_P 388
#define ESCAPE 389
#define EVENT 390
#define EXCEPT 391
#define EXCLUDE 392
#define EXCLUDING 393
#define EXCLUSIVE 394
#define EXECUTE 395
#define EXISTS 396
#define EXPLAIN 397
#define EXTENSION 398
#define EXTERNAL 399
#define EXTRACT 400
#define FALSE_P 401
#define FAMILY 402
#define FETCH 403
#define FILTER 404
#define FIRST_P 405
#define FLOAT_P 406
#define FOLLOWING 407
#define FOR 408
#define FORCE 409
#define FOREIGN 410
#define FORWARD 411
#define FREEZE 412
#define FROM 413
#define FULL 414
#define FUNCTION 415
#define FUNCTIONS 416
#define GLOBAL 417
#define GRANT 418
#define GRANTED 419
#define GREATEST 420
#define GROUP_P 421
#define GROUPING 422
#define HANDLER 423
#define HAVING 424
#define HEADER_P 425
#define HOLD 426
#define HOUR_P 427
#define IDENTITY_P 428
#define IF_P 429
#define ILIKE 430
#define IMMEDIATE 431
#define IMMUTABLE 432
#define IMPLICIT_P 433
#define IMPORT_P 434
#define IN_P 435
#define INCLUDING 436
#define INCREMENT 437
#define INDEX 438
#define INDEXES 439
#define INHERIT 440
#define INHERITS 441
#define INITIALLY 442
#define INLINE_P 443
#define INNER_P 444
#define INOUT 445
#define INPUT_P 446
#define INSENSITIVE 447
#define INSERT 448
#define INSTEAD 449
#define INT_P 450
#define INTEGER 451
#define INTERSECT 452
#define INTERVAL 453
#define INTO 454
#define INVOKER 455
#define IS 456
#define ISNULL 457
#define ISOLATION 458
#define JOIN 459
#define KEY 460
#define LABEL 461
#define LANGUAGE 462
#define LARGE_P 463
#define LAST_P 464
#define LATERAL_P 465
#define LEADING 466
#define LEAKPROOF 467
#define LEAST 468
#define LEFT 469
#define LEVEL 470
#define LIKE 471
#define LIMIT 472
#define LISTEN 473
#define LOAD 474
#define LOCAL 475
#define LOCALTIME 476
#define LOCALTIMESTAMP 477
#define LOCATION 478
#define LOCK_P 479
#define LOCKED 480
#define LOGGED 481
#define MAPPING 482
#define MATCH 483
#define MATERIALIZED 484
#define MAXVALUE 485
#define MINUTE_P 486
#define MINVALUE 487
#define MODE 488
#define MONTH_P 489
#define MOVE 490
#define NAME_P 491
#define NAMES 492
#define NATIONAL 493
#define NATURAL 494
#define NCHAR 495
#define NEXT 496
#define NO 497
#define NONE 498
#define NOT 499
#define NOTHING 500
#define NOTIFY 501
#define NOTNULL 502
#define NOWAIT 503
#define NULL_P 504
#define NULLIF 505
#define NULLS_P 506
#define NUMERIC 507
#define OBJECT_P 508
#define OF 509
#define OFF 510
#define OFFSET 511
#define OIDS 512
#define ON 513
#define ONLY 514
#define OPERATOR 515
#define OPTION 516
#define OPTIONS 517
#define OR 518
#define ORDER 519
#define ORDINALITY 520
#define OUT_P 521
#define OUTER_P 522
#define OVER 523
#define OVERLAPS 524
#define OVERLAY 525
#define OWNED 526
#define OWNER 527
#define PARSER 528
#define PARTIAL 529
#define PARTITION 530
#define PASSING 531
#define PASSWORD 532
#define PLACING 533
#define PLANS 534
#define POLICY 535
#define POSITION 536
#define PRECEDING 537
#define PRECISION 538
#define PRESERVE 539
#define PREPARE 540
#define PREPARED 541
#define PRIMARY 542
#define PRIOR 543
#define PRIVILEGES 544
#define PROCEDURAL 545
#define PROCEDURE 546
#define PROGRAM 547
#define QUOTE 548
#define RANGE 549
#define READ 550
#define REAL 551
#define REASSIGN 552
#define RECHECK 553
#define RECURSIVE 554
#define REF 555
#define REFERENCES 556
#define REFRESH 557
#define REINDEX 558
#define RELATIVE_P 559
#define RELEASE 560
#define RENAME 561
#define REPEATABLE 562
#define REPLACE 563
#define REPLICA 564
#define RESET 565
#define RESTART 566
#define RESTRICT 567
#define RETURNING 568
#define RETURNS 569
#define REVOKE 570
#define RIGHT 571
#define ROLE 572
#define ROLLBACK 573
#define ROLLUP 574
#define ROW 575
#define ROWS 576
#define RULE 577
#define SAVEPOINT 578
#define SCHEMA 579
#define SCROLL 580
#define SEARCH 581
#define SECOND_P 582
#define SECURITY 583
#define SELECT 584
#define SEQUENCE 585
#define SEQUENCES 586
#define SERIALIZABLE 587
#define SERVER 588
#define SESSION 589
#define SESSION_USER 590
#define SET 591
#define SETS 592
#define SETOF 593
#define SHARE 594
#define SHOW 595
#define SIMILAR 596
#define SIMPLE 597
#define SKIP 598
#define SMALLINT 599
#define SNAPSHOT 600
#define SOME 601
#define SQL_P 602
#define STABLE 603
#define STANDALONE_P 604
#define START 605
#define STATEMENT 606
#define STATISTICS 607
#define STDIN 608
#define STDOUT 609
#define STORAGE 610
#define STRICT_P 611
#define STRIP_P 612
#define SUBSTRING 613
#define SYMMETRIC 614
#define SYSID 615
#define SYSTEM_P 616
#define TABLE 617
#define TABLES 618
#define TABLESAMPLE 619
#define TABLESPACE 620
#define TEMP 621
#define TEMPLATE 622
#define TEMPORARY 623
#define TEXT_P 624
#define THEN 625
#define TIME 626
#define TIMESTAMP 627
#define TO 628
#define TRAILING 629
#define TRANSACTION 630
#define TRANSFORM 631
#define TREAT 632
#define TRIGGER 633
#define TRIM 634
#define TRUE_P 635
#define TRUNCATE 636
#define TRUSTED 637
#define TYPE_P 638
#define TYPES_P 639
#define UNBOUNDED 640
#define UNCOMMITTED 641
#define UNENCRYPTED 642
#define UNION 643
#define UNIQUE 644
#define UNKNOWN 645
#define UNLISTEN 646
#define UNLOGGED 647
#define UNTIL 648
#define UPDATE 649
#define USER 650
#define USING 651
#define VACUUM 652
#define VALID 653
#define VALIDATE 654
#define VALIDATOR 655
#define VALUE_P 656
#define VALUES 657
#define VARCHAR 658
#define VARIADIC 659
#define VARYING 660
#define VERBOSE 661
#define VERSION_P 662
#define VIEW 663
#define VIEWS 664
#define VOLATILE 665
#define WHEN 666
#define WHERE 667
#define WHITESPACE_P 668
#define WINDOW 669
#define WITH 670
#define WITHIN 671
#define WITHOUT 672
#define WORK 673
#define WRAPPER 674
#define WRITE 675
#define XML_P 676
#define XMLATTRIBUTES 677
#define XMLCONCAT 678
#define XMLELEMENT 679
#define XMLEXISTS 680
#define XMLFOREST 681
#define XMLPARSE 682
#define XMLPI 683
#define XMLROOT 684
#define XMLSERIALIZE 685
#define YEAR_P 686
#define YES_P 687
#define ZONE 688
#define NOT_LA 689
#define NULLS_LA 690
#define WITH_LA 691
#define POSTFIXOP 692
#define UMINUS 693
/* Copy the first part of user declarations. */
#line 1 "gram.y"
/*#define YYDEBUG 1*/
/*-------------------------------------------------------------------------
*
* gram.y
* POSTGRESQL BISON rules/actions
*
* Portions Copyright (c) 1996-2015, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
*
* IDENTIFICATION
* src/backend/parser/gram.y
*
* HISTORY
* AUTHOR DATE MAJOR EVENT
* Andrew Yu Sept, 1994 POSTQUEL to SQL conversion
* Andrew Yu Oct, 1994 lispy code conversion
*
* NOTES
* CAPITALS are used to represent terminal symbols.
* non-capitals are used to represent non-terminals.
*
* In general, nothing in this file should initiate database accesses
* nor depend on changeable state (such as SET variables). If you do
* database accesses, your code will fail when we have aborted the
* current transaction and are just parsing commands to find the next
* ROLLBACK or COMMIT. If you make use of SET variables, then you
* will do the wrong thing in multi-query strings like this:
* SET SQL_inheritance TO off; SELECT * FROM foo;
* because the entire string is parsed by gram.y before the SET gets
* executed. Anything that depends on the database or changeable state
* should be handled during parse analysis so that it happens at the
* right time not the wrong time. The handling of SQL_inheritance is
* a good example.
*
* WARNINGS
* If you use a list, make sure the datum is a node so that the printing
* routines work.
*
* Sometimes we assign constants to makeStrings. Make sure we don't free
* those.
*
*-------------------------------------------------------------------------
*/
#include "postgres.h"
#include <ctype.h>
#include <limits.h>
#include "catalog/index.h"
#include "catalog/namespace.h"
#include "catalog/pg_trigger.h"
#include "commands/defrem.h"
#include "commands/trigger.h"
#include "nodes/makefuncs.h"
#include "nodes/nodeFuncs.h"
#include "parser/gramparse.h"
#include "parser/parser.h"
#include "parser/parse_expr.h"
#include "storage/lmgr.h"
#include "utils/date.h"
#include "utils/datetime.h"
#include "utils/numeric.h"
#include "utils/xml.h"
/*
* Location tracking support --- simpler than bison's default, since we only
* want to track the start position not the end position of each nonterminal.
*/
#define YYLLOC_DEFAULT(Current, Rhs, N) \
do { \
if ((N) > 0) \
(Current) = (Rhs)[1]; \
else \
(Current) = (-1); \
} while (0)
/*
* The above macro assigns -1 (unknown) as the parse location of any
* nonterminal that was reduced from an empty rule. This is problematic
* for nonterminals defined like
* OptFooList: / * EMPTY * / { ... } | OptFooList Foo { ... } ;
* because we'll set -1 as the location during the first reduction and then
* copy it during each subsequent reduction, leaving us with -1 for the
* location even when the list is not empty. To fix that, do this in the
* action for the nonempty rule(s):
* if (@$ < 0) @$ = @2;
* (Although we have many nonterminals that follow this pattern, we only
* bother with fixing @$ like this when the nonterminal's parse location
* is actually referenced in some rule.)
*/
/*
* Bison doesn't allocate anything that needs to live across parser calls,
* so we can easily have it use palloc instead of malloc. This prevents
* memory leaks if we error out during parsing. Note this only works with
* bison >= 2.0. However, in bison 1.875 the default is to use alloca()
* if possible, so there's not really much problem anyhow, at least if
* you're building with gcc.
*/
#define YYMALLOC palloc
#define YYFREE pfree
/* Private struct for the result of privilege_target production */
typedef struct PrivTarget
{
GrantTargetType targtype;
GrantObjectType objtype;
List *objs;
} PrivTarget;
/* Private struct for the result of import_qualification production */
typedef struct ImportQual
{
ImportForeignSchemaType type;
List *table_names;
} ImportQual;
/* ConstraintAttributeSpec yields an integer bitmask of these flags: */
#define CAS_NOT_DEFERRABLE 0x01
#define CAS_DEFERRABLE 0x02
#define CAS_INITIALLY_IMMEDIATE 0x04
#define CAS_INITIALLY_DEFERRED 0x08
#define CAS_NOT_VALID 0x10
#define CAS_NO_INHERIT 0x20
#define parser_yyerror(msg) scanner_yyerror(msg, yyscanner)
#define parser_errposition(pos) scanner_errposition(pos, yyscanner)
static void base_yyerror(YYLTYPE *yylloc, core_yyscan_t yyscanner,
const char *msg);
static Node *makeColumnRef(char *colname, List *indirection,
int location, core_yyscan_t yyscanner);
static Node *makeTypeCast(Node *arg, TypeName *typename, int location);
static Node *makeStringConst(char *str, int location);
static Node *makeStringConstCast(char *str, int location, TypeName *typename);
static Node *makeIntConst(int val, int location);
static Node *makeFloatConst(char *str, int location);
static Node *makeBitStringConst(char *str, int location);
static Node *makeNullAConst(int location);
static Node *makeAConst(Value *v, int location);
static Node *makeBoolAConst(bool state, int location);
static Node *makeParamRef(int number, int location);
static Node *makeParamRefCast(int number, int location, TypeName *typename);
static Node *makeInterval_or_AExprOp(Node *lexpr, Node *rexpr, int location);
static Node *makeRoleSpec(RoleSpecType type, int location);
static void check_qualified_name(List *names, core_yyscan_t yyscanner);
static List *check_func_name(List *names, core_yyscan_t yyscanner);
static List *check_indirection(List *indirection, core_yyscan_t yyscanner);
static List *extractArgTypes(List *parameters);
static List *extractAggrArgTypes(List *aggrargs);
static List *makeOrderedSetArgs(List *directargs, List *orderedargs,
core_yyscan_t yyscanner);
static void insertSelectOptions(SelectStmt *stmt,
List *sortClause, List *lockingClause,
Node *limitOffset, Node *limitCount,
WithClause *withClause,
core_yyscan_t yyscanner);
static Node *makeSetOp(SetOperation op, bool all, Node *larg, Node *rarg);
static Node *doNegate(Node *n, int location);
static void doNegateFloat(Value *v);
static Node *makeAndExpr(Node *lexpr, Node *rexpr, int location);
static Node *makeOrExpr(Node *lexpr, Node *rexpr, int location);
static Node *makeNotExpr(Node *expr, int location);
static Node *makeAArrayExpr(List *elements, int location);
static Node *makeXmlExpr(XmlExprOp op, char *name, List *named_args,
List *args, int location);
static List *mergeTableFuncParameters(List *func_args, List *columns);
static TypeName *TableFuncTypeName(List *columns);
static RangeVar *makeRangeVarFromAnyName(List *names, int position, core_yyscan_t yyscanner);
static void SplitColQualList(List *qualList,
List **constraintList, CollateClause **collClause,
core_yyscan_t yyscanner);
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);
static Node *makeRecursiveViewSelect(char *relname, List *aliases, Node *query);
/* Enabling traces. */
#ifndef YYDEBUG
# define YYDEBUG 0
#endif
/* Enabling verbose error messages. */
#ifdef YYERROR_VERBOSE
# undef YYERROR_VERBOSE
# define YYERROR_VERBOSE 1
#else
# define YYERROR_VERBOSE 0
#endif
/* Enabling the token table. */
#ifndef YYTOKEN_TABLE
# define YYTOKEN_TABLE 0
#endif
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
#line 194 "gram.y"
{
core_YYSTYPE core_yystype;
/* these fields must match core_YYSTYPE: */
int ival;
char *str;
const char *keyword;
char chr;
bool boolean;
JoinType jtype;
DropBehavior dbehavior;
OnCommitAction oncommit;
List *list;
Node *node;
Value *value;
ObjectType objtype;
TypeName *typnam;
FunctionParameter *fun_param;
FunctionParameterMode fun_param_mode;
FuncWithArgs *funwithargs;
DefElem *defelt;
SortBy *sortby;
WindowDef *windef;
JoinExpr *jexpr;
IndexElem *ielem;
Alias *alias;
RangeVar *range;
IntoClause *into;
WithClause *with;
InferClause *infer;
OnConflictClause *onconflict;
A_Indices *aind;
ResTarget *target;
struct PrivTarget *privtarget;
AccessPriv *accesspriv;
struct ImportQual *importqual;
InsertStmt *istmt;
VariableSetStmt *vsetstmt;
}
/* Line 193 of yacc.c. */
#line 1204 "gram.c"
YYSTYPE;
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
# define YYSTYPE_IS_TRIVIAL 1
#endif
#if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
typedef struct YYLTYPE
{
int first_line;
int first_column;
int last_line;
int last_column;
} YYLTYPE;
# define yyltype YYLTYPE /* obsolescent; will be withdrawn */
# define YYLTYPE_IS_DECLARED 1
# define YYLTYPE_IS_TRIVIAL 1
#endif
/* Copy the second part of user declarations. */
/* Line 216 of yacc.c. */
#line 1229 "gram.c"
#ifdef short
# undef short
#endif
#ifdef YYTYPE_UINT8
typedef YYTYPE_UINT8 yytype_uint8;
#else
typedef unsigned char yytype_uint8;
#endif
#ifdef YYTYPE_INT8
typedef YYTYPE_INT8 yytype_int8;
#elif (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
typedef signed char yytype_int8;
#else
typedef short int yytype_int8;
#endif
#ifdef YYTYPE_UINT16
typedef YYTYPE_UINT16 yytype_uint16;
#else
typedef unsigned short int yytype_uint16;
#endif
#ifdef YYTYPE_INT16
typedef YYTYPE_INT16 yytype_int16;
#else
typedef short int yytype_int16;
#endif
#ifndef YYSIZE_T
# ifdef __SIZE_TYPE__
# define YYSIZE_T __SIZE_TYPE__
# elif defined size_t
# define YYSIZE_T size_t
# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
# define YYSIZE_T size_t
# else
# define YYSIZE_T unsigned int
# endif
#endif
#define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
#ifndef YY_
# if defined YYENABLE_NLS && YYENABLE_NLS
# if ENABLE_NLS
# include <libintl.h> /* INFRINGES ON USER NAME SPACE */
# define YY_(msgid) dgettext ("bison-runtime", msgid)
# endif
# endif
# ifndef YY_
# define YY_(msgid) msgid
# endif
#endif
/* Suppress unused-variable warnings by "using" E. */
#if ! defined lint || defined __GNUC__
# define YYUSE(e) ((void) (e))
#else
# define YYUSE(e) /* empty */
#endif
/* Identity function, used to suppress warnings about constant conditions. */
#ifndef lint
# define YYID(n) (n)
#else
#if (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
static int
YYID (int i)
#else
static int
YYID (i)
int i;
#endif
{
return i;
}
#endif
#if ! defined yyoverflow || YYERROR_VERBOSE
/* The parser invokes alloca or malloc; define the necessary symbols. */
# ifdef YYSTACK_USE_ALLOCA
# if YYSTACK_USE_ALLOCA
# ifdef __GNUC__
# define YYSTACK_ALLOC __builtin_alloca
# elif defined __BUILTIN_VA_ARG_INCR
# include <alloca.h> /* INFRINGES ON USER NAME SPACE */
# elif defined _AIX
# define YYSTACK_ALLOC __alloca
# elif defined _MSC_VER
# include <malloc.h> /* INFRINGES ON USER NAME SPACE */
# define alloca _alloca
# else
# define YYSTACK_ALLOC alloca
# if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
# ifndef _STDLIB_H
# define _STDLIB_H 1
# endif
# endif
# endif
# endif
# endif
# ifdef YYSTACK_ALLOC
/* Pacify GCC's `empty if-body' warning. */
# define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
# ifndef YYSTACK_ALLOC_MAXIMUM
/* The OS might guarantee only one guard page at the bottom of the stack,
and a page size can be as small as 4096 bytes. So we cannot safely
invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
to allow for a few compiler-allocated temporary stack slots. */
# define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
# endif
# else
# define YYSTACK_ALLOC YYMALLOC
# define YYSTACK_FREE YYFREE
# ifndef YYSTACK_ALLOC_MAXIMUM
# define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
# endif
# if (defined __cplusplus && ! defined _STDLIB_H \
&& ! ((defined YYMALLOC || defined malloc) \
&& (defined YYFREE || defined free)))
# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
# ifndef _STDLIB_H
# define _STDLIB_H 1
# endif
# endif
# ifndef YYMALLOC
# define YYMALLOC malloc
# if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
# endif
# endif
# ifndef YYFREE
# define YYFREE free
# if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
void free (void *); /* INFRINGES ON USER NAME SPACE */
# endif
# endif
# endif
#endif /* ! defined yyoverflow || YYERROR_VERBOSE */
#if (! defined yyoverflow \
&& (! defined __cplusplus \
|| (defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL \
&& defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
/* A type that is properly aligned for any stack member. */
union yyalloc
{
yytype_int16 yyss;
YYSTYPE yyvs;
YYLTYPE yyls;
};
/* The size of the maximum gap between one aligned stack and the next. */
# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
/* The size of an array large to enough to hold all stacks, each with
N elements. */
# define YYSTACK_BYTES(N) \
((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE) + sizeof (YYLTYPE)) \
+ 2 * YYSTACK_GAP_MAXIMUM)
/* Copy COUNT objects from FROM to TO. The source and destination do
not overlap. */
# ifndef YYCOPY
# if defined __GNUC__ && 1 < __GNUC__
# define YYCOPY(To, From, Count) \
__builtin_memcpy (To, From, (Count) * sizeof (*(From)))
# else
# define YYCOPY(To, From, Count) \
do \
{ \
YYSIZE_T yyi; \
for (yyi = 0; yyi < (Count); yyi++) \
(To)[yyi] = (From)[yyi]; \
} \
while (YYID (0))
# endif
# endif
/* Relocate STACK from its old location to the new one. The
local variables YYSIZE and YYSTACKSIZE give the old and new number of
elements in the stack, and YYPTR gives the new location of the
stack. Advance YYPTR to a properly aligned location for the next
stack. */
# define YYSTACK_RELOCATE(Stack) \
do \
{ \
YYSIZE_T yynewbytes; \
YYCOPY (&yyptr->Stack, Stack, yysize); \
Stack = &yyptr->Stack; \
yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
yyptr += yynewbytes / sizeof (*yyptr); \
} \
while (YYID (0))
#endif
/* YYFINAL -- State number of the termination state. */
#define YYFINAL 755
/* YYLAST -- Last index in YYTABLE. */
#define YYLAST 92266
/* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 457
/* YYNNTS -- Number of nonterminals. */
#define YYNNTS 616
/* YYNRULES -- Number of rules. */
#define YYNRULES 2502
/* YYNRULES -- Number of states. */
#define YYNSTATES 4948
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2
#define YYMAXUTOK 693
#define YYTRANSLATE(YYX) \
((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
static const yytype_uint16 yytranslate[] =
{
0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 445, 2, 2,
451, 452, 443, 441, 455, 442, 453, 444, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 456, 454,
437, 439, 438, 447, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 449, 2, 450, 446, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
425, 426, 427, 428, 429, 430, 431, 432, 433, 434,
435, 436, 440, 448
};
#if YYDEBUG
/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
YYRHS. */
static const yytype_uint16 yyprhs[] =
{
0, 0, 3, 5, 9, 11, 13, 15, 17, 19,
21, 23, 25, 27, 29, 31, 33, 35, 37, 39,
41, 43, 45, 47, 49, 51, 53, 55, 57, 59,
61, 63, 65, 67, 69, 71, 73, 75, 77, 79,
81, 83, 85, 87, 89, 91, 93, 95, 97, 99,
101, 103, 105, 107, 109, 111, 113, 115, 117, 119,
121, 123, 125, 127, 129, 131, 133, 135, 137, 139,
141, 143, 145, 147, 149, 151, 153, 155, 157, 159,
161, 163, 165, 167, 169, 171, 173, 175, 177, 179,
181, 183, 185, 187, 189, 191, 193, 195, 197, 199,
201, 203, 205, 207, 209, 211, 213, 215, 217, 219,
221, 223, 225, 227, 229, 231, 233, 235, 237, 239,
241, 243, 245, 247, 249, 251, 253, 255, 256, 262,
264, 266, 267, 270, 271, 274, 275, 278, 281, 285,
289, 291, 295, 299, 302, 304, 306, 309, 312, 315,
319, 323, 329, 335, 336, 340, 346, 352, 358, 363,
367, 373, 377, 383, 389, 396, 398, 400, 404, 410,
417, 422, 432, 440, 442, 443, 446, 447, 449, 451,
453, 455, 457, 459, 462, 466, 470, 473, 479, 481,
485, 489, 493, 497, 499, 503, 507, 510, 513, 516,
519, 523, 527, 531, 535, 537, 541, 543, 547, 549,
551, 553, 556, 559, 562, 564, 566, 568, 570, 572,
574, 576, 580, 586, 588, 590, 592, 594, 596, 597,
599, 601, 604, 606, 609, 613, 616, 618, 620, 623,
625, 628, 630, 633, 637, 642, 646, 649, 654, 656,
658, 660, 662, 664, 667, 670, 673, 676, 679, 684,
691, 702, 716, 721, 728, 739, 753, 758, 765, 770,
777, 783, 791, 803, 818, 820, 824, 827, 831, 836,
843, 850, 857, 863, 869, 876, 883, 888, 897, 902,
905, 910, 914, 921, 926, 930, 934, 938, 942, 945,
948, 952, 957, 962, 966, 970, 974, 978, 982, 986,
991, 996, 1000, 1003, 1007, 1010, 1013, 1017, 1021, 1024,
1027, 1031, 1036, 1041, 1046, 1052, 1054, 1058, 1061, 1063,
1065, 1066, 1069, 1070, 1073, 1074, 1076, 1078, 1080, 1084,
1088, 1091, 1092, 1094, 1098, 1102, 1104, 1110, 1114, 1119,
1121, 1125, 1130, 1137, 1142, 1151, 1154, 1157, 1169, 1177,
1179, 1181, 1183, 1184, 1186, 1188, 1190, 1192, 1196, 1199,
1200, 1202, 1204, 1206, 1210, 1214, 1216, 1218, 1222, 1226,
1230, 1234, 1239, 1243, 1246, 1248, 1249, 1252, 1253, 1257,
1258, 1260, 1261, 1263, 1267, 1270, 1272, 1274, 1276, 1280,
1281, 1283, 1287, 1289, 1301, 1316, 1327, 1341, 1343, 1345,
1348, 1351, 1354, 1357, 1359, 1360, 1362, 1363, 1367, 1368,
1370, 1374, 1376, 1380, 1382, 1384, 1386, 1388, 1390, 1395,
1400, 1403, 1404, 1408, 1410, 1412, 1415, 1418, 1420, 1424,
1429, 1435, 1438, 1444, 1446, 1449, 1452, 1455, 1459, 1463,
1467, 1468, 1470, 1472, 1474, 1476, 1478, 1480, 1484, 1486,
1492, 1500, 1504, 1513, 1518, 1528, 1540, 1543, 1544, 1548,
1549, 1551, 1555, 1557, 1560, 1563, 1566, 1567, 1569, 1573,
1577, 1584, 1589, 1590, 1592, 1594, 1597, 1600, 1601, 1605,
1609, 1612, 1614, 1616, 1619, 1622, 1627, 1628, 1631, 1634,
1637, 1638, 1642, 1647, 1652, 1653, 1656, 1657, 1662, 1663,
1667, 1675, 1686, 1692, 1695, 1699, 1700, 1709, 1721, 1726,
1728, 1729, 1736, 1742, 1751, 1756, 1763, 1765, 1766, 1768,
1771, 1774, 1776, 1779, 1783, 1786, 1789, 1792, 1795, 1799,
1803, 1805, 1809, 1811, 1812, 1814, 1817, 1819, 1821, 1825,
1832, 1843, 1845, 1846, 1848, 1851, 1854, 1855, 1858, 1861,
1863, 1864, 1870, 1878, 1880, 1881, 1889, 1892, 1893, 1897,
1903, 1909, 1918, 1921, 1922, 1925, 1928, 1931, 1937, 1940,
1941, 1944, 1952, 1963, 1970, 1977, 1984, 1991, 1999, 2007,
2017, 2027, 2034, 2042, 2049, 2058, 2067, 2076, 2085, 2092,
2099, 2107, 2115, 2124, 2131, 2141, 2148, 2156, 2159, 2162,
2165, 2168, 2170, 2173, 2175, 2176, 2183, 2192, 2200, 2207,
2212, 2213, 2215, 2219, 2224, 2226, 2230, 2232, 2235, 2238,
2241, 2244, 2246, 2248, 2259, 2262, 2263, 2266, 2269, 2271,
2272, 2277, 2284, 2290, 2295, 2300, 2312, 2327, 2333, 2341,
2353, 2356, 2358, 2363, 2364, 2373, 2375, 2377, 2385, 2395,
2404, 2414, 2423, 2430, 2439, 2444, 2445, 2451, 2452, 2455,
2456, 2459, 2460, 2463, 2464, 2466, 2468, 2470, 2472, 2474,
2490, 2511, 2513, 2515, 2518, 2520, 2524, 2526, 2528, 2530,
2534, 2536, 2540, 2541, 2543, 2544, 2546, 2548, 2553, 2554,
2556, 2560, 2561, 2563, 2565, 2567, 2569, 2572, 2573, 2574,
2577, 2580, 2582, 2585, 2588, 2591, 2594, 2601, 2610, 2622,
2636, 2638, 2642, 2648, 2650, 2654, 2660, 2662, 2665, 2668,
2670, 2679, 2684, 2690, 2695, 2700, 2705, 2709, 2717, 2726,
2733, 2740, 2747, 2754, 2761, 2766, 2772, 2776, 2778, 2782,
2786, 2788, 2790, 2792, 2794, 2796, 2798, 2802, 2804, 2808,
2812, 2814, 2815, 2817, 2821, 2829, 2839, 2849, 2853, 2854,
2868, 2870, 2874, 2880, 2887, 2892, 2900, 2903, 2905, 2906,
2909, 2910, 2913, 2918, 2919, 2921, 2922, 2929, 2938, 2947,
2949, 2953, 2959, 2965, 2973, 2983, 2991, 3001, 3007, 3014,
3021, 3026, 3031, 3038, 3043, 3050, 3056, 3064, 3066, 3068,
3070, 3073, 3075, 3078, 3081, 3083, 3085, 3087, 3089, 3093,
3097, 3101, 3105, 3107, 3111, 3113, 3116, 3119, 3123, 3125,
3129, 3135, 3138, 3141, 3142, 3149, 3156, 3163, 3171, 3179,
3187, 3196, 3206, 3215, 3224, 3231, 3241, 3250, 3260, 3270,
3278, 3289, 3297, 3299, 3301, 3303, 3305, 3307, 3309, 3311,
3314, 3316, 3318, 3320, 3322, 3324, 3327, 3329, 3333, 3336,
3340, 3344, 3348, 3352, 3354, 3356, 3365, 3374, 3383, 3393,
3403, 3413, 3423, 3426, 3427, 3429, 3431, 3434, 3437, 3439,
3441, 3443, 3445, 3447, 3449, 3452, 3454, 3456, 3459, 3462,
3464, 3467, 3471, 3475, 3479, 3483, 3488, 3493, 3497, 3501,
3505, 3510, 3515, 3519, 3524, 3529, 3531, 3533, 3535, 3536,
3544, 3552, 3563, 3565, 3567, 3570, 3575, 3581, 3583, 3587,
3590, 3593, 3596, 3599, 3601, 3604, 3607, 3612, 3616, 3619,
3622, 3625, 3628, 3632, 3635, 3638, 3641, 3647, 3653, 3659,
3661, 3665, 3667, 3670, 3674, 3675, 3677, 3681, 3684, 3691,
3698, 3708, 3712, 3713, 3717, 3718, 3724, 3727, 3728, 3732,
3736, 3740, 3748, 3756, 3767, 3769, 3771, 3773, 3775, 3790,
3808, 3810, 3811, 3813, 3814, 3816, 3817, 3820, 3821, 3823,
3827, 3833, 3839, 3847, 3850, 3851, 3853, 3856, 3857, 3859,
3861, 3862, 3865, 3868, 3869, 3879, 3892, 3900, 3903, 3904,
3908, 3911, 3913, 3917, 3921, 3924, 3926, 3930, 3934, 3938,
3941, 3944, 3946, 3948, 3950, 3952, 3955, 3957, 3959, 3961,
3963, 3968, 3974, 3976, 3980, 3984, 3986, 3990, 3994, 4000,
4007, 4009, 4013, 4015, 4018, 4023, 4029, 4031, 4033, 4035,
4037, 4041, 4045, 4048, 4051, 4053, 4056, 4059, 4062, 4064,
4067, 4070, 4073, 4075, 4077, 4079, 4083, 4087, 4093, 4096,
4097, 4100, 4102, 4106, 4112, 4114, 4117, 4119, 4120, 4126,
4134, 4140, 4148, 4154, 4162, 4166, 4172, 4178, 4184, 4186,
4190, 4193, 4195, 4198, 4200, 4203, 4215, 4226, 4237, 4240,
4243, 4244, 4254, 4257, 4258, 4269, 4281, 4293, 4299, 4305,
4314, 4318, 4322, 4329, 4336, 4338, 4340, 4342, 4344, 4346,
4348, 4352, 4354, 4360, 4366, 4374, 4381, 4388, 4395, 4402,
4411, 4420, 4427, 4434, 4442, 4452, 4462, 4471, 4482, 4489,
4496, 4503, 4512, 4519, 4528, 4535, 4544, 4552, 4562, 4569,
4578, 4586, 4596, 4605, 4616, 4626, 4638, 4647, 4658, 4668,
4680, 4689, 4698, 4706, 4713, 4720, 4727, 4736, 4745, 4754,
4763, 4770, 4780, 4782, 4783, 4786, 4787, 4795, 4802, 4809,
4816, 4823, 4830, 4838, 4848, 4858, 4865, 4874, 4883, 4892,
4901, 4910, 4917, 4926, 4933, 4942, 4950, 4960, 4968, 4978,
4985, 4993, 5000, 5007, 5014, 5021, 5028, 5036, 5044, 5052,
5062, 5072, 5079, 5086, 5093, 5102, 5111, 5120, 5127, 5135,
5149, 5151, 5153, 5157, 5161, 5163, 5165, 5167, 5169, 5171,
5173, 5175, 5176, 5178, 5180, 5182, 5184, 5186, 5188, 5189,
5196, 5205, 5209, 5212, 5213, 5216, 5219, 5222, 5225, 5229,
5233, 5236, 5239, 5242, 5245, 5249, 5252, 5258, 5263, 5267,
5271, 5275, 5277, 5279, 5280, 5284, 5287, 5290, 5292, 5295,
5297, 5301, 5304, 5306, 5307, 5317, 5329, 5342, 5357, 5361,
5366, 5371, 5372, 5375, 5381, 5383, 5384, 5386, 5389, 5393,
5397, 5401, 5403, 5406, 5408, 5410, 5412, 5414, 5416, 5418,
5419, 5425, 5430, 5437, 5442, 5446, 5452, 5457, 5462, 5469,
5474, 5481, 5488, 5494, 5502, 5512, 5519, 5521, 5522, 5529,
5541, 5553, 5565, 5579, 5589, 5601, 5603, 5605, 5616, 5621,
5624, 5630, 5633, 5634, 5639, 5645, 5651, 5656, 5663, 5665,
5669, 5671, 5673, 5675, 5677, 5680, 5685, 5687, 5689, 5691,
5692, 5694, 5695, 5697, 5698, 5702, 5703, 5706, 5711, 5715,
5721, 5723, 5725, 5727, 5729, 5731, 5733, 5735, 5737, 5739,
5741, 5745, 5748, 5750, 5752, 5754, 5756, 5757, 5763, 5767,
5768, 5770, 5772, 5774, 5776, 5780, 5790, 5794, 5795, 5798,
5802, 5805, 5809, 5817, 5819, 5823, 5825, 5830, 5833, 5835,
5839, 5842, 5851, 5857, 5858, 5863, 5867, 5868, 5871, 5872,
5880, 5883, 5884, 5890, 5894, 5895, 5898, 5901, 5904, 5908,
5910, 5914, 5916, 5919, 5921, 5922, 5924, 5927, 5928, 5937,
5939, 5943, 5945, 5947, 5951, 5957, 5963, 5966, 5968, 5972,
5980, 5982, 5983, 5987, 5990, 5993, 5996, 5997, 6000, 6003,
6005, 6007, 6011, 6015, 6017, 6020, 6025, 6030, 6033, 6037,
6043, 6049, 6051, 6053, 6063, 6073, 6075, 6078, 6083, 6088,
6093, 6096, 6099, 6103, 6105, 6109, 6116, 6118, 6119, 6122,
6123, 6127, 6131, 6136, 6141, 6146, 6151, 6155, 6158, 6160,
6162, 6163, 6165, 6167, 6168, 6170, 6176, 6178, 6179, 6181,
6182, 6186, 6188, 6192, 6197, 6201, 6204, 6207, 6209, 6211,
6213, 6214, 6217, 6222, 6228, 6231, 6235, 6237, 6239, 6241,
6243, 6247, 6248, 6250, 6252, 6254, 6256, 6258, 6262, 6263,
6265, 6269, 6271, 6273, 6275, 6277, 6279, 6282, 6287, 6292,
6298, 6301, 6302, 6304, 6308, 6310, 6311, 6313, 6316, 6320,
6323, 6328, 6331, 6335, 6338, 6339, 6342, 6346, 6349, 6350,
6352, 6356, 6359, 6363, 6366, 6370, 6373, 6377, 6379, 6384,
6388, 6393, 6399, 6404, 6410, 6415, 6421, 6424, 6429, 6431,
6433, 6434, 6436, 6441, 6447, 6452, 6453, 6456, 6459, 6462,
6464, 6466, 6467, 6472, 6475, 6477, 6480, 6483, 6488, 6490,
6494, 6496, 6499, 6503, 6510, 6515, 6516, 6519, 6526, 6529,
6531, 6535, 6540, 6541, 6544, 6545, 6548, 6549, 6552, 6557,
6558, 6560, 6561, 6563, 6567, 6571, 6574, 6578, 6584, 6591,
6594, 6598, 6602, 6607, 6608, 6610, 6612, 6614, 6616, 6618,
6621, 6626, 6628, 6630, 6632, 6634, 6637, 6641, 6645, 6646,
6648, 6650, 6652, 6654, 6656, 6659, 6662, 6665, 6668, 6671,
6673, 6677, 6678, 6680, 6682, 6684, 6686, 6692, 6695, 6697,
6699, 6701, 6703, 6709, 6712, 6715, 6718, 6720, 6724, 6728,
6731, 6733, 6734, 6738, 6739, 6745, 6748, 6754, 6757, 6759,
6763, 6767, 6768, 6770, 6772, 6774, 6776, 6778, 6780, 6784,
6788, 6792, 6796, 6800, 6804, 6808, 6809, 6811, 6816, 6818,
6822, 6826, 6832, 6835, 6838, 6842, 6846, 6850, 6854, 6858,
6862, 6866, 6870, 6874, 6878, 6882, 6886, 6890, 6893, 6897,
6900, 6903, 6907, 6911, 6914, 6917, 6921, 6927, 6932, 6939,
6943, 6949, 6954, 6961, 6966, 6973, 6979, 6987, 6991, 6994,
6999, 7002, 7006, 7010, 7015, 7019, 7024, 7028, 7033, 7039,
7046, 7053, 7061, 7068, 7076, 7083, 7091, 7095, 7100, 7105,
7112, 7115, 7119, 7124, 7126, 7130, 7133, 7136, 7140, 7144,
7148, 7152, 7156, 7160, 7164, 7168, 7172, 7176, 7180, 7184,
7188, 7191, 7195, 7198, 7201, 7207, 7214, 7221, 7229, 7233,
7238, 7240, 7242, 7245, 7248, 7253, 7255, 7257, 7259, 7262,
7265, 7268, 7271, 7273, 7275, 7280, 7284, 7290, 7297, 7306,
7313, 7320, 7325, 7330, 7332, 7334, 7336, 7342, 7344, 7346,
7351, 7353, 7358, 7360, 7365, 7367, 7372, 7374, 7376, 7378,
7380, 7382, 7384, 7391, 7396, 7401, 7406, 7411, 7418, 7424,
7430, 7436, 7441, 7448, 7453, 7458, 7463, 7468, 7474, 7482,
7490, 7500, 7506, 7511, 7518, 7524, 7532, 7540, 7548, 7551,
7555, 7559, 7563, 7568, 7569, 7574, 7576, 7580, 7584, 7586,
7588, 7590, 7593, 7596, 7597, 7600, 7605, 7610, 7617, 7623,
7624, 7630, 7631, 7634, 7635, 7637, 7641, 7645, 7648, 7651,
7652, 7659, 7661, 7662, 7666, 7667, 7670, 7673, 7674, 7676,
7681, 7684, 7687, 7690, 7693, 7696, 7701, 7705, 7711, 7716,
7720, 7726, 7728, 7730, 7732, 7734, 7736, 7738, 7740, 7742,
7744, 7746, 7748, 7750, 7752, 7754, 7756, 7758, 7760, 7762,
7764, 7769, 7771, 7776, 7778, 7783, 7785, 7788, 7790, 7793,
7795, 7799, 7801, 7805, 7807, 7811, 7815, 7817, 7821, 7825,
7829, 7832, 7834, 7838, 7842, 7846, 7847, 7849, 7851, 7853,
7855, 7857, 7859, 7861, 7863, 7868, 7872, 7875, 7879, 7880,
7884, 7888, 7891, 7894, 7896, 7897, 7900, 7903, 7907, 7910,
7912, 7914, 7918, 7924, 7926, 7929, 7934, 7937, 7938, 7940,
7941, 7943, 7946, 7949, 7952, 7956, 7962, 7964, 7967, 7968,
7971, 7973, 7974, 7976, 7978, 7980, 7984, 7988, 7990, 7991,
7993, 7997, 8001, 8004, 8006, 8008, 8010, 8014, 8016, 8019,
8021, 8025, 8027, 8029, 8031, 8033, 8035, 8037, 8039, 8042,
8044, 8046, 8048, 8050, 8052, 8055, 8062, 8065, 8069, 8075,
8082, 8084, 8086, 8088, 8090, 8092, 8094, 8097, 8100, 8102,
8104, 8106, 8108, 8110, 8114, 8116, 8118, 8120, 8122, 8124,
8126, 8128, 8130, 8132, 8134, 8136, 8138, 8140, 8142, 8144,
8146, 8148, 8150, 8152, 8154, 8156, 8158, 8160, 8162, 8164,
8166, 8168, 8170, 8172, 8174, 8176, 8178, 8180, 8182, 8184,
8186, 8188, 8190, 8192, 8194, 8196, 8198, 8200, 8202, 8204,
8206, 8208, 8210, 8212, 8214, 8216, 8218, 8220, 8222, 8224,
8226, 8228, 8230, 8232, 8234, 8236, 8238, 8240, 8242, 8244,
8246, 8248, 8250, 8252, 8254, 8256, 8258, 8260, 8262, 8264,
8266, 8268, 8270, 8272, 8274, 8276, 8278, 8280, 8282, 8284,
8286, 8288, 8290, 8292, 8294, 8296, 8298, 8300, 8302, 8304,
8306, 8308, 8310, 8312, 8314, 8316, 8318, 8320, 8322, 8324,
8326, 8328, 8330, 8332, 8334, 8336, 8338, 8340, 8342, 8344,
8346, 8348, 8350, 8352, 8354, 8356, 8358, 8360, 8362, 8364,
8366, 8368, 8370, 8372, 8374, 8376, 8378, 8380, 8382, 8384,
8386, 8388, 8390, 8392, 8394, 8396, 8398, 8400, 8402, 8404,
8406, 8408, 8410, 8412, 8414, 8416, 8418, 8420, 8422, 8424,
8426, 8428, 8430, 8432, 8434, 8436, 8438, 8440, 8442, 8444,
8446, 8448, 8450, 8452, 8454, 8456, 8458, 8460, 8462, 8464,
8466, 8468, 8470, 8472, 8474, 8476, 8478, 8480, 8482, 8484,
8486, 8488, 8490, 8492, 8494, 8496, 8498, 8500, 8502, 8504,
8506, 8508, 8510, 8512, 8514, 8516, 8518, 8520, 8522, 8524,
8526, 8528, 8530, 8532, 8534, 8536, 8538, 8540, 8542, 8544,
8546, 8548, 8550, 8552, 8554, 8556, 8558, 8560, 8562, 8564,
8566, 8568, 8570, 8572, 8574, 8576, 8578, 8580, 8582, 8584,
8586, 8588, 8590, 8592, 8594, 8596, 8598, 8600, 8602, 8604,
8606, 8608, 8610, 8612, 8614, 8616, 8618, 8620, 8622, 8624,
8626, 8628, 8630, 8632, 8634, 8636, 8638, 8640, 8642, 8644,
8646, 8648, 8650, 8652, 8654, 8656, 8658, 8660, 8662, 8664,
8666, 8668, 8670, 8672, 8674, 8676, 8678, 8680, 8682, 8684,
8686, 8688, 8690, 8692, 8694, 8696, 8698, 8700, 8702, 8704,
8706, 8708, 8710, 8712, 8714, 8716, 8718, 8720, 8722, 8724,
8726, 8728, 8730, 8732, 8734, 8736, 8738, 8740, 8742, 8744,
8746, 8748, 8750, 8752, 8754, 8756, 8758, 8760, 8762, 8764,
8766, 8768, 8770, 8772, 8774, 8776, 8778, 8780, 8782, 8784,
8786, 8788, 8790, 8792, 8794, 8796, 8798, 8800, 8802, 8804,
8806, 8808, 8810, 8812, 8814, 8816, 8818, 8820, 8822, 8824,
8826, 8828, 8830, 8832, 8834, 8836, 8838, 8840, 8842, 8844,
8846, 8848, 8850, 8852, 8854, 8856, 8858, 8860, 8862, 8864,
8866, 8868, 8870, 8872, 8874, 8876, 8878, 8880, 8882, 8884,
8886, 8888, 8890, 8892, 8894, 8896, 8898, 8900, 8902, 8904,
8906, 8908, 8910, 8912, 8914, 8916, 8918, 8920, 8922, 8924,
8926, 8928, 8930, 8932, 8934, 8936, 8938, 8940, 8942, 8944,
8946, 8948, 8950, 8952, 8954, 8956, 8958, 8960, 8962, 8964,
8966, 8968, 8970, 8972, 8974, 8976, 8978, 8980, 8982, 8984,
8986, 8988, 8990
};
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
static const yytype_int16 yyrhs[] =
{
458, 0, -1, 459, -1, 459, 454, 460, -1, 460,
-1, 664, -1, 823, -1, 824, -1, 729, -1, 828,
-1, 678, -1, 604, -1, 607, -1, 613, -1, 627,
-1, 629, -1, 768, -1, 476, -1, 795, -1, 796,
-1, 638, -1, 583, -1, 826, -1, 506, -1, 791,
-1, 518, -1, 470, -1, 468, -1, 831, -1, 830,
-1, 636, -1, 472, -1, 471, -1, 839, -1, 504,
-1, 521, -1, 834, -1, 703, -1, 501, -1, 522,
-1, 575, -1, 666, -1, 779, -1, 833, -1, 827,
-1, 601, -1, 608, -1, 622, -1, 628, -1, 745,
-1, 475, -1, 578, -1, 680, -1, 687, -1, 688,
-1, 637, -1, 590, -1, 479, -1, 582, -1, 538,
-1, 598, -1, 783, -1, 646, -1, 660, -1, 461,
-1, 467, -1, 633, -1, 817, -1, 856, -1, 879,
-1, 668, -1, 865, -1, 505, -1, 776, -1, 667,
-1, 781, -1, 612, -1, 626, -1, 478, -1, 691,
-1, 692, -1, 693, -1, 639, -1, 596, -1, 804,
-1, 695, -1, 600, -1, 785, -1, 659, -1, 473,
-1, 474, -1, 635, -1, 825, -1, 854, -1, 845,
-1, 710, -1, 714, -1, 725, -1, 630, -1, 734,
-1, 857, -1, 807, -1, 581, -1, 816, -1, 867,
-1, 805, -1, 851, -1, 694, -1, 786, -1, 772,
-1, 771, -1, 773, -1, 792, -1, 715, -1, 726,
-1, 797, -1, 706, -1, 883, -1, 809, -1, 701,
-1, 808, -1, 872, -1, 836, -1, 495, -1, 483,
-1, 500, -1, 814, -1, -1, 88, 317, 1058, 462,
463, -1, 415, -1, 436, -1, -1, 463, 466, -1,
-1, 464, 465, -1, -1, 277, 1063, -1, 277, 249,
-1, 131, 277, 1063, -1, 387, 277, 1063, -1, 185,
-1, 80, 217, 1057, -1, 398, 393, 1056, -1, 395,
1060, -1, 3, -1, 465, -1, 360, 1055, -1, 23,
1060, -1, 317, 1060, -1, 180, 317, 1060, -1, 180,
166, 1060, -1, 88, 395, 1058, 462, 463, -1, 28,
317, 1059, 462, 464, -1, -1, 180, 103, 1048, -1,
28, 317, 1059, 469, 498, -1, 28, 317, 26, 469,
498, -1, 28, 395, 1059, 462, 464, -1, 28, 395,
1059, 498, -1, 126, 317, 1060, -1, 126, 317, 174,
141, 1060, -1, 126, 395, 1060, -1, 126, 395, 174,
141, 1060, -1, 88, 166, 1058, 462, 463, -1, 28,
166, 1059, 477, 395, 1060, -1, 22, -1, 126, -1,
126, 166, 1060, -1, 126, 166, 174, 141, 1060, -1,
88, 324, 480, 42, 1059, 481, -1, 88, 324, 1065,
481, -1, 88, 324, 174, 244, 141, 480, 42, 1059,
481, -1, 88, 324, 174, 244, 141, 1065, 481, -1,
1065, -1, -1, 481, 482, -1, -1, 538, -1, 734,
-1, 582, -1, 646, -1, 714, -1, 814, -1, 336,
484, -1, 336, 220, 484, -1, 336, 334, 484, -1,
375, 812, -1, 334, 63, 35, 375, 812, -1, 486,
-1, 487, 373, 488, -1, 487, 439, 488, -1, 487,
373, 109, -1, 487, 439, 109, -1, 485, -1, 487,
158, 92, -1, 371, 433, 492, -1, 59, 1056, -1,
324, 1062, -1, 237, 493, -1, 317, 1064, -1, 334,
42, 1064, -1, 334, 42, 109, -1, 421, 261, 988,
-1, 375, 345, 1056, -1, 1065, -1, 487, 453, 1065,
-1, 489, -1, 488, 455, 489, -1, 491, -1, 588,
-1, 447, -1, 295, 386, -1, 295, 76, -1, 307,
295, -1, 332, -1, 380, -1, 146, -1, 258, -1,
494, -1, 1062, -1, 3, -1, 972, 1056, 974, -1,
972, 451, 1055, 452, 1056, -1, 588, -1, 109, -1,
220, -1, 1056, -1, 109, -1, -1, 1067, -1, 1056,
-1, 310, 496, -1, 497, -1, 371, 433, -1, 375,
203, 215, -1, 334, 42, -1, 487, -1, 26, -1,
336, 484, -1, 495, -1, 336, 486, -1, 495, -1,
340, 487, -1, 340, 371, 433, -1, 340, 375, 203,
215, -1, 340, 334, 42, -1, 340, 26, -1, 336,
82, 502, 503, -1, 26, -1, 1044, -1, 112, -1,
176, -1, 65, -1, 120, 26, -1, 120, 366, -1,
120, 368, -1, 120, 279, -1, 120, 331, -1, 28,
362, 937, 507, -1, 28, 362, 174, 141, 937, 507,
-1, 28, 362, 26, 180, 365, 1047, 336, 365, 1047,
870, -1, 28, 362, 26, 180, 365, 1047, 271, 52,
1060, 336, 365, 1047, 870, -1, 28, 183, 1045, 507,
-1, 28, 183, 174, 141, 1045, 507, -1, 28, 183,
26, 180, 365, 1047, 336, 365, 1047, 870, -1, 28,
183, 26, 180, 365, 1047, 271, 52, 1060, 336, 365,
1047, 870, -1, 28, 330, 1045, 507, -1, 28, 330,
174, 141, 1045, 507, -1, 28, 408, 1045, 507, -1,
28, 408, 174, 141, 1045, 507, -1, 28, 229, 408,
1045, 507, -1, 28, 229, 408, 174, 141, 1045, 507,
-1, 28, 229, 408, 26, 180, 365, 1047, 336, 365,
1047, 870, -1, 28, 229, 408, 26, 180, 365, 1047,
271, 52, 1060, 336, 365, 1047, 870, -1, 508, -1,
507, 455, 508, -1, 22, 546, -1, 22, 72, 546,
-1, 28, 793, 1065, 509, -1, 28, 793, 1065, 126,
244, 249, -1, 28, 793, 1065, 336, 244, 249, -1,
28, 793, 1065, 336, 352, 1057, -1, 28, 793, 1065,
336, 514, -1, 28, 793, 1065, 310, 514, -1, 28,
793, 1065, 336, 355, 1065, -1, 126, 793, 174, 141,
1065, 510, -1, 126, 793, 1065, 510, -1, 28, 793,
1065, 794, 383, 952, 511, 512, -1, 28, 793, 1065,
616, -1, 22, 555, -1, 28, 81, 1047, 657, -1,
399, 81, 1047, -1, 126, 81, 174, 141, 1047, 510,
-1, 126, 81, 1047, 510, -1, 336, 415, 257, -1,
336, 417, 257, -1, 68, 258, 1047, -1, 336, 417,
68, -1, 336, 226, -1, 336, 392, -1, 129, 378,
1047, -1, 129, 29, 378, 1047, -1, 129, 309, 378,
1047, -1, 129, 378, 26, -1, 129, 378, 395, -1,
119, 378, 1047, -1, 119, 378, 26, -1, 119, 378,
395, -1, 129, 322, 1047, -1, 129, 29, 322, 1047,
-1, 129, 309, 322, 1047, -1, 119, 322, 1047, -1,
185, 1045, -1, 242, 185, 1045, -1, 254, 698, -1,
244, 254, -1, 272, 373, 1059, -1, 336, 365, 1047,
-1, 336, 514, -1, 310, 514, -1, 309, 173, 513,
-1, 129, 320, 215, 328, -1, 119, 320, 215, 328,
-1, 154, 320, 215, 328, -1, 242, 154, 320, 215,
328, -1, 616, -1, 336, 109, 976, -1, 126, 109,
-1, 55, -1, 312, -1, -1, 70, 698, -1, -1,
396, 976, -1, -1, 245, -1, 159, -1, 109, -1,
396, 183, 1047, -1, 451, 516, 452, -1, 415, 514,
-1, -1, 517, -1, 516, 455, 517, -1, 1068, 439,
672, -1, 1068, -1, 1068, 453, 1068, 439, 672, -1,
1068, 453, 1068, -1, 28, 383, 698, 519, -1, 520,
-1, 519, 455, 520, -1, 22, 41, 951, 510, -1,
126, 41, 174, 141, 1065, 510, -1, 126, 41, 1065,
510, -1, 28, 41, 1065, 794, 383, 952, 511, 510,
-1, 67, 880, -1, 67, 26, -1, 86, 529, 1045,
558, 530, 523, 524, 525, 531, 462, 526, -1, 86,
884, 373, 524, 525, 462, 526, -1, 158, -1, 373,
-1, 292, -1, -1, 1056, -1, 353, -1, 354, -1,
527, -1, 451, 533, 452, -1, 527, 528, -1, -1,
48, -1, 257, -1, 157, -1, 115, 829, 1056, -1,
249, 829, 1056, -1, 90, -1, 170, -1, 293, 829,
1056, -1, 134, 829, 1056, -1, 154, 293, 559, -1,
154, 293, 443, -1, 154, 244, 249, 559, -1, 154,
249, 559, -1, 130, 1056, -1, 48, -1, -1, 415,
257, -1, -1, 532, 116, 1056, -1, -1, 396, -1,
-1, 534, -1, 533, 455, 534, -1, 1068, 535, -1,
491, -1, 588, -1, 443, -1, 451, 536, 452, -1,
-1, 537, -1, 536, 455, 537, -1, 491, -1, 88,
539, 362, 1045, 451, 540, 452, 569, 570, 571, 572,
-1, 88, 539, 362, 174, 244, 141, 1045, 451, 540,
452, 569, 570, 571, 572, -1, 88, 539, 362, 1045,
254, 698, 541, 570, 571, 572, -1, 88, 539, 362,
174, 244, 141, 1045, 254, 698, 541, 570, 571, 572,
-1, 368, -1, 366, -1, 220, 368, -1, 220, 366,
-1, 162, 368, -1, 162, 366, -1, 392, -1, -1,
542, -1, -1, 451, 543, 452, -1, -1, 544, -1,
542, 455, 544, -1, 545, -1, 543, 455, 545, -1,
546, -1, 552, -1, 555, -1, 547, -1, 555, -1,
1065, 952, 614, 548, -1, 1065, 415, 262, 548, -1,
548, 549, -1, -1, 81, 1047, 550, -1, 550, -1,
551, -1, 70, 698, -1, 244, 249, -1, 249, -1,
389, 765, 573, -1, 287, 205, 765, 573, -1, 64,
451, 976, 452, 557, -1, 109, 977, -1, 301, 1045,
558, 561, 565, -1, 111, -1, 244, 111, -1, 187,
112, -1, 187, 176, -1, 216, 1045, 553, -1, 553,
181, 554, -1, 553, 138, 554, -1, -1, 110, -1,
82, -1, 184, -1, 355, -1, 74, -1, 26, -1,
81, 1047, 556, -1, 556, -1, 64, 451, 976, 452,
657, -1, 389, 451, 559, 452, 765, 573, 657, -1,
389, 574, 657, -1, 287, 205, 451, 559, 452, 765,
573, 657, -1, 287, 205, 574, 657, -1, 137, 738,
451, 562, 452, 765, 573, 564, 657, -1, 155, 205,
451, 559, 452, 301, 1045, 558, 561, 565, 657, -1,
242, 185, -1, -1, 451, 559, 452, -1, -1, 560,
-1, 559, 455, 560, -1, 1065, -1, 228, 159, -1,
228, 274, -1, 228, 342, -1, -1, 563, -1, 562,
455, 563, -1, 740, 415, 775, -1, 740, 415, 260,
451, 775, 452, -1, 412, 451, 976, 452, -1, -1,
566, -1, 567, -1, 566, 567, -1, 567, 566, -1,
-1, 258, 394, 568, -1, 258, 114, 568, -1, 242,
21, -1, 312, -1, 55, -1, 336, 249, -1, 336,
109, -1, 186, 451, 1044, 452, -1, -1, 415, 514,
-1, 415, 257, -1, 417, 257, -1, -1, 258, 75,
126, -1, 258, 75, 114, 321, -1, 258, 75, 284,
321, -1, -1, 365, 1047, -1, -1, 396, 183, 365,
1047, -1, -1, 396, 183, 1051, -1, 88, 539, 362,
576, 35, 883, 577, -1, 88, 539, 362, 174, 244,
141, 576, 35, 883, 577, -1, 1045, 558, 570, 571,
572, -1, 415, 102, -1, 415, 242, 102, -1, -1,
88, 580, 229, 408, 579, 35, 883, 577, -1, 88,
580, 229, 408, 174, 244, 141, 579, 35, 883, 577,
-1, 1045, 558, 515, 572, -1, 392, -1, -1, 302,
229, 408, 736, 1045, 577, -1, 88, 539, 330, 1045,
584, -1, 88, 539, 330, 174, 244, 141, 1045, 584,
-1, 28, 330, 1045, 585, -1, 28, 330, 174, 141,
1045, 585, -1, 585, -1, -1, 586, -1, 585, 586,
-1, 53, 588, -1, 101, -1, 242, 101, -1, 182,
587, 588, -1, 230, 588, -1, 232, 588, -1, 242,
230, -1, 242, 232, -1, 271, 52, 698, -1, 350,
462, 588, -1, 311, -1, 311, 462, 588, -1, 52,
-1, -1, 4, -1, 442, 4, -1, 1057, -1, 588,
-1, 589, 455, 588, -1, 88, 746, 591, 597, 207,
494, -1, 88, 746, 591, 597, 207, 494, 168, 592,
593, 595, -1, 382, -1, -1, 1047, -1, 1047, 699,
-1, 188, 592, -1, -1, 400, 592, -1, 242, 400,
-1, 594, -1, -1, 126, 597, 207, 494, 510, -1,
126, 597, 207, 174, 141, 494, 510, -1, 290, -1,
-1, 88, 365, 1047, 599, 223, 1056, 515, -1, 272,
1059, -1, -1, 126, 365, 1047, -1, 126, 365, 174,
141, 1047, -1, 88, 143, 1047, 462, 602, -1, 88,
143, 174, 244, 141, 1047, 462, 602, -1, 602, 603,
-1, -1, 324, 1047, -1, 407, 494, -1, 158, 494,
-1, 28, 143, 1047, 394, 605, -1, 605, 606, -1,
-1, 373, 494, -1, 28, 143, 1047, 477, 25, 1053,
758, -1, 28, 143, 1047, 477, 58, 451, 952, 35,
952, 452, -1, 28, 143, 1047, 477, 71, 698, -1,
28, 143, 1047, 477, 85, 698, -1, 28, 143, 1047,
477, 124, 952, -1, 28, 143, 1047, 477, 160, 724,
-1, 28, 143, 1047, 477, 597, 207, 1047, -1, 28,
143, 1047, 477, 260, 775, 774, -1, 28, 143, 1047,
477, 260, 66, 698, 396, 1049, -1, 28, 143, 1047,
477, 260, 147, 698, 396, 1049, -1, 28, 143, 1047,
477, 324, 1047, -1, 28, 143, 1047, 477, 135, 378,
1047, -1, 28, 143, 1047, 477, 362, 698, -1, 28,
143, 1047, 477, 369, 326, 273, 698, -1, 28, 143,
1047, 477, 369, 326, 118, 698, -1, 28, 143, 1047,
477, 369, 326, 367, 698, -1, 28, 143, 1047, 477,
369, 326, 78, 698, -1, 28, 143, 1047, 477, 330,
698, -1, 28, 143, 1047, 477, 408, 698, -1, 28,
143, 1047, 477, 229, 408, 698, -1, 28, 143, 1047,
477, 155, 362, 698, -1, 28, 143, 1047, 477, 155,
102, 419, 1047, -1, 28, 143, 1047, 477, 333, 1047,
-1, 28, 143, 1047, 477, 376, 153, 952, 207, 1047,
-1, 28, 143, 1047, 477, 383, 952, -1, 88, 155,
102, 419, 1047, 611, 614, -1, 168, 592, -1, 242,
168, -1, 400, 592, -1, 242, 400, -1, 609, -1,
610, 609, -1, 610, -1, -1, 126, 155, 102, 419,
1047, 510, -1, 126, 155, 102, 419, 174, 141, 1047,
510, -1, 28, 155, 102, 419, 1047, 611, 616, -1,
28, 155, 102, 419, 1047, 610, -1, 262, 451, 615,
452, -1, -1, 619, -1, 615, 455, 619, -1, 262,
451, 617, 452, -1, 618, -1, 617, 455, 618, -1,
619, -1, 336, 619, -1, 22, 619, -1, 126, 620,
-1, 620, 621, -1, 1068, -1, 1056, -1, 88, 333,
1047, 623, 625, 155, 102, 419, 1047, 614, -1, 383,
1056, -1, -1, 407, 1056, -1, 407, 249, -1, 624,
-1, -1, 126, 333, 1047, 510, -1, 126, 333, 174,
141, 1047, 510, -1, 28, 333, 1047, 624, 616, -1,
28, 333, 1047, 624, -1, 28, 333, 1047, 616, -1,
88, 155, 362, 1045, 451, 540, 452, 569, 333, 1047,
614, -1, 88, 155, 362, 174, 244, 141, 1045, 451,
540, 452, 569, 333, 1047, 614, -1, 28, 155, 362,
937, 507, -1, 28, 155, 362, 174, 141, 937, 507,
-1, 179, 155, 324, 1047, 632, 158, 333, 1047, 199,
1047, 614, -1, 217, 373, -1, 136, -1, 631, 451,
938, 452, -1, -1, 88, 395, 227, 153, 634, 333,
1047, 614, -1, 1059, -1, 395, -1, 126, 395, 227,
153, 634, 333, 1047, -1, 126, 395, 227, 174, 141,
153, 634, 333, 1047, -1, 28, 395, 227, 153, 634,
333, 1047, 616, -1, 88, 280, 1047, 258, 1045, 644,
642, 640, 641, -1, 28, 280, 1047, 258, 1045, 643,
640, 641, -1, 126, 280, 1047, 258, 698, 510, -1,
126, 280, 174, 141, 1047, 258, 698, 510, -1, 396,
451, 976, 452, -1, -1, 415, 64, 451, 976, 452,
-1, -1, 373, 1060, -1, -1, 373, 1060, -1, -1,
153, 645, -1, -1, 26, -1, 329, -1, 193, -1,
394, -1, 114, -1, 88, 378, 1047, 647, 648, 258,
1045, 650, 653, 140, 291, 1053, 451, 654, 452, -1,
88, 81, 378, 1047, 24, 648, 258, 1045, 656, 657,
153, 127, 320, 653, 140, 291, 1053, 451, 654, 452,
-1, 44, -1, 24, -1, 194, 254, -1, 649, -1,
648, 263, 649, -1, 193, -1, 114, -1, 394, -1,
394, 254, 559, -1, 381, -1, 153, 651, 652, -1,
-1, 127, -1, -1, 320, -1, 351, -1, 411, 451,
976, 452, -1, -1, 655, -1, 654, 455, 655, -1,
-1, 1055, -1, 4, -1, 1056, -1, 1068, -1, 158,
1045, -1, -1, -1, 657, 658, -1, 244, 111, -1,
111, -1, 187, 176, -1, 187, 112, -1, 244, 398,
-1, 242, 185, -1, 126, 378, 1047, 258, 698, 510,
-1, 126, 378, 174, 141, 1047, 258, 698, 510, -1,
88, 135, 378, 1047, 258, 1068, 140, 291, 1053, 451,
452, -1, 88, 135, 378, 1047, 258, 1068, 411, 661,
140, 291, 1053, 451, 452, -1, 662, -1, 661, 32,
662, -1, 1065, 180, 451, 663, 452, -1, 5, -1,
663, 455, 5, -1, 28, 135, 378, 1047, 665, -1,
129, -1, 129, 309, -1, 129, 29, -1, 119, -1,
88, 37, 1047, 64, 451, 976, 452, 657, -1, 126,
37, 1047, 510, -1, 88, 25, 1053, 758, 669, -1,
88, 25, 1053, 673, -1, 88, 260, 775, 669, -1,
88, 383, 698, 669, -1, 88, 383, 698, -1, 88,
383, 698, 35, 451, 949, 452, -1, 88, 383, 698,
35, 133, 451, 676, 452, -1, 88, 383, 698, 35,
294, 669, -1, 88, 369, 326, 273, 698, 669, -1,
88, 369, 326, 118, 698, 669, -1, 88, 369, 326,
367, 698, 669, -1, 88, 369, 326, 78, 698, 669,
-1, 88, 71, 698, 669, -1, 88, 71, 698, 158,
698, -1, 451, 670, 452, -1, 671, -1, 670, 455,
671, -1, 1068, 439, 672, -1, 1068, -1, 755, -1,
1072, -1, 1010, -1, 588, -1, 1056, -1, 451, 674,
452, -1, 675, -1, 674, 455, 675, -1, 3, 439,
672, -1, 677, -1, -1, 1056, -1, 677, 455, 1056,
-1, 28, 383, 698, 22, 401, 679, 1056, -1, 28,
383, 698, 22, 401, 679, 1056, 44, 1056, -1, 28,
383, 698, 22, 401, 679, 1056, 24, 1056, -1, 174,
244, 141, -1, -1, 88, 260, 66, 698, 683, 153,
383, 952, 396, 1049, 684, 35, 681, -1, 682, -1,
681, 455, 682, -1, 260, 1055, 775, 685, 686, -1,
260, 1055, 775, 774, 685, 686, -1, 160, 1055, 1053,
747, -1, 160, 1055, 451, 1015, 452, 1053, 747, -1,
355, 952, -1, 109, -1, -1, 147, 698, -1, -1,
153, 326, -1, 153, 264, 52, 698, -1, -1, 298,
-1, -1, 88, 260, 147, 698, 396, 1049, -1, 28,
260, 147, 698, 396, 1049, 22, 681, -1, 28, 260,
147, 698, 396, 1049, 126, 689, -1, 690, -1, 689,
455, 690, -1, 260, 1055, 451, 1015, 452, -1, 160,
1055, 451, 1015, 452, -1, 126, 260, 66, 698, 396,
1049, 510, -1, 126, 260, 66, 174, 141, 698, 396,
1049, 510, -1, 126, 260, 147, 698, 396, 1049, 510,
-1, 126, 260, 147, 174, 141, 698, 396, 1049, 510,
-1, 126, 271, 52, 1060, 510, -1, 297, 271, 52,
1060, 373, 1059, -1, 126, 696, 174, 141, 697, 510,
-1, 126, 696, 697, 510, -1, 126, 383, 700, 510,
-1, 126, 383, 174, 141, 700, 510, -1, 126, 124,
700, 510, -1, 126, 124, 174, 141, 700, 510, -1,
126, 183, 77, 697, 510, -1, 126, 183, 77, 174,
141, 697, 510, -1, 362, -1, 330, -1, 408, -1,
229, 408, -1, 183, -1, 155, 362, -1, 135, 378,
-1, 71, -1, 85, -1, 324, -1, 143, -1, 369,
326, 273, -1, 369, 326, 118, -1, 369, 326, 367,
-1, 369, 326, 78, -1, 698, -1, 697, 455, 698,
-1, 1065, -1, 1065, 699, -1, 453, 1050, -1, 699,
453, 1050, -1, 952, -1, 700, 455, 952, -1, 381,
894, 938, 702, 510, -1, 84, 173, -1, 311, 173,
-1, -1, 73, 258, 704, 698, 201, 705, -1, 73,
258, 383, 952, 201, 705, -1, 73, 258, 124, 952,
201, 705, -1, 73, 258, 25, 1053, 758, 201, 705,
-1, 73, 258, 160, 1053, 747, 201, 705, -1, 73,
258, 260, 775, 774, 201, 705, -1, 73, 258, 81,
1047, 258, 698, 201, 705, -1, 73, 258, 81, 1047,
258, 124, 698, 201, 705, -1, 73, 258, 280, 1047,
258, 698, 201, 705, -1, 73, 258, 322, 1047, 258,
698, 201, 705, -1, 73, 258, 322, 1047, 201, 705,
-1, 73, 258, 376, 153, 952, 207, 1047, 201, 705,
-1, 73, 258, 378, 1047, 258, 698, 201, 705, -1,
73, 258, 260, 66, 698, 396, 1049, 201, 705, -1,
73, 258, 260, 147, 698, 396, 1049, 201, 705, -1,
73, 258, 208, 253, 588, 201, 705, -1, 73, 258,
58, 451, 952, 35, 952, 452, 201, 705, -1, 73,
258, 597, 207, 698, 201, 705, -1, 72, -1, 103,
-1, 324, -1, 183, -1, 330, -1, 362, -1, 408,
-1, 229, 408, -1, 71, -1, 85, -1, 365, -1,
143, -1, 317, -1, 155, 362, -1, 333, -1, 155,
102, 419, -1, 135, 378, -1, 369, 326, 78, -1,
369, 326, 118, -1, 369, 326, 273, -1, 369, 326,
367, -1, 1056, -1, 249, -1, 328, 206, 707, 258,
708, 698, 201, 709, -1, 328, 206, 707, 258, 383,
952, 201, 709, -1, 328, 206, 707, 258, 124, 952,
201, 709, -1, 328, 206, 707, 258, 25, 1053, 758,
201, 709, -1, 328, 206, 707, 258, 160, 1053, 747,
201, 709, -1, 328, 206, 707, 258, 208, 253, 588,
201, 709, -1, 328, 206, 707, 258, 597, 207, 698,
201, 709, -1, 153, 494, -1, -1, 72, -1, 103,
-1, 135, 378, -1, 155, 362, -1, 324, -1, 330,
-1, 362, -1, 317, -1, 365, -1, 408, -1, 229,
408, -1, 1056, -1, 249, -1, 148, 711, -1, 235,
711, -1, 880, -1, 712, 880, -1, 241, 713, 880,
-1, 288, 713, 880, -1, 150, 713, 880, -1, 209,
713, 880, -1, 19, 1057, 713, 880, -1, 304, 1057,
713, 880, -1, 1057, 713, 880, -1, 26, 713, 880,
-1, 156, 713, 880, -1, 156, 1057, 713, 880, -1,
156, 26, 713, 880, -1, 43, 713, 880, -1, 43,
1057, 713, 880, -1, 43, 26, 713, 880, -1, 158,
-1, 180, -1, 712, -1, -1, 163, 716, 258, 719,
373, 720, 722, -1, 315, 716, 258, 719, 158, 720,
510, -1, 315, 163, 261, 153, 716, 258, 719, 158,
720, 510, -1, 717, -1, 26, -1, 26, 289, -1,
26, 451, 559, 452, -1, 26, 289, 451, 559, 452,
-1, 718, -1, 717, 455, 718, -1, 329, 558, -1,
301, 558, -1, 88, 558, -1, 1065, 558, -1, 1044,
-1, 362, 1044, -1, 330, 1044, -1, 155, 102, 419,
1046, -1, 155, 333, 1046, -1, 160, 723, -1, 103,
1046, -1, 124, 697, -1, 207, 1046, -1, 208, 253,
589, -1, 324, 1046, -1, 365, 1046, -1, 383, 697,
-1, 26, 363, 180, 324, 1046, -1, 26, 331, 180,
324, 1046, -1, 26, 161, 180, 324, 1046, -1, 721,
-1, 720, 455, 721, -1, 1059, -1, 166, 1059, -1,
415, 163, 261, -1, -1, 724, -1, 723, 455, 724,
-1, 1053, 747, -1, 163, 717, 373, 1060, 727, 728,
-1, 315, 717, 158, 1060, 728, 510, -1, 315, 23,
261, 153, 717, 158, 1060, 728, 510, -1, 415, 23,
261, -1, -1, 164, 52, 1059, -1, -1, 28, 109,
289, 730, 732, -1, 730, 731, -1, -1, 180, 324,
1046, -1, 153, 317, 1060, -1, 153, 395, 1060, -1,
163, 716, 258, 733, 373, 720, 722, -1, 315, 716,
258, 733, 158, 720, 510, -1, 315, 163, 261, 153,
716, 258, 733, 158, 720, 510, -1, 363, -1, 161,
-1, 331, -1, 384, -1, 88, 735, 183, 736, 737,
258, 1045, 738, 451, 739, 452, 515, 572, 947, -1,
88, 735, 183, 736, 174, 244, 141, 1051, 258, 1045,
738, 451, 739, 452, 515, 572, 947, -1, 389, -1,
-1, 77, -1, -1, 1051, -1, -1, 396, 1049, -1,
-1, 740, -1, 739, 455, 740, -1, 1065, 741, 742,
743, 744, -1, 981, 741, 742, 743, 744, -1, 451,
976, 452, 741, 742, 743, 744, -1, 70, 698, -1,
-1, 698, -1, 396, 698, -1, -1, 36, -1, 117,
-1, -1, 435, 150, -1, 435, 209, -1, -1, 88,
746, 160, 1053, 749, 314, 754, 760, 765, -1, 88,
746, 160, 1053, 749, 314, 362, 451, 767, 452, 760,
765, -1, 88, 746, 160, 1053, 749, 760, 765, -1,
263, 308, -1, -1, 451, 748, 452, -1, 451, 452,
-1, 751, -1, 748, 455, 751, -1, 451, 750, 452,
-1, 451, 452, -1, 756, -1, 750, 455, 756, -1,
752, 753, 755, -1, 753, 752, 755, -1, 753, 755,
-1, 752, 755, -1, 755, -1, 180, -1, 266, -1,
190, -1, 180, 266, -1, 404, -1, 1066, -1, 755,
-1, 952, -1, 1066, 699, 445, 383, -1, 338, 1066,
699, 445, 383, -1, 751, -1, 751, 109, 976, -1,
751, 439, 976, -1, 751, -1, 451, 443, 452, -1,
451, 759, 452, -1, 451, 264, 52, 759, 452, -1,
451, 759, 264, 52, 759, 452, -1, 757, -1, 759,
455, 757, -1, 762, -1, 760, 762, -1, 54, 258,
249, 191, -1, 314, 249, 258, 249, 191, -1, 356,
-1, 177, -1, 348, -1, 410, -1, 144, 328, 113,
-1, 144, 328, 200, -1, 328, 113, -1, 328, 200,
-1, 212, -1, 244, 212, -1, 87, 588, -1, 321,
588, -1, 499, -1, 35, 763, -1, 207, 494, -1,
376, 764, -1, 414, -1, 761, -1, 1056, -1, 1056,
455, 1056, -1, 153, 383, 952, -1, 764, 455, 153,
383, 952, -1, 415, 669, -1, -1, 753, 755, -1,
766, -1, 767, 455, 766, -1, 28, 160, 724, 769,
770, -1, 761, -1, 769, 761, -1, 312, -1, -1,
126, 160, 1053, 747, 510, -1, 126, 160, 174, 141,
1053, 747, 510, -1, 126, 25, 1053, 758, 510, -1,
126, 25, 174, 141, 1053, 758, 510, -1, 126, 260,
775, 774, 510, -1, 126, 260, 174, 141, 775, 774,
510, -1, 451, 952, 452, -1, 451, 952, 455, 952,
452, -1, 451, 243, 455, 952, 452, -1, 451, 952,
455, 243, 452, -1, 1007, -1, 1065, 453, 775, -1,
122, 777, -1, 778, -1, 777, 778, -1, 1056, -1,
207, 494, -1, 88, 58, 451, 952, 35, 952, 452,
415, 160, 724, 780, -1, 88, 58, 451, 952, 35,
952, 452, 417, 160, 780, -1, 88, 58, 451, 952,
35, 952, 452, 415, 190, 780, -1, 35, 178, -1,
35, 38, -1, -1, 126, 58, 782, 451, 952, 35,
952, 452, 510, -1, 174, 141, -1, -1, 88, 746,
376, 153, 952, 207, 1047, 451, 784, 452, -1, 158,
347, 415, 160, 724, 455, 373, 347, 415, 160, 724,
-1, 373, 347, 415, 160, 724, 455, 158, 347, 415,
160, 724, -1, 158, 347, 415, 160, 724, -1, 373,
347, 415, 160, 724, -1, 126, 376, 782, 153, 952,
207, 1047, 510, -1, 303, 787, 1045, -1, 303, 788,
1047, -1, 303, 451, 789, 452, 787, 1045, -1, 303,
451, 789, 452, 788, 1047, -1, 183, -1, 362, -1,
324, -1, 361, -1, 103, -1, 790, -1, 789, 455,
790, -1, 406, -1, 28, 365, 1047, 336, 514, -1,
28, 365, 1047, 310, 514, -1, 28, 25, 1053, 758,
306, 373, 1047, -1, 28, 71, 698, 306, 373, 1047,
-1, 28, 85, 698, 306, 373, 1047, -1, 28, 103,
1048, 306, 373, 1048, -1, 28, 124, 698, 306, 373,
1047, -1, 28, 124, 698, 306, 81, 1047, 373, 1047,
-1, 28, 155, 102, 419, 1047, 306, 373, 1047, -1,
28, 160, 724, 306, 373, 1047, -1, 28, 166, 1058,
306, 373, 1058, -1, 28, 597, 207, 1047, 306, 373,
1047, -1, 28, 260, 66, 698, 396, 1049, 306, 373,
1047, -1, 28, 260, 147, 698, 396, 1049, 306, 373,
1047, -1, 28, 280, 1047, 258, 1045, 306, 373, 1047,
-1, 28, 280, 174, 141, 1047, 258, 1045, 306, 373,
1047, -1, 28, 324, 1047, 306, 373, 1047, -1, 28,
333, 1047, 306, 373, 1047, -1, 28, 362, 937, 306,
373, 1047, -1, 28, 362, 174, 141, 937, 306, 373,
1047, -1, 28, 330, 1045, 306, 373, 1047, -1, 28,
330, 174, 141, 1045, 306, 373, 1047, -1, 28, 408,
1045, 306, 373, 1047, -1, 28, 408, 174, 141, 1045,
306, 373, 1047, -1, 28, 229, 408, 1045, 306, 373,
1047, -1, 28, 229, 408, 174, 141, 1045, 306, 373,
1047, -1, 28, 183, 1045, 306, 373, 1047, -1, 28,
183, 174, 141, 1045, 306, 373, 1047, -1, 28, 155,
362, 937, 306, 373, 1047, -1, 28, 155, 362, 174,
141, 937, 306, 373, 1047, -1, 28, 362, 937, 306,
793, 1047, 373, 1047, -1, 28, 362, 174, 141, 937,
306, 793, 1047, 373, 1047, -1, 28, 229, 408, 1045,
306, 793, 1047, 373, 1047, -1, 28, 229, 408, 174,
141, 1045, 306, 793, 1047, 373, 1047, -1, 28, 362,
937, 306, 81, 1047, 373, 1047, -1, 28, 362, 174,
141, 937, 306, 81, 1047, 373, 1047, -1, 28, 155,
362, 937, 306, 793, 1047, 373, 1047, -1, 28, 155,
362, 174, 141, 937, 306, 793, 1047, 373, 1047, -1,
28, 322, 1047, 258, 1045, 306, 373, 1047, -1, 28,
378, 1047, 258, 1045, 306, 373, 1047, -1, 28, 135,
378, 1047, 306, 373, 1047, -1, 28, 317, 1058, 306,
373, 1058, -1, 28, 395, 1058, 306, 373, 1058, -1,
28, 365, 1047, 306, 373, 1047, -1, 28, 369, 326,
273, 698, 306, 373, 1047, -1, 28, 369, 326, 118,
698, 306, 373, 1047, -1, 28, 369, 326, 367, 698,
306, 373, 1047, -1, 28, 369, 326, 78, 698, 306,
373, 1047, -1, 28, 383, 698, 306, 373, 1047, -1,
28, 383, 698, 306, 41, 1047, 373, 1047, 510, -1,
72, -1, -1, 336, 102, -1, -1, 28, 25, 1053,
758, 336, 324, 1047, -1, 28, 71, 698, 336, 324,
1047, -1, 28, 85, 698, 336, 324, 1047, -1, 28,
124, 698, 336, 324, 1047, -1, 28, 143, 698, 336,
324, 1047, -1, 28, 160, 724, 336, 324, 1047, -1,
28, 260, 775, 774, 336, 324, 1047, -1, 28, 260,
66, 698, 396, 1049, 336, 324, 1047, -1, 28, 260,
147, 698, 396, 1049, 336, 324, 1047, -1, 28, 362,
937, 336, 324, 1047, -1, 28, 362, 174, 141, 937,
336, 324, 1047, -1, 28, 369, 326, 273, 698, 336,
324, 1047, -1, 28, 369, 326, 118, 698, 336, 324,
1047, -1, 28, 369, 326, 367, 698, 336, 324, 1047,
-1, 28, 369, 326, 78, 698, 336, 324, 1047, -1,
28, 330, 1045, 336, 324, 1047, -1, 28, 330, 174,
141, 1045, 336, 324, 1047, -1, 28, 408, 1045, 336,
324, 1047, -1, 28, 408, 174, 141, 1045, 336, 324,
1047, -1, 28, 229, 408, 1045, 336, 324, 1047, -1,
28, 229, 408, 174, 141, 1045, 336, 324, 1047, -1,
28, 155, 362, 937, 336, 324, 1047, -1, 28, 155,
362, 174, 141, 937, 336, 324, 1047, -1, 28, 383,
698, 336, 324, 1047, -1, 28, 25, 1053, 758, 272,
373, 1059, -1, 28, 71, 698, 272, 373, 1059, -1,
28, 85, 698, 272, 373, 1059, -1, 28, 103, 1048,
272, 373, 1059, -1, 28, 124, 698, 272, 373, 1059,
-1, 28, 160, 724, 272, 373, 1059, -1, 28, 597,
207, 1047, 272, 373, 1059, -1, 28, 208, 253, 588,
272, 373, 1059, -1, 28, 260, 775, 774, 272, 373,
1059, -1, 28, 260, 66, 698, 396, 1049, 272, 373,
1059, -1, 28, 260, 147, 698, 396, 1049, 272, 373,
1059, -1, 28, 324, 1047, 272, 373, 1059, -1, 28,
383, 698, 272, 373, 1059, -1, 28, 365, 1047, 272,
373, 1059, -1, 28, 369, 326, 118, 698, 272, 373,
1059, -1, 28, 369, 326, 78, 698, 272, 373, 1059,
-1, 28, 155, 102, 419, 1047, 272, 373, 1059, -1,
28, 333, 1047, 272, 373, 1059, -1, 28, 135, 378,
1047, 272, 373, 1059, -1, 88, 746, 322, 1047, 35,
258, 802, 373, 1045, 947, 122, 803, 798, -1, 245,
-1, 800, -1, 451, 799, 452, -1, 799, 454, 801,
-1, 801, -1, 883, -1, 857, -1, 872, -1, 865,
-1, 805, -1, 800, -1, -1, 329, -1, 394, -1,
114, -1, 193, -1, 194, -1, 27, -1, -1, 126,
322, 1047, 258, 698, 510, -1, 126, 322, 174, 141,
1047, 258, 698, 510, -1, 246, 1065, 806, -1, 455,
1056, -1, -1, 218, 1065, -1, 391, 1065, -1, 391,
443, -1, 18, 810, -1, 45, 810, 813, -1, 350,
375, 813, -1, 75, 810, -1, 132, 810, -1, 318,
810, -1, 323, 1065, -1, 305, 323, 1065, -1, 305,
1065, -1, 318, 810, 373, 323, 1065, -1, 318, 810,
373, 1065, -1, 285, 375, 1056, -1, 75, 286, 1056,
-1, 318, 286, 1056, -1, 418, -1, 375, -1, -1,
203, 215, 490, -1, 295, 259, -1, 295, 420, -1,
111, -1, 244, 111, -1, 811, -1, 812, 455, 811,
-1, 812, 811, -1, 812, -1, -1, 88, 539, 408,
1045, 558, 515, 35, 883, 815, -1, 88, 263, 308,
539, 408, 1045, 558, 515, 35, 883, 815, -1, 88,
539, 299, 408, 1045, 451, 559, 452, 515, 35, 883,
815, -1, 88, 263, 308, 539, 299, 408, 1045, 451,
559, 452, 515, 35, 883, 815, -1, 415, 64, 261,
-1, 415, 56, 64, 261, -1, 415, 220, 64, 261,
-1, -1, 219, 1052, -1, 88, 103, 1048, 462, 818,
-1, 819, -1, -1, 820, -1, 819, 820, -1, 821,
822, 1057, -1, 821, 822, 491, -1, 821, 822, 109,
-1, 3, -1, 80, 217, -1, 130, -1, 223, -1,
272, -1, 365, -1, 367, -1, 439, -1, -1, 28,
103, 1048, 415, 818, -1, 28, 103, 1048, 818, -1,
28, 103, 1048, 336, 365, 1047, -1, 28, 103, 1048,
498, -1, 126, 103, 1048, -1, 126, 103, 174, 141,
1048, -1, 28, 361, 336, 485, -1, 28, 361, 310,
497, -1, 88, 124, 698, 829, 952, 548, -1, 28,
124, 698, 509, -1, 28, 124, 698, 126, 244, 249,
-1, 28, 124, 698, 336, 244, 249, -1, 28, 124,
698, 22, 555, -1, 28, 124, 698, 126, 81, 1047,
510, -1, 28, 124, 698, 126, 81, 174, 141, 1047,
510, -1, 28, 124, 698, 399, 81, 1047, -1, 35,
-1, -1, 28, 369, 326, 118, 698, 669, -1, 28,
369, 326, 78, 698, 22, 227, 153, 1046, 832, 697,
-1, 28, 369, 326, 78, 698, 28, 227, 153, 1046,
832, 697, -1, 28, 369, 326, 78, 698, 28, 227,
308, 698, 832, 698, -1, 28, 369, 326, 78, 698,
28, 227, 153, 1046, 308, 698, 832, 698, -1, 28,
369, 326, 78, 698, 126, 227, 153, 1046, -1, 28,
369, 326, 78, 698, 126, 227, 174, 141, 153, 1046,
-1, 415, -1, 436, -1, 88, 683, 85, 698, 153,
1056, 373, 1056, 158, 698, -1, 68, 841, 1045, 835,
-1, 68, 841, -1, 68, 841, 1051, 258, 1045, -1,
396, 1051, -1, -1, 397, 842, 843, 841, -1, 397,
842, 843, 841, 1045, -1, 397, 842, 843, 841, 839,
-1, 397, 451, 837, 452, -1, 397, 451, 837, 452,
1045, 844, -1, 838, -1, 837, 455, 838, -1, 840,
-1, 406, -1, 157, -1, 159, -1, 840, 841, -1,
840, 841, 1045, 844, -1, 31, -1, 30, -1, 406,
-1, -1, 159, -1, -1, 157, -1, -1, 451, 1046,
452, -1, -1, 142, 846, -1, 142, 840, 841, 846,
-1, 142, 406, 846, -1, 142, 451, 847, 452, 846,
-1, 883, -1, 857, -1, 872, -1, 865, -1, 879,
-1, 575, -1, 578, -1, 581, -1, 854, -1, 848,
-1, 847, 455, 848, -1, 849, 850, -1, 1067, -1,
840, -1, 491, -1, 588, -1, -1, 285, 1047, 852,
35, 853, -1, 451, 1015, 452, -1, -1, 883, -1,
857, -1, 872, -1, 865, -1, 140, 1047, 855, -1,
88, 539, 362, 576, 35, 140, 1047, 855, 577, -1,
451, 1012, 452, -1, -1, 105, 1047, -1, 105, 285,
1047, -1, 105, 26, -1, 105, 285, 26, -1, 891,
193, 199, 858, 859, 862, 864, -1, 1045, -1, 1045,
35, 1065, -1, 883, -1, 451, 860, 452, 883, -1,
109, 402, -1, 861, -1, 860, 455, 861, -1, 1065,
1036, -1, 258, 79, 863, 122, 394, 336, 873, 947,
-1, 258, 79, 863, 122, 245, -1, -1, 451, 739,
452, 947, -1, 258, 81, 1047, -1, -1, 313, 1042,
-1, -1, 891, 114, 158, 939, 866, 948, 864, -1,
396, 928, -1, -1, 224, 894, 938, 868, 870, -1,
180, 869, 233, -1, -1, 20, 339, -1, 320, 339,
-1, 320, 139, -1, 339, 394, 139, -1, 339, -1,
339, 320, 139, -1, 139, -1, 20, 139, -1, 248,
-1, -1, 248, -1, 343, 225, -1, -1, 891, 394,
939, 336, 873, 927, 948, 864, -1, 874, -1, 873,
455, 874, -1, 875, -1, 876, -1, 877, 439, 1038,
-1, 451, 878, 452, 439, 1040, -1, 451, 878, 452,
439, 884, -1, 1065, 1036, -1, 877, -1, 878, 455,
877, -1, 108, 880, 881, 100, 882, 153, 883, -1,
1047, -1, -1, 881, 242, 325, -1, 881, 325, -1,
881, 48, -1, 881, 192, -1, -1, 415, 171, -1,
417, 171, -1, 885, -1, 884, -1, 451, 885, 452,
-1, 451, 884, 452, -1, 887, -1, 886, 899, -1,
886, 898, 920, 903, -1, 886, 898, 902, 921, -1,
888, 886, -1, 888, 886, 899, -1, 888, 886, 898,
920, 903, -1, 888, 886, 898, 902, 921, -1, 887,
-1, 884, -1, 329, 897, 1041, 892, 927, 947, 912,
919, 993, -1, 329, 896, 1042, 892, 927, 947, 912,
919, 993, -1, 926, -1, 362, 937, -1, 886, 388,
895, 886, -1, 886, 197, 895, 886, -1, 886, 136,
895, 886, -1, 415, 889, -1, 436, 889, -1, 415,
299, 889, -1, 890, -1, 889, 455, 890, -1, 1047,
844, 35, 451, 853, 452, -1, 888, -1, -1, 199,
893, -1, -1, 368, 894, 1045, -1, 366, 894, 1045,
-1, 220, 368, 894, 1045, -1, 220, 366, 894, 1045,
-1, 162, 368, 894, 1045, -1, 162, 366, 894, 1045,
-1, 392, 894, 1045, -1, 362, 1045, -1, 1045, -1,
362, -1, -1, 26, -1, 121, -1, -1, 121, -1,
121, 258, 451, 1012, 452, -1, 26, -1, -1, 899,
-1, -1, 264, 52, 900, -1, 901, -1, 900, 455,
901, -1, 976, 396, 1010, 744, -1, 976, 743, 744,
-1, 904, 905, -1, 905, 904, -1, 904, -1, 905,
-1, 902, -1, -1, 217, 906, -1, 217, 906, 455,
907, -1, 148, 911, 908, 910, 259, -1, 256, 907,
-1, 256, 909, 910, -1, 976, -1, 26, -1, 976,
-1, 1057, -1, 451, 976, 452, -1, -1, 978, -1,
320, -1, 321, -1, 150, -1, 241, -1, 166, 52,
913, -1, -1, 914, -1, 913, 455, 914, -1, 976,
-1, 915, -1, 917, -1, 916, -1, 918, -1, 451,
452, -1, 319, 451, 1012, 452, -1, 91, 451, 1012,
452, -1, 167, 337, 451, 913, 452, -1, 169, 976,
-1, -1, 922, -1, 153, 295, 259, -1, 920, -1,
-1, 923, -1, 922, 923, -1, 924, 925, 871, -1,
153, 394, -1, 153, 242, 205, 394, -1, 153, 339,
-1, 153, 205, 339, -1, 254, 1044, -1, -1, 402,
1040, -1, 926, 455, 1040, -1, 158, 928, -1, -1,
929, -1, 928, 455, 929, -1, 937, 932, -1, 937,
932, 940, -1, 942, 933, -1, 210, 942, 933, -1,
884, 932, -1, 210, 884, 932, -1, 930, -1, 451,
930, 452, 931, -1, 451, 930, 452, -1, 929, 89,
204, 929, -1, 929, 934, 204, 929, 936, -1, 929,
204, 929, 936, -1, 929, 239, 934, 204, 929, -1,
929, 239, 204, 929, -1, 35, 1065, 451, 1046, 452,
-1, 35, 1065, -1, 1065, 451, 1046, 452, -1, 1065,
-1, 931, -1, -1, 931, -1, 35, 451, 950, 452,
-1, 35, 1065, 451, 950, 452, -1, 1065, 451, 950,
452, -1, -1, 159, 935, -1, 214, 935, -1, 316,
935, -1, 189, -1, 267, -1, -1, 396, 451, 1046,
452, -1, 258, 976, -1, 1045, -1, 1045, 443, -1,
259, 1045, -1, 259, 451, 1045, 452, -1, 937, -1,
938, 455, 937, -1, 937, -1, 937, 1065, -1, 937,
35, 1065, -1, 364, 1053, 451, 1012, 452, 941, -1,
307, 451, 976, 452, -1, -1, 981, 946, -1, 321,
158, 451, 944, 452, 946, -1, 981, 945, -1, 943,
-1, 944, 455, 943, -1, 35, 451, 950, 452, -1,
-1, 436, 265, -1, -1, 412, 976, -1, -1, 412,
976, -1, 412, 92, 254, 880, -1, -1, 950, -1,
-1, 951, -1, 950, 455, 951, -1, 1065, 952, 511,
-1, 954, 953, -1, 338, 954, 953, -1, 954, 34,
449, 1055, 450, -1, 338, 954, 34, 449, 1055, 450,
-1, 954, 34, -1, 338, 954, 34, -1, 953, 449,
450, -1, 953, 449, 1055, 450, -1, -1, 956, -1,
958, -1, 960, -1, 964, -1, 971, -1, 972, 974,
-1, 972, 451, 1055, 452, -1, 958, -1, 961, -1,
965, -1, 971, -1, 1066, 957, -1, 1066, 699, 957,
-1, 451, 1012, 452, -1, -1, 195, -1, 196, -1,
344, -1, 47, -1, 296, -1, 151, 959, -1, 125,
283, -1, 107, 957, -1, 106, 957, -1, 252, 957,
-1, 50, -1, 451, 1055, 452, -1, -1, 962, -1,
963, -1, 962, -1, 963, -1, 49, 969, 451, 1012,
452, -1, 49, 969, -1, 966, -1, 967, -1, 966,
-1, 967, -1, 968, 451, 1061, 452, 970, -1, 968,
970, -1, 62, 969, -1, 61, 969, -1, 403, -1,
238, 62, 969, -1, 238, 61, 969, -1, 240, 969,
-1, 405, -1, -1, 62, 336, 1065, -1, -1, 372,
451, 1055, 452, 973, -1, 372, 973, -1, 371, 451,
1055, 452, 973, -1, 371, 973, -1, 198, -1, 436,
371, 433, -1, 417, 371, 433, -1, -1, 431, -1,
234, -1, 104, -1, 172, -1, 231, -1, 975, -1,
431, 373, 234, -1, 104, 373, 172, -1, 104, 373,
231, -1, 104, 373, 975, -1, 172, 373, 231, -1,
172, 373, 975, -1, 231, 373, 975, -1, -1, 327,
-1, 327, 451, 1055, 452, -1, 978, -1, 976, 11,
952, -1, 976, 70, 698, -1, 976, 40, 371, 433,
976, -1, 441, 976, -1, 442, 976, -1, 976, 441,
976, -1, 976, 442, 976, -1, 976, 443, 976, -1,
976, 444, 976, -1, 976, 445, 976, -1, 976, 446,
976, -1, 976, 437, 976, -1, 976, 438, 976, -1,
976, 439, 976, -1, 976, 15, 976, -1, 976, 16,
976, -1, 976, 17, 976, -1, 976, 447, 976, -1,
976, 447, -1, 976, 1009, 976, -1, 1009, 976, -1,
976, 1009, -1, 976, 32, 976, -1, 976, 263, 976,
-1, 244, 976, -1, 434, 976, -1, 976, 216, 976,
-1, 976, 216, 976, 134, 976, -1, 976, 434, 216,
976, -1, 976, 434, 216, 976, 134, 976, -1, 976,
175, 976, -1, 976, 175, 976, 134, 976, -1, 976,
434, 175, 976, -1, 976, 434, 175, 976, 134, 976,
-1, 976, 341, 373, 976, -1, 976, 341, 373, 976,
134, 976, -1, 976, 434, 341, 373, 976, -1, 976,
434, 341, 373, 976, 134, 976, -1, 976, 201, 249,
-1, 976, 202, -1, 976, 201, 244, 249, -1, 976,
247, -1, 1003, 269, 1003, -1, 976, 201, 380, -1,
976, 201, 244, 380, -1, 976, 201, 146, -1, 976,
201, 244, 146, -1, 976, 201, 390, -1, 976, 201,
244, 390, -1, 976, 201, 121, 158, 976, -1, 976,
201, 244, 121, 158, 976, -1, 976, 201, 254, 451,
1015, 452, -1, 976, 201, 244, 254, 451, 1015, 452,
-1, 976, 46, 1037, 977, 32, 976, -1, 976, 434,
46, 1037, 977, 32, 976, -1, 976, 46, 359, 977,
32, 976, -1, 976, 434, 46, 359, 977, 32, 976,
-1, 976, 180, 1027, -1, 976, 434, 180, 1027, -1,
976, 1011, 1006, 884, -1, 976, 1011, 1006, 451, 976,
452, -1, 389, 884, -1, 976, 201, 123, -1, 976,
201, 244, 123, -1, 978, -1, 977, 11, 952, -1,
441, 977, -1, 442, 977, -1, 977, 441, 977, -1,
977, 442, 977, -1, 977, 443, 977, -1, 977, 444,
977, -1, 977, 445, 977, -1, 977, 446, 977, -1,
977, 437, 977, -1, 977, 438, 977, -1, 977, 439,
977, -1, 977, 15, 977, -1, 977, 16, 977, -1,
977, 17, 977, -1, 977, 447, 977, -1, 977, 447,
-1, 977, 1009, 977, -1, 1009, 977, -1, 977, 1009,
-1, 977, 201, 121, 158, 977, -1, 977, 201, 244,
121, 158, 977, -1, 977, 201, 254, 451, 1015, 452,
-1, 977, 201, 244, 254, 451, 1015, 452, -1, 977,
201, 123, -1, 977, 201, 244, 123, -1, 1033, -1,
1054, -1, 447, 1036, -1, 10, 1036, -1, 451, 976,
452, 1036, -1, 1028, -1, 980, -1, 884, -1, 884,
1035, -1, 141, 884, -1, 34, 884, -1, 34, 1016,
-1, 1004, -1, 1005, -1, 167, 451, 1012, 452, -1,
1053, 451, 452, -1, 1053, 451, 1013, 898, 452, -1,
1053, 451, 404, 1014, 898, 452, -1, 1053, 451, 1013,
455, 404, 1014, 898, 452, -1, 1053, 451, 26, 1013,
898, 452, -1, 1053, 451, 121, 1013, 898, 452, -1,
1053, 451, 443, 452, -1, 979, 991, 992, 996, -1,
982, -1, 979, -1, 982, -1, 71, 153, 451, 976,
452, -1, 94, -1, 97, -1, 97, 451, 1055, 452,
-1, 98, -1, 98, 451, 1055, 452, -1, 221, -1,
221, 451, 1055, 452, -1, 222, -1, 222, 451, 1055,
452, -1, 95, -1, 99, -1, 335, -1, 395, -1,
93, -1, 96, -1, 58, 451, 976, 35, 952, 452,
-1, 145, 451, 1018, 452, -1, 270, 451, 1020, 452,
-1, 281, 451, 1022, 452, -1, 358, 451, 1023, 452,
-1, 377, 451, 976, 35, 952, 452, -1, 379, 451,
51, 1026, 452, -1, 379, 451, 211, 1026, 452, -1,
379, 451, 374, 1026, 452, -1, 379, 451, 1026, 452,
-1, 250, 451, 976, 455, 976, 452, -1, 69, 451,
1012, 452, -1, 165, 451, 1012, 452, -1, 213, 451,
1012, 452, -1, 423, 451, 1012, 452, -1, 424, 451,
236, 1068, 452, -1, 424, 451, 236, 1068, 455, 985,
452, -1, 424, 451, 236, 1068, 455, 1012, 452, -1,
424, 451, 236, 1068, 455, 985, 455, 1012, 452, -1,
425, 451, 978, 990, 452, -1, 426, 451, 986, 452,
-1, 427, 451, 988, 976, 989, 452, -1, 428, 451,
236, 1068, 452, -1, 428, 451, 236, 1068, 455, 976,
452, -1, 429, 451, 976, 455, 983, 984, 452, -1,
430, 451, 988, 976, 35, 954, 452, -1, 407, 976,
-1, 407, 242, 401, -1, 455, 349, 432, -1, 455,
349, 242, -1, 455, 349, 242, 401, -1, -1, 422,
451, 986, 452, -1, 987, -1, 986, 455, 987, -1,
976, 35, 1068, -1, 976, -1, 123, -1, 83, -1,
284, 413, -1, 357, 413, -1, -1, 276, 978, -1,
276, 978, 52, 300, -1, 276, 52, 300, 978, -1,
276, 52, 300, 978, 52, 300, -1, 416, 166, 451,
899, 452, -1, -1, 149, 451, 412, 976, 452, -1,
-1, 414, 994, -1, -1, 995, -1, 994, 455, 995,
-1, 1065, 35, 997, -1, 268, 997, -1, 268, 1065,
-1, -1, 451, 998, 999, 898, 1000, 452, -1, 1065,
-1, -1, 275, 52, 1012, -1, -1, 294, 1001, -1,
321, 1001, -1, -1, 1002, -1, 46, 1002, 32, 1002,
-1, 385, 282, -1, 385, 152, -1, 92, 320, -1,
976, 282, -1, 976, 152, -1, 320, 451, 1012, 452,
-1, 320, 451, 452, -1, 451, 1012, 455, 976, 452,
-1, 320, 451, 1012, 452, -1, 320, 451, 452, -1,
451, 1012, 455, 976, 452, -1, 33, -1, 346, -1,
26, -1, 8, -1, 1008, -1, 441, -1, 442, -1,
443, -1, 444, -1, 445, -1, 446, -1, 437, -1,
438, -1, 439, -1, 15, -1, 16, -1, 17, -1,
447, -1, 8, -1, 260, 451, 775, 452, -1, 1007,
-1, 260, 451, 775, 452, -1, 1007, -1, 260, 451,
775, 452, -1, 216, -1, 434, 216, -1, 175, -1,
434, 175, -1, 976, -1, 1012, 455, 976, -1, 1014,
-1, 1013, 455, 1014, -1, 976, -1, 753, 13, 976,
-1, 753, 14, 976, -1, 952, -1, 1015, 455, 952,
-1, 449, 1012, 450, -1, 449, 1017, 450, -1, 449,
450, -1, 1016, -1, 1017, 455, 1016, -1, 1019, 158,
976, -1, 447, 158, 976, -1, -1, 3, -1, 431,
-1, 234, -1, 104, -1, 172, -1, 231, -1, 327,
-1, 1056, -1, 976, 1021, 1024, 1025, -1, 976, 1021,
1024, -1, 278, 976, -1, 977, 180, 977, -1, -1,
976, 1024, 1025, -1, 976, 1025, 1024, -1, 976, 1024,
-1, 976, 1025, -1, 1012, -1, -1, 158, 976, -1,
153, 976, -1, 976, 158, 1012, -1, 158, 1012, -1,
1012, -1, 884, -1, 451, 1012, 452, -1, 57, 1032,
1029, 1031, 132, -1, 1030, -1, 1029, 1030, -1, 411,
976, 370, 976, -1, 128, 976, -1, -1, 976, -1,
-1, 1065, -1, 1065, 1035, -1, 453, 1050, -1, 453,
443, -1, 449, 976, 450, -1, 449, 976, 456, 976,
450, -1, 1034, -1, 1035, 1034, -1, -1, 1036, 1034,
-1, 39, -1, -1, 976, -1, 109, -1, 1038, -1,
1039, 455, 1038, -1, 451, 1039, 452, -1, 1042, -1,
-1, 1043, -1, 1042, 455, 1043, -1, 976, 35, 1068,
-1, 976, 3, -1, 976, -1, 443, -1, 1045, -1,
1044, 455, 1045, -1, 1065, -1, 1065, 1035, -1, 1047,
-1, 1046, 455, 1047, -1, 1065, -1, 1065, -1, 1065,
-1, 1068, -1, 1065, -1, 1056, -1, 1066, -1, 1065,
1035, -1, 1055, -1, 4, -1, 1056, -1, 6, -1,
7, -1, 1053, 1056, -1, 1053, 451, 1013, 898, 452,
1056, -1, 955, 1056, -1, 972, 1056, 974, -1, 972,
451, 1055, 452, 1056, -1, 972, 451, 447, 452, 447,
974, -1, 380, -1, 146, -1, 249, -1, 9, -1,
5, -1, 1055, -1, 441, 1055, -1, 442, 1055, -1,
1059, -1, 1067, -1, 99, -1, 335, -1, 1059, -1,
1060, 455, 1059, -1, 1055, -1, 447, -1, 1056, -1,
447, -1, 1056, -1, 447, -1, 494, -1, 447, -1,
3, -1, 1069, -1, 1070, -1, 3, -1, 1069, -1,
1071, -1, 3, -1, 1069, -1, 1070, -1, 1071, -1,
3, -1, 1069, -1, 1070, -1, 1071, -1, 1072, -1,
18, -1, 19, -1, 20, -1, 21, -1, 22, -1,
23, -1, 24, -1, 25, -1, 27, -1, 28, -1,
29, -1, 37, -1, 38, -1, 40, -1, 41, -1,
43, -1, 44, -1, 45, -1, 52, -1, 53, -1,
54, -1, 55, -1, 56, -1, 59, -1, 60, -1,
63, -1, 65, -1, 66, -1, 67, -1, 68, -1,
73, -1, 74, -1, 75, -1, 76, -1, 78, -1,
79, -1, 80, -1, 82, -1, 83, -1, 84, -1,
85, -1, 86, -1, 87, -1, 90, -1, 91, -1,
92, -1, 100, -1, 101, -1, 102, -1, 103, -1,
104, -1, 105, -1, 108, -1, 110, -1, 112, -1,
113, -1, 114, -1, 115, -1, 116, -1, 118, -1,
119, -1, 120, -1, 123, -1, 124, -1, 125, -1,
126, -1, 127, -1, 129, -1, 130, -1, 131, -1,
133, -1, 134, -1, 135, -1, 137, -1, 138, -1,
139, -1, 140, -1, 142, -1, 143, -1, 144, -1,
147, -1, 149, -1, 150, -1, 152, -1, 154, -1,
156, -1, 160, -1, 161, -1, 162, -1, 164, -1,
168, -1, 170, -1, 171, -1, 172, -1, 173, -1,
174, -1, 176, -1, 177, -1, 178, -1, 179, -1,
181, -1, 182, -1, 183, -1, 184, -1, 185, -1,
186, -1, 188, -1, 191, -1, 192, -1, 193, -1,
194, -1, 200, -1, 203, -1, 205, -1, 206, -1,
207, -1, 208, -1, 209, -1, 212, -1, 215, -1,
218, -1, 219, -1, 220, -1, 223, -1, 224, -1,
225, -1, 226, -1, 227, -1, 228, -1, 229, -1,
230, -1, 231, -1, 232, -1, 233, -1, 234, -1,
235, -1, 236, -1, 237, -1, 241, -1, 242, -1,
245, -1, 246, -1, 248, -1, 251, -1, 253, -1,
254, -1, 255, -1, 257, -1, 260, -1, 261, -1,
262, -1, 265, -1, 268, -1, 271, -1, 272, -1,
273, -1, 274, -1, 275, -1, 276, -1, 277, -1,
279, -1, 280, -1, 282, -1, 285, -1, 286, -1,
284, -1, 288, -1, 289, -1, 290, -1, 291, -1,
292, -1, 293, -1, 294, -1, 295, -1, 297, -1,
298, -1, 299, -1, 300, -1, 302, -1, 303, -1,
304, -1, 305, -1, 306, -1, 307, -1, 308, -1,
309, -1, 310, -1, 311, -1, 312, -1, 314, -1,
315, -1, 317, -1, 318, -1, 319, -1, 321, -1,
322, -1, 323, -1, 324, -1, 325, -1, 326, -1,
327, -1, 328, -1, 330, -1, 331, -1, 332, -1,
333, -1, 334, -1, 336, -1, 337, -1, 339, -1,
340, -1, 342, -1, 343, -1, 345, -1, 347, -1,
348, -1, 349, -1, 350, -1, 351, -1, 352, -1,
353, -1, 354, -1, 355, -1, 356, -1, 357, -1,
360, -1, 361, -1, 363, -1, 365, -1, 366, -1,
367, -1, 368, -1, 369, -1, 375, -1, 376, -1,
378, -1, 381, -1, 382, -1, 383, -1, 384, -1,
385, -1, 386, -1, 387, -1, 390, -1, 391, -1,
392, -1, 393, -1, 394, -1, 397, -1, 398, -1,
399, -1, 400, -1, 401, -1, 405, -1, 407, -1,
408, -1, 409, -1, 410, -1, 413, -1, 416, -1,
417, -1, 418, -1, 419, -1, 420, -1, 421, -1,
431, -1, 432, -1, 433, -1, 46, -1, 47, -1,
49, -1, 50, -1, 61, -1, 62, -1, 69, -1,
106, -1, 107, -1, 141, -1, 145, -1, 151, -1,
165, -1, 167, -1, 190, -1, 195, -1, 196, -1,
198, -1, 213, -1, 238, -1, 240, -1, 243, -1,
250, -1, 252, -1, 266, -1, 270, -1, 281, -1,
283, -1, 296, -1, 320, -1, 338, -1, 344, -1,
358, -1, 371, -1, 372, -1, 377, -1, 379, -1,
402, -1, 403, -1, 422, -1, 423, -1, 424, -1,
425, -1, 426, -1, 427, -1, 428, -1, 429, -1,
430, -1, 42, -1, 48, -1, 71, -1, 77, -1,
89, -1, 96, -1, 157, -1, 159, -1, 175, -1,
189, -1, 201, -1, 202, -1, 204, -1, 214, -1,
216, -1, 239, -1, 247, -1, 267, -1, 269, -1,
316, -1, 341, -1, 364, -1, 406, -1, 26, -1,
30, -1, 31, -1, 32, -1, 33, -1, 34, -1,
35, -1, 36, -1, 39, -1, 51, -1, 57, -1,
58, -1, 64, -1, 70, -1, 72, -1, 81, -1,
88, -1, 93, -1, 94, -1, 95, -1, 97, -1,
98, -1, 99, -1, 109, -1, 111, -1, 117, -1,
121, -1, 122, -1, 128, -1, 132, -1, 136, -1,
146, -1, 148, -1, 153, -1, 155, -1, 158, -1,
163, -1, 166, -1, 169, -1, 180, -1, 187, -1,
197, -1, 199, -1, 210, -1, 211, -1, 217, -1,
221, -1, 222, -1, 244, -1, 249, -1, 256, -1,
258, -1, 259, -1, 263, -1, 264, -1, 278, -1,
287, -1, 301, -1, 313, -1, 329, -1, 335, -1,
346, -1, 359, -1, 362, -1, 370, -1, 373, -1,
374, -1, 380, -1, 388, -1, 389, -1, 395, -1,
396, -1, 404, -1, 411, -1, 412, -1, 414, -1,
415, -1
};
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] =
{
0, 737, 737, 744, 751, 761, 762, 763, 764, 765,
766, 767, 768, 769, 770, 771, 772, 773, 774, 775,
776, 777, 778, 779, 780, 781, 782, 783, 784, 785,
786, 787, 788, 789, 790, 791, 792, 793, 794, 795,
796, 797, 798, 799, 800, 801, 802, 803, 804, 805,
806, 807, 808, 809, 810, 811, 812, 813, 814, 815,
816, 817, 818, 819, 820, 821, 822, 823, 824, 825,
826, 827, 828, 829, 830, 831, 832, 833, 834, 835,
836, 837, 838, 839, 840, 841, 842, 843, 844, 845,
846, 847, 848, 849, 850, 851, 852, 853, 854, 855,
856, 857, 858, 859, 860, 861, 862, 863, 864, 865,
866, 867, 868, 869, 870, 871, 872, 873, 874, 875,
876, 877, 878, 879, 880, 881, 882, 884, 894, 905,
906, 907, 916, 917, 921, 922, 926, 930, 934, 938,
942, 946, 950, 955, 959, 1017, 1019, 1023, 1027, 1031,
1035, 1049, 1067, 1078, 1079, 1083, 1091, 1109, 1121, 1142,
1149, 1168, 1175, 1192, 1210, 1221, 1222, 1234, 1241, 1258,
1268, 1278, 1293, 1311, 1312, 1316, 1323, 1331, 1332, 1333,
1334, 1335, 1336, 1350, 1356, 1362, 1371, 1379, 1387, 1391,
1399, 1407, 1414, 1423, 1424, 1432, 1443, 1451, 1459, 1470,
1478, 1486, 1493, 1502, 1512, 1513, 1517, 1518, 1521, 1523,
1525, 1529, 1530, 1531, 1532, 1536, 1537, 1538, 1544, 1556,
1560, 1564, 1579, 1586, 1587, 1588, 1592, 1593, 1594, 1598,
1599, 1603, 1607, 1608, 1615, 1622, 1632, 1639, 1649, 1650,
1655, 1656, 1661, 1667, 1673, 1679, 1685, 1695, 1705, 1706,
1710, 1711, 1719, 1734, 1740, 1746, 1752, 1758, 1777, 1786,
1795, 1806, 1817, 1826, 1835, 1846, 1857, 1866, 1875, 1884,
1893, 1902, 1911, 1922, 1936, 1937, 1942, 1950, 1958, 1967,
1975, 1983, 1992, 2001, 2010, 2019, 2029, 2042, 2057, 2066,
2074, 2089, 2097, 2107, 2117, 2124, 2131, 2139, 2147, 2154,
2161, 2169, 2177, 2185, 2192, 2199, 2207, 2214, 2221, 2229,
2237, 2245, 2253, 2261, 2269, 2279, 2286, 2294, 2302, 2310,
2318, 2326, 2333, 2340, 2347, 2353, 2363, 2364, 2368, 2369,
2370, 2374, 2382, 2386, 2387, 2391, 2398, 2405, 2412, 2422,
2425, 2426, 2430, 2431, 2436, 2440, 2444, 2449, 2464, 2477,
2478, 2483, 2492, 2502, 2512, 2538, 2544, 2574, 2603, 2625,
2626, 2630, 2631, 2640, 2641, 2642, 2645, 2646, 2651, 2652,
2656, 2660, 2664, 2668, 2672, 2676, 2680, 2684, 2688, 2692,
2696, 2700, 2704, 2708, 2717, 2721, 2725, 2729, 2733, 2737,
2741, 2742, 2747, 2751, 2758, 2765, 2766, 2767, 2768, 2769,
2773, 2777, 2785, 2796, 2812, 2829, 2846, 2876, 2877, 2878,
2879, 2880, 2887, 2894, 2895, 2899, 2900, 2904, 2905, 2909,
2913, 2920, 2924, 2931, 2932, 2933, 2937, 2938, 2941, 2962,
2983, 2984, 2988, 2996, 2997, 2998, 3029, 3036, 3043, 3054,
3065, 3075, 3084, 3117, 3124, 3131, 3138, 3149, 3159, 3160,
3161, 3165, 3166, 3167, 3168, 3169, 3170, 3179, 3187, 3191,
3204, 3219, 3233, 3248, 3262, 3280, 3301, 3302, 3306, 3307,
3311, 3312, 3315, 3321, 3325, 3333, 3338, 3344, 3345, 3349,
3354, 3361, 3362, 3372, 3374, 3376, 3378, 3381, 3384, 3387,
3391, 3392, 3393, 3394, 3395, 3398, 3399, 3404, 3405, 3406,
3407, 3410, 3411, 3412, 3413, 3416, 3417, 3420, 3421, 3424,
3439, 3452, 3468, 3482, 3483, 3484, 3496, 3509, 3525, 3538,
3539, 3551, 3571, 3581, 3594, 3602, 3613, 3614, 3617, 3618,
3621, 3625, 3629, 3633, 3637, 3641, 3645, 3649, 3653, 3657,
3661, 3665, 3671, 3672, 3676, 3677, 3682, 3685, 3686, 3698,
3710, 3725, 3726, 3734, 3735, 3739, 3740, 3744, 3745, 3749,
3750, 3754, 3765, 3778, 3779, 3789, 3800, 3801, 3814, 3821,
3838, 3846, 3857, 3860, 3864, 3868, 3872, 3884, 3894, 3897,
3901, 3914, 3924, 3934, 3943, 3952, 3961, 3971, 3980, 3990,
3999, 4008, 4017, 4026, 4035, 4044, 4053, 4062, 4071, 4080,
4089, 4098, 4107, 4116, 4125, 4135, 4153, 4164, 4165, 4166,
4167, 4171, 4172, 4176, 4177, 4187, 4198, 4218, 4226, 4238,
4239, 4243, 4247, 4255, 4259, 4263, 4270, 4274, 4279, 4284,
4291, 4298, 4303, 4313, 4327, 4328, 4333, 4334, 4338, 4339,
4349, 4360, 4380, 4389, 4397, 4414, 4434, 4464, 4473, 4494,
4509, 4510, 4514, 4522, 4537, 4548, 4549, 4559, 4567, 4584,
4606, 4622, 4636, 4647, 4661, 4662, 4666, 4667, 4671, 4672,
4676, 4677, 4681, 4682, 4686, 4687, 4688, 4689, 4690, 4702,
4722, 4747, 4748, 4749, 4753, 4755, 4777, 4779, 4781, 4783,
4785, 4790, 4795, 4805, 4806, 4810, 4811, 4815, 4816, 4820,
4821, 4822, 4826, 4830, 4831, 4832, 4836, 4837, 4842, 4843,
4870, 4871, 4872, 4873, 4874, 4875, 4880, 4891, 4914, 4924,
4938, 4940, 4945, 4950, 4952, 4957, 4967, 4968, 4969, 4970,
4982, 5002, 5025, 5035, 5046, 5056, 5066, 5077, 5086, 5093,
5100, 5109, 5118, 5127, 5136, 5145, 5156, 5159, 5160, 5163,
5167, 5174, 5175, 5176, 5177, 5178, 5181, 5184, 5185, 5193,
5200, 5201, 5204, 5206, 5217, 5227, 5237, 5249, 5250, 5266,
5281, 5282, 5286, 5296, 5307, 5316, 5326, 5335, 5336, 5339,
5340, 5343, 5344, 5345, 5348, 5362, 5367, 5377, 5386, 5398,
5399, 5403, 5411, 5423, 5433, 5446, 5456, 5478, 5488, 5506,
5517, 5528, 5538, 5548, 5558, 5568, 5579, 5593, 5594, 5595,
5596, 5597, 5598, 5599, 5600, 5601, 5602, 5603, 5604, 5605,
5606, 5607, 5611, 5612, 5615, 5616, 5619, 5621, 5626, 5627,
5637, 5648, 5649, 5650, 5683, 5692, 5701, 5710, 5719, 5728,
5737, 5746, 5760, 5769, 5778, 5788, 5797, 5806, 5814, 5823,
5832, 5841, 5853, 5854, 5855, 5856, 5857, 5858, 5859, 5860,
5861, 5862, 5863, 5864, 5865, 5866, 5867, 5868, 5869, 5870,
5871, 5872, 5873, 5877, 5878, 5892, 5903, 5914, 5925, 5936,
5947, 5958, 5971, 5972, 5976, 5977, 5978, 5979, 5980, 5981,
5982, 5983, 5984, 5985, 5986, 5989, 5990, 6000, 6006, 6014,
6022, 6030, 6038, 6046, 6054, 6062, 6070, 6078, 6086, 6094,
6102, 6110, 6118, 6126, 6134, 6144, 6145, 6148, 6149, 6159,
6175, 6189, 6215, 6217, 6219, 6221, 6228, 6237, 6238, 6241,
6248, 6255, 6262, 6276, 6284, 6292, 6300, 6308, 6316, 6324,
6332, 6340, 6348, 6356, 6364, 6372, 6380, 6388, 6396, 6408,
6409, 6413, 6414, 6419, 6420, 6424, 6425, 6430, 6446, 6459,
6469, 6481, 6482, 6485, 6486, 6496, 6506, 6507, 6511, 6515,
6519, 6530, 6543, 6557, 6574, 6575, 6576, 6577, 6589, 6615,
6644, 6645, 6649, 6650, 6654, 6655, 6659, 6660, 6663, 6664,
6672, 6683, 6694, 6707, 6708, 6711, 6712, 6713, 6716, 6717,
6718, 6721, 6722, 6723, 6739, 6751, 6764, 6779, 6780, 6783,
6784, 6788, 6789, 6797, 6798, 6802, 6803, 6818, 6827, 6836,
6845, 6854, 6866, 6867, 6868, 6869, 6870, 6876, 6880, 6895,
6896, 6902, 6912, 6916, 6921, 6929, 6970, 6974, 6978, 6982,
6990, 6991, 6996, 6997, 7004, 7008, 7012, 7016, 7020, 7024,
7028, 7032, 7036, 7040, 7044, 7048, 7052, 7056, 7060, 7068,
7072, 7076, 7080, 7084, 7090, 7091, 7098, 7099, 7103, 7104,
7107, 7119, 7123, 7138, 7149, 7150, 7155, 7156, 7171, 7182,
7196, 7207, 7221, 7232, 7246, 7254, 7256, 7258, 7263, 7265,
7278, 7287, 7288, 7292, 7296, 7308, 7319, 7330, 7343, 7344,
7345, 7349, 7362, 7363, 7373, 7385, 7389, 7393, 7397, 7404,
7425, 7434, 7443, 7452, 7463, 7464, 7467, 7468, 7469, 7472,
7473, 7476, 7486, 7495, 7512, 7522, 7531, 7540, 7549, 7558,
7567, 7576, 7586, 7595, 7604, 7613, 7622, 7632, 7642, 7651,
7660, 7670, 7680, 7690, 7700, 7710, 7720, 7730, 7740, 7750,
7760, 7770, 7780, 7791, 7802, 7813, 7824, 7834, 7844, 7855,
7866, 7876, 7886, 7894, 7903, 7912, 7921, 7930, 7939, 7948,
7957, 7966, 7980, 7981, 7984, 7985, 7995, 8005, 8014, 8023,
8032, 8041, 8051, 8061, 8070, 8079, 8088, 8097, 8106, 8115,
8124, 8133, 8142, 8151, 8160, 8169, 8178, 8187, 8196, 8205,
8222, 8231, 8239, 8247, 8255, 8263, 8272, 8280, 8288, 8297,
8305, 8313, 8321, 8329, 8337, 8345, 8353, 8361, 8369, 8386,
8403, 8404, 8405, 8410, 8416, 8425, 8426, 8427, 8428, 8429,
8433, 8434, 8437, 8438, 8439, 8440, 8444, 8445, 8446, 8451,
8462, 8484, 8494, 8495, 8498, 8507, 8513, 8532, 8539, 8546,
8553, 8560, 8567, 8574, 8582, 8590, 8598, 8606, 8614, 8621,
8628, 8637, 8638, 8639, 8643, 8646, 8649, 8652, 8655, 8662,
8664, 8666, 8671, 8673, 8685, 8698, 8711, 8729, 8750, 8751,
8752, 8753, 8763, 8779, 8789, 8790, 8794, 8795, 8799, 8803,
8807, 8825, 8826, 8827, 8828, 8829, 8830, 8831, 8838, 8839,
8850, 8857, 8864, 8875, 8892, 8899, 8917, 8923, 8939, 8952,
8961, 8969, 8977, 8986, 8997, 9008, 9018, 9019, 9030, 9040,
9051, 9062, 9073, 9084, 9093, 9105, 9106, 9120, 9143, 9151,
9160, 9171, 9172, 9184, 9198, 9212, 9224, 9232, 9245, 9246,
9250, 9251, 9252, 9253, 9257, 9267, 9280, 9281, 9285, 9286,
9289, 9290, 9293, 9294, 9298, 9299, 9312, 9319, 9329, 9336,
9346, 9347, 9348, 9349, 9350, 9351, 9352, 9353, 9354, 9358,
9362, 9369, 9376, 9377, 9381, 9382, 9383, 9393, 9403, 9404,
9408, 9409, 9410, 9411, 9421, 9428, 9446, 9447, 9457, 9463,
9469, 9475, 9491, 9509, 9513, 9521, 9527, 9533, 9542, 9544,
9549, 9560, 9570, 9580, 9586, 9595, 9604, 9610, 9611, 9622,
9636, 9637, 9648, 9659, 9660, 9663, 9664, 9665, 9666, 9667,
9668, 9669, 9670, 9673, 9674, 9678, 9679, 9680, 9691, 9709,
9710, 9714, 9715, 9719, 9735, 9761, 9794, 9805, 9806, 9816,
9827, 9830, 9831, 9832, 9833, 9834, 9837, 9838, 9839, 9887,
9888, 9892, 9893, 9908, 9909, 9916, 9924, 9932, 9940, 9948,
9956, 9967, 9968, 9995, 10009, 10024, 10025, 10044, 10048, 10052,
10069, 10076, 10083, 10093, 10094, 10097, 10109, 10110, 10114, 10126,
10134, 10139, 10144, 10149, 10154, 10162, 10170, 10175, 10180, 10187,
10188, 10192, 10193, 10194, 10201, 10202, 10206, 10207, 10211, 10212,
10216, 10220, 10221, 10224, 10233, 10246, 10247, 10248, 10249, 10253,
10254, 10258, 10260, 10270, 10275, 10278, 10283, 10284, 10292, 10302,
10303, 10304, 10312, 10316, 10317, 10320, 10321, 10346, 10347, 10351,
10352, 10356, 10357, 10358, 10359, 10360, 10364, 10377, 10384, 10391,
10398, 10399, 10403, 10404, 10408, 10409, 10413, 10414, 10418, 10429,
10430, 10431, 10432, 10436, 10437, 10442, 10448, 10466, 10467, 10471,
10472, 10478, 10483, 10491, 10498, 10506, 10541, 10566, 10570, 10596,
10600, 10612, 10625, 10639, 10650, 10665, 10671, 10676, 10682, 10689,
10690, 10698, 10702, 10706, 10712, 10719, 10724, 10725, 10726, 10727,
10731, 10732, 10744, 10745, 10750, 10757, 10764, 10771, 10782, 10783,
10796, 10800, 10807, 10820, 10833, 10834, 10849, 10859, 10871, 10876,
10877, 10880, 10881, 10884, 10885, 10890, 10891, 10896, 10897, 10905,
10910, 10911, 10915, 10919, 10925, 10955, 10960, 10967, 10972, 10978,
10983, 10992, 10994, 10997, 11001, 11002, 11003, 11004, 11005, 11006,
11011, 11031, 11032, 11033, 11034, 11045, 11051, 11059, 11060, 11066,
11071, 11076, 11081, 11086, 11091, 11096, 11101, 11107, 11113, 11119,
11126, 11148, 11157, 11161, 11169, 11173, 11181, 11193, 11214, 11218,
11224, 11228, 11241, 11252, 11267, 11269, 11271, 11273, 11275, 11277,
11282, 11283, 11287, 11288, 11295, 11304, 11312, 11321, 11332, 11340,
11341, 11342, 11346, 11348, 11350, 11352, 11354, 11356, 11358, 11363,
11368, 11374, 11382, 11387, 11394, 11401, 11405, 11409, 11445, 11446,
11448, 11456, 11471, 11473, 11475, 11477, 11479, 11481, 11483, 11485,
11487, 11489, 11491, 11493, 11495, 11497, 11500, 11504, 11507, 11509,
11511, 11514, 11516, 11518, 11520, 11523, 11528, 11536, 11541, 11549,
11554, 11562, 11567, 11576, 11584, 11592, 11600, 11618, 11626, 11634,
11642, 11650, 11666, 11674, 11682, 11690, 11698, 11706, 11714, 11718,
11724, 11728, 11732, 11740, 11748, 11756, 11764, 11784, 11806, 11817,
11824, 11840, 11845, 11862, 11864, 11866, 11868, 11870, 11872, 11874,
11876, 11878, 11880, 11882, 11884, 11886, 11888, 11890, 11892, 11894,
11898, 11900, 11902, 11904, 11906, 11910, 11916, 11920, 11924, 11929,
11945, 11946, 11947, 11959, 11974, 12004, 12006, 12008, 12019, 12043,
12054, 12065, 12073, 12083, 12093, 12102, 12106, 12112, 12119, 12126,
12136, 12143, 12171, 12206, 12217, 12218, 12225, 12231, 12257, 12267,
12280, 12288, 12301, 12311, 12324, 12334, 12347, 12351, 12355, 12359,
12363, 12367, 12371, 12373, 12377, 12386, 12391, 12398, 12413, 12420,
12424, 12428, 12432, 12436, 12443, 12451, 12459, 12463, 12467, 12471,
12475, 12479, 12485, 12489, 12498, 12502, 12506, 12511, 12525, 12527,
12531, 12533, 12535, 12538, 12541, 12544, 12545, 12548, 12556, 12566,
12567, 12570, 12571, 12572, 12577, 12581, 12585, 12589, 12600, 12601,
12605, 12606, 12614, 12615, 12619, 12620, 12625, 12633, 12635, 12649,
12652, 12679, 12680, 12683, 12684, 12695, 12713, 12720, 12729, 12746,
12791, 12799, 12807, 12815, 12823, 12844, 12845, 12846, 12849, 12850,
12853, 12856, 12857, 12858, 12861, 12862, 12865, 12866, 12867, 12868,
12869, 12870, 12871, 12872, 12873, 12874, 12875, 12876, 12877, 12880,
12882, 12887, 12889, 12894, 12896, 12898, 12900, 12902, 12904, 12916,
12920, 12927, 12931, 12937, 12941, 12950, 12961, 12962, 12965, 12969,
12973, 12979, 12980, 12985, 12989, 12993, 13000, 13001, 13002, 13003,
13004, 13005, 13006, 13007, 13017, 13021, 13028, 13035, 13036, 13052,
13056, 13061, 13065, 13080, 13085, 13089, 13092, 13095, 13096, 13097,
13100, 13107, 13117, 13131, 13132, 13136, 13147, 13148, 13151, 13152,
13155, 13159, 13166, 13170, 13174, 13181, 13191, 13192, 13196, 13197,
13200, 13201, 13212, 13213, 13222, 13223, 13231, 13241, 13242, 13246,
13247, 13250, 13266, 13274, 13282, 13304, 13305, 13316, 13320, 13347,
13349, 13354, 13357, 13360, 13362, 13364, 13366, 13376, 13378, 13389,
13393, 13397, 13401, 13405, 13414, 13421, 13453, 13457, 13463, 13471,
13483, 13487, 13491, 13497, 13498, 13500, 13501, 13502, 13506, 13536,
13563, 13567, 13573, 13575, 13582, 13583, 13586, 13587, 13590, 13591,
13594, 13595, 13611, 13612, 13613, 13618, 13619, 13620, 13625, 13626,
13627, 13628, 13634, 13635, 13636, 13637, 13638, 13658, 13659, 13660,
13661, 13662, 13663, 13664, 13665, 13666, 13667, 13668, 13669, 13670,
13671, 13672, 13673, 13674, 13675, 13676, 13677, 13678, 13679, 13680,
13681, 13682, 13683, 13684, 13685, 13686, 13687, 13688, 13689, 13690,
13691, 13692, 13693, 13694, 13695, 13696, 13697, 13698, 13699, 13700,
13701, 13702, 13703, 13704, 13705, 13706, 13707, 13708, 13709, 13710,
13711, 13712, 13713, 13714, 13715, 13716, 13717, 13718, 13719, 13720,
13721, 13722, 13723, 13724, 13725, 13726, 13727, 13728, 13729, 13730,
13731, 13732, 13733, 13734, 13735, 13736, 13737, 13738, 13739, 13740,
13741, 13742, 13743, 13744, 13745, 13746, 13747, 13748, 13749, 13750,
13751, 13752, 13753, 13754, 13755, 13756, 13757, 13758, 13759, 13760,
13761, 13762, 13763, 13764, 13765, 13766, 13767, 13768, 13769, 13770,
13771, 13772, 13773, 13774, 13775, 13776, 13777, 13778, 13779, 13780,
13781, 13782, 13783, 13784, 13785, 13786, 13787, 13788, 13789, 13790,
13791, 13792, 13793, 13794, 13795, 13796, 13797, 13798, 13799, 13800,
13801, 13802, 13803, 13804, 13805, 13806, 13807, 13808, 13809, 13810,
13811, 13812, 13813, 13814, 13815, 13816, 13817, 13818, 13819, 13820,
13821, 13822, 13823, 13824, 13825, 13826, 13827, 13828, 13829, 13830,
13831, 13832, 13833, 13834, 13835, 13836, 13837, 13838, 13839, 13840,
13841, 13842, 13843, 13844, 13845, 13846, 13847, 13848, 13849, 13850,
13851, 13852, 13853, 13854, 13855, 13856, 13857, 13858, 13859, 13860,
13861, 13862, 13863, 13864, 13865, 13866, 13867, 13868, 13869, 13870,
13871, 13872, 13873, 13874, 13875, 13876, 13877, 13878, 13879, 13880,
13881, 13882, 13883, 13884, 13885, 13886, 13887, 13888, 13889, 13890,
13891, 13892, 13893, 13894, 13895, 13896, 13897, 13898, 13899, 13900,
13901, 13902, 13903, 13904, 13905, 13906, 13907, 13908, 13909, 13910,
13911, 13912, 13913, 13914, 13915, 13916, 13917, 13918, 13919, 13920,
13921, 13922, 13923, 13924, 13925, 13939, 13940, 13941, 13942, 13943,
13944, 13945, 13946, 13947, 13948, 13949, 13950, 13951, 13952, 13953,
13954, 13955, 13956, 13957, 13958, 13959, 13960, 13961, 13962, 13963,
13964, 13965, 13966, 13967, 13968, 13969, 13970, 13971, 13972, 13973,
13974, 13975, 13976, 13977, 13978, 13979, 13980, 13981, 13982, 13983,
13984, 13985, 13986, 14000, 14001, 14002, 14003, 14004, 14005, 14006,
14007, 14008, 14009, 14010, 14011, 14012, 14013, 14014, 14015, 14016,
14017, 14018, 14019, 14020, 14021, 14022, 14032, 14033, 14034, 14035,
14036, 14037, 14038, 14039, 14040, 14041, 14042, 14043, 14044, 14045,
14046, 14047, 14048, 14049, 14050, 14051, 14052, 14053, 14054, 14055,
14056, 14057, 14058, 14059, 14060, 14061, 14062, 14063, 14064, 14065,
14066, 14067, 14068, 14069, 14070, 14071, 14072, 14073, 14074, 14075,
14076, 14077, 14078, 14079, 14080, 14081, 14082, 14083, 14084, 14085,
14086, 14087, 14088, 14089, 14090, 14091, 14092, 14093, 14094, 14095,
14096, 14097, 14098, 14099, 14100, 14101, 14102, 14103, 14104, 14105,
14106, 14107, 14108
};
#endif
#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
First, the terminals, then, starting at YYNTOKENS, nonterminals. */
static const char *const yytname[] =
{
"$end", "error", "$undefined", "IDENT", "FCONST", "SCONST", "BCONST",
"XCONST", "Op", "ICONST", "PARAM", "TYPECAST", "DOT_DOT", "COLON_EQUALS",
"EQUALS_GREATER", "LESS_EQUALS", "GREATER_EQUALS", "NOT_EQUALS",
"ABORT_P", "ABSOLUTE_P", "ACCESS", "ACTION", "ADD_P", "ADMIN", "AFTER",
"AGGREGATE", "ALL", "ALSO", "ALTER", "ALWAYS", "ANALYSE", "ANALYZE",
"AND", "ANY", "ARRAY", "AS", "ASC", "ASSERTION", "ASSIGNMENT",
"ASYMMETRIC", "AT", "ATTRIBUTE", "AUTHORIZATION", "BACKWARD", "BEFORE",
"BEGIN_P", "BETWEEN", "BIGINT", "BINARY", "BIT", "BOOLEAN_P", "BOTH",
"BY", "CACHE", "CALLED", "CASCADE", "CASCADED", "CASE", "CAST",
"CATALOG_P", "CHAIN", "CHAR_P", "CHARACTER", "CHARACTERISTICS", "CHECK",
"CHECKPOINT", "CLASS", "CLOSE", "CLUSTER", "COALESCE", "COLLATE",
"COLLATION", "COLUMN", "COMMENT", "COMMENTS", "COMMIT", "COMMITTED",
"CONCURRENTLY", "CONFIGURATION", "CONFLICT", "CONNECTION", "CONSTRAINT",
"CONSTRAINTS", "CONTENT_P", "CONTINUE_P", "CONVERSION_P", "COPY", "COST",
"CREATE", "CROSS", "CSV", "CUBE", "CURRENT_P", "CURRENT_CATALOG",
"CURRENT_DATE", "CURRENT_ROLE", "CURRENT_SCHEMA", "CURRENT_TIME",
"CURRENT_TIMESTAMP", "CURRENT_USER", "CURSOR", "CYCLE", "DATA_P",
"DATABASE", "DAY_P", "DEALLOCATE", "DEC", "DECIMAL_P", "DECLARE",
"DEFAULT", "DEFAULTS", "DEFERRABLE", "DEFERRED", "DEFINER", "DELETE_P",
"DELIMITER", "DELIMITERS", "DESC", "DICTIONARY", "DISABLE_P", "DISCARD",
"DISTINCT", "DO", "DOCUMENT_P", "DOMAIN_P", "DOUBLE_P", "DROP", "EACH",
"ELSE", "ENABLE_P", "ENCODING", "ENCRYPTED", "END_P", "ENUM_P", "ESCAPE",
"EVENT", "EXCEPT", "EXCLUDE", "EXCLUDING", "EXCLUSIVE", "EXECUTE",
"EXISTS", "EXPLAIN", "EXTENSION", "EXTERNAL", "EXTRACT", "FALSE_P",
"FAMILY", "FETCH", "FILTER", "FIRST_P", "FLOAT_P", "FOLLOWING", "FOR",
"FORCE", "FOREIGN", "FORWARD", "FREEZE", "FROM", "FULL", "FUNCTION",
"FUNCTIONS", "GLOBAL", "GRANT", "GRANTED", "GREATEST", "GROUP_P",
"GROUPING", "HANDLER", "HAVING", "HEADER_P", "HOLD", "HOUR_P",
"IDENTITY_P", "IF_P", "ILIKE", "IMMEDIATE", "IMMUTABLE", "IMPLICIT_P",
"IMPORT_P", "IN_P", "INCLUDING", "INCREMENT", "INDEX", "INDEXES",
"INHERIT", "INHERITS", "INITIALLY", "INLINE_P", "INNER_P", "INOUT",
"INPUT_P", "INSENSITIVE", "INSERT", "INSTEAD", "INT_P", "INTEGER",
"INTERSECT", "INTERVAL", "INTO", "INVOKER", "IS", "ISNULL", "ISOLATION",
"JOIN", "KEY", "LABEL", "LANGUAGE", "LARGE_P", "LAST_P", "LATERAL_P",
"LEADING", "LEAKPROOF", "LEAST", "LEFT", "LEVEL", "LIKE", "LIMIT",
"LISTEN", "LOAD", "LOCAL", "LOCALTIME", "LOCALTIMESTAMP", "LOCATION",
"LOCK_P", "LOCKED", "LOGGED", "MAPPING", "MATCH", "MATERIALIZED",
"MAXVALUE", "MINUTE_P", "MINVALUE", "MODE", "MONTH_P", "MOVE", "NAME_P",
"NAMES", "NATIONAL", "NATURAL", "NCHAR", "NEXT", "NO", "NONE", "NOT",
"NOTHING", "NOTIFY", "NOTNULL", "NOWAIT", "NULL_P", "NULLIF", "NULLS_P",
"NUMERIC", "OBJECT_P", "OF", "OFF", "OFFSET", "OIDS", "ON", "ONLY",
"OPERATOR", "OPTION", "OPTIONS", "OR", "ORDER", "ORDINALITY", "OUT_P",
"OUTER_P", "OVER", "OVERLAPS", "OVERLAY", "OWNED", "OWNER", "PARSER",
"PARTIAL", "PARTITION", "PASSING", "PASSWORD", "PLACING", "PLANS",
"POLICY", "POSITION", "PRECEDING", "PRECISION", "PRESERVE", "PREPARE",
"PREPARED", "PRIMARY", "PRIOR", "PRIVILEGES", "PROCEDURAL", "PROCEDURE",
"PROGRAM", "QUOTE", "RANGE", "READ", "REAL", "REASSIGN", "RECHECK",
"RECURSIVE", "REF", "REFERENCES", "REFRESH", "REINDEX", "RELATIVE_P",
"RELEASE", "RENAME", "REPEATABLE", "REPLACE", "REPLICA", "RESET",
"RESTART", "RESTRICT", "RETURNING", "RETURNS", "REVOKE", "RIGHT", "ROLE",
"ROLLBACK", "ROLLUP", "ROW", "ROWS", "RULE", "SAVEPOINT", "SCHEMA",
"SCROLL", "SEARCH", "SECOND_P", "SECURITY", "SELECT", "SEQUENCE",
"SEQUENCES", "SERIALIZABLE", "SERVER", "SESSION", "SESSION_USER", "SET",
"SETS", "SETOF", "SHARE", "SHOW", "SIMILAR", "SIMPLE", "SKIP",
"SMALLINT", "SNAPSHOT", "SOME", "SQL_P", "STABLE", "STANDALONE_P",
"START", "STATEMENT", "STATISTICS", "STDIN", "STDOUT", "STORAGE",
"STRICT_P", "STRIP_P", "SUBSTRING", "SYMMETRIC", "SYSID", "SYSTEM_P",
"TABLE", "TABLES", "TABLESAMPLE", "TABLESPACE", "TEMP", "TEMPLATE",
"TEMPORARY", "TEXT_P", "THEN", "TIME", "TIMESTAMP", "TO", "TRAILING",
"TRANSACTION", "TRANSFORM", "TREAT", "TRIGGER", "TRIM", "TRUE_P",
"TRUNCATE", "TRUSTED", "TYPE_P", "TYPES_P", "UNBOUNDED", "UNCOMMITTED",
"UNENCRYPTED", "UNION", "UNIQUE", "UNKNOWN", "UNLISTEN", "UNLOGGED",
"UNTIL", "UPDATE", "USER", "USING", "VACUUM", "VALID", "VALIDATE",
"VALIDATOR", "VALUE_P", "VALUES", "VARCHAR", "VARIADIC", "VARYING",
"VERBOSE", "VERSION_P", "VIEW", "VIEWS", "VOLATILE", "WHEN", "WHERE",
"WHITESPACE_P", "WINDOW", "WITH", "WITHIN", "WITHOUT", "WORK", "WRAPPER",
"WRITE", "XML_P", "XMLATTRIBUTES", "XMLCONCAT", "XMLELEMENT",
"XMLEXISTS", "XMLFOREST", "XMLPARSE", "XMLPI", "XMLROOT", "XMLSERIALIZE",
"YEAR_P", "YES_P", "ZONE", "NOT_LA", "NULLS_LA", "WITH_LA", "'<'", "'>'",
"'='", "POSTFIXOP", "'+'", "'-'", "'*'", "'/'", "'%'", "'^'", "'?'",
"UMINUS", "'['", "']'", "'('", "')'", "'.'", "';'", "','", "':'",
"$accept", "stmtblock", "stmtmulti", "stmt", "CreateRoleStmt",
"opt_with", "OptRoleList", "AlterOptRoleList", "AlterOptRoleElem",
"CreateOptRoleElem", "CreateUserStmt", "AlterRoleStmt",
"opt_in_database", "AlterRoleSetStmt", "AlterUserStmt",
"AlterUserSetStmt", "DropRoleStmt", "DropUserStmt", "CreateGroupStmt",
"AlterGroupStmt", "add_drop", "DropGroupStmt", "CreateSchemaStmt",
"OptSchemaName", "OptSchemaEltList", "schema_stmt", "VariableSetStmt",
"set_rest", "generic_set", "set_rest_more", "var_name", "var_list",
"var_value", "iso_level", "opt_boolean_or_string", "zone_value",
"opt_encoding", "NonReservedWord_or_Sconst", "VariableResetStmt",
"reset_rest", "generic_reset", "SetResetClause",
"FunctionSetResetClause", "VariableShowStmt", "ConstraintsSetStmt",
"constraints_set_list", "constraints_set_mode", "CheckPointStmt",
"DiscardStmt", "AlterTableStmt", "alter_table_cmds", "alter_table_cmd",
"alter_column_default", "opt_drop_behavior", "opt_collate_clause",
"alter_using", "replica_identity", "reloptions", "opt_reloptions",
"reloption_list", "reloption_elem", "AlterCompositeTypeStmt",
"alter_type_cmds", "alter_type_cmd", "ClosePortalStmt", "CopyStmt",
"copy_from", "opt_program", "copy_file_name", "copy_options",
"copy_opt_list", "copy_opt_item", "opt_binary", "opt_oids",
"copy_delimiter", "opt_using", "copy_generic_opt_list",
"copy_generic_opt_elem", "copy_generic_opt_arg",
"copy_generic_opt_arg_list", "copy_generic_opt_arg_list_item",
"CreateStmt", "OptTemp", "OptTableElementList",
"OptTypedTableElementList", "TableElementList", "TypedTableElementList",
"TableElement", "TypedTableElement", "columnDef", "columnOptions",
"ColQualList", "ColConstraint", "ColConstraintElem", "ConstraintAttr",
"TableLikeClause", "TableLikeOptionList", "TableLikeOption",
"TableConstraint", "ConstraintElem", "opt_no_inherit", "opt_column_list",
"columnList", "columnElem", "key_match", "ExclusionConstraintList",
"ExclusionConstraintElem", "ExclusionWhereClause", "key_actions",
"key_update", "key_delete", "key_action", "OptInherit", "OptWith",
"OnCommitOption", "OptTableSpace", "OptConsTableSpace", "ExistingIndex",
"CreateAsStmt", "create_as_target", "opt_with_data", "CreateMatViewStmt",
"create_mv_target", "OptNoLog", "RefreshMatViewStmt", "CreateSeqStmt",
"AlterSeqStmt", "OptSeqOptList", "SeqOptList", "SeqOptElem", "opt_by",
"NumericOnly", "NumericOnly_list", "CreatePLangStmt", "opt_trusted",
"handler_name", "opt_inline_handler", "validator_clause",
"opt_validator", "DropPLangStmt", "opt_procedural",
"CreateTableSpaceStmt", "OptTableSpaceOwner", "DropTableSpaceStmt",
"CreateExtensionStmt", "create_extension_opt_list",
"create_extension_opt_item", "AlterExtensionStmt",
"alter_extension_opt_list", "alter_extension_opt_item",
"AlterExtensionContentsStmt", "CreateFdwStmt", "fdw_option",
"fdw_options", "opt_fdw_options", "DropFdwStmt", "AlterFdwStmt",
"create_generic_options", "generic_option_list", "alter_generic_options",
"alter_generic_option_list", "alter_generic_option_elem",
"generic_option_elem", "generic_option_name", "generic_option_arg",
"CreateForeignServerStmt", "opt_type", "foreign_server_version",
"opt_foreign_server_version", "DropForeignServerStmt",
"AlterForeignServerStmt", "CreateForeignTableStmt",
"AlterForeignTableStmt", "ImportForeignSchemaStmt",
"import_qualification_type", "import_qualification",
"CreateUserMappingStmt", "auth_ident", "DropUserMappingStmt",
"AlterUserMappingStmt", "CreatePolicyStmt", "AlterPolicyStmt",
"DropPolicyStmt", "RowSecurityOptionalExpr",
"RowSecurityOptionalWithCheck", "RowSecurityDefaultToRole",
"RowSecurityOptionalToRole", "RowSecurityDefaultForCmd",
"row_security_cmd", "CreateTrigStmt", "TriggerActionTime",
"TriggerEvents", "TriggerOneEvent", "TriggerForSpec",
"TriggerForOptEach", "TriggerForType", "TriggerWhen", "TriggerFuncArgs",
"TriggerFuncArg", "OptConstrFromTable", "ConstraintAttributeSpec",
"ConstraintAttributeElem", "DropTrigStmt", "CreateEventTrigStmt",
"event_trigger_when_list", "event_trigger_when_item",
"event_trigger_value_list", "AlterEventTrigStmt", "enable_trigger",
"CreateAssertStmt", "DropAssertStmt", "DefineStmt", "definition",
"def_list", "def_elem", "def_arg", "old_aggr_definition",
"old_aggr_list", "old_aggr_elem", "opt_enum_val_list", "enum_val_list",
"AlterEnumStmt", "opt_if_not_exists", "CreateOpClassStmt",
"opclass_item_list", "opclass_item", "opt_default", "opt_opfamily",
"opclass_purpose", "opt_recheck", "CreateOpFamilyStmt",
"AlterOpFamilyStmt", "opclass_drop_list", "opclass_drop",
"DropOpClassStmt", "DropOpFamilyStmt", "DropOwnedStmt",
"ReassignOwnedStmt", "DropStmt", "drop_type", "any_name_list",
"any_name", "attrs", "type_name_list", "TruncateStmt",
"opt_restart_seqs", "CommentStmt", "comment_type", "comment_text",
"SecLabelStmt", "opt_provider", "security_label_type", "security_label",
"FetchStmt", "fetch_args", "from_in", "opt_from_in", "GrantStmt",
"RevokeStmt", "privileges", "privilege_list", "privilege",
"privilege_target", "grantee_list", "grantee", "opt_grant_grant_option",
"function_with_argtypes_list", "function_with_argtypes", "GrantRoleStmt",
"RevokeRoleStmt", "opt_grant_admin_option", "opt_granted_by",
"AlterDefaultPrivilegesStmt", "DefACLOptionList", "DefACLOption",
"DefACLAction", "defacl_privilege_target", "IndexStmt", "opt_unique",
"opt_concurrently", "opt_index_name", "access_method_clause",
"index_params", "index_elem", "opt_collate", "opt_class", "opt_asc_desc",
"opt_nulls_order", "CreateFunctionStmt", "opt_or_replace", "func_args",
"func_args_list", "func_args_with_defaults",
"func_args_with_defaults_list", "func_arg", "arg_class", "param_name",
"func_return", "func_type", "func_arg_with_default", "aggr_arg",
"aggr_args", "aggr_args_list", "createfunc_opt_list",
"common_func_opt_item", "createfunc_opt_item", "func_as",
"transform_type_list", "opt_definition", "table_func_column",
"table_func_column_list", "AlterFunctionStmt", "alterfunc_opt_list",
"opt_restrict", "RemoveFuncStmt", "RemoveAggrStmt", "RemoveOperStmt",
"oper_argtypes", "any_operator", "DoStmt", "dostmt_opt_list",
"dostmt_opt_item", "CreateCastStmt", "cast_context", "DropCastStmt",
"opt_if_exists", "CreateTransformStmt", "transform_element_list",
"DropTransformStmt", "ReindexStmt", "reindex_target_type",
"reindex_target_multitable", "reindex_option_list",
"reindex_option_elem", "AlterTblSpcStmt", "RenameStmt", "opt_column",
"opt_set_data", "AlterObjectSchemaStmt", "AlterOwnerStmt", "RuleStmt",
"RuleActionList", "RuleActionMulti", "RuleActionStmt",
"RuleActionStmtOrEmpty", "event", "opt_instead", "DropRuleStmt",
"NotifyStmt", "notify_payload", "ListenStmt", "UnlistenStmt",
"TransactionStmt", "opt_transaction", "transaction_mode_item",
"transaction_mode_list", "transaction_mode_list_or_empty", "ViewStmt",
"opt_check_option", "LoadStmt", "CreatedbStmt", "createdb_opt_list",
"createdb_opt_items", "createdb_opt_item", "createdb_opt_name",
"opt_equal", "AlterDatabaseStmt", "AlterDatabaseSetStmt", "DropdbStmt",
"AlterSystemStmt", "CreateDomainStmt", "AlterDomainStmt", "opt_as",
"AlterTSDictionaryStmt", "AlterTSConfigurationStmt", "any_with",
"CreateConversionStmt", "ClusterStmt", "cluster_index_specification",
"VacuumStmt", "vacuum_option_list", "vacuum_option_elem", "AnalyzeStmt",
"analyze_keyword", "opt_verbose", "opt_full", "opt_freeze",
"opt_name_list", "ExplainStmt", "ExplainableStmt", "explain_option_list",
"explain_option_elem", "explain_option_name", "explain_option_arg",
"PrepareStmt", "prep_type_clause", "PreparableStmt", "ExecuteStmt",
"execute_param_clause", "DeallocateStmt", "InsertStmt", "insert_target",
"insert_rest", "insert_column_list", "insert_column_item",
"opt_on_conflict", "opt_conf_expr", "returning_clause", "DeleteStmt",
"using_clause", "LockStmt", "opt_lock", "lock_type", "opt_nowait",
"opt_nowait_or_skip", "UpdateStmt", "set_clause_list", "set_clause",
"single_set_clause", "multiple_set_clause", "set_target",
"set_target_list", "DeclareCursorStmt", "cursor_name", "cursor_options",
"opt_hold", "SelectStmt", "select_with_parens", "select_no_parens",
"select_clause", "simple_select", "with_clause", "cte_list",
"common_table_expr", "opt_with_clause", "into_clause",
"OptTempTableName", "opt_table", "all_or_distinct", "distinct_clause",
"opt_all_clause", "opt_sort_clause", "sort_clause", "sortby_list",
"sortby", "select_limit", "opt_select_limit", "limit_clause",
"offset_clause", "select_limit_value", "select_offset_value",
"opt_select_fetch_first_value", "select_offset_value2", "row_or_rows",
"first_or_next", "group_clause", "group_by_list", "group_by_item",
"empty_grouping_set", "rollup_clause", "cube_clause",
"grouping_sets_clause", "having_clause", "for_locking_clause",
"opt_for_locking_clause", "for_locking_items", "for_locking_item",
"for_locking_strength", "locked_rels_list", "values_clause",
"from_clause", "from_list", "table_ref", "joined_table", "alias_clause",
"opt_alias_clause", "func_alias_clause", "join_type", "join_outer",
"join_qual", "relation_expr", "relation_expr_list",
"relation_expr_opt_alias", "tablesample_clause", "opt_repeatable_clause",
"func_table", "rowsfrom_item", "rowsfrom_list", "opt_col_def_list",
"opt_ordinality", "where_clause", "where_or_current_clause",
"OptTableFuncElementList", "TableFuncElementList", "TableFuncElement",
"Typename", "opt_array_bounds", "SimpleTypename", "ConstTypename",
"GenericType", "opt_type_modifiers", "Numeric", "opt_float", "Bit",
"ConstBit", "BitWithLength", "BitWithoutLength", "Character",
"ConstCharacter", "CharacterWithLength", "CharacterWithoutLength",
"character", "opt_varying", "opt_charset", "ConstDatetime",
"ConstInterval", "opt_timezone", "opt_interval", "interval_second",
"a_expr", "b_expr", "c_expr", "func_application", "func_expr",
"func_expr_windowless", "func_expr_common_subexpr", "xml_root_version",
"opt_xml_root_standalone", "xml_attributes", "xml_attribute_list",
"xml_attribute_el", "document_or_content", "xml_whitespace_option",
"xmlexists_argument", "within_group_clause", "filter_clause",
"window_clause", "window_definition_list", "window_definition",
"over_clause", "window_specification", "opt_existing_window_name",
"opt_partition_clause", "opt_frame_clause", "frame_extent",
"frame_bound", "row", "explicit_row", "implicit_row", "sub_type",
"all_Op", "MathOp", "qual_Op", "qual_all_Op", "subquery_Op", "expr_list",
"func_arg_list", "func_arg_expr", "type_list", "array_expr",
"array_expr_list", "extract_list", "extract_arg", "overlay_list",
"overlay_placing", "position_list", "substr_list", "substr_from",
"substr_for", "trim_list", "in_expr", "case_expr", "when_clause_list",
"when_clause", "case_default", "case_arg", "columnref", "indirection_el",
"indirection", "opt_indirection", "opt_asymmetric", "ctext_expr",
"ctext_expr_list", "ctext_row", "opt_target_list", "target_list",
"target_el", "qualified_name_list", "qualified_name", "name_list",
"name", "database_name", "access_method", "attr_name", "index_name",
"file_name", "func_name", "AexprConst", "Iconst", "Sconst",
"SignedIconst", "RoleId", "RoleSpec", "role_list",
"Iconst_or_Normalized", "Sconst_or_Normalized",
"Flat_Sconst_or_Normalized", "NonReservedWord_or_Sconst_or_Normalized",
"ColId", "type_function_name", "NonReservedWord", "ColLabel",
"unreserved_keyword", "col_name_keyword", "type_func_name_keyword",
"reserved_keyword", 0
};
#endif
# ifdef YYPRINT
/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
token YYLEX-NUM. */
static const yytype_uint16 yytoknum[] =
{
0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
425, 426, 427, 428, 429, 430, 431, 432, 433, 434,
435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
465, 466, 467, 468, 469, 470, 471, 472, 473, 474,
475, 476, 477, 478, 479, 480, 481, 482, 483, 484,
485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
495, 496, 497, 498, 499, 500, 501, 502, 503, 504,
505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
515, 516, 517, 518, 519, 520, 521, 522, 523, 524,
525, 526, 527, 528, 529, 530, 531, 532, 533, 534,
535, 536, 537, 538, 539, 540, 541, 542, 543, 544,
545, 546, 547, 548, 549, 550, 551, 552, 553, 554,
555, 556, 557, 558, 559, 560, 561, 562, 563, 564,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 582, 583, 584,
585, 586, 587, 588, 589, 590, 591, 592, 593, 594,
595, 596, 597, 598, 599, 600, 601, 602, 603, 604,
605, 606, 607, 608, 609, 610, 611, 612, 613, 614,
615, 616, 617, 618, 619, 620, 621, 622, 623, 624,
625, 626, 627, 628, 629, 630, 631, 632, 633, 634,
635, 636, 637, 638, 639, 640, 641, 642, 643, 644,
645, 646, 647, 648, 649, 650, 651, 652, 653, 654,
655, 656, 657, 658, 659, 660, 661, 662, 663, 664,
665, 666, 667, 668, 669, 670, 671, 672, 673, 674,
675, 676, 677, 678, 679, 680, 681, 682, 683, 684,
685, 686, 687, 688, 689, 690, 691, 60, 62, 61,
692, 43, 45, 42, 47, 37, 94, 63, 693, 91,
93, 40, 41, 46, 59, 44, 58
};
# endif
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
static const yytype_uint16 yyr1[] =
{
0, 457, 458, 459, 459, 460, 460, 460, 460, 460,
460, 460, 460, 460, 460, 460, 460, 460, 460, 460,
460, 460, 460, 460, 460, 460, 460, 460, 460, 460,
460, 460, 460, 460, 460, 460, 460, 460, 460, 460,
460, 460, 460, 460, 460, 460, 460, 460, 460, 460,
460, 460, 460, 460, 460, 460, 460, 460, 460, 460,
460, 460, 460, 460, 460, 460, 460, 460, 460, 460,
460, 460, 460, 460, 460, 460, 460, 460, 460, 460,
460, 460, 460, 460, 460, 460, 460, 460, 460, 460,
460, 460, 460, 460, 460, 460, 460, 460, 460, 460,
460, 460, 460, 460, 460, 460, 460, 460, 460, 460,
460, 460, 460, 460, 460, 460, 460, 460, 460, 460,
460, 460, 460, 460, 460, 460, 460, 460, 461, 462,
462, 462, 463, 463, 464, 464, 465, 465, 465, 465,
465, 465, 465, 465, 465, 466, 466, 466, 466, 466,
466, 467, 468, 469, 469, 470, 470, 471, 472, 473,
473, 474, 474, 475, 476, 477, 477, 478, 478, 479,
479, 479, 479, 480, 480, 481, 481, 482, 482, 482,
482, 482, 482, 483, 483, 483, 484, 484, 484, 485,
485, 485, 485, 486, 486, 486, 486, 486, 486, 486,
486, 486, 486, 486, 487, 487, 488, 488, 489, 489,
489, 490, 490, 490, 490, 491, 491, 491, 491, 492,
492, 492, 492, 492, 492, 492, 493, 493, 493, 494,
494, 495, 496, 496, 496, 496, 497, 497, 498, 498,
499, 499, 500, 500, 500, 500, 500, 501, 502, 502,
503, 503, 504, 505, 505, 505, 505, 505, 506, 506,
506, 506, 506, 506, 506, 506, 506, 506, 506, 506,
506, 506, 506, 506, 507, 507, 508, 508, 508, 508,
508, 508, 508, 508, 508, 508, 508, 508, 508, 508,
508, 508, 508, 508, 508, 508, 508, 508, 508, 508,
508, 508, 508, 508, 508, 508, 508, 508, 508, 508,
508, 508, 508, 508, 508, 508, 508, 508, 508, 508,
508, 508, 508, 508, 508, 508, 509, 509, 510, 510,
510, 511, 511, 512, 512, 513, 513, 513, 513, 514,
515, 515, 516, 516, 517, 517, 517, 517, 518, 519,
519, 520, 520, 520, 520, 521, 521, 522, 522, 523,
523, 524, 524, 525, 525, 525, 526, 526, 527, 527,
528, 528, 528, 528, 528, 528, 528, 528, 528, 528,
528, 528, 528, 528, 529, 529, 530, 530, 531, 531,
532, 532, 533, 533, 534, 535, 535, 535, 535, 535,
536, 536, 537, 538, 538, 538, 538, 539, 539, 539,
539, 539, 539, 539, 539, 540, 540, 541, 541, 542,
542, 543, 543, 544, 544, 544, 545, 545, 546, 547,
548, 548, 549, 549, 549, 549, 550, 550, 550, 550,
550, 550, 550, 551, 551, 551, 551, 552, 553, 553,
553, 554, 554, 554, 554, 554, 554, 555, 555, 556,
556, 556, 556, 556, 556, 556, 557, 557, 558, 558,
559, 559, 560, 561, 561, 561, 561, 562, 562, 563,
563, 564, 564, 565, 565, 565, 565, 565, 566, 567,
568, 568, 568, 568, 568, 569, 569, 570, 570, 570,
570, 571, 571, 571, 571, 572, 572, 573, 573, 574,
575, 575, 576, 577, 577, 577, 578, 578, 579, 580,
580, 581, 582, 582, 583, 583, 584, 584, 585, 585,
586, 586, 586, 586, 586, 586, 586, 586, 586, 586,
586, 586, 587, 587, 588, 588, 588, 589, 589, 590,
590, 591, 591, 592, 592, 593, 593, 594, 594, 595,
595, 596, 596, 597, 597, 598, 599, 599, 600, 600,
601, 601, 602, 602, 603, 603, 603, 604, 605, 605,
606, 607, 607, 607, 607, 607, 607, 607, 607, 607,
607, 607, 607, 607, 607, 607, 607, 607, 607, 607,
607, 607, 607, 607, 607, 607, 608, 609, 609, 609,
609, 610, 610, 611, 611, 612, 612, 613, 613, 614,
614, 615, 615, 616, 617, 617, 618, 618, 618, 618,
619, 620, 621, 622, 623, 623, 624, 624, 625, 625,
626, 626, 627, 627, 627, 628, 628, 629, 629, 630,
631, 631, 632, 632, 633, 634, 634, 635, 635, 636,
637, 638, 639, 639, 640, 640, 641, 641, 642, 642,
643, 643, 644, 644, 645, 645, 645, 645, 645, 646,
646, 647, 647, 647, 648, 648, 649, 649, 649, 649,
649, 650, 650, 651, 651, 652, 652, 653, 653, 654,
654, 654, 655, 655, 655, 655, 656, 656, 657, 657,
658, 658, 658, 658, 658, 658, 659, 659, 660, 660,
661, 661, 662, 663, 663, 664, 665, 665, 665, 665,
666, 667, 668, 668, 668, 668, 668, 668, 668, 668,
668, 668, 668, 668, 668, 668, 669, 670, 670, 671,
671, 672, 672, 672, 672, 672, 673, 674, 674, 675,
676, 676, 677, 677, 678, 678, 678, 679, 679, 680,
681, 681, 682, 682, 682, 682, 682, 683, 683, 684,
684, 685, 685, 685, 686, 686, 687, 688, 688, 689,
689, 690, 690, 691, 691, 692, 692, 693, 694, 695,
695, 695, 695, 695, 695, 695, 695, 696, 696, 696,
696, 696, 696, 696, 696, 696, 696, 696, 696, 696,
696, 696, 697, 697, 698, 698, 699, 699, 700, 700,
701, 702, 702, 702, 703, 703, 703, 703, 703, 703,
703, 703, 703, 703, 703, 703, 703, 703, 703, 703,
703, 703, 704, 704, 704, 704, 704, 704, 704, 704,
704, 704, 704, 704, 704, 704, 704, 704, 704, 704,
704, 704, 704, 705, 705, 706, 706, 706, 706, 706,
706, 706, 707, 707, 708, 708, 708, 708, 708, 708,
708, 708, 708, 708, 708, 709, 709, 710, 710, 711,
711, 711, 711, 711, 711, 711, 711, 711, 711, 711,
711, 711, 711, 711, 711, 712, 712, 713, 713, 714,
715, 715, 716, 716, 716, 716, 716, 717, 717, 718,
718, 718, 718, 719, 719, 719, 719, 719, 719, 719,
719, 719, 719, 719, 719, 719, 719, 719, 719, 720,
720, 721, 721, 722, 722, 723, 723, 724, 725, 726,
726, 727, 727, 728, 728, 729, 730, 730, 731, 731,
731, 732, 732, 732, 733, 733, 733, 733, 734, 734,
735, 735, 736, 736, 737, 737, 738, 738, 739, 739,
740, 740, 740, 741, 741, 742, 742, 742, 743, 743,
743, 744, 744, 744, 745, 745, 745, 746, 746, 747,
747, 748, 748, 749, 749, 750, 750, 751, 751, 751,
751, 751, 752, 752, 752, 752, 752, 753, 754, 755,
755, 755, 756, 756, 756, 757, 758, 758, 758, 758,
759, 759, 760, 760, 761, 761, 761, 761, 761, 761,
761, 761, 761, 761, 761, 761, 761, 761, 761, 762,
762, 762, 762, 762, 763, 763, 764, 764, 765, 765,
766, 767, 767, 768, 769, 769, 770, 770, 771, 771,
772, 772, 773, 773, 774, 774, 774, 774, 775, 775,
776, 777, 777, 778, 778, 779, 779, 779, 780, 780,
780, 781, 782, 782, 783, 784, 784, 784, 784, 785,
786, 786, 786, 786, 787, 787, 788, 788, 788, 789,
789, 790, 791, 791, 792, 792, 792, 792, 792, 792,
792, 792, 792, 792, 792, 792, 792, 792, 792, 792,
792, 792, 792, 792, 792, 792, 792, 792, 792, 792,
792, 792, 792, 792, 792, 792, 792, 792, 792, 792,
792, 792, 792, 792, 792, 792, 792, 792, 792, 792,
792, 792, 793, 793, 794, 794, 795, 795, 795, 795,
795, 795, 795, 795, 795, 795, 795, 795, 795, 795,
795, 795, 795, 795, 795, 795, 795, 795, 795, 795,
796, 796, 796, 796, 796, 796, 796, 796, 796, 796,
796, 796, 796, 796, 796, 796, 796, 796, 796, 797,
798, 798, 798, 799, 799, 800, 800, 800, 800, 800,
801, 801, 802, 802, 802, 802, 803, 803, 803, 804,
804, 805, 806, 806, 807, 808, 808, 809, 809, 809,
809, 809, 809, 809, 809, 809, 809, 809, 809, 809,
809, 810, 810, 810, 811, 811, 811, 811, 811, 812,
812, 812, 813, 813, 814, 814, 814, 814, 815, 815,
815, 815, 816, 817, 818, 818, 819, 819, 820, 820,
820, 821, 821, 821, 821, 821, 821, 821, 822, 822,
823, 823, 823, 824, 825, 825, 826, 826, 827, 828,
828, 828, 828, 828, 828, 828, 829, 829, 830, 831,
831, 831, 831, 831, 831, 832, 832, 833, 834, 834,
834, 835, 835, 836, 836, 836, 836, 836, 837, 837,
838, 838, 838, 838, 839, 839, 840, 840, 841, 841,
842, 842, 843, 843, 844, 844, 845, 845, 845, 845,
846, 846, 846, 846, 846, 846, 846, 846, 846, 847,
847, 848, 849, 849, 850, 850, 850, 851, 852, 852,
853, 853, 853, 853, 854, 854, 855, 855, 856, 856,
856, 856, 857, 858, 858, 859, 859, 859, 860, 860,
861, 862, 862, 862, 863, 863, 863, 864, 864, 865,
866, 866, 867, 868, 868, 869, 869, 869, 869, 869,
869, 869, 869, 870, 870, 871, 871, 871, 872, 873,
873, 874, 874, 875, 876, 876, 877, 878, 878, 879,
880, 881, 881, 881, 881, 881, 882, 882, 882, 883,
883, 884, 884, 885, 885, 885, 885, 885, 885, 885,
885, 886, 886, 887, 887, 887, 887, 887, 887, 887,
888, 888, 888, 889, 889, 890, 891, 891, 892, 892,
893, 893, 893, 893, 893, 893, 893, 893, 893, 894,
894, 895, 895, 895, 896, 896, 897, 897, 898, 898,
899, 900, 900, 901, 901, 902, 902, 902, 902, 903,
903, 904, 904, 904, 905, 905, 906, 906, 907, 908,
908, 908, 909, 910, 910, 911, 911, 912, 912, 913,
913, 914, 914, 914, 914, 914, 915, 916, 917, 918,
919, 919, 920, 920, 921, 921, 922, 922, 923, 924,
924, 924, 924, 925, 925, 926, 926, 927, 927, 928,
928, 929, 929, 929, 929, 929, 929, 929, 929, 930,
930, 930, 930, 930, 930, 931, 931, 931, 931, 932,
932, 933, 933, 933, 933, 933, 934, 934, 934, 934,
935, 935, 936, 936, 937, 937, 937, 937, 938, 938,
939, 939, 939, 940, 941, 941, 942, 942, 943, 944,
944, 945, 945, 946, 946, 947, 947, 948, 948, 948,
949, 949, 950, 950, 951, 952, 952, 952, 952, 952,
952, 953, 953, 953, 954, 954, 954, 954, 954, 954,
954, 955, 955, 955, 955, 956, 956, 957, 957, 958,
958, 958, 958, 958, 958, 958, 958, 958, 958, 958,
959, 959, 960, 960, 961, 961, 962, 963, 964, 964,
965, 965, 966, 967, 968, 968, 968, 968, 968, 968,
969, 969, 970, 970, 971, 971, 971, 971, 972, 973,
973, 973, 974, 974, 974, 974, 974, 974, 974, 974,
974, 974, 974, 974, 974, 974, 975, 975, 976, 976,
976, 976, 976, 976, 976, 976, 976, 976, 976, 976,
976, 976, 976, 976, 976, 976, 976, 976, 976, 976,
976, 976, 976, 976, 976, 976, 976, 976, 976, 976,
976, 976, 976, 976, 976, 976, 976, 976, 976, 976,
976, 976, 976, 976, 976, 976, 976, 976, 976, 976,
976, 976, 976, 976, 976, 976, 976, 976, 976, 976,
976, 976, 976, 977, 977, 977, 977, 977, 977, 977,
977, 977, 977, 977, 977, 977, 977, 977, 977, 977,
977, 977, 977, 977, 977, 977, 977, 977, 977, 977,
978, 978, 978, 978, 978, 978, 978, 978, 978, 978,
978, 978, 978, 978, 978, 979, 979, 979, 979, 979,
979, 979, 980, 980, 981, 981, 982, 982, 982, 982,
982, 982, 982, 982, 982, 982, 982, 982, 982, 982,
982, 982, 982, 982, 982, 982, 982, 982, 982, 982,
982, 982, 982, 982, 982, 982, 982, 982, 982, 982,
982, 982, 982, 982, 982, 982, 982, 982, 983, 983,
984, 984, 984, 984, 985, 986, 986, 987, 987, 988,
988, 989, 989, 989, 990, 990, 990, 990, 991, 991,
992, 992, 993, 993, 994, 994, 995, 996, 996, 996,
997, 998, 998, 999, 999, 1000, 1000, 1000, 1001, 1001,
1002, 1002, 1002, 1002, 1002, 1003, 1003, 1003, 1004, 1004,
1005, 1006, 1006, 1006, 1007, 1007, 1008, 1008, 1008, 1008,
1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1009,
1009, 1010, 1010, 1011, 1011, 1011, 1011, 1011, 1011, 1012,
1012, 1013, 1013, 1014, 1014, 1014, 1015, 1015, 1016, 1016,
1016, 1017, 1017, 1018, 1018, 1018, 1019, 1019, 1019, 1019,
1019, 1019, 1019, 1019, 1020, 1020, 1021, 1022, 1022, 1023,
1023, 1023, 1023, 1023, 1023, 1024, 1025, 1026, 1026, 1026,
1027, 1027, 1028, 1029, 1029, 1030, 1031, 1031, 1032, 1032,
1033, 1033, 1034, 1034, 1034, 1034, 1035, 1035, 1036, 1036,
1037, 1037, 1038, 1038, 1039, 1039, 1040, 1041, 1041, 1042,
1042, 1043, 1043, 1043, 1043, 1044, 1044, 1045, 1045, 1046,
1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1053, 1054,
1054, 1054, 1054, 1054, 1054, 1054, 1054, 1054, 1054, 1054,
1054, 1054, 1054, 1055, 1056, 1057, 1057, 1057, 1058, 1059,
1059, 1059, 1060, 1060, 1061, 1061, 1062, 1062, 1063, 1063,
1064, 1064, 1065, 1065, 1065, 1066, 1066, 1066, 1067, 1067,
1067, 1067, 1068, 1068, 1068, 1068, 1068, 1069, 1069, 1069,
1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069,
1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069,
1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069,
1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069,
1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069,
1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069,
1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069,
1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069,
1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069,
1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069,
1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069,
1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069,
1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069,
1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069,
1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069,
1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069,
1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069,
1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069,
1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069,
1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069,
1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069,
1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069,
1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069,
1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069,
1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069,
1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069,
1069, 1069, 1069, 1069, 1069, 1070, 1070, 1070, 1070, 1070,
1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070,
1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070,
1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070,
1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070,
1070, 1070, 1070, 1071, 1071, 1071, 1071, 1071, 1071, 1071,
1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071,
1071, 1071, 1071, 1071, 1071, 1071, 1072, 1072, 1072, 1072,
1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072,
1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072,
1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072,
1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072,
1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072,
1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072,
1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072,
1072, 1072, 1072
};
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
static const yytype_uint8 yyr2[] =
{
0, 2, 1, 3, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 0, 5, 1,
1, 0, 2, 0, 2, 0, 2, 2, 3, 3,
1, 3, 3, 2, 1, 1, 2, 2, 2, 3,
3, 5, 5, 0, 3, 5, 5, 5, 4, 3,
5, 3, 5, 5, 6, 1, 1, 3, 5, 6,
4, 9, 7, 1, 0, 2, 0, 1, 1, 1,
1, 1, 1, 2, 3, 3, 2, 5, 1, 3,
3, 3, 3, 1, 3, 3, 2, 2, 2, 2,
3, 3, 3, 3, 1, 3, 1, 3, 1, 1,
1, 2, 2, 2, 1, 1, 1, 1, 1, 1,
1, 3, 5, 1, 1, 1, 1, 1, 0, 1,
1, 2, 1, 2, 3, 2, 1, 1, 2, 1,
2, 1, 2, 3, 4, 3, 2, 4, 1, 1,
1, 1, 1, 2, 2, 2, 2, 2, 4, 6,
10, 13, 4, 6, 10, 13, 4, 6, 4, 6,
5, 7, 11, 14, 1, 3, 2, 3, 4, 6,
6, 6, 5, 5, 6, 6, 4, 8, 4, 2,
4, 3, 6, 4, 3, 3, 3, 3, 2, 2,
3, 4, 4, 3, 3, 3, 3, 3, 3, 4,
4, 3, 2, 3, 2, 2, 3, 3, 2, 2,
3, 4, 4, 4, 5, 1, 3, 2, 1, 1,
0, 2, 0, 2, 0, 1, 1, 1, 3, 3,
2, 0, 1, 3, 3, 1, 5, 3, 4, 1,
3, 4, 6, 4, 8, 2, 2, 11, 7, 1,
1, 1, 0, 1, 1, 1, 1, 3, 2, 0,
1, 1, 1, 3, 3, 1, 1, 3, 3, 3,
3, 4, 3, 2, 1, 0, 2, 0, 3, 0,
1, 0, 1, 3, 2, 1, 1, 1, 3, 0,
1, 3, 1, 11, 14, 10, 13, 1, 1, 2,
2, 2, 2, 1, 0, 1, 0, 3, 0, 1,
3, 1, 3, 1, 1, 1, 1, 1, 4, 4,
2, 0, 3, 1, 1, 2, 2, 1, 3, 4,
5, 2, 5, 1, 2, 2, 2, 3, 3, 3,
0, 1, 1, 1, 1, 1, 1, 3, 1, 5,
7, 3, 8, 4, 9, 11, 2, 0, 3, 0,
1, 3, 1, 2, 2, 2, 0, 1, 3, 3,
6, 4, 0, 1, 1, 2, 2, 0, 3, 3,
2, 1, 1, 2, 2, 4, 0, 2, 2, 2,
0, 3, 4, 4, 0, 2, 0, 4, 0, 3,
7, 10, 5, 2, 3, 0, 8, 11, 4, 1,
0, 6, 5, 8, 4, 6, 1, 0, 1, 2,
2, 1, 2, 3, 2, 2, 2, 2, 3, 3,
1, 3, 1, 0, 1, 2, 1, 1, 3, 6,
10, 1, 0, 1, 2, 2, 0, 2, 2, 1,
0, 5, 7, 1, 0, 7, 2, 0, 3, 5,
5, 8, 2, 0, 2, 2, 2, 5, 2, 0,
2, 7, 10, 6, 6, 6, 6, 7, 7, 9,
9, 6, 7, 6, 8, 8, 8, 8, 6, 6,
7, 7, 8, 6, 9, 6, 7, 2, 2, 2,
2, 1, 2, 1, 0, 6, 8, 7, 6, 4,
0, 1, 3, 4, 1, 3, 1, 2, 2, 2,
2, 1, 1, 10, 2, 0, 2, 2, 1, 0,
4, 6, 5, 4, 4, 11, 14, 5, 7, 11,
2, 1, 4, 0, 8, 1, 1, 7, 9, 8,
9, 8, 6, 8, 4, 0, 5, 0, 2, 0,
2, 0, 2, 0, 1, 1, 1, 1, 1, 15,
20, 1, 1, 2, 1, 3, 1, 1, 1, 3,
1, 3, 0, 1, 0, 1, 1, 4, 0, 1,
3, 0, 1, 1, 1, 1, 2, 0, 0, 2,
2, 1, 2, 2, 2, 2, 6, 8, 11, 13,
1, 3, 5, 1, 3, 5, 1, 2, 2, 1,
8, 4, 5, 4, 4, 4, 3, 7, 8, 6,
6, 6, 6, 6, 4, 5, 3, 1, 3, 3,
1, 1, 1, 1, 1, 1, 3, 1, 3, 3,
1, 0, 1, 3, 7, 9, 9, 3, 0, 13,
1, 3, 5, 6, 4, 7, 2, 1, 0, 2,
0, 2, 4, 0, 1, 0, 6, 8, 8, 1,
3, 5, 5, 7, 9, 7, 9, 5, 6, 6,
4, 4, 6, 4, 6, 5, 7, 1, 1, 1,
2, 1, 2, 2, 1, 1, 1, 1, 3, 3,
3, 3, 1, 3, 1, 2, 2, 3, 1, 3,
5, 2, 2, 0, 6, 6, 6, 7, 7, 7,
8, 9, 8, 8, 6, 9, 8, 9, 9, 7,
10, 7, 1, 1, 1, 1, 1, 1, 1, 2,
1, 1, 1, 1, 1, 2, 1, 3, 2, 3,
3, 3, 3, 1, 1, 8, 8, 8, 9, 9,
9, 9, 2, 0, 1, 1, 2, 2, 1, 1,
1, 1, 1, 1, 2, 1, 1, 2, 2, 1,
2, 3, 3, 3, 3, 4, 4, 3, 3, 3,
4, 4, 3, 4, 4, 1, 1, 1, 0, 7,
7, 10, 1, 1, 2, 4, 5, 1, 3, 2,
2, 2, 2, 1, 2, 2, 4, 3, 2, 2,
2, 2, 3, 2, 2, 2, 5, 5, 5, 1,
3, 1, 2, 3, 0, 1, 3, 2, 6, 6,
9, 3, 0, 3, 0, 5, 2, 0, 3, 3,
3, 7, 7, 10, 1, 1, 1, 1, 14, 17,
1, 0, 1, 0, 1, 0, 2, 0, 1, 3,
5, 5, 7, 2, 0, 1, 2, 0, 1, 1,
0, 2, 2, 0, 9, 12, 7, 2, 0, 3,
2, 1, 3, 3, 2, 1, 3, 3, 3, 2,
2, 1, 1, 1, 1, 2, 1, 1, 1, 1,
4, 5, 1, 3, 3, 1, 3, 3, 5, 6,
1, 3, 1, 2, 4, 5, 1, 1, 1, 1,
3, 3, 2, 2, 1, 2, 2, 2, 1, 2,
2, 2, 1, 1, 1, 3, 3, 5, 2, 0,
2, 1, 3, 5, 1, 2, 1, 0, 5, 7,
5, 7, 5, 7, 3, 5, 5, 5, 1, 3,
2, 1, 2, 1, 2, 11, 10, 10, 2, 2,
0, 9, 2, 0, 10, 11, 11, 5, 5, 8,
3, 3, 6, 6, 1, 1, 1, 1, 1, 1,
3, 1, 5, 5, 7, 6, 6, 6, 6, 8,
8, 6, 6, 7, 9, 9, 8, 10, 6, 6,
6, 8, 6, 8, 6, 8, 7, 9, 6, 8,
7, 9, 8, 10, 9, 11, 8, 10, 9, 11,
8, 8, 7, 6, 6, 6, 8, 8, 8, 8,
6, 9, 1, 0, 2, 0, 7, 6, 6, 6,
6, 6, 7, 9, 9, 6, 8, 8, 8, 8,
8, 6, 8, 6, 8, 7, 9, 7, 9, 6,
7, 6, 6, 6, 6, 6, 7, 7, 7, 9,
9, 6, 6, 6, 8, 8, 8, 6, 7, 13,
1, 1, 3, 3, 1, 1, 1, 1, 1, 1,
1, 0, 1, 1, 1, 1, 1, 1, 0, 6,
8, 3, 2, 0, 2, 2, 2, 2, 3, 3,
2, 2, 2, 2, 3, 2, 5, 4, 3, 3,
3, 1, 1, 0, 3, 2, 2, 1, 2, 1,
3, 2, 1, 0, 9, 11, 12, 14, 3, 4,
4, 0, 2, 5, 1, 0, 1, 2, 3, 3,
3, 1, 2, 1, 1, 1, 1, 1, 1, 0,
5, 4, 6, 4, 3, 5, 4, 4, 6, 4,
6, 6, 5, 7, 9, 6, 1, 0, 6, 11,
11, 11, 13, 9, 11, 1, 1, 10, 4, 2,
5, 2, 0, 4, 5, 5, 4, 6, 1, 3,
1, 1, 1, 1, 2, 4, 1, 1, 1, 0,
1, 0, 1, 0, 3, 0, 2, 4, 3, 5,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3, 2, 1, 1, 1, 1, 0, 5, 3, 0,
1, 1, 1, 1, 3, 9, 3, 0, 2, 3,
2, 3, 7, 1, 3, 1, 4, 2, 1, 3,
2, 8, 5, 0, 4, 3, 0, 2, 0, 7,
2, 0, 5, 3, 0, 2, 2, 2, 3, 1,
3, 1, 2, 1, 0, 1, 2, 0, 8, 1,
3, 1, 1, 3, 5, 5, 2, 1, 3, 7,
1, 0, 3, 2, 2, 2, 0, 2, 2, 1,
1, 3, 3, 1, 2, 4, 4, 2, 3, 5,
5, 1, 1, 9, 9, 1, 2, 4, 4, 4,
2, 2, 3, 1, 3, 6, 1, 0, 2, 0,
3, 3, 4, 4, 4, 4, 3, 2, 1, 1,
0, 1, 1, 0, 1, 5, 1, 0, 1, 0,
3, 1, 3, 4, 3, 2, 2, 1, 1, 1,
0, 2, 4, 5, 2, 3, 1, 1, 1, 1,
3, 0, 1, 1, 1, 1, 1, 3, 0, 1,
3, 1, 1, 1, 1, 1, 2, 4, 4, 5,
2, 0, 1, 3, 1, 0, 1, 2, 3, 2,
4, 2, 3, 2, 0, 2, 3, 2, 0, 1,
3, 2, 3, 2, 3, 2, 3, 1, 4, 3,
4, 5, 4, 5, 4, 5, 2, 4, 1, 1,
0, 1, 4, 5, 4, 0, 2, 2, 2, 1,
1, 0, 4, 2, 1, 2, 2, 4, 1, 3,
1, 2, 3, 6, 4, 0, 2, 6, 2, 1,
3, 4, 0, 2, 0, 2, 0, 2, 4, 0,
1, 0, 1, 3, 3, 2, 3, 5, 6, 2,
3, 3, 4, 0, 1, 1, 1, 1, 1, 2,
4, 1, 1, 1, 1, 2, 3, 3, 0, 1,
1, 1, 1, 1, 2, 2, 2, 2, 2, 1,
3, 0, 1, 1, 1, 1, 5, 2, 1, 1,
1, 1, 5, 2, 2, 2, 1, 3, 3, 2,
1, 0, 3, 0, 5, 2, 5, 2, 1, 3,
3, 0, 1, 1, 1, 1, 1, 1, 3, 3,
3, 3, 3, 3, 3, 0, 1, 4, 1, 3,
3, 5, 2, 2, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 2, 3, 2,
2, 3, 3, 2, 2, 3, 5, 4, 6, 3,
5, 4, 6, 4, 6, 5, 7, 3, 2, 4,
2, 3, 3, 4, 3, 4, 3, 4, 5, 6,
6, 7, 6, 7, 6, 7, 3, 4, 4, 6,
2, 3, 4, 1, 3, 2, 2, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
2, 3, 2, 2, 5, 6, 6, 7, 3, 4,
1, 1, 2, 2, 4, 1, 1, 1, 2, 2,
2, 2, 1, 1, 4, 3, 5, 6, 8, 6,
6, 4, 4, 1, 1, 1, 5, 1, 1, 4,
1, 4, 1, 4, 1, 4, 1, 1, 1, 1,
1, 1, 6, 4, 4, 4, 4, 6, 5, 5,
5, 4, 6, 4, 4, 4, 4, 5, 7, 7,
9, 5, 4, 6, 5, 7, 7, 7, 2, 3,
3, 3, 4, 0, 4, 1, 3, 3, 1, 1,
1, 2, 2, 0, 2, 4, 4, 6, 5, 0,
5, 0, 2, 0, 1, 3, 3, 2, 2, 0,
6, 1, 0, 3, 0, 2, 2, 0, 1, 4,
2, 2, 2, 2, 2, 4, 3, 5, 4, 3,
5, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
4, 1, 4, 1, 4, 1, 2, 1, 2, 1,
3, 1, 3, 1, 3, 3, 1, 3, 3, 3,
2, 1, 3, 3, 3, 0, 1, 1, 1, 1,
1, 1, 1, 1, 4, 3, 2, 3, 0, 3,
3, 2, 2, 1, 0, 2, 2, 3, 2, 1,
1, 3, 5, 1, 2, 4, 2, 0, 1, 0,
1, 2, 2, 2, 3, 5, 1, 2, 0, 2,
1, 0, 1, 1, 1, 3, 3, 1, 0, 1,
3, 3, 2, 1, 1, 1, 3, 1, 2, 1,
3, 1, 1, 1, 1, 1, 1, 1, 2, 1,
1, 1, 1, 1, 2, 6, 2, 3, 5, 6,
1, 1, 1, 1, 1, 1, 2, 2, 1, 1,
1, 1, 1, 3, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1
};
/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
STATE-NUM when YYTABLE doesn't specify something else to do. Zero
means the default is an error. */
static const yytype_uint16 yydefact[] =
{
1477, 1263, 564, 1347, 1346, 1263, 252, 0, 1349, 0,
1263, 385, 1008, 0, 0, 0, 0, 564, 1263, 0,
1477, 0, 0, 0, 0, 0, 1490, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1263, 0, 0, 1497,
0, 0, 0, 0, 1490, 0, 1351, 0, 0, 0,
0, 0, 2, 4, 64, 65, 27, 26, 32, 31,
89, 90, 50, 17, 78, 57, 124, 123, 125, 38,
34, 72, 23, 25, 35, 39, 59, 40, 51, 102,
58, 21, 56, 83, 60, 86, 45, 11, 12, 46,
76, 13, 47, 77, 14, 48, 15, 98, 66, 91,
30, 55, 20, 82, 62, 88, 63, 5, 41, 74,
70, 10, 52, 53, 54, 79, 80, 81, 107, 85,
119, 37, 116, 95, 96, 113, 97, 114, 8, 99,
49, 16, 110, 109, 111, 73, 42, 75, 61, 87,
108, 24, 112, 18, 19, 115, 84, 105, 101, 120,
118, 126, 103, 67, 6, 7, 92, 22, 44, 9,
29, 28, 43, 36, 122, 33, 1349, 94, 106, 93,
68, 100, 71, 104, 121, 69, 117, 1450, 1449, 1499,
1453, 1476, 0, 1465, 1262, 1261, 1247, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 563, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1273, 2072,
2087, 2088, 2089, 2090, 2091, 2092, 2093, 2094, 356, 2095,
2096, 2097, 2098, 2099, 2100, 2101, 2102, 2103, 2104, 2355,
2356, 2357, 2358, 2105, 2106, 2107, 2108, 2109, 2110, 2111,
2359, 2360, 2112, 2113, 2114, 2115, 2116, 2361, 2117, 2118,
2119, 2120, 2121, 2122, 2123, 2124, 2125, 2126, 2127, 2128,
2129, 2130, 2131, 2132, 2133, 2134, 2135, 2136, 2137, 2138,
2362, 2363, 2139, 2140, 2141, 2142, 2143, 2144, 2145, 2146,
2147, 2148, 2149, 2150, 2151, 2152, 2153, 2154, 2155, 2156,
2157, 2158, 2159, 2160, 2161, 2162, 2163, 2364, 2164, 2165,
2166, 2365, 2167, 2168, 2169, 2366, 2170, 2171, 2172, 2173,
2174, 2175, 2176, 2367, 2368, 2177, 2178, 2179, 2180, 2181,
2182, 2183, 2184, 2185, 2186, 2187, 2188, 2189, 2190, 2191,
2192, 2193, 2369, 2194, 2195, 2196, 2197, 2370, 2371, 2372,
2198, 2199, 2200, 2201, 2202, 2203, 2204, 2205, 2373, 2206,
2207, 2208, 2209, 2210, 2211, 2212, 2213, 2214, 2215, 2216,
2217, 2218, 2219, 2220, 2221, 2222, 2223, 2224, 2374, 2375,
2225, 2226, 2376, 2227, 2228, 2229, 2377, 2230, 2378, 2231,
2232, 2233, 2234, 2235, 2236, 2237, 2238, 2379, 2239, 2380,
2240, 2241, 2242, 2243, 2244, 2245, 2246, 2247, 2248, 2381,
2249, 2382, 2252, 2250, 2251, 2253, 2254, 2255, 2256, 2257,
2258, 2259, 2260, 2383, 2261, 2262, 2263, 2264, 2265, 2266,
2267, 2268, 2269, 2270, 2271, 2272, 2273, 2274, 2275, 2276,
2277, 2278, 2279, 2280, 2384, 2281, 2282, 2283, 2284, 2285,
2286, 2287, 2288, 2289, 2290, 2291, 2292, 2293, 2294, 2295,
2385, 2296, 2297, 2298, 2299, 2386, 2300, 2301, 2302, 2303,
2304, 2305, 2306, 2307, 2308, 2309, 2310, 2311, 2387, 2312,
2313, 2314, 2315, 2316, 2317, 2318, 2319, 2388, 2389, 2320,
2321, 2390, 2322, 2391, 2323, 2324, 2325, 2326, 2327, 2328,
2329, 2330, 2331, 2332, 2333, 2334, 2335, 2336, 2337, 2338,
2339, 2392, 2393, 2340, 2341, 2342, 2343, 2344, 2345, 2346,
2347, 2348, 2349, 2350, 2351, 2394, 2395, 2396, 2397, 2398,
2399, 2400, 2401, 2402, 2352, 2353, 2354, 355, 1440, 2031,
2073, 2074, 1348, 1329, 564, 0, 1250, 384, 0, 0,
0, 0, 0, 0, 0, 0, 777, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 174, 0,
0, 408, 407, 0, 0, 0, 980, 413, 0, 0,
0, 0, 0, 552, 1390, 2250, 1388, 1441, 253, 256,
257, 254, 255, 2054, 0, 1090, 1091, 1093, 0, 0,
1103, 814, 815, 0, 0, 0, 817, 0, 0, 0,
811, 0, 0, 0, 0, 0, 0, 816, 808, 0,
807, 0, 0, 1103, 0, 0, 0, 809, 0, 0,
1251, 1387, 414, 1477, 0, 1365, 1366, 1367, 1349, 1356,
1368, 1361, 1363, 1362, 1364, 1360, 2053, 2088, 918, 918,
918, 918, 915, 916, 918, 918, 918, 2267, 0, 0,
897, 0, 899, 2055, 918, 923, 469, 469, 469, 0,
922, 927, 469, 0, 1244, 1282, 2036, 1489, 0, 898,
1243, 2320, 1379, 0, 0, 1118, 1114, 1116, 1117, 1115,
0, 0, 0, 2283, 1255, 237, 2293, 2388, 2320, 236,
231, 232, 204, 2092, 0, 0, 922, 0, 1252, 1253,
883, 1496, 1494, 0, 2018, 2110, 2124, 2209, 228, 2278,
2284, 2293, 2388, 2320, 2351, 183, 193, 188, 0, 246,
2293, 2388, 2320, 242, 1273, 0, 1466, 1594, 2027, 0,
1246, 1245, 1350, 0, 1353, 0, 1555, 2263, 1470, 1473,
1355, 1471, 1462, 0, 0, 1, 1477, 1344, 1493, 1493,
0, 1493, 0, 1454, 1462, 1457, 1461, 0, 0, 0,
0, 2072, 2403, 2404, 2405, 2406, 2407, 2408, 2409, 2410,
2411, 2412, 2413, 2414, 2415, 2416, 2417, 2418, 2419, 2420,
2421, 2422, 2423, 2424, 2425, 0, 0, 2037, 2073, 2077,
0, 824, 0, 1285, 2032, 967, 0, 0, 0, 0,
2031, 0, 0, 0, 0, 2078, 2060, 2061, 0, 2058,
2059, 2079, 2080, 2081, 0, 2182, 0, 0, 0, 1924,
1935, 1936, 1937, 2114, 2167, 1932, 1933, 1934, 1926, 1927,
1928, 1929, 1930, 1931, 1938, 0, 1088, 1925, 0, 2182,
0, 153, 0, 131, 0, 0, 2182, 0, 0, 0,
0, 0, 2182, 0, 0, 0, 0, 0, 2214, 0,
131, 2182, 0, 0, 1267, 0, 0, 0, 1269, 1272,
1248, 1332, 0, 2027, 0, 0, 860, 852, 0, 861,
853, 0, 0, 863, 0, 0, 855, 0, 0, 0,
0, 864, 0, 854, 856, 866, 857, 862, 0, 0,
0, 0, 858, 0, 0, 1259, 469, 362, 0, 0,
0, 0, 0, 131, 1317, 0, 2182, 131, 0, 0,
412, 411, 131, 2058, 410, 409, 2114, 2167, 0, 1007,
0, 131, 2182, 0, 176, 635, 567, 0, 0, 736,
2214, 131, 0, 0, 0, 0, 0, 0, 983, 0,
0, 0, 551, 564, 1391, 1389, 0, 1094, 230, 229,
1092, 2182, 0, 330, 0, 0, 2182, 1304, 2075, 1652,
1681, 1659, 1681, 1681, 1648, 1648, 2151, 1661, 2182, 1649,
1650, 1688, 0, 1681, 1648, 1653, 0, 1651, 1691, 1691,
1676, 330, 828, 1633, 1634, 1635, 1636, 1662, 1663, 1637,
1668, 1669, 1683, 1638, 1705, 1648, 2076, 813, 0, 812,
2182, 0, 2182, 2062, 167, 0, 810, 2114, 2167, 2182,
0, 0, 2182, 0, 2182, 159, 2182, 0, 2182, 330,
2182, 568, 0, 0, 2182, 0, 2182, 330, 2182, 2214,
161, 0, 2182, 330, 822, 0, 1384, 0, 1358, 2392,
1373, 0, 1369, 1376, 1372, 1477, 918, 917, 0, 918,
0, 918, 0, 918, 0, 918, 0, 0, 0, 918,
2056, 2057, 900, 0, 924, 0, 0, 931, 930, 929,
0, 0, 0, 932, 0, 1598, 1414, 0, 1241, 1258,
0, 0, 0, 983, 1121, 0, 1119, 1110, 1111, 1254,
235, 233, 0, 0, 0, 0, 0, 0, 1260, 0,
0, 0, 0, 2040, 2042, 2043, 1939, 2008, 0, 2356,
2357, 2358, 1999, 0, 2359, 2360, 2361, 2405, 1840, 1827,
1836, 1841, 1828, 1830, 1837, 2362, 2363, 2364, 2365, 2051,
2366, 2367, 2368, 2370, 2371, 2372, 2373, 1832, 1834, 2374,
2375, 0, 2052, 2377, 2378, 2235, 2380, 2381, 2383, 2384,
1838, 2386, 2387, 2388, 2389, 2390, 2391, 2050, 0, 1839,
2393, 2395, 2396, 2397, 2398, 2399, 2400, 2401, 2402, 0,
0, 0, 2024, 2008, 0, 1807, 0, 1641, 1642, 1664,
1665, 1643, 1670, 1671, 1644, 0, 2023, 1708, 1889, 1806,
1823, 0, 1812, 1813, 0, 1805, 1800, 1479, 2019, 0,
1801, 2039, 2041, 2000, 1479, 2017, 196, 248, 0, 249,
2025, 2293, 184, 227, 198, 226, 2071, 2070, 199, 2067,
2066, 197, 0, 2112, 185, 0, 0, 186, 0, 0,
0, 0, 245, 243, 0, 1249, 0, 1596, 1595, 0,
0, 2006, 2028, 833, 1342, 1343, 1341, 0, 1338, 1340,
1352, 1349, 2013, 2012, 2014, 0, 1472, 0, 0, 0,
1452, 1451, 3, 1355, 1491, 1492, 0, 0, 0, 0,
0, 0, 0, 0, 1545, 1507, 1508, 1510, 1542, 1546,
1554, 0, 1458, 0, 0, 1600, 0, 1556, 0, 0,
2038, 0, 0, 0, 0, 825, 0, 0, 0, 1291,
0, 1293, 1294, 1295, 0, 0, 1296, 1297, 1285, 239,
1303, 1301, 1284, 1286, 1299, 0, 0, 0, 0, 0,
0, 0, 1309, 0, 0, 165, 166, 579, 564, 0,
2182, 0, 0, 0, 0, 1047, 1054, 0, 0, 0,
0, 0, 0, 0, 1048, 1046, 1049, 241, 1058, 1074,
1077, 0, 957, 0, 0, 0, 0, 0, 1173, 0,
0, 1173, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 262, 274, 325, 544, 0,
0, 546, 0, 2182, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 129, 130, 135, 0, 0,
0, 0, 0, 0, 531, 543, 0, 0, 0, 0,
0, 540, 0, 131, 266, 524, 528, 0, 0, 0,
644, 643, 1307, 1306, 0, 0, 0, 1173, 0, 258,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 348, 349, 0, 0, 0,
135, 158, 0, 0, 0, 268, 0, 0, 1268, 1265,
1266, 0, 1271, 0, 1328, 0, 0, 0, 0, 0,
868, 0, 865, 0, 0, 859, 2114, 2167, 0, 0,
0, 0, 0, 0, 0, 0, 0, 387, 361, 0,
0, 733, 0, 0, 0, 0, 0, 744, 0, 1285,
1316, 0, 0, 0, 573, 0, 2182, 0, 133, 778,
0, 734, 413, 0, 0, 133, 0, 0, 170, 0,
639, 0, 0, 0, 0, 0, 0, 682, 681, 0,
0, 0, 735, 0, 133, 0, 2182, 527, 2182, 0,
469, 469, 0, 0, 982, 985, 0, 0, 0, 0,
1444, 1446, 1445, 0, 1443, 0, 330, 328, 329, 731,
1102, 0, 0, 1680, 1667, 1675, 1674, 0, 1657, 1656,
1655, 0, 1654, 0, 1681, 1681, 1679, 1658, 1633, 0,
0, 0, 1687, 0, 1685, 0, 803, 1629, 1625, 0,
0, 1673, 1694, 1695, 1696, 1693, 1706, 1692, 0, 1639,
1697, 1648, 1645, 0, 0, 330, 0, 0, 2182, 330,
2182, 0, 2182, 0, 0, 330, 330, 0, 0, 0,
0, 0, 0, 640, 0, 821, 819, 818, 820, 0,
0, 0, 0, 801, 0, 0, 0, 2182, 330, 0,
0, 800, 1949, 0, 0, 1477, 0, 216, 217, 215,
1374, 218, 1375, 1371, 1357, 0, 908, 0, 912, 0,
903, 0, 909, 0, 904, 901, 902, 0, 907, 0,
0, 470, 472, 0, 0, 2136, 2150, 0, 2173, 2202,
2203, 2284, 2289, 0, 2315, 2325, 0, 933, 962, 928,
653, 0, 0, 1424, 1242, 1956, 0, 1477, 0, 0,
0, 0, 234, 205, 0, 0, 0, 964, 2283, 1257,
882, 564, 0, 1803, 0, 1810, 1811, 1998, 0, 0,
0, 0, 0, 0, 1809, 1965, 0, 0, 0, 0,
0, 1733, 0, 0, 0, 1978, 0, 1984, 0, 0,
1770, 0, 0, 0, 0, 0, 0, 0, 0, 1734,
1712, 1713, 1802, 1807, 1949, 0, 1808, 2046, 0, 1705,
2022, 1939, 0, 1935, 1936, 1937, 0, 0, 0, 2011,
0, 1947, 0, 0, 1748, 1945, 1750, 0, 0, 0,
0, 1932, 1933, 1934, 1926, 1927, 1928, 1929, 1930, 1931,
1727, 1943, 1730, 0, 0, 1891, 0, 1729, 0, 0,
1558, 0, 2044, 2001, 1558, 250, 251, 247, 0, 0,
201, 200, 0, 220, 224, 225, 195, 223, 0, 219,
203, 1880, 1879, 202, 194, 191, 210, 189, 206, 208,
209, 192, 190, 244, 0, 0, 2082, 2426, 2427, 2428,
2429, 2430, 2431, 2432, 2433, 2434, 2435, 2436, 2437, 2438,
2439, 2440, 2441, 2442, 2443, 2444, 2445, 2446, 2447, 2448,
2449, 2450, 2451, 2452, 2453, 2454, 2455, 2456, 2457, 2458,
2459, 2460, 2461, 2462, 2463, 2464, 2465, 2466, 2467, 2468,
2469, 2470, 2471, 2472, 2473, 2474, 2475, 2476, 2477, 2478,
2479, 2480, 2481, 2482, 2483, 2484, 2485, 2486, 2487, 2488,
2489, 2490, 2491, 2492, 2493, 2494, 2495, 2496, 2497, 2498,
2499, 2500, 2501, 2502, 2003, 2002, 2034, 2083, 2084, 2085,
2086, 2007, 0, 0, 330, 1336, 0, 1333, 2016, 0,
1474, 0, 2029, 0, 1345, 1469, 1468, 1500, 1501, 1000,
1467, 1525, 1526, 1521, 0, 0, 0, 1551, 1549, 1517,
1511, 1516, 1514, 0, 1518, 1708, 1544, 1456, 1505, 1506,
1509, 1455, 0, 1547, 0, 1427, 1545, 1510, 1411, 0,
1393, 0, 1601, 0, 1022, 1024, 0, 1023, 0, 1026,
0, 1035, 0, 0, 1021, 1040, 0, 1029, 1027, 0,
0, 0, 0, 0, 0, 826, 0, 0, 0, 0,
1292, 0, 0, 2315, 238, 1295, 1300, 1287, 1298, 0,
0, 0, 0, 0, 966, 965, 0, 0, 987, 0,
0, 0, 1312, 458, 0, 327, 0, 0, 0, 0,
0, 0, 0, 0, 729, 726, 0, 0, 725, 0,
577, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
614, 0, 1173, 0, 647, 0, 1056, 0, 1055, 0,
0, 0, 1057, 1052, 1053, 2284, 2293, 2320, 240, 1076,
0, 1075, 1073, 1010, 0, 1011, 0, 0, 0, 0,
0, 2160, 276, 289, 0, 1172, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
312, 0, 0, 315, 314, 0, 0, 0, 0, 0,
319, 298, 0, 299, 0, 0, 318, 0, 0, 545,
0, 0, 0, 1173, 0, 270, 0, 0, 0, 0,
0, 0, 1089, 0, 671, 0, 156, 0, 152, 155,
0, 0, 0, 0, 530, 542, 0, 534, 535, 532,
536, 537, 0, 0, 0, 0, 0, 0, 529, 0,
0, 637, 636, 642, 0, 0, 0, 0, 0, 0,
0, 0, 1123, 1122, 0, 0, 0, 0, 0, 0,
768, 0, 0, 0, 0, 0, 0, 0, 656, 0,
655, 0, 157, 0, 0, 0, 0, 0, 0, 0,
214, 1264, 1270, 1331, 2035, 1330, 0, 0, 0, 0,
867, 0, 0, 0, 0, 0, 0, 0, 0, 869,
870, 871, 872, 0, 0, 0, 0, 0, 0, 0,
364, 365, 131, 363, 2075, 0, 757, 732, 0, 0,
745, 0, 747, 750, 0, 1283, 431, 0, 0, 570,
614, 0, 416, 163, 0, 0, 0, 0, 673, 128,
174, 176, 414, 0, 175, 177, 179, 180, 181, 178,
182, 634, 638, 0, 566, 0, 0, 0, 0, 0,
683, 687, 686, 690, 688, 0, 684, 0, 0, 1621,
0, 151, 0, 0, 522, 526, 0, 0, 0, 416,
500, 341, 2182, 0, 469, 0, 2182, 0, 984, 0,
0, 0, 0, 0, 0, 0, 0, 1442, 0, 1080,
0, 1305, 0, 0, 0, 330, 1678, 1677, 1630, 1626,
0, 0, 0, 0, 829, 0, 0, 0, 2065, 2064,
0, 0, 0, 0, 0, 0, 0, 1646, 2182, 330,
0, 1078, 168, 2063, 0, 805, 0, 0, 0, 0,
0, 1082, 797, 0, 330, 160, 0, 330, 330, 569,
0, 0, 330, 330, 162, 0, 0, 0, 561, 330,
823, 1386, 0, 2182, 469, 1359, 1370, 905, 914, 913,
911, 910, 906, 0, 925, 0, 468, 0, 0, 0,
939, 940, 0, 0, 938, 955, 941, 0, 943, 935,
934, 944, 945, 0, 0, 964, 651, 0, 0, 0,
0, 1421, 0, 1419, 0, 1599, 1423, 1412, 1378, 0,
1377, 1381, 1383, 1382, 1380, 0, 515, 0, 0, 1120,
0, 0, 922, 0, 0, 330, 1256, 0, 884, 885,
0, 0, 0, 0, 0, 0, 891, 888, 889, 890,
892, 0, 893, 0, 0, 0, 2009, 1960, 0, 1961,
0, 0, 1997, 1993, 0, 0, 0, 0, 0, 1966,
1969, 1970, 1971, 1968, 1972, 1967, 0, 0, 0, 1973,
0, 0, 0, 0, 0, 0, 0, 0, 0, 2384,
0, 0, 0, 0, 1773, 0, 0, 1919, 0, 1949,
1983, 0, 0, 0, 0, 0, 0, 1949, 1989, 0,
0, 0, 0, 1878, 0, 1875, 0, 0, 0, 0,
2008, 0, 0, 0, 2047, 1709, 1723, 1724, 1725, 1731,
2021, 0, 2010, 0, 0, 1710, 1739, 0, 1990, 1766,
0, 1771, 1754, 0, 1747, 0, 1752, 1756, 1735, 0,
1732, 0, 2011, 1948, 0, 1946, 0, 1720, 1721, 1722,
1714, 1715, 1716, 1717, 1718, 1719, 1726, 1728, 1923, 1921,
1922, 0, 0, 0, 1899, 0, 0, 1751, 2175, 2209,
0, 1490, 1490, 1490, 1478, 1488, 2020, 0, 1616, 0,
0, 0, 0, 1815, 0, 1953, 1499, 1951, 1027, 1616,
2026, 0, 0, 1705, 0, 1597, 2004, 0, 831, 832,
830, 1355, 1339, 1335, 1334, 2015, 1354, 0, 1477, 0,
998, 999, 0, 1003, 0, 0, 1519, 1552, 0, 1543,
0, 1523, 1524, 1515, 1553, 1425, 0, 1548, 1460, 1459,
0, 1619, 0, 0, 1403, 1395, 0, 1602, 0, 1558,
1429, 1431, 1432, 0, 2008, 1025, 0, 1648, 1036, 0,
1020, 0, 1019, 1648, 0, 1037, 0, 1648, 0, 0,
0, 1201, 1125, 1177, 827, 1202, 1126, 1178, 1203, 1127,
1302, 1290, 1289, 1288, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 708, 2182,
330, 1310, 1204, 0, 1128, 326, 1311, 1179, 1315, 728,
727, 0, 0, 1180, 0, 578, 0, 0, 583, 584,
585, 0, 0, 0, 586, 0, 2114, 2167, 0, 591,
598, 603, 593, 0, 0, 605, 599, 0, 0, 0,
0, 0, 0, 611, 618, 0, 0, 0, 0, 0,
0, 1050, 1051, 1205, 1131, 0, 1181, 1009, 0, 1132,
164, 0, 0, 263, 277, 620, 708, 1175, 296, 0,
311, 306, 307, 305, 2182, 330, 2182, 330, 0, 0,
0, 0, 0, 308, 303, 304, 300, 0, 0, 313,
2091, 2152, 2294, 0, 624, 626, 0, 631, 316, 1148,
337, 336, 335, 0, 320, 0, 342, 345, 317, 294,
297, 295, 291, 275, 0, 0, 0, 0, 0, 0,
0, 2033, 0, 0, 1084, 0, 0, 0, 0, 0,
0, 665, 154, 1163, 144, 0, 0, 140, 0, 0,
0, 0, 134, 0, 1211, 1138, 0, 0, 267, 525,
533, 538, 1142, 541, 1191, 539, 1217, 1139, 0, 1173,
0, 259, 0, 1140, 0, 1185, 1213, 1165, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1318, 0, 0,
0, 0, 0, 330, 0, 0, 0, 1175, 2182, 330,
1212, 0, 1170, 1199, 0, 350, 0, 1164, 0, 0,
269, 1144, 1193, 0, 0, 212, 211, 213, 0, 0,
2150, 0, 874, 836, 873, 0, 0, 0, 0, 0,
0, 844, 0, 0, 0, 835, 0, 834, 386, 359,
360, 362, 369, 0, 756, 0, 0, 0, 746, 0,
0, 0, 1308, 0, 131, 0, 0, 0, 572, 613,
620, 0, 0, 0, 415, 419, 423, 424, 425, 0,
0, 0, 0, 145, 132, 0, 786, 0, 469, 0,
669, 0, 176, 169, 0, 0, 0, 341, 743, 741,
740, 742, 0, 0, 0, 761, 739, 0, 1620, 1622,
0, 0, 0, 0, 0, 515, 418, 0, 472, 0,
0, 504, 0, 0, 0, 0, 341, 0, 0, 0,
1014, 0, 1032, 1015, 0, 0, 0, 0, 1062, 1069,
1063, 1042, 0, 0, 549, 1447, 1448, 0, 330, 0,
0, 1647, 1660, 804, 0, 1690, 1689, 1691, 1691, 0,
1631, 0, 1682, 1683, 1699, 1700, 1701, 1702, 1703, 1704,
0, 1698, 1640, 0, 615, 330, 330, 0, 330, 0,
330, 330, 0, 662, 0, 1239, 641, 0, 0, 716,
802, 0, 0, 330, 799, 1950, 0, 926, 471, 0,
0, 0, 0, 937, 0, 547, 942, 0, 954, 949,
951, 0, 958, 650, 0, 0, 1422, 1415, 1417, 1416,
0, 0, 1413, 1957, 798, 0, 521, 1112, 1113, 0,
0, 330, 0, 959, 0, 0, 886, 887, 0, 0,
894, 0, 0, 0, 1495, 1958, 1959, 0, 0, 0,
1994, 0, 0, 1853, 0, 1829, 1831, 0, 1843, 0,
1854, 1814, 1855, 1833, 1835, 0, 1940, 0, 0, 1844,
0, 1775, 1776, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1790, 1793, 1792, 1845, 1918, 0, 0, 1981, 1982, 1846,
0, 0, 1988, 0, 0, 0, 1851, 1856, 0, 0,
0, 0, 1862, 0, 1883, 0, 0, 0, 1804, 1950,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1772,
1755, 1749, 0, 1753, 1757, 0, 0, 0, 1743, 0,
0, 1741, 1767, 1737, 0, 0, 1768, 0, 0, 0,
1822, 0, 0, 1490, 1490, 1490, 1490, 1487, 0, 0,
0, 0, 2281, 0, 1580, 1557, 1559, 1567, 1580, 1585,
1824, 1614, 1825, 0, 2027, 0, 1528, 1499, 1499, 1499,
1821, 0, 0, 0, 0, 1498, 1528, 187, 0, 221,
207, 0, 1337, 2030, 0, 1502, 0, 1941, 1003, 0,
1504, 0, 0, 1550, 1512, 1426, 1410, 0, 1408, 1397,
0, 1398, 2008, 0, 1408, 1394, 1437, 0, 0, 1619,
0, 1436, 0, 1648, 1017, 1018, 0, 1041, 0, 1200,
1124, 1176, 969, 970, 0, 968, 0, 0, 0, 457,
986, 0, 0, 0, 708, 0, 0, 461, 0, 1313,
0, 1218, 1162, 580, 581, 0, 592, 0, 601, 600,
0, 0, 588, 0, 0, 0, 0, 0, 587, 607,
553, 608, 610, 0, 0, 609, 612, 617, 1173, 0,
648, 1150, 0, 1197, 1044, 0, 1012, 0, 0, 0,
0, 431, 290, 0, 0, 0, 278, 288, 0, 322,
0, 293, 0, 286, 309, 301, 310, 302, 321, 323,
0, 628, 629, 627, 623, 0, 630, 632, 0, 339,
0, 0, 0, 1207, 0, 1173, 0, 271, 1146, 0,
1195, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1208, 1182, 0, 0, 670, 0, 667, 0,
0, 137, 2069, 2068, 136, 0, 143, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 351, 332, 0, 764, 0, 0, 0,
353, 0, 0, 0, 0, 1206, 1133, 837, 0, 0,
0, 838, 849, 0, 0, 839, 0, 0, 0, 0,
851, 0, 0, 358, 366, 2235, 1926, 1927, 754, 759,
751, 753, 755, 752, 0, 758, 708, 0, 748, 749,
0, 0, 0, 0, 0, 443, 0, 0, 437, 0,
0, 1069, 430, 433, 434, 0, 0, 573, 576, 574,
575, 606, 0, 450, 496, 0, 147, 0, 0, 148,
146, 0, 0, 341, 674, 678, 676, 675, 677, 672,
0, 665, 0, 172, 414, 0, 0, 565, 689, 692,
685, 0, 760, 762, 737, 0, 620, 0, 527, 0,
469, 1387, 510, 0, 500, 496, 498, 497, 499, 0,
506, 340, 0, 0, 515, 506, 0, 0, 987, 1013,
0, 0, 0, 1059, 1064, 1060, 0, 0, 1028, 0,
1061, 0, 1043, 1006, 1234, 1235, 1232, 1233, 0, 0,
0, 1439, 1081, 0, 1666, 0, 1686, 1684, 1627, 1632,
1672, 1707, 330, 1079, 806, 0, 793, 0, 795, 1083,
330, 330, 330, 330, 657, 0, 562, 0, 0, 0,
0, 936, 956, 0, 952, 0, 0, 919, 961, 0,
0, 1420, 1418, 513, 0, 964, 0, 920, 963, 0,
0, 0, 0, 0, 0, 0, 1962, 0, 1996, 1992,
0, 1826, 1964, 1963, 0, 1976, 1975, 1919, 0, 0,
1774, 1786, 1787, 1788, 1977, 0, 1798, 0, 0, 1783,
1784, 1785, 1777, 1778, 1779, 1780, 1781, 1782, 1789, 1791,
1986, 1985, 1979, 1980, 0, 1848, 1849, 1850, 1987, 1857,
0, 2105, 1884, 1861, 1877, 1876, 0, 0, 0, 1864,
0, 0, 1873, 0, 1920, 1705, 2048, 1711, 0, 0,
1740, 1991, 1758, 0, 0, 0, 1736, 1940, 0, 0,
0, 0, 0, 1745, 0, 0, 0, 1902, 1897, 1898,
1916, 0, 0, 0, 0, 0, 0, 1481, 1480, 1486,
1580, 1585, 0, 1462, 0, 1567, 0, 1579, 1565, 1578,
0, 0, 1591, 1589, 0, 1591, 0, 1591, 0, 1561,
0, 1581, 1563, 1578, 0, 1606, 0, 2028, 1615, 0,
1541, 0, 0, 0, 0, 1954, 1955, 0, 1952, 1816,
1541, 0, 2005, 1475, 0, 1503, 1001, 1002, 1520, 1513,
2132, 1617, 0, 1409, 0, 0, 1400, 1406, 1392, 0,
0, 1430, 1408, 1433, 1038, 0, 0, 1030, 975, 976,
974, 977, 0, 0, 0, 708, 0, 0, 477, 0,
994, 994, 0, 0, 463, 509, 1069, 711, 0, 0,
0, 709, 330, 1129, 0, 602, 0, 0, 597, 595,
594, 596, 0, 554, 1216, 1130, 0, 0, 0, 0,
1045, 0, 0, 1149, 0, 428, 0, 283, 1174, 0,
0, 0, 282, 0, 330, 330, 324, 625, 338, 343,
344, 347, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 787, 770, 0, 0, 788, 789,
0, 0, 0, 1086, 1087, 1085, 0, 1136, 0, 0,
661, 141, 138, 139, 142, 1160, 1143, 1192, 0, 0,
0, 1141, 0, 1186, 1156, 1152, 0, 0, 0, 0,
0, 1215, 1169, 1190, 1214, 1167, 1188, 1166, 1187, 1168,
1189, 1161, 0, 1624, 767, 0, 0, 0, 330, 330,
659, 1145, 1194, 0, 0, 840, 0, 0, 842, 843,
0, 846, 389, 0, 392, 399, 370, 375, 1317, 0,
1317, 0, 372, 376, 1317, 371, 1317, 368, 730, 0,
0, 707, 0, 435, 0, 441, 445, 446, 444, 436,
1069, 469, 508, 0, 0, 720, 0, 571, 416, 447,
0, 0, 420, 150, 149, 0, 0, 0, 668, 667,
176, 2182, 0, 0, 694, 698, 738, 0, 1623, 654,
341, 523, 0, 0, 416, 515, 0, 421, 426, 427,
0, 504, 500, 0, 0, 512, 1281, 0, 516, 518,
0, 0, 0, 1016, 1033, 1034, 0, 0, 1069, 0,
0, 1068, 0, 0, 556, 330, 1628, 616, 330, 330,
663, 1240, 1109, 717, 0, 948, 947, 946, 548, 0,
950, 652, 0, 514, 330, 0, 0, 896, 877, 895,
0, 0, 876, 0, 875, 1995, 1842, 1852, 1974, 1918,
1950, 0, 0, 1799, 0, 0, 1847, 2394, 0, 0,
0, 0, 1881, 1882, 1863, 0, 2226, 1868, 0, 0,
0, 2049, 1764, 1762, 1759, 0, 1760, 1744, 0, 0,
1742, 1738, 0, 1769, 1888, 0, 1904, 1901, 1915, 1950,
1485, 1484, 1483, 1482, 1566, 1564, 0, 1569, 1576, 0,
1560, 0, 1590, 1586, 0, 1587, 0, 0, 1588, 0,
0, 1562, 0, 1576, 0, 1613, 1499, 0, 0, 1893,
1819, 1820, 1817, 1499, 2045, 1893, 222, 0, 0, 1407,
1396, 1399, 0, 0, 0, 0, 1438, 1428, 1031, 1039,
0, 0, 0, 459, 0, 1069, 0, 0, 0, 997,
997, 0, 1069, 508, 713, 712, 715, 710, 714, 1314,
0, 589, 590, 604, 1151, 0, 1198, 1158, 0, 1424,
0, 621, 279, 280, 281, 284, 332, 292, 285, 0,
0, 0, 1147, 0, 1196, 1154, 1209, 1134, 1183, 0,
0, 776, 0, 0, 0, 0, 1210, 1135, 1184, 0,
0, 0, 0, 1424, 0, 0, 0, 0, 0, 1323,
0, 331, 766, 765, 332, 352, 1171, 0, 841, 847,
848, 845, 390, 131, 0, 367, 0, 397, 0, 395,
394, 396, 0, 383, 0, 0, 0, 0, 0, 0,
0, 1100, 1100, 0, 708, 0, 0, 432, 508, 476,
0, 438, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 660, 171, 0, 416, 620, 693,
0, 0, 0, 763, 0, 515, 418, 0, 1385, 417,
0, 0, 506, 504, 0, 501, 0, 505, 0, 1274,
0, 0, 0, 0, 1065, 0, 1071, 0, 1027, 1004,
1066, 0, 1616, 0, 0, 0, 0, 560, 1101, 794,
796, 658, 953, 0, 960, 330, 878, 879, 880, 881,
1920, 1794, 0, 0, 0, 0, 1858, 0, 1859, 1886,
1885, 1865, 1869, 0, 1866, 1867, 1761, 1765, 1763, 1746,
1890, 0, 1499, 1917, 1609, 0, 1612, 1568, 0, 0,
1570, 0, 0, 1572, 1574, 0, 0, 0, 0, 0,
0, 2031, 0, 2131, 2368, 2280, 0, 1527, 1529, 1532,
1534, 1533, 1535, 1531, 1540, 0, 1464, 0, 1463, 1942,
1618, 0, 0, 988, 0, 0, 1435, 1434, 954, 0,
330, 994, 508, 478, 2235, 479, 993, 0, 995, 1000,
1000, 0, 508, 708, 582, 0, 0, 264, 619, 0,
334, 346, 0, 1424, 0, 0, 0, 783, 771, 0,
0, 790, 1137, 664, 0, 0, 260, 1157, 1153, 1325,
1326, 0, 0, 0, 0, 0, 330, 850, 369, 0,
393, 402, 0, 400, 373, 378, 0, 382, 380, 379,
374, 377, 1100, 0, 1097, 1096, 706, 0, 467, 439,
0, 487, 0, 0, 721, 0, 0, 496, 456, 455,
452, 451, 453, 454, 449, 448, 0, 620, 780, 341,
1281, 0, 633, 695, 696, 691, 0, 0, 0, 511,
500, 496, 422, 431, 405, 506, 502, 503, 0, 0,
0, 515, 1327, 987, 0, 1070, 0, 0, 0, 0,
0, 0, 1104, 555, 0, 0, 559, 550, 620, 921,
1795, 0, 1796, 0, 0, 0, 1871, 1870, 0, 1907,
1614, 0, 0, 1608, 0, 1577, 1593, 0, 1573, 1571,
0, 1582, 0, 1584, 1816, 0, 0, 0, 1536, 0,
1892, 1894, 0, 1818, 1405, 1616, 0, 1402, 0, 971,
0, 972, 997, 482, 0, 996, 1003, 1003, 469, 708,
460, 1159, 0, 622, 0, 287, 0, 272, 1155, 0,
774, 0, 785, 783, 0, 0, 0, 0, 1319, 0,
1320, 1321, 1324, 354, 357, 388, 398, 0, 381, 1095,
1099, 1098, 0, 0, 440, 473, 474, 475, 0, 442,
483, 484, 0, 718, 0, 723, 0, 0, 495, 645,
0, 0, 0, 1275, 0, 0, 0, 1281, 504, 500,
429, 403, 0, 1278, 0, 517, 0, 341, 1069, 1072,
1067, 1238, 0, 0, 558, 557, 649, 1797, 1874, 1860,
1887, 1872, 1903, 0, 0, 0, 1607, 1610, 0, 1575,
0, 0, 1583, 0, 0, 0, 1530, 0, 0, 1404,
989, 0, 0, 1000, 0, 708, 0, 991, 990, 476,
462, 1424, 333, 0, 0, 0, 781, 784, 772, 785,
792, 791, 666, 1424, 0, 401, 0, 466, 0, 0,
0, 485, 0, 486, 507, 0, 722, 0, 0, 779,
0, 0, 416, 697, 0, 1276, 506, 504, 1279, 1280,
0, 506, 1005, 1237, 1236, 1477, 0, 0, 2355, 2132,
2327, 0, 1905, 1908, 1906, 1900, 0, 1592, 1605, 1538,
0, 1537, 1895, 1896, 1616, 330, 1003, 0, 464, 480,
487, 265, 1424, 0, 0, 773, 261, 1322, 698, 492,
0, 491, 0, 489, 488, 719, 724, 620, 769, 1281,
701, 406, 506, 0, 1616, 1220, 1477, 1219, 1221, 1229,
1226, 1228, 1227, 1225, 1107, 1108, 0, 1912, 1911, 1910,
1914, 1913, 1611, 0, 1603, 1539, 1401, 973, 992, 0,
708, 273, 775, 782, 0, 490, 494, 493, 646, 1277,
703, 0, 699, 702, 704, 705, 404, 341, 978, 0,
1230, 1224, 1462, 1449, 0, 0, 0, 0, 481, 465,
0, 679, 0, 506, 1222, 1477, 0, 0, 1909, 0,
0, 700, 1616, 1223, 0, 0, 1604, 0, 979, 0,
0, 701, 0, 0, 0, 1105, 1106, 680
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
-1, 51, 52, 53, 54, 1417, 2283, 2168, 3003, 3004,
55, 56, 1413, 57, 58, 59, 60, 61, 62, 63,
1348, 64, 65, 943, 1538, 2294, 66, 2024, 726, 727,
728, 1847, 1848, 2231, 1849, 1836, 1234, 1671, 1367, 700,
701, 1330, 1368, 68, 69, 1228, 1827, 70, 71, 72,
1395, 1396, 1342, 1579, 3993, 4665, 2844, 2146, 3043, 2845,
2846, 73, 1465, 1466, 74, 75, 2971, 1509, 2262, 3533,
3534, 4027, 548, 2259, 4313, 4314, 4013, 4014, 4320, 4532,
4533, 2295, 1533, 3037, 3614, 2994, 4076, 2995, 4077, 2996,
4078, 2982, 3562, 3563, 3564, 2997, 4049, 4564, 2998, 2043,
4694, 2330, 1693, 1691, 4551, 3877, 3878, 4765, 4699, 4700,
4701, 4853, 4051, 3041, 3620, 4085, 4341, 2738, 635, 1559,
3146, 636, 2333, 580, 637, 2296, 81, 2324, 2325, 1436,
2176, 3538, 3126, 82, 963, 3389, 4397, 4606, 4607, 83,
217, 84, 1542, 85, 86, 2279, 2988, 87, 2060, 2755,
88, 89, 2783, 2784, 2785, 90, 91, 3411, 4260, 1397,
2833, 2834, 2835, 2836, 3436, 92, 1540, 1441, 2303, 93,
94, 95, 96, 97, 2448, 2449, 98, 2219, 99, 100,
101, 102, 103, 3468, 3960, 3591, 2871, 3010, 3589, 2297,
1550, 2315, 2316, 4065, 4360, 4575, 4362, 4901, 4902, 4334,
3367, 3891, 105, 106, 4044, 4045, 4706, 107, 2058, 108,
109, 110, 1517, 2271, 2272, 3539, 1511, 2265, 2266, 3601,
3602, 111, 2926, 112, 3944, 3945, 581, 4711, 4672, 4778,
113, 114, 3948, 3949, 115, 116, 117, 118, 119, 629,
1053, 1054, 1315, 1001, 120, 1944, 121, 914, 2953, 122,
1121, 2494, 4128, 123, 660, 1067, 1068, 2298, 125, 669,
2472, 671, 1706, 3128, 3129, 3687, 2434, 813, 126, 127,
2445, 2475, 128, 1335, 2034, 2035, 3872, 2299, 582, 1565,
2337, 2733, 4472, 4473, 4239, 4489, 2663, 3320, 130, 583,
1372, 2104, 2340, 3051, 2001, 2002, 2003, 3637, 2004, 3053,
2005, 1309, 2006, 3059, 3060, 3061, 3633, 3640, 3643, 4386,
4387, 131, 1370, 2102, 132, 133, 134, 1408, 845, 135,
595, 596, 136, 4544, 137, 975, 138, 4395, 139, 140,
691, 692, 1105, 1106, 141, 142, 2117, 3418, 143, 144,
145, 4867, 4909, 4910, 4911, 3648, 4815, 146, 4869, 1098,
148, 149, 150, 186, 878, 879, 880, 2300, 4379, 152,
153, 1331, 1332, 1333, 1334, 2029, 154, 155, 156, 157,
158, 159, 1521, 160, 161, 4521, 162, 163, 1484, 164,
1267, 1268, 165, 166, 543, 744, 1271, 1279, 167, 639,
1061, 1062, 1063, 1673, 168, 1101, 2460, 640, 1056, 170,
641, 1989, 2684, 3330, 3331, 3334, 4224, 3853, 642, 2681,
173, 1713, 2454, 2457, 2677, 643, 2689, 2690, 2691, 2692,
2693, 3337, 644, 662, 966, 2346, 645, 1195, 178, 179,
180, 754, 748, 749, 182, 1820, 2624, 678, 1286, 713,
714, 762, 3305, 1957, 1958, 1980, 1981, 1295, 1296, 1970,
1972, 2665, 1973, 2673, 1963, 3830, 4457, 4458, 4459, 4460,
4461, 4462, 4209, 1976, 1977, 1298, 1299, 1300, 1985, 183,
2628, 3285, 3286, 3287, 3807, 3808, 3822, 3818, 4193, 4443,
3288, 1096, 1306, 4201, 4884, 3289, 4434, 4435, 4623, 3825,
3296, 3328, 3027, 3028, 3029, 2007, 1608, 1003, 1196, 1004,
1622, 1197, 1592, 1006, 1198, 1199, 1200, 1009, 1201, 1202,
1203, 1012, 1584, 1611, 1204, 1205, 1602, 1619, 1620, 1662,
2533, 1207, 1208, 1209, 3291, 1210, 3762, 4159, 4148, 2554,
2555, 1843, 3758, 3230, 1815, 2614, 4466, 4640, 4641, 3270,
3788, 4176, 4432, 4745, 4822, 4823, 1211, 1212, 1213, 2611,
1811, 847, 1214, 3541, 1813, 2548, 2636, 2637, 1716, 1736,
2500, 2517, 2518, 2528, 3188, 2536, 2541, 3217, 3218, 2549,
2579, 1215, 2502, 2503, 3171, 1738, 1216, 1261, 1262, 1733,
2574, 1274, 1275, 746, 1224, 1217, 1218, 1707, 737, 4439,
538, 803, 2860, 1935, 882, 675, 1219, 1220, 1221, 1222,
1401, 818, 1023, 1024, 2370, 1241, 3474, 1238, 539, 797,
820, 2837, 540, 541, 799, 1940
};
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
#define YYPACT_NINF -4149
static const int yypact[] =
{
5506, 25, 7646, -4149, -4149, 25, -4149, 63926, 465, 660,
29, 170, 13876, 64357, 70822, 748, 295, 14366, 25, 70822,
1573, 49703, 60909, 891, 70822, 1252, 1055, 49703, 70822, 71253,
1158, 1211, 837, 71684, 64788, 59616, 1124, 70822, 1330, 1162,
72115, 65219, 1237, 65650, 1055, 47127, 93, 1206, 72546, 70822,
2042, 1664, 1232, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
-4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
-4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
-4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
-4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
-4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
-4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
-4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
-4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
-4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
-4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
-4149, -4149, -4149, -4149, -4149, -4149, 465, -4149, -4149, -4149,
-4149, -4149, -4149, -4149, -4149, -4149, -4149, 1606, -4149, 963,
2206, 1141, 777, 1241, -4149, -4149, -4149, 57461, 70822, 70822,
70822, 1455, 70822, 1357, 70822, 277, 57461, 53582, 66081, 1553,
1359, 43164, 72977, -4149, 52289, 70822, 70822, 73408, 70822, 112,
62202, 70822, 1519, 70822, 70822, 54013, 73839, 1593, 1617, -4149,
-4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
-4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
-4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
-4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
-4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
-4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
-4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
-4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
-4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
-4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
-4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
-4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
-4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
-4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
-4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
-4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
-4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
-4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
-4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
-4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
-4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
-4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
-4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
-4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
-4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
-4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
-4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
-4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
-4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
-4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
-4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
-4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
-4149, -4149, -4149, 70822, 11044, 1252, -4149, -4149, 70822, 1484,
57461, 70822, 1431, 70822, 1560, 70822, -4149, 70822, 1564, 74270,
430, 1183, 53582, 1483, 43609, 1622, 70822, 53582, 74701, 70822,
70822, -4149, -4149, 1670, 70822, 70822, -4149, 1778, 54444, 1025,
1810, 1960, 1807, 133, -4149, 66512, -4149, -4149, -4149, -4149,
-4149, -4149, -4149, -4149, 56599, 295, -4149, -4149, 57892, 70822,
1837, -4149, -4149, 75132, 89738, 1671, -4149, 707, 58323, 54875,
1988, 1678, 44054, 2030, 75563, 55306, 75994, -4149, -4149, 76425,
-4149, 76856, 1768, 1837, 77287, 90157, 55737, -4149, 1892, 77718,
-4149, 1658, 1675, 1696, 37535, -4149, -4149, -4149, 465, -4149,
-4149, -4149, -4149, -4149, -4149, -4149, -4149, 199, 1311, 331,
204, 345, -4149, -4149, 206, 207, 217, 199, 2101, 2101,
-4149, 70822, -4149, -4149, 1311, 568, 1683, 1683, 1683, 1891,
851, -4149, 1683, 1829, -4149, -4149, -4149, -4149, 65650, -4149,
1711, 1252, 1716, 2121, 1752, -4149, -4149, -4149, -4149, -4149,
1780, 70822, 70822, 70822, -4149, -4149, 2139, 1754, 1990, 1751,
-4149, -4149, -4149, 1956, 1967, 1977, 98, 1252, 1871, -4149,
2096, -4149, 2010, 26879, 26879, 1252, 66943, 78149, 216, 42731,
210, 67374, 1862, 1563, 2044, -4149, -4149, -4149, 127, -4149,
2284, 1881, 2130, 1751, 1617, 38837, -4149, 1896, 1380, 65650,
-4149, -4149, -4149, 361, 2177, 27328, -4149, 70822, 1889, -4149,
1923, 1889, 1930, 1935, 1141, -4149, 5506, 70822, 1174, 1174,
2326, 1174, 1448, 1598, -4149, 2319, -4149, 2247, 2196, 65650,
1206, 225, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
-4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
-4149, -4149, -4149, -4149, -4149, 1958, 1380, -4149, 229, -4149,
1257, 1966, 1382, 1404, -4149, -4149, 483, 70822, 2095, 333,
33, 2006, 67805, 2631, 1994, -4149, -4149, -4149, 2152, 359,
-4149, -4149, -4149, -4149, 2305, 2348, 3282, 309, 68236, -4149,
-4149, -4149, -4149, 70822, 70822, -4149, -4149, -4149, -4149, -4149,
-4149, -4149, -4149, -4149, -4149, 2045, -4149, -4149, 2048, 2370,
2264, 2338, 2217, 1492, 2266, 1130, 2387, 10528, 1411, 68667,
70822, 2352, 2406, 4723, 1710, 757, 2293, 895, 2400, 2258,
1152, 2429, 5907, 70822, -4149, 2357, 2471, 710, -4149, 801,
-4149, 2191, 2333, 793, 57461, 2148, -4149, -4149, 70822, -4149,
-4149, 90576, 2233, -4149, 727, 57461, -4149, 2354, 2205, 44499,
70822, -4149, 70822, -4149, -4149, -4149, -4149, -4149, 2292, 2466,
70822, 90576, -4149, 2436, 70822, -4149, 1683, 2358, 2200, 2603,
90576, 125, 70822, 1428, 2637, 70822, 2435, 1428, 2255, 78580,
-4149, -4149, 1428, -4149, -4149, -4149, 70822, 70822, 2253, 1247,
2422, 1428, 2444, 2656, 2666, 2327, 2440, 771, 840, 179,
2561, 1428, 2307, 79011, 79442, 70822, 2311, 70822, 2646, 57461,
70822, 2572, -4149, 2438, -4149, -4149, 832, -4149, -4149, -4149,
-4149, 2589, 1958, 807, 2590, 2282, 2594, -4149, -4149, -4149,
2331, -4149, 2331, 2331, 2290, 2290, 2460, 2294, 2605, -4149,
-4149, -4149, 1906, 2331, 2290, -4149, 91414, -4149, 1435, 1505,
-4149, 161, -4149, 2710, -4149, -4149, -4149, -4149, -4149, -4149,
-4149, -4149, 149, -4149, 1014, 1663, -4149, -4149, 2328, -4149,
2607, 1994, 2608, -4149, 2297, 79873, -4149, 80304, 80735, 2615,
2045, 53582, 2617, 2501, 2620, 2297, 2621, 2505, 2623, 807,
2625, -4149, 812, 2614, 2628, 2512, 2630, 161, 2632, 1700,
2297, 57030, 2635, 168, -4149, 29124, -4149, 2410, -4149, 1206,
-4149, 874, -4149, 48841, -4149, 1696, 1311, -4149, 70822, 1311,
70822, 1311, 70822, 1311, 70822, 1311, 70822, 70822, 70822, 1311,
-4149, -4149, -4149, 70822, 2329, 70822, 70822, -4149, -4149, -4149,
61340, 53582, 61771, -4149, 70822, -4149, 232, 1252, -4149, -4149,
90576, 2742, 53582, 2646, -4149, 1474, -4149, -4149, -4149, -4149,
-4149, -4149, 2563, 70822, 2626, 2640, 61340, 53582, -4149, 81166,
56599, 2523, 2346, -4149, -4149, -4149, -4149, -4149, 1674, 2779,
208, 2793, 29124, 2359, 228, 228, 2360, 2652, -4149, -4149,
-4149, 231, 2361, 2362, -4149, 241, 241, 2363, 2364, -4149,
246, 2365, 2367, 2818, 2819, 250, 2376, 2377, 2378, 1906,
228, 29124, -4149, 2381, 241, 2382, 2383, 2385, 2832, 2388,
-4149, 2835, 2390, 329, 347, 2395, 2397, -4149, 2363, -4149,
230, 2399, 2403, 2407, 2408, 2409, 2413, 2414, 2415, 29124,
29124, 29124, -4149, -4149, 25532, 1380, 1252, -4149, -4149, -4149,
-4149, -4149, -4149, -4149, -4149, 254, 4686, -4149, 2445, -4149,
-4149, 2599, -4149, -4149, 29124, -4149, -4149, 645, -4149, 255,
-4149, -4149, -4149, 1380, 2670, 2416, -4149, -4149, 749, 2417,
-4149, 1876, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
-4149, -4149, 42300, 2839, -4149, 373, 1252, 801, 328, 2778,
41007, 41438, -4149, -4149, 2661, -4149, 70822, -4149, -4149, 29124,
46696, -4149, 1380, 187, -4149, -4149, -4149, 1580, -4149, -4149,
-4149, 465, -4149, 14843, -4149, 1582, 1889, 70822, 70822, 2842,
-4149, -4149, -4149, 1923, -4149, -4149, 1141, 1141, 29124, 1141,
1128, 1571, 27777, 29124, 2730, 2639, 235, 1331, 2731, -4149,
2634, 1448, 1598, 65650, 70822, 81597, 2557, -4149, 47558, 1444,
1380, 2524, 2525, 2575, 50565, 2447, 2531, 2532, 2583, -4149,
2691, -4149, -4149, 2536, 2539, 82028, -4149, -4149, 902, -4149,
-4149, -4149, 902, -4149, 2475, 1552, 1246, 1060, 2542, 218,
811, 2836, -4149, 1229, 2596, -4149, -4149, -4149, 2732, 70822,
2780, 6245, 2664, 309, 2597, -4149, -4149, 2712, 2553, 2554,
2680, 309, 257, 82459, -4149, -4149, -4149, -4149, -4149, -4149,
2178, 24245, -4149, 2560, 2535, 2570, 70822, 58754, 358, 2678,
1360, 1538, 190, 2618, 70822, 1412, 2688, 70822, 2493, 2576,
2580, 2775, 2503, 1933, 2874, 2511, -4149, -4149, -4149, 419,
2684, -4149, 2788, 2817, 6389, 2564, 2578, 88900, 939, 44944,
70822, 70822, 2869, 1389, 2602, -4149, -4149, -4149, 1389, 70822,
2611, 2624, 70822, 309, -4149, 2929, 309, 309, 2041, 2938,
2629, 410, 1425, 1428, 2511, 2287, -4149, 2633, 2641, 275,
-4149, 2729, -4149, -4149, 1213, 2636, 65650, 181, 1500, 2511,
2642, 2643, 2503, 2503, 70822, 70822, 70822, 70822, 70822, 184,
2952, 2953, 2645, 183, 2672, 2543, -4149, 52720, 2647, 78149,
-4149, -4149, 70822, 2651, 1926, 2511, 1625, 1549, -4149, -4149,
-4149, 1617, -4149, 70822, -4149, 70822, 1958, 90576, 2741, 2803,
-4149, 2588, -4149, 1994, 309, -4149, 70822, 70822, 2045, 2750,
205, 828, 90576, 2752, 2810, 70822, 2811, 2598, -4149, 394,
47984, -4149, 2253, 2568, 2990, 70822, 50565, -4149, 3003, 902,
-4149, 90576, 2770, 2889, -4149, 70822, 2787, 2581, -4149, 2924,
2644, -4149, -4149, 883, 70822, -4149, 2893, 53582, 1194, 1252,
2648, 53582, 2812, 70822, 70822, 70822, 70822, -4149, -4149, 2783,
1012, 107, -4149, 52720, -4149, 70822, 2798, 2287, 2800, 3010,
40, 1683, 82890, 2896, -4149, 83321, 2595, 3016, 90576, 2847,
-4149, 1825, -4149, 2733, -4149, 57461, 807, -4149, -4149, -4149,
-4149, 90576, 70822, -4149, 2606, -4149, -4149, 29124, -4149, -4149,
-4149, 2101, -4149, 90576, 2331, 2331, -4149, -4149, 3027, 2692,
2693, 2101, -4149, 2101, -4149, 90576, -4149, 2619, 2622, 2737,
200, -4149, 2694, 2702, 2703, -4149, 2649, 2704, 2101, -4149,
-4149, 1811, -4149, 83752, 57461, 807, 53582, 53582, 2925, 168,
2939, 2683, 2940, 2686, 44944, 807, 176, 70822, 70822, 53582,
70822, 70822, 70822, -4149, 70822, -4149, -4149, -4149, -4149, 90576,
70822, 70822, 90576, -4149, 53582, 52720, 2942, 2943, 807, 70822,
70822, -4149, 14843, 1607, 84183, 1696, 56168, -4149, -4149, -4149,
-4149, -4149, -4149, -4149, -4149, 70822, -4149, 70822, -4149, 70822,
-4149, 70822, -4149, 70822, -4149, -4149, -4149, 70822, -4149, 70822,
1619, -4149, -4149, 1669, 687, 70822, 70822, 195, 57461, 70822,
2833, 70822, 70822, 70822, 70822, 70822, 2715, 2417, 1337, -4149,
849, 268, 65650, 2837, -4149, -4149, 1684, 2042, 1032, 70822,
1087, 1780, -4149, -4149, 61771, 60909, 2941, 142, 70822, -4149,
-4149, 3086, 29124, 1380, 26430, -4149, -4149, 14843, 2685, 29124,
29124, 2658, 2101, 2101, -4149, 305, 29124, 29124, 29124, 2101,
2101, 3337, 29124, 44944, 29124, 32267, 22475, 29124, 29124, 25981,
-4149, 29124, 2861, 33614, 29124, 328, 2862, 29124, 328, 3337,
3091, 3091, 1380, 1920, 5894, 2655, 1380, -4149, 248, 934,
-4149, 272, 90576, 29124, 29124, 29124, 29124, 50565, 2736, 215,
70822, 29124, 2663, 1639, -4149, 29124, -4149, 2665, 29124, 2744,
817, 29124, 29124, 29124, 29124, 29124, 29124, 29124, 29124, 29124,
34048, -4149, 34931, 288, 2937, 2970, 550, 457, 69098, 26879,
2962, 21575, -4149, 284, 2962, -4149, -4149, -4149, 70822, 2839,
-4149, -4149, 2746, -4149, -4149, -4149, -4149, -4149, 273, -4149,
-4149, -4149, -4149, -4149, -4149, -4149, -4149, 2669, -4149, -4149,
-4149, -4149, 2669, -4149, 2673, 3122, -4149, -4149, -4149, -4149,
-4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
-4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
-4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
-4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
-4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
-4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
-4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
-4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
-4149, -4149, 2955, 2956, 807, 70822, 361, 62633, -4149, 27328,
-4149, 1686, -4149, 2675, -4149, 2934, -4149, 2677, -4149, 5029,
2934, -4149, -4149, 327, 2795, 2930, 2877, -4149, -4149, -4149,
2690, 14843, -4149, 1660, 14843, 1749, -4149, -4149, -4149, -4149,
-4149, -4149, 1161, -4149, 70822, 965, 2730, 1331, 2745, 804,
3120, 70822, -4149, 39271, 2897, -4149, 3107, -4149, 91414, -4149,
2714, -4149, 90995, 87631, -4149, -4149, 739, -4149, 1043, 2791,
2799, 2849, 53582, 70822, 70822, -4149, 50565, 53582, 70822, 70822,
-4149, 53582, 70822, 70822, -4149, -4149, -4149, -4149, -4149, 49272,
628, 60909, 2852, 60047, -4149, -4149, 2720, 70822, 2782, 2976,
2977, 1057, -4149, -4149, 84614, -4149, 2926, 53582, 70822, 70822,
29124, 2936, 70822, 70822, -4149, 467, 2813, 2815, -4149, 70822,
2820, 57461, 2739, 70822, 70822, 90576, 2805, 745, 57461, 2786,
45389, 70822, 70822, 70822, 70822, 2870, 3042, 90576, 70822, 2991,
1388, 65650, 191, 2135, 2511, 2948, -4149, 1009, -4149, 53582,
70822, 2944, -4149, -4149, -4149, 46265, 3161, 2859, -4149, -4149,
85045, -4149, -4149, -4149, 1691, -4149, 53582, 53582, 70822, 7004,
70822, 1144, -4149, -4149, 90576, -4149, 70822, 70822, 70822, 2992,
70822, 63064, 85476, 85907, 88, 921, 2993, 70822, 63495, 2994,
-4149, 2886, 70822, -4149, -4149, 50996, 53582, 70822, 906, 50565,
-4149, -4149, 70822, -4149, 2954, 264, -4149, 70822, 2851, -4149,
2840, 2850, 70822, 192, 2150, 2511, 70822, 70822, 2761, 1709,
2853, 2898, -4149, 2965, 1040, 70822, -4149, 53582, 1073, -4149,
2914, 53582, 70822, 13665, -4149, -4149, 309, -4149, -4149, -4149,
-4149, -4149, 70822, 70822, 309, 70822, 309, 1280, -4149, 53582,
70822, -4149, -4149, -4149, 70822, 7551, 70822, 70822, 70822, 70822,
53582, 70822, -4149, -4149, 1258, 1285, 1401, 1541, 2918, 70822,
3054, 70822, 86338, 53582, 70822, 70822, 70822, 1522, -4149, 2899,
-4149, 53582, 1073, 7901, 70822, 70822, 2857, 2858, 189, 2945,
-4149, -4149, -4149, -4149, -4149, -4149, 3032, 3199, 86769, 281,
-4149, 3034, 3035, 2841, 2843, 3037, 70822, 281, 70822, -4149,
-4149, -4149, -4149, 3036, 70822, 281, 3041, 281, 2995, 653,
-4149, -4149, 1428, -4149, 2808, 1713, -4149, -4149, 29124, 90576,
-4149, 1722, -4149, 2809, 1012, -4149, -4149, 50565, 70822, 126,
841, 3108, 59185, 1823, 3098, 70822, 2845, 70822, 3101, 1823,
70822, -4149, 1136, 60909, -4149, -4149, -4149, -4149, -4149, -4149,
-4149, -4149, -4149, 3100, -4149, 1252, 2253, 2253, 2253, 2253,
-4149, -4149, -4149, -4149, 3004, 1086, -4149, 2826, 2253, 70822,
2927, 1823, 2827, 3118, -4149, 2287, 3121, 1346, 70822, 59185,
1855, 2846, 3019, 3234, 1683, 1252, 3043, 3013, -4149, 24664,
5684, 3022, 3074, 56599, 3114, 3119, 3136, -4149, 1958, -4149,
3256, -4149, 29124, 1733, 2844, 161, -4149, -4149, 2854, 2622,
2865, 2866, 2848, 2855, -4149, 2101, 203, 70822, -4149, -4149,
2856, 1191, 1001, 2968, 2101, 3058, 2864, -4149, 3160, 807,
1994, -4149, 2297, -4149, 70822, -4149, 70822, 70822, 70822, 70822,
2045, -4149, -4149, 3048, 807, 2297, 3051, 807, 807, -4149,
3104, 3055, 807, 161, 2297, 2981, 3164, 56599, -4149, 168,
-4149, -4149, 29124, 3075, 1683, -4149, -4149, -4149, -4149, -4149,
-4149, -4149, -4149, 1753, -4149, 70822, -4149, 3138, 3140, 3141,
2867, 2871, 2906, 70822, 2872, -4149, 2867, 309, 2867, 2417,
2417, 2867, 2871, 53151, 3305, 3165, -4149, 2957, 2880, 3174,
162, -4149, 756, 829, 3102, -4149, -4149, -4149, -4149, 90576,
-4149, -4149, -4149, -4149, -4149, 53582, 2921, 70822, 70822, -4149,
114, 3079, 2878, 53151, 3288, 807, -4149, 57461, -4149, -4149,
90576, 2963, 2980, 57461, 3094, 2947, -4149, -4149, -4149, -4149,
-4149, 90576, -4149, 3137, 70822, 1759, -4149, -4149, 1470, -4149,
1550, 29124, 146, -4149, 11594, 1761, 29124, 2904, 2909, -4149,
-4149, -4149, -4149, -4149, -4149, -4149, 3193, 2910, 3205, -4149,
1767, 1775, 1782, 2912, 2913, 3406, 2915, 12290, 2916, 2919,
32267, 32267, 25532, 1199, -4149, 32267, 2920, 3097, 1822, 8082,
2923, 2922, 12575, 28226, 29124, 28226, 28226, 12652, 2923, 2928,
1828, 50565, 3095, 13171, 1830, -4149, 29124, 50565, 4355, 29124,
-4149, 29124, 2932, 2935, -4149, -4149, 5178, 5178, 5178, 3337,
-4149, 2946, -4149, 32267, 32267, -4149, 3159, 25532, -4149, -4149,
3215, -4149, -4149, 1853, -4149, 2949, -4149, -4149, 3479, 44944,
5951, 29124, 222, 29124, 2663, 29124, 3008, 5178, 5178, 5178,
520, 520, 355, 355, 355, 319, 457, 457, -4149, -4149,
-4149, 2951, 2958, 2961, 3124, 2964, 29124, -4149, 1910, 1922,
70822, 2437, 2638, 2765, -4149, -4149, -4149, 35799, 2974, 29124,
29124, 29124, 2966, -4149, 2063, 14843, 747, -4149, 291, 2974,
-4149, 1617, 2101, 934, 41869, -4149, -4149, 29124, -4149, -4149,
-4149, 1923, -4149, -4149, -4149, -4149, -4149, 70822, 2042, 29124,
-4149, -4149, 1969, 2959, 29124, 1660, -4149, -4149, 3001, -4149,
29124, -4149, -4149, -4149, 2417, -4149, 3163, -4149, -4149, -4149,
35799, 2984, 2987, 38403, 3139, -4149, 70822, -4149, 70822, 115,
-4149, -4149, -4149, 2960, -4149, -4149, 87631, 1663, -4149, 90995,
-4149, 90995, -4149, 1663, 3346, -4149, 87631, 1585, 53582, 70822,
70822, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
-4149, -4149, -4149, -4149, 53582, 53582, 3146, 70822, 3144, 3148,
29124, 950, 70822, 2969, 2973, 1156, 3230, 70822, -4149, 3285,
807, -4149, -4149, 3056, -4149, 14843, -4149, -4149, -4149, -4149,
-4149, 53582, 70822, -4149, 56599, -4149, 1958, 90576, -4149, -4149,
-4149, 70822, 3009, 70822, -4149, 70822, 70822, 70822, 2045, -4149,
-4149, -4149, -4149, 910, 90576, -4149, -4149, 70822, 70822, 134,
3057, 3059, 70822, -4149, 143, 2729, 8623, 70822, 70822, 70822,
3236, -4149, -4149, -4149, -4149, 3182, -4149, -4149, 87631, -4149,
2297, 109, 3061, 2511, -4149, 3173, -4149, 882, -4149, 3109,
-4149, -4149, -4149, -4149, 3298, 807, 3299, 807, 70822, 70822,
70822, 70822, 3113, -4149, -4149, -4149, -4149, 3116, 3227, -4149,
50565, 50565, 50565, 1832, -4149, -4149, 1252, -4149, -4149, -4149,
-4149, -4149, -4149, 3262, -4149, 1852, -4149, 1106, -4149, -4149,
-4149, -4149, -4149, -4149, 53582, 70822, 8996, 70822, 70822, 70822,
1583, -4149, 1058, 90576, -4149, 89319, 53582, 70822, 70822, 3076,
53582, 3064, -4149, -4149, -4149, 3238, 3170, -4149, 197, 3176,
53582, 3071, -4149, 3084, -4149, -4149, 3099, 2260, 2511, 2287,
-4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, 1023, 186,
2317, 2511, 3106, -4149, 3110, -4149, -4149, -4149, 3244, 3246,
3247, 3112, 3115, 3151, 3125, 3126, 3156, -4149, 3128, 3157,
3129, 3167, 3130, 807, 90576, 3245, 1252, 3169, 3351, 807,
-4149, 3133, -4149, -4149, 3454, -4149, 70822, -4149, 3134, 2427,
2511, -4149, -4149, 53582, 70822, -4149, -4149, -4149, 281, 90576,
70822, 3296, -4149, -4149, -4149, 281, 281, 70822, 70822, 281,
3307, -4149, 3308, 70822, 3313, -4149, 281, -4149, -4149, -4149,
-4149, 2358, 3065, 40576, -4149, 3515, 6002, 3068, -4149, 50565,
40576, 1739, 1547, 368, 1428, 56599, 70822, 56599, -4149, 841,
3173, 70822, 70822, 3069, 3067, -4149, -4149, -4149, -4149, 53582,
167, 53582, 2101, -4149, -4149, 3145, -4149, 70822, 1683, 814,
3150, 3485, 2666, 1194, 3221, 1581, 3428, 2846, -4149, -4149,
-4149, -4149, 70822, 70822, 1012, 1252, -4149, 3081, 3080, -4149,
70822, 70822, 70822, 70822, 70822, 2921, 3083, 3088, 90576, 72,
3274, 3283, 2503, 3507, 3402, 2042, 2846, 3175, 3405, 70822,
-4149, 1860, 128, -4149, 1252, 56599, 88050, 3397, -4149, 5522,
-4149, -4149, 209, 70822, 3387, -4149, -4149, 2042, 807, 90576,
1868, -4149, -4149, -4149, 2101, -4149, -4149, 1496, 1496, 3123,
-4149, 3127, -4149, 3495, -4149, -4149, -4149, -4149, -4149, -4149,
3131, -4149, -4149, 70822, -4149, 807, 168, 3162, 807, 3166,
807, 807, 70822, -4149, 70822, -4149, -4149, 70822, 70822, -4149,
-4149, 70822, 52720, 807, -4149, 14843, 3429, -4149, -4149, 3250,
3251, 3252, 70822, 2867, 57461, -4149, 3132, 53582, 1423, -4149,
-4149, 3310, -4149, -4149, 65650, 3249, -4149, -4149, -4149, -4149,
3441, 3450, -4149, -4149, -4149, 237, -4149, -4149, -4149, 53582,
61340, 283, 53582, -4149, 1958, 3389, -4149, -4149, 1994, 309,
-4149, 3393, 70822, 3394, -4149, -4149, -4149, 3147, 14278, 29124,
-4149, 3466, 90576, -4149, 6567, -4149, -4149, 29124, -4149, 29124,
-4149, -4149, -4149, -4149, -4149, 29124, -4149, 29124, 3451, -4149,
22925, 3588, 3588, 3168, 90576, 32267, 32267, 32267, 32267, 1231,
2382, 32267, 32267, 32267, 32267, 32267, 32267, 32267, 32267, 32267,
33165, 33165, 616, -4149, 3347, 29124, 29124, 3462, 3451, -4149,
90576, 3177, 2923, 3178, 3179, 29124, -4149, -4149, 1880, 34497,
3180, 50565, -4149, 29124, 11456, 1905, 3210, 14570, 1380, 7162,
3172, 1252, 29124, 2705, 3738, 29124, 1911, 29124, 3463, -4149,
-4149, -4149, 3184, -4149, -4149, 90576, 29124, 3186, 3831, 32267,
32267, 4117, -4149, 4329, 29124, 25532, -4149, 3356, 3214, 39705,
-4149, 23375, 3181, 1055, 1055, 1055, 1055, -4149, 70822, 70822,
70822, 36233, 3469, 35365, 69529, 3185, 1986, -4149, 69529, 69960,
-4149, 3192, -4149, 3188, 1380, 29124, 3475, 789, 789, 3356,
-4149, 29124, 29124, 28675, 3190, -4149, 3475, 801, 3191, -4149,
-4149, 11138, -4149, -4149, 3195, -4149, 3194, -4149, 2959, 244,
-4149, 7190, 3385, -4149, -4149, -4149, 3185, 29573, 3336, -4149,
1912, -4149, -4149, 3571, 3336, -4149, -4149, 1913, 39271, 2984,
27328, 1380, 1931, 1650, -4149, -4149, 87631, -4149, 3268, -4149,
-4149, -4149, 2297, 2297, 1011, 2867, 3499, 1011, 7277, -4149,
-4149, 36667, 70822, 70822, -4149, 70822, 1965, 1568, 70822, -4149,
70822, -4149, -4149, -4149, -4149, 3620, -4149, 70822, -4149, -4149,
3261, 3264, -4149, 70822, 70822, 70822, 70822, 3455, -4149, -4149,
1966, -4149, -4149, 53582, 70822, -4149, -4149, -4149, 219, 2430,
2511, -4149, 3290, -4149, -4149, 3467, -4149, 3609, 3300, 70822,
3213, -4149, 1568, 249, 2503, 785, -4149, -4149, 3284, -4149,
70822, -4149, 70822, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
3340, -4149, -4149, -4149, -4149, 50996, -4149, -4149, 70822, -4149,
50565, 40576, 50565, -4149, 1026, 398, 2465, 2511, -4149, 3297,
-4149, 3301, 3302, 3348, 1027, 201, 3303, 3304, 3355, 3219,
3228, 3231, -4149, -4149, 3376, 70822, 2297, 3239, 3276, 199,
242, -4149, -4149, -4149, -4149, 242, 2297, 1252, 70822, 70822,
70822, 3640, 3328, 70822, 70822, 70822, 70822, 70822, 70822, 3544,
705, 1784, 53582, 70822, 70822, 53582, 70822, 70822, 70822, 70822,
70822, 70822, 70822, -4149, 3629, 3559, 396, 3599, 3319, 70822,
-4149, 70822, 2729, 70822, 70822, -4149, -4149, -4149, 3255, 3502,
281, -4149, -4149, 3503, 3508, -4149, 281, 281, 3509, 281,
-4149, 394, 50565, -4149, 3740, 3194, 2101, 419, -4149, -4149,
-4149, -4149, -4149, -4149, 2808, -4149, -4149, 1882, -4149, -4149,
70822, 3257, 70822, 70822, 32267, -4149, 1471, 238, -4149, 3510,
70822, 3306, -4149, -4149, -4149, 3421, 70822, -4149, -4149, -4149,
-4149, -4149, 3263, -4149, 3530, 59185, 2297, 53582, 53582, 2297,
-4149, 90576, 3269, 2846, -4149, -4149, -4149, -4149, -4149, -4149,
53582, 3064, 53582, 1194, 1147, 87200, 3312, -4149, 3267, 3572,
-4149, 3272, 3271, -4149, -4149, 70822, 3173, 1974, 2287, 3692,
53, 1658, -4149, 60478, 1855, 3530, -4149, -4149, -4149, 3658,
3369, -4149, 2042, 70822, 2921, 3369, 1252, 70822, 2782, -4149,
87631, 29124, 29124, -4149, 3286, -4149, 3291, 6258, -4149, 3360,
3289, 2253, -4149, -4149, -4149, -4149, -4149, -4149, 3372, 3309,
70822, -4149, -4149, 3311, -4149, 3314, -4149, -4149, -4149, -4149,
-4149, -4149, 807, -4149, -4149, 70822, -4149, 70822, -4149, -4149,
807, 807, 807, 807, -4149, 3417, -4149, 70822, 70822, 70822,
70822, 2867, -4149, 309, -4149, 3593, 53151, -4149, -4149, 1980,
70822, -4149, -4149, -4149, 3649, 142, 3600, -4149, -4149, 3556,
298, 3558, 3561, 298, 3564, 298, -4149, 29124, 14843, -4149,
3315, -4149, 14843, 14843, 7750, 14843, 3462, -4149, 1981, 29124,
-4149, 534, 534, 534, 1131, 3608, -4149, 875, 3317, 534,
534, 534, 515, 515, 357, 357, 357, 276, 616, 616,
14843, 14843, -4149, -4149, 3320, -4149, -4149, -4149, 2923, -4149,
30022, 3473, 3717, -4149, -4149, -4149, 3364, 3373, 3333, -4149,
29124, 30471, 3332, 91414, 3522, 934, -4149, 1446, 29124, 29124,
4666, -4149, 8160, 29124, 90576, 2008, 4666, 481, 29124, 4054,
4647, 29124, 29124, 4471, 8110, 3341, 29124, 88469, -4149, -4149,
-4149, 2016, 29124, 70822, 70822, 70822, 70822, -4149, -4149, -4149,
69529, 69960, 3343, 23810, 1986, 3345, 70822, -4149, -4149, 3349,
35799, 3594, 3532, -4149, 35799, 3532, 1395, 3532, 3598, 3439,
40139, -4149, -4149, 3353, 3540, -4149, 21575, 1561, 14843, 3754,
3638, 29124, 3357, 3358, 3362, 14843, 14843, 29124, -4149, 1252,
3638, 1252, -4149, -4149, 44944, -4149, -4149, -4149, -4149, -4149,
3554, 14843, 26879, -4149, 2042, 70822, 1380, 86, -4149, 3377,
70822, -4149, 3336, -4149, -4149, 3432, 2021, -4149, -4149, -4149,
-4149, -4149, 3445, 60909, 3654, -4149, 29124, 2025, -4149, 3404,
3751, 152, 2027, 2032, 1568, -4149, 3306, -4149, 1514, 3637,
164, -4149, 807, -4149, 90576, -4149, 70822, 70822, -4149, -4149,
-4149, -4149, 70822, 2447, -4149, -4149, 70822, 70822, 70822, 70822,
-4149, 53582, 70822, -4149, 50565, 1547, 3575, -4149, -4149, 3577,
199, 70822, -4149, 90576, 807, 807, -4149, -4149, -4149, -4149,
-4149, 3388, 3776, 3464, 70822, 70822, 70822, 70822, 53582, 70822,
70822, 2101, 2101, 90576, 3379, -4149, 2101, 2101, 3380, -4149,
53582, 70822, 70822, -4149, -4149, -4149, 3458, -4149, 29124, 3768,
-4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, 53582, 70822,
3465, -4149, 3468, -4149, -4149, -4149, 70822, 70822, 70822, 70822,
3696, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
-4149, -4149, 70822, -4149, -4149, 1252, 1252, 90576, 807, 807,
-4149, -4149, -4149, 3653, 281, -4149, 281, 281, -4149, -4149,
281, -4149, 400, 2053, -4149, 37101, -4149, -4149, 2637, 1252,
2637, 1586, -4149, -4149, 2637, -4149, 2637, -4149, 1568, 243,
3698, 3702, 29124, -4149, 984, 1131, -4149, -4149, -4149, -4149,
3306, 1683, 3471, 57461, 1080, -4149, 3682, 126, 59185, 1409,
3412, 3531, -4149, 2297, 2297, 3472, 70822, 3830, 2297, 3276,
-4149, 3625, 97, 70822, 3745, 3470, -4149, 1252, -4149, -4149,
2846, -4149, 2042, 70822, 59185, 2921, 2055, -4149, -4149, -4149,
3460, 3283, 1855, 752, 70822, -4149, 3461, 3843, -4149, -4149,
3721, 3622, 3435, -4149, 14843, 14843, 1252, 91833, 5522, 90576,
3735, -4149, 70822, 738, 3704, 807, -4149, -4149, 807, 807,
-4149, -4149, -4149, -4149, 70822, 2867, 2867, 2867, -4149, 3634,
-4149, -4149, 3691, -4149, 807, 53151, 298, -4149, -4149, -4149,
298, 298, -4149, 298, -4149, 14843, -4149, -4149, -4149, -4149,
8384, 32267, 3741, -4149, 3447, 90576, -4149, 3449, 2057, 2078,
33614, 3603, -4149, -4149, -4149, 8460, 3505, 14843, 3555, 3456,
3476, -4149, 4666, 4666, 8160, 2085, -4149, 4666, 29124, 29124,
4666, 4666, 29124, -4149, -4149, 8750, 3632, -4149, -4149, 8907,
-4149, -4149, -4149, -4149, -4149, -4149, 51427, 69529, 3478, 70822,
1986, 35799, -4149, -4149, 1473, -4149, 35799, 3708, -4149, 35799,
57461, -4149, 70822, 3480, 70822, -4149, 747, 30920, 29124, 3500,
-4149, -4149, -4149, 3356, -4149, 3500, -4149, 3481, 70822, 2416,
-4149, -4149, 3834, 36667, 3794, 3483, -4149, -4149, -4149, -4149,
53151, 3659, 53151, 1568, 9030, 3306, 36667, 45834, 70822, 70391,
70391, 3617, 3306, 3471, -4149, -4149, -4149, -4149, -4149, -4149,
3484, -4149, -4149, -4149, -4149, 3557, -4149, -4149, 20, 2837,
2089, -4149, -4149, -4149, -4149, -4149, 3629, -4149, -4149, 40576,
53582, 70822, -4149, 3565, -4149, -4149, -4149, -4149, -4149, 37969,
44944, -4149, 1027, 3486, 3489, 201, -4149, -4149, -4149, 70822,
9203, 3490, 588, 2837, 70822, 70822, 1214, 1143, 1533, 2867,
3774, -4149, -4149, -4149, 3629, -4149, -4149, 281, -4149, -4149,
-4149, -4149, -4149, 1428, 3816, -4149, 50565, -4149, 51858, -4149,
-4149, -4149, 1252, -4149, 1252, 3693, 70822, 48410, 1252, 1252,
57461, 3908, 3908, 70822, -4149, 9499, 3697, -4149, 3471, 3716,
3762, -4149, 3496, 70822, 3657, 3498, 3501, 253, 253, 70822,
70822, 70822, 2093, 2042, -4149, 1194, 3809, 59185, 3173, -4149,
1443, 3504, 3811, -4149, 3917, 2921, 3083, 3506, -4149, -4149,
60478, 3701, 3369, 3283, 3639, -4149, 3643, -4149, 332, -4149,
2042, 70822, 70822, 36667, -4149, 90995, -4149, 2094, -4149, -4149,
-4149, 3576, 2974, 3619, 3621, 3517, 70822, 770, -4149, -4149,
-4149, -4149, -4149, 70822, -4149, 283, -4149, -4149, -4149, -4149,
-4149, 1955, 32267, 90576, 2105, 29124, -4149, 29124, -4149, 3915,
-4149, -4149, -4149, 608, -4149, -4149, -4149, 4666, 4666, 4666,
-4149, 3918, 3356, -4149, -4149, 2114, 3936, -4149, 70822, 2116,
-4149, 29124, 3521, -4149, -4149, 35799, 1473, 3523, 2122, 70822,
2124, 90576, 3525, 3524, 23, 3527, 22025, 3518, -4149, -4149,
-4149, -4149, -4149, 14843, 14843, 70822, -4149, 3529, -4149, -4149,
-4149, 70822, 2126, -4149, 622, 25083, -4149, -4149, 1423, 1011,
283, 3751, 3471, -4149, 3533, -4149, -4149, 70822, -4149, 1243,
1243, 70822, 3471, -4149, -4149, 70822, 3618, -4149, -4149, 50565,
3586, -4149, 809, 2837, 70822, 90576, 1994, 95, -4149, 90576,
90576, -4149, -4149, -4149, 29124, 3627, -4149, -4149, -4149, -4149,
-4149, 70822, 70822, 70822, 70822, 70822, 807, -4149, 3065, 1252,
-4149, -4149, 2137, -4149, -4149, -4149, 70822, 3267, -4149, 3267,
-4149, -4149, 3908, 312, -4149, -4149, -4149, 1672, 3743, -4149,
880, 3728, 3628, 3535, -4149, 57461, 3990, 3530, -4149, -4149,
-4149, -4149, -4149, -4149, -4149, -4149, 2141, 3173, 3849, 2846,
3461, 70822, -4149, -4149, -4149, -4149, 29124, 3709, 2042, -4149,
1855, 3530, -4149, -4149, -4149, 3369, -4149, -4149, 3937, 3744,
3938, 2921, -4149, 2782, 2153, -4149, 6258, 91833, 90576, 3882,
3592, 3595, -4149, -4149, 3612, 70822, -4149, -4149, 3173, -4149,
1955, 2157, -4149, 2165, 2172, 3713, 3614, -4149, 29124, 1186,
3192, 51427, 3566, -4149, 2174, -4149, 14843, 70822, -4149, -4149,
29124, -4149, 2180, -4149, -4149, 29124, 3567, 29124, -4149, 30920,
3569, -4149, 3981, -4149, -4149, 2974, 36667, -4149, 3684, -4149,
3863, -4149, 70391, 3613, 44944, -4149, 2959, 2959, 1683, -4149,
1568, -4149, 70822, -4149, 29124, -4149, 3661, -4149, -4149, 2181,
-4149, 975, 3729, 3875, 2187, 2203, 9541, 70822, 2871, 1533,
2871, -4149, 2867, -4149, -4149, -4149, -4149, 51858, 3267, -4149,
-4149, -4149, 3902, 3846, -4149, -4149, -4149, -4149, 447, -4149,
3777, 3778, 70822, -4149, 3581, -4149, 2214, 3705, -4149, -4149,
70822, 3999, 4002, -4149, 591, 9849, 57461, 3461, 3283, 1855,
1547, -4149, 3779, -4149, 3780, -4149, 3591, 2846, 5522, -4149,
-4149, 282, 3879, 3883, -4149, -4149, -4149, -4149, -4149, -4149,
-4149, -4149, 2923, 31369, 31369, 3596, -4149, -4149, 70822, -4149,
2216, 2221, -4149, 2229, 30920, 2235, -4149, 70822, 3601, -4149,
-4149, 39271, 53151, 1243, 3602, -4149, 3597, -4149, -4149, 3716,
1568, 2837, 14843, 70822, 57461, 3992, -4149, -4149, -4149, 3729,
-4149, -4149, -4149, 2837, 70822, -4149, 3725, -4149, 913, 913,
3940, -4149, 3656, -4149, -4149, 3604, -4149, 4050, 70822, -4149,
1027, 2042, 59185, -4149, 3606, -4149, 3369, 3283, -4149, -4149,
36667, 3369, -4149, -4149, -4149, 1934, 57461, 57461, 32716, 3747,
196, 11910, -4149, -4149, -4149, -4149, 2237, -4149, 3753, -4149,
2242, -4149, -4149, -4149, 1159, 283, 2959, 29124, 1568, -4149,
3728, -4149, 2837, 1994, 70822, -4149, -4149, -4149, 3470, -4149,
4037, -4149, 788, -4149, -4149, -4149, -4149, 3173, 3379, 3461,
50134, -4149, 3369, 2244, 2974, -4149, 1718, -4149, -4149, -4149,
-4149, -4149, -4149, -4149, 3623, 3624, 4029, -4149, -4149, -4149,
-4149, -4149, -4149, 3626, -4149, -4149, -4149, -4149, -4149, 10457,
-4149, -4149, -4149, -4149, 3923, -4149, -4149, -4149, -4149, -4149,
-4149, 2251, -4149, -4149, -4149, -4149, -4149, 2846, -4149, 1899,
-4149, -4149, 2002, 1935, 3699, 3906, 31818, 29124, -4149, 1568,
3782, -4149, 50134, 3369, -4149, 1718, 3737, 3742, -4149, 10645,
57461, -4149, 2974, -4149, 3667, 3670, -4149, 3636, -4149, 3916,
3928, 50134, 57461, 57461, 2272, -4149, -4149, -4149
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
-4149, -4149, -4149, 3334, -4149, -827, -1119, 2627, -1751, -4149,
-4149, -4149, 3240, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
3275, -4149, -4149, 1805, -2219, -4149, -4149, 139, 3208, -1193,
135, 2860, 1452, -4149, -1039, -4149, -4149, -534, 113, -4149,
3241, -674, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
-734, 1951, 1294, -313, -3868, -4149, -4149, -1309, -2906, -4149,
663, -4149, -4149, 1888, -4149, -4149, -4149, 1135, 576, -420,
-4149, -4149, -4149, -4149, -4149, -4149, -4149, -204, -4149, -4149,
-574, 154, 46, -2247, -250, -4149, -4149, 543, -247, -1222,
-4149, -3278, -4149, 90, -4149, -4149, -4149, -222, -1296, 1396,
-4149, -650, -1070, 1704, -638, -4149, -104, -4149, -707, -567,
-565, -653, -3454, -3457, -3892, -3491, -3179, 1402, 158, -2846,
-2913, 163, 516, -4149, 165, 166, -4149, 530, -739, -1336,
-4149, -710, -4149, -4149, -4149, -2711, -4149, -4149, -4149, -4149,
68, -4149, -4149, -4149, -4149, 573, -4149, -4149, -4149, -4149,
-4149, -4149, -2467, 1861, 1863, -4149, -4149, -2908, -4149, -812,
-4149, 709, -2729, 1314, -4149, -4149, -4149, 2609, -4149, -4149,
-4149, -4149, -4149, -4149, -4149, -4149, -4149, -1463, -4149, -4149,
-4149, -4149, -4149, 555, 89, -4149, -4149, -4149, -4149, 171,
-4149, 1873, 1126, -4149, -4149, -4149, -697, -789, -768, -4149,
-2712, -4149, -4149, -4149, -4149, -188, -4149, -4149, -4149, -4149,
-4149, -4149, -888, -4149, 1177, -2854, -4149, -4149, 1184, -4149,
-4149, -4149, -4149, -4149, -642, -122, 2657, -4149, -512, -617,
-4149, -4149, -4149, -121, -4149, -4149, -4149, -4149, -4149, -4149,
-976, -119, -956, -476, -4149, -4149, -4149, -4149, -2083, -4149,
-4149, -4149, -3377, -4149, 4138, 847, 1123, 173, -4149, -27,
84, 3077, -1053, -2416, 480, -310, -4149, -1660, -4149, -4149,
-4149, -2315, -4149, -4149, -4149, -4149, -3229, 175, -4149, 3070,
-4149, -3480, -4114, -3234, -3691, -4030, -4148, -3202, -4149, -4149,
-1010, -4149, -4149, -4149, -1317, 2167, -1776, -4149, -1924, 541,
1468, -851, -2510, -3486, -625, -2983, -4149, -4149, -3414, -419,
-4149, -4149, -4149, -4149, -4149, -4149, -4149, -1029, -532, -4149,
-4149, 3610, -4149, -4050, -4149, 3568, -4149, -4149, -4149, -4149,
2468, 2469, -4149, 2472, -4149, -4149, -1294, 1263, -4149, -4149,
-4149, -4149, -4149, -623, -730, -4149, -4149, -4149, 177, -4149,
-4149, -4149, -4149, 2108, -832, -658, 3474, 178, -3731, -4149,
-4149, -1024, -4149, 2875, -4149, -4149, -4149, -4149, -4149, -4149,
-4149, -4149, -2003, -4149, -4149, -4069, -4149, -4149, -4149, -4149,
-4149, 2252, 2250, 87, -24, -4149, -4149, -1168, -4149, -488,
-4149, 2537, -4149, -4149, -4149, -4149, 1546, 180, 598, -4149,
4, -4149, -4149, -4149, 356, -4149, -4149, -3131, 6, -4149,
-4149, -4149, -4149, -4061, -4149, 7, -551, 876, -4149, -4149,
-2549, -4149, 182, 14, -4149, -4149, 2, 3, -38, -35,
-13, 5, 132, 2950, -4149, 2988, -4149, 0, 1705, -4149,
-4149, -736, -145, -4149, 1556, -571, 2230, 2933, 2931, -4149,
1548, -4149, -4149, 1551, -4149, 914, -535, -418, -4149, -4149,
-4149, -4149, 382, -569, 2238, -4149, 2971, -4149, -4149, -4149,
-1672, 1543, -3124, 942, -3133, -3088, 429, 415, -1320, -213,
31, -688, 2978, -4149, -4149, 953, -386, -4149, -4149, -384,
-2553, 898, -4149, -4005, -2100, -309, 2659, -957, -4149, -4149,
-896, 12954, -4149, -4149, -4149, 14385, 14454, -4149, -4149, 15303,
15533, -4149, -788, 1157, 15909, 12573, -947, -1717, 67, 13175,
-2254, -950, -2290, -4149, -3249, -2108, -4149, -4149, -4149, -176,
1008, 656, -4149, -4149, -4149, -4149, 27, -4149, -513, -4149,
-511, -4149, -4149, -4149, -498, -3932, 2433, -4149, -4149, -4149,
-171, -4149, 16718, 1592, -4149, -924, -2493, -2506, -3120, -1630,
-4149, -4149, -4149, -4149, -4149, -4149, -4149, -1328, -3016, -2119,
1662, -4149, -4149, 1756, -4149, -4149, -4149, -1178, -763, -1129,
1668, -1829, -4149, -743, -4149, -683, 2442, -703, 5666, -1237,
6665, -462, -2065, -1131, -1415, -4149, -177, -4149, 15, -16,
-1, -113, -149, -518, -4149, 3021, -1444, 3025, 3695, 8184,
-557, -1204, 9216, 11654, 12648, -2813
};
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
positive, shift that token. If negative, reduce the rule which
number is the opposite. If zero, do what YYDEFACT says.
If YYTABLE_NINF, syntax error. */
#define YYTABLE_NINF -2409
static const yytype_int16 yytable[] =
{
597, 1635, 176, 177, 171, 181, 172, 174, 705, 676,
795, 1625, 753, 1229, 549, 1690, 1087, 1088, 1089, 814,
664, 537, 1093, 177, 1670, 181, 664, 1307, 587, 1301,
846, 1225, 938, 1310, 763, 2993, 663, 969, 2435, 1598,
2042, 1951, 663, 1470, 739, 2634, 1440, 1482, 819, 1629,
1531, 1263, 1604, 752, 2105, 853, 1936, 3151, 579, 1621,
967, 1552, 2564, 1726, 1772, 1247, 870, 1512, 2233, 800,
802, 3395, 3013, 806, 736, 808, 3642, 1064, 2700, 2702,
1030, 2113, 3571, 2140, 1941, 628, 3306, 2123, 1588, 1589,
2320, 852, 2862, 923, 3412, 867, 1519, 1035, 1597, 2188,
1524, 3431, 869, 3433, 2499, 1528, 670, 638, 1050, 2923,
1936, 3597, 3880, 67, 1535, 1954, 3845, 1400, 1435, 706,
2655, 1576, 3612, 1434, 1554, 3299, 3549, 3879, 3874, 1449,
3132, 1663, 1941, 3915, 4089, 3775, 3297, 3298, 1475, 3336,
3625, 977, 757, 2202, 2203, 1058, 765, 4042, 4092, 1047,
2338, 4098, 2639, 2198, 76, 2112, 3821, 4081, 77, 3804,
3543, 4082, 969, 78, 2961, 79, 80, 3543, 766, 699,
2098, 104, 2965, 124, 2967, 129, 733, 147, 151, 725,
169, 751, 175, 2015, 764, 1237, 3342, 3609, 1369, 4372,
4240, 1294, 2405, 1297, 1585, 1586, 1471, 4448, 4497, 4450,
3819, 3742, 593, 3858, -2169, 1596, -2204, -2225, 646, 646,
4490, 1609, 646, -1681, 1551, 593, 1577, -2253, 547, 2124,
3006, 593, 4238, 1577, 2214, 2209, 2699, 1604, 4523, 4524,
-2075, 1577, 4516, -1681, -2076, -1676, -2408, 3631, -2075, -2075,
2317, 863, -2076, -2076, -2408, -2408, -1648, 593, 4671, 1588,
1589, -1661, 742, 2115, 2572, -1688, 1117, 646, 2115, 593,
593, 2572, 2196, 2115, 2115, 2945, 1507, 3483, 1597, 4594,
1775, 1942, 3149, 2627, 3169, 4247, 3191, 3192, 593, 4558,
593, 3212, 4545, 1515, 2985, 1249, 593, 3194, 2450, -2038,
-1681, 2115, -1676, 959, 2328, 1002, -2037, 2432, -1924, 2048,
593, 3136, 3391, 593, 2026, -1924, 2474, 4073, 2509, 4813,
593, 2778, 2273, 1398, 2608, 545, 1002, 3396, 646, 3243,
3244, 2609, 3098, 3644, 3100, 1233, 4132, 4559, 4134, 3616,
1782, -2102, 2850, 3577, -1691, 4560, 646, 3290, 1577, 3693,
646, 4656, 4657, 1975, 4222, -2172, 1585, 1586, 4878, 4038,
4690, 2328, -1691, 1672, 646, 1345, 4496, 1069, 2045, 1788,
4636, 3946, 652, 4561, 652, 652, 1782, 1498, 3194, -824,
2093, 1073, 1596, 918, -2224, 652, 1833, 1398, 593, 811,
3407, 1345, 646, 1290, 653, 2779, 653, 653, 4588, 1790,
3290, 3, 4, 846, 3846, 1788, 4589, 653, 4500, 593,
184, 2318, 3645, 4330, 184, -613, 2247, 2451, 2764, 2510,
2818, 1841, 1711, 933, -131, 1482, 2289, 2882, 933, -131,
3995, 972, 859, 2149, 3221, 1790, 3223, 3224, 646, 933,
2115, 1021, 1776, 4331, 921, 2321, 4526, 4562, 924, 2116,
3996, 846, 4667, 185, 4632, 3408, 3471, 185, 860, 932,
2986, 1842, 1292, 3847, 941, 960, 949, 2094, 2430, 1346,
1823, 3947, 2436, 2248, 2438, 951, 2819, 2441, 1782, 2245,
2115, 2882, 4243, 1578, 1747, 1627, 4814, 2511, 4879, 3694,
1578, 4585, 1834, 2241, 3578, 1346, 1314, 4039, 1578, 652,
4691, 2329, 4689, 3916, 969, 2275, 2749, 1788, 1943, 2125,
1250, 3137, 594, 652, 4074, 1336, 969, -1944, 3565, 961,
2126, 653, 2127, 1636, -1944, 962, -391, 1658, 1264, 3292,
1265, 2851, 3396, 2139, 2191, 653, 3194, 1790, 2433, 915,
2952, 1782, 928, 2987, 3392, 1837, 2512, 4223, 3646, 2513,
1850, 1850, 1126, 2782, 743, 3194, 1407, 4127, 4357, -2409,
-2409, -2409, 4590, 1092, 2197, 2496, 2215, 2501, 2319, 3484,
1788, 4788, 4248, 969, 2787, 2857, 1251, 3632, 2128, 1092,
3338, 991, 3292, 1708, 2573, 2946, 1516, 1674, 968, 597,
1113, 3259, 1489, 2570, 1718, 2210, 1730, 3930, 2452, -2224,
1790, 2049, 3906, 1835, 2496, 1578, 753, 1627, 1941, 1727,
1610, 1259, 1504, 3647, 2184, 1260, 2186, 2453, 4563, 1337,
4784, 1514, 913, 1583, 1065, 4836, 1605, 2084, -1924, 2423,
1302, 50, 4763, 1660, 2267, 4373, 4338, 3194, 3543, 2193,
1516, 1627, 2514, 1583, 2610, 2236, 177, 752, 181, 812,
658, 659, 1712, 2086, 3472, 1941, 1066, 2368, 1071, 2232,
1075, 2092, 3884, 3080, 4165, -2224, 1079, 1239, -2169, -1681,
-2204, -2225, 663, 2353, 663, 1099, 663, 3360, 3821, -2224,
2155, -2253, 663, 1080, 1081, 1082, -2075, 4057, 1057, -1681,
-2076, -1676, -2408, 2409, 4389, 969, 4190, 1712, 1606, 3472,
4194, 1118, 1587, 969, 969, 2562, 4863, 1591, 4069, 1226,
4138, -1688, 1235, 968, 1240, 1778, 1821, 1486, 1237, 1095,
4841, 4088, 4184, 2174, 1405, 1406, 2177, 2178, 1493, 765,
2431, 1060, 4846, 3210, 2642, 2377, 1643, 1347, 846, 2442,
1986, 4227, 1987, 1259, 1653, -2038, 2515, 1260, 3686, 2166,
1661, 766, -2037, 4826, 2169, 2101, 1599, 2260, 2261, 4406,
658, 1399, 2516, 4407, 4408, 1338, 4409, 764, 176, 177,
171, 181, 172, 174, 1599, 1600, 1810, 1266, 658, 659,
1095, 3934, 658, 659, 588, 3344, 2750, 3345, 2664, 3566,
1601, 4891, 1566, 1600, 2242, -2102, 658, 659, 2788, 1339,
4652, 1715, 929, 3593, 3200, 1506, 4312, 3838, 1603, -2172,
1305, 1809, 1810, 3209, 3210, 2534, 2356, 2357, 2495, 1018,
2498, 2969, 1936, 2552, 658, 1399, 2505, 1529, 1530, 1340,
1239, 4482, 2520, 2521, 2522, 1415, 4806, -1944, 4492, 1491,
1269, 3609, 2538, 2540, 4028, 1454, 3866, 2550, 1563, 4713,
3584, 4789, 663, 1351, 1818, 4073, 1416, 2762, 2427, 1543,
4616, -131, -131, 2634, 2634, 2634, 1232, 1084, 3977, 2858,
1244, 1825, 1577, 2592, 1547, 3517, 4374, 4647, 661, 67,
2615, 542, 3521, 3522, 661, 1455, 3525, 2162, 4375, 1276,
1570, 4584, 1341, 3530, 1548, 2714, 4876, 3918, 2804, 1544,
1645, 767, 3523, 3524, 2050, 3138, 4393, 4896, 1804, 1805,
1806, 1807, 1808, 1809, 1810, 1319, 2249, 2098, 1631, 1633,
76, 2331, 874, 2682, 77, 4862, 1329, 1459, 544, 78,
2050, 79, 80, 1460, 4515, 1826, 3309, 104, 3585, 124,
1646, 129, 1571, 147, 151, 2847, 169, 4436, 175, 4104,
685, 3721, 3722, 3723, 3724, 2724, 2250, 3729, 3730, 3731,
3732, 3733, 3734, 3735, 3736, 3737, 3738, 3739, 3206, 3207,
3208, 3209, 3210, 1806, 1807, 1808, 1809, 1810, 4849, 1479,
768, -2409, -2409, -2409, 3880, 3204, 3205, 3206, 3207, 3208,
3209, 3210, 1320, 1329, 4928, 2446, 4805, 3880, 3383, 2188,
2722, 3290, 2593, 3290, 699, 1444, 4142, 2594, 4143, 2439,
2440, 2616, 3879, 2704, 875, 3779, 3780, 3586, 3413, 2778,
1776, 760, 4604, 3978, 2036, 2840, 4648, 3339, 2428, 1085,
686, 1461, 3052, 2725, 1572, 4414, 2970, 589, 3384, 3919,
1456, 1569, 1321, 2595, 1549, 968, 4376, 4897, 1612, 4695,
4617, 1598, 4802, 1627, 1545, 876, 673, 968, 3551, 3540,
2429, -2035, 2707, 760, 4437, 2051, 3540, 3204, 3205, 3206,
3207, 3208, 3209, 3210, 4493, 2841, 2447, 4440, 177, 1019,
181, 3290, 4444, 2983, 1573, 4446, 2874, -1648, 663, 590,
3454, 1714, 1676, 2779, 1678, 1647, 1680, 2038, 1682, 1492,
1684, 1685, 1686, 3554, 4721, 3139, 877, 1688, 2159, 758,
1819, 2251, 2390, 4707, 968, 2039, 1613, 2763, 2382, 1064,
4728, 4394, 4343, 4726, 591, 3642, 592, 2355, 1612, 1578,
2351, 2395, 2791, 4718, 1457, 1322, 2311, 4719, 4899, 4144,
1480, 1735, 3638, 39, 3880, 2052, 2404, 3920, 1546, 1126,
3921, 2044, 3194, 3587, 1388, 4666, 3195, 3196, 3197, 3140,
1744, 2842, -1648, 2875, 4696, 4850, 753, 1574, 2596, 4549,
759, 687, 4368, 4233, 4364, 1614, 43, 1462, 1615, 2045,
4605, 769, 3868, 3292, 2025, 3292, 2403, 2415, 2237, 1648,
1777, 1760, 2286, 3385, 3455, 4261, 1613, 3941, 711, 1779,
685, 2705, 3414, 2253, 2706, 2252, 3123, 1773, 688, 689,
1284, 1463, 3303, 1822, 2876, 2312, 47, 1126, 3588, 2792,
3194, 2160, 2276, 2675, 3195, 3196, 3197, 554, 3415, 48,
4344, 2526, 4697, 3141, 1091, 4851, 968, 760, 4336, 1240,
1840, 1464, 3087, 3558, 968, 968, 2139, 2040, 846, 4775,
49, 2782, 1259, 2820, 3831, 1614, 1260, 1947, 1615, 4852,
4650, 1955, 1956, 3292, 1960, 2683, 1481, 593, 2877, 2342,
663, 1616, 4807, 2349, 1627, 663, 663, 1326, 2134, 1327,
686, 3559, 2350, 766, 766, 2161, 766, 3386, 1961, 2660,
2908, 2674, 2292, 712, 1002, 3560, 2909, 3942, 690, 764,
764, 2287, 764, 4611, 3481, 1285, 2364, 3932, 561, 2821,
4035, 4776, 2843, 4653, 2046, 4720, 1092, -1648, 2676, 561,
2036, 4226, 2381, 4659, 4812, 4861, 2385, 2917, 2220, -981,
4864, 4628, 2391, 2392, 952, 3838, 1665, 2037, 1616, 1666,
3456, 4213, 3199, 4206, 1305, 2204, 2205, 2206, 2207, 2041,
2400, 1616, 3869, 1002, 3023, 2408, 2869, 3228, 2054, 3024,
2878, 761, 3725, 3235, 3726, 953, 563, 2293, 2055, 3482,
2661, 3101, 3933, 3084, 3457, 1617, 1964, 563, 663, 1962,
3095, 4906, 4436, 3561, 3870, 2803, 663, 2243, 2244, 3198,
4124, 2179, 3943, 2038, 2910, 4669, 2256, 954, 2291, 4674,
4675, 3200, 2304, 2313, 3458, 3871, 2270, 3880, 2348, 3014,
3199, 2039, 1420, 1965, 2220, 2465, 2314, 1319, 3096, 561,
707, 687, 4760, 2870, 1081, 4501, 2079, 677, 3018, 3019,
3020, 3021, 3085, 2192, 2306, 2307, 2308, 2309, 3070, 683,
3026, 3238, 4932, 955, 2889, 2972, 1421, 4005, 663, 2888,
684, 663, 663, 4008, 4009, 1617, 4011, 2380, 688, 689,
4572, 4522, 4579, 2736, 4767, 4768, 3543, 1782, -2058, 3200,
2879, 2901, 34, 846, 3682, 1618, 2890, 563, 2880, 652,
39, 2881, 969, 2565, 2893, 3727, 2895, 2195, 2383, 1290,
4743, 3406, -1648, 3312, 1320, 3728, 3034, 1627, 1469, 2940,
3355, 653, -1648, 2263, 1587, -1648, 1314, 3068, -1648, 184,
1967, 2056, 571, 43, 572, 4068, 2220, 4744, 2737, 663,
2180, 3863, 2181, 571, 574, 572, 1790, 3540, 1616, 2394,
3290, 814, 2397, 2301, 3290, 576, 1329, 2634, 1532, 1311,
2911, 1329, 2402, 2040, 1321, 2057, 710, 3706, 2768, 1532,
2732, 2410, 185, 47, 2934, 3441, -414, 4347, 1292, 930,
1460, 931, 2736, 2188, 3812, 1968, 2778, 2914, 4519, 3442,
2719, 3880, 3811, 1312, 2912, 3341, 2131, 1415, 3201, 3202,
3203, 3295, 3204, 3205, 3206, 3207, 3208, 3209, 3210, 4520,
2534, 2534, 846, 4036, 3813, 2534, 1250, 1293, 1416, 2800,
4348, 2915, 50, 1313, 2913, -987, 1290, 2132, 2657, 4196,
4108, 1291, 4109, 3, 4, 3485, 2354, 3363, 3193, 3815,
2115, 3551, 734, 571, 3338, 572, 2362, 3552, 2363, 2122,
3222, 2916, 4547, 2534, 2534, 2369, 4244, 1322, 3553, 4519,
2779, 2650, 3812, 2376, 4888, 2041, 3201, 3202, 3203, 1532,
3204, 3205, 3206, 3207, 3208, 3209, 3210, 4037, 1461, 3675,
4520, 2141, 1251, 3246, 1316, -414, 3554, 745, 3555, 4709,
2780, 632, 3813, 4712, 755, 1292, 1113, 3366, 177, 2657,
181, 2575, 1412, 1388, 874, 39, 1323, 3814, 4725, 3887,
2119, 14, 2120, 1437, 3046, 4603, 756, 3815, 1317, 2417,
4245, 2418, 3272, 2419, 2781, 2420, 770, 2421, 2471, 34,
4736, 2422, 3292, 2872, 1293, 2030, 3292, 2918, 43, 4405,
1324, 3817, 3816, 19, 34, 2031, 2009, 1438, 1318, 2464,
177, 2461, 181, 2462, 2463, 1469, 2141, 3125, 874, 2519,
3617, 4441, 2032, 3621, 3556, 807, 1516, 2919, 2121, 3382,
1325, 3343, -1462, 2455, 805, 3642, -1498, 2707, 47, 2185,
2010, -1498, 2444, 1060, -1462, 3888, 2760, 2507, 2508, -1462,
2580, 48, 2581, 4573, 2523, 2524, 875, 828, 2775, 1326,
4663, 1327, 1070, 1072, 1074, 2273, 1964, 1076, 1077, 1078,
2011, 4660, 49, 3887, 632, 2582, 969, 1083, 2782, 3817,
2142, 3557, 1627, 2563, 4574, 2578, 3558, 50, -2058, 2493,
873, 4346, -153, -1462, 14, 2805, 827, 876, 2470, 3064,
3889, 2377, 3890, 1965, 4478, -1498, 4480, 2143, 1439, 1328,
875, 4811, 2643, -1462, 2199, 4692, 2874, 4367, -153, 1259,
4325, 4251, 4252, 1260, 3559, 4326, 19, 561, 3685, 4599,
2144, 4355, 2145, 1415, 2228, 865, 2999, 2920, 3560, 934,
969, 935, 1599, 1655, -1498, 3451, 2229, 917, 877, 3888,
3716, 876, -1462, 2711, 1416, 2142, 1966, 2033, 2715, 4442,
-1462, 1600, 2718, 3113, 1656, 31, 2139, 2921, 3686, 4327,
952, 2230, 920, 2583, 2756, 3681, 1601, 4411, 2584, 3452,
3743, 814, 2143, 2585, 4735, 563, 3290, 2226, 2742, 846,
3304, 3290, 39, 2875, -520, 3374, 3290, 1415, 1246, 3290,
1967, 953, 877, 1599, 3889, 2144, 3890, 2145, 1242, 3453,
3165, 4308, 1599, 4309, 4310, 2412, 1720, 4311, 1416, 1721,
939, 2227, 1600, 3290, 1850, 43, 3561, 3979, 922, 1829,
2793, 1600, 925, 3595, 2758, 2759, 3290, 4770, 4519, 4898,
3885, 2139, 3598, 2770, 2876, 2772, 1603, 933, 3980, 2776,
2977, 3607, 2666, 1126, 28, 1968, 3194, 1594, 1595, 4520,
3195, 3196, 3197, 3397, 3248, 47, 3249, 829, 663, 633,
2671, 2672, 1450, 3307, 830, 831, 832, 2838, 48, 955,
958, 2685, 177, 2799, -1462, 3417, 947, 3550, 31, 3250,
3166, 4923, 3024, 3000, 2726, 3167, 2729, -519, 2877, 49,
1259, 974, -2038, 968, 1260, 4322, 1451, 4324, 933, 2586,
1452, 4328, 2884, 4329, 634, 39, 3962, 3754, 2723, 2587,
3348, 3963, 1945, 1269, 1948, 1946, 1587, 1949, 2016, 956,
2896, 571, 3073, 572, 663, 957, 1453, 39, 4161, 1017,
2634, 2906, 3400, 4838, 2873, 2634, -1462, 3257, 43, 2411,
2496, 2634, 2412, 2891, 2930, 1025, 3094, 577, -1462, -1522,
-1522, 2424, 933, -1462, 2425, 3811, 3301, 3302, 3292, 1240,
43, 3103, 1031, 3292, 3105, 3106, 1026, 969, 3292, 3109,
3110, 3292, 4759, 3290, 1042, 3865, 3114, 3696, 47, 1051,
2878, 1587, 3251, 2016, 3907, 3917, 3922, 3252, 2937, 1055,
646, 48, 2786, 218, 1587, 3292, 1314, -1462, 546, 2951,
47, 2426, 3447, 1734, 2425, 50, 630, 2960, 3292, 2962,
3656, 3657, 49, 48, 1086, 2964, 2458, -1462, 2656, 2459,
3001, 2657, 2179, 2797, 708, 3812, 2798, 50, 3701, 1090,
3143, 3935, 2141, 1094, 49, 3290, -2409, 3567, 4610, 2141,
1103, 2864, 3153, 2496, 2865, 2974, 1097, 1100, 2975, 50,
-1231, 3155, -1231, 1102, 2978, 3813, -1462, 2979, 4919, 4865,
28, 1110, 3161, 3002, -1462, 3071, 1104, 1111, 2412, 1675,
3814, 663, 1677, 1112, 1679, 2131, 1681, 969, 1683, 663,
3815, 663, 1687, 3856, 1113, 3117, 3352, 3353, 2425, 3036,
2879, 3164, 4091, 3173, 2412, 3200, 2412, 1114, 2880, 3180,
3373, 2881, 2412, 2954, 4527, 3816, 2132, 3181, 1115, 3316,
2412, 2954, 1352, 3253, 3182, 1116, 2847, 2412, 3931, 2954,
2344, 2954, 2345, 3254, 1119, 2534, 2534, 2534, 2534, 1120,
2225, 2534, 2534, 2534, 2534, 2534, 2534, 2534, 2534, 2534,
2534, 2534, 1587, 39, 2016, 1353, 3718, 3097, 1122, 3099,
3039, 2180, 3040, 2181, 3214, 3292, 3273, 2412, 3274, 3752,
3227, 4886, 3232, 2412, 3434, 3233, 4568, 3435, 3275, 3017,
3276, 2142, 3882, 3883, 3130, 1245, 43, 4029, 2142, 4030,
3154, 3748, 3817, 3699, 3439, 1248, 3158, 3440, -1462, 2534,
2534, 4908, 3629, 3052, 1253, 3630, 3144, 4079, 2143, 3047,
3654, 4385, 1354, 2412, 3130, 2143, 1252, 968, 4015, 3035,
177, 3290, 3749, 1254, 1270, 3750, 47, 3292, 3015, 1258,
1423, 2144, -1461, 2145, 1277, 3540, 4835, 3791, 2144, 48,
2145, 4924, 3466, 4925, -1461, 1355, 3290, 3759, 3583, -1461,
3760, 2141, 3476, 3771, 3854, 3859, 2412, 3855, 3860, 1259,
49, 39, 1280, 1260, 1278, 3163, 2141, 2139, 1288, 4938,
3079, 3081, 1280, 3864, 2139, 4866, 2706, 1281, 1424, 3090,
1356, 968, 3201, 3202, 3203, 1304, 3204, 3205, 3206, 3207,
3208, 3209, 3210, -1461, 43, 1303, 835, 836, 837, 1308,
838, 839, 840, 841, 842, 843, 844, 3886, 846, 1314,
2425, 2556, 1357, -1461, 2559, 1349, 4070, 3369, 969, 2425,
969, 1344, 4121, 4139, 3903, 1712, 2412, -2316, 3086, 3088,
3089, 4115, 4116, 4117, 47, 1371, 3689, 2377, 3375, 3702,
3293, 3568, 663, 3570, 1280, 758, -1450, 48, 1373, 2789,
4166, 4595, -1461, 2459, 1287, 3387, 1289, -1499, 4178, 1425,
-1461, 2412, -1499, 4229, 2859, 1482, 2706, 4235, 49, 4241,
4236, 3576, 2425, 3579, 4242, 1375, 2141, 2425, 34, 1376,
2099, 3317, 1360, 50, 753, 4195, 1407, 4198, 969, 1361,
2142, 1409, 3421, 3293, 3423, 4315, 1362, 4369, 4316, 4416,
4370, 1410, 4417, 3292, 2100, 2142, 759, 1426, 1412, 1427,
3290, 3635, 1411, 1414, 1419, -2316, 1364, 2143, 1422, 2187,
4418, 3827, 1445, 2412, 1365, 1773, -1499, 4426, 3292, 753,
2459, 4498, 2143, 2141, 4499, 4569, 4596, 1446, 2425, 4597,
2144, 1458, 2145, 1467, 3459, 4367, 3461, 4612, 1429, 3349,
2459, 3832, 3833, 3834, 1468, 2144, 4620, 2145, 4625, 4621,
1472, 2657, 1477, -2316, 4631, -1499, 4633, 3605, 4645, 3605,
1773, 4646, 1478, 760, 3480, -2316, 2139, 1483, 1366, 4686,
-2316, 1485, 4687, 4708, -1461, -2316, 1828, 2578, 1431, 1487,
-2316, 2139, 3371, -2316, 2534, 4727, -2316, 1494, 4646, 4737,
3503, 1490, 2459, 1495, 3266, 3504, 3510, 4738, 1501, 1502,
3233, 3278, 3279, 3280, 4739, 2142, 4749, 2412, 968, 2657,
3284, 3695, 4752, 4774, -2316, 3605, 2459, 1433, -2318, 4780,
3518, 3486, 2459, 1505, 3378, 753, 3379, 3380, 3381, 1941,
1508, 1510, 2143, 2141, -2316, 4781, 2141, 3308, 2459, 663,
2464, 177, 2461, 181, 2462, 2463, 4796, 1513, 4827, 4797,
4542, 2657, 1520, 4828, 1525, 2144, 2412, 2145, 2496, 1523,
1534, 4829, 2142, 3284, 2412, 1352, 752, 4831, 1536, 4882,
2412, 2141, 3605, -2316, 4885, -2316, 4907, 4639, 1537, 4646,
4000, -2316, 3292, 4921, 1516, 3443, 4922, 761, -173, 2143,
1539, 2139, 1541, 1126, 1553, 1555, 3194, 3462, 1353, 1562,
3195, 3196, 3197, 1564, 4947, 1568, -2318, 4922, 203, 2805,
1575, 1580, 2144, 1581, 2145, 1582, 1583, 3768, 968, 4296,
4297, 1587, 4299, 1590, 1607, 1591, 1593, 1623, 1624, 1626,
-2316, 3514, 1627, 4101, 3908, 3652, 1634, 2061, 1637, 1638,
3653, 1639, 1640, 1641, 1642, -2332, 1644, 1649, 2139, 1650,
1651, 1652, 1664, 1654, -2318, 1354, 1659, 1717, 1722, 1724,
1689, 1731, 3663, 3664, -1652, 3666, -2318, 3668, 3669, 3936,
2062, -2318, 2142, 1725, 3515, 2142, -2318, 1732, -1659, 677,
3676, -2318, 3317, 2063, -2318, 1741, 4160, -2318, 1355, 3317,
1739, 1740, 1742, 1743, 50, 1745, 1746, 2064, 1747, 2143,
3437, 4385, 2143, -1649, -1650, -2316, 4149, 1748, 1749, 1750,
2142, 3519, 1752, 1753, 1754, -2318, 1755, -1653, 3697, 1756,
-1651, 1757, 2144, 1356, 2145, 2144, 1758, 2145, 1759, -2316,
1761, -2316, -2316, -2332, 1762, -2318, 2065, 2143, 1763, 1764,
1765, 1814, 3473, 3710, 1766, 1767, 1768, 2066, 1816, 1818,
1844, 1819, 1828, 1377, 1832, 1357, 1853, 1953, 2139, 1378,
2144, 2139, 2145, 1291, 1982, 3720, -2316, 2067, 1984, -2316,
-2316, -2316, 2068, 1993, -2318, 1293, -2318, 2012, 2013, 2014,
2016, -2332, -2318, 1358, 2017, 2018, 3199, 2019, 2020, 2021,
3506, 3744, 2022, -2332, 2028, 2047, 2139, 2053, -2332, 1379,
2059, 2081, 2085, -2332, 2088, 2087, 2089, 2090, -2332, 2091,
2107, -2332, 2954, 2106, -2332, 2108, 2118, 1359, 2129, 2954,
2954, 34, 2133, 2954, 2135, 1360, 1715, 814, 2138, 2136,
2954, -2318, 1361, 2137, 2139, 2147, 2150, 3542, 2152, 1362,
2156, 2069, -2332, 2220, 3542, 3200, 2148, 1363, 2151, 968,
1380, 968, 2165, 4118, 2157, 2167, 4319, 1381, 3684, 1364,
1382, 2175, -2332, 3670, 2171, 3671, 4352, 1365, 663, 3673,
2182, 1388, 2070, 2211, 2212, 663, 2216, 2172, 2217, 2238,
677, 2194, 2183, 3698, 2239, 1383, 2189, 2240, 2246, 3603,
2254, 2255, 2257, 2258, 2190, 2200, 2201, 3580, 2213, 2268,
2221, -2332, 203, -2332, 2224, 2269, -2318, 2274, 2277, -2332,
2278, 2281, 2282, 556, 2290, 2305, 1384, 2310, 3634, 968,
2285, 1366, 2323, 3704, 2326, 2327, 2339, 3624, 177, 2335,
-2318, 2341, -2318, -2318, 2343, 1439, 2071, 2352, 2347, 4053,
4054, 2358, 2072, 2360, 2361, 2073, 2384, 2371, 2365, 3651,
177, 2366, 4058, 2367, 4079, 2372, 2373, 2375, -2332, 2387,
2386, 2388, 2389, 2406, 2407, 2456, 2437, -2318, 2443, 3655,
-2318, -2318, -2318, 1385, 2074, 1386, 2501, 2551, 2557, 2473,
2374, 2075, 1782, 2612, 3293, 1387, 3293, 2571, 2076, 2506,
2561, 2477, 4015, 1388, 2577, 2077, 2589, 2591, 1310, 2613,
2627, 2641, 3785, 1389, 2644, 2645, 2658, 677, 2648, 2649,
1781, 759, 2659, 1782, 2667, 2668, 2669, 1783, 1784, 1785,
2078, 2680, 3201, 3202, 3203, 2670, 3204, 3205, 3206, 3207,
3208, 3209, 3210, -2332, 1786, 2686, 4874, 4875, 2478, 2696,
1391, 1392, 1788, 2695, 2708, 1095, 2698, 1781, 1789, 4219,
1782, 2730, 2709, 2710, 663, 2741, 2727, -2332, 2732, -2332,
-2332, 2734, 2735, 2761, 3293, 2746, 2751, 1393, 2752, 2479,
2757, 2534, 1790, 2754, 2765, 2774, 2773, 2790, 2777, 1788,
4419, 4624, 2795, 1242, 1246, -2409, 2828, 2809, 2822, 2827,
2480, 2849, 4624, 2854, -2332, 2855, 2863, -2332, -2332, -2332,
2883, 2481, 2867, 2868, 2922, 3766, 2866, 753, 2925, 1790,
2943, 2944, 2936, 2948, 2949, 2955, 2956, 2957, 2959, 2958,
2947, 2482, 2966, 2963, 3904, 753, 2483, 2973, 2980, 2991,
1394, 3005, 2968, 3007, 3009, 3016, 4537, 4539, 3022, 3032,
3030, 3042, 3033, 3044, 3898, 3899, 3900, 3901, 1773, 3045,
3317, 3049, 4055, 3793, 3794, 3795, 3796, 3025, 3031, 4531,
3062, 3063, 4945, 4946, 3800, 3065, 3803, 3048, 4682, 3067,
3066, 3069, 3091, 3245, 2484, 1616, 3072, 1791, 3075, 3076,
3077, 3093, 1792, 3074, 1377, 4321, 3102, 3078, 3083, 3104,
1378, 3107, 4217, 3108, 3111, 2485, 3092, 3112, 3119, 3116,
3120, 3121, 2657, 1793, 1794, 3122, 1660, 3124, 3131, 2474,
3133, 3134, 3135, 1092, -2409, 3142, 3145, 3150, 1795, -2409,
3152, 3156, 3157, 3981, 3162, 1781, 3984, 3159, 1782, 4107,
1379, 3177, 1783, 1784, 1785, 3160, 3175, 4110, 4111, 4112,
4113, 3176, 3178, 3179, 3183, 3184, -1916, 3186, 3189, 1796,
3190, 3229, 3213, 3247, 3219, -2409, 203, 1788, 2412, 3242,
3226, 3264, 1797, 1789, 3240, 1798, 3295, 3241, 3325, 3329,
4750, 4339, 3269, 4258, 3319, 3323, 3327, 3333, 3346, 3340,
3255, 1380, 3265, 2486, 3354, 3356, 3357, 1790, 1381, 3267,
2487, 1382, 3268, 3365, 1781, 3271, 2488, 1782, 3300, 1797,
3361, 1783, 1784, 1785, 3362, 3542, 3368, 3404, 3377, 3370,
3393, 3405, 3394, 4033, 3409, 3410, 1383, 3419, 1786, 3420,
3422, 3428, 3430, 4060, 3429, 3438, 1788, 3470, 2489, 3465,
4292, 2490, 1789, 3475, 3473, 3469, 663, 3478, 969, 3473,
3467, 3964, 2534, 1799, 3477, 1715, 4688, 1384, 3961, 2491,
4452, 3489, 3479, 3490, 3491, 3494, 1790, 4467, 4673, 3487,
3497, 3499, 4477, 3488, 663, 3492, 4528, 1781, 3493, 3505,
1782, 3501, 3509, 4614, 2492, 2209, 4670, 3520, 3495, 3496,
-2409, 3498, 3500, 3502, 2954, 3507, 3511, 3513, 3526, 3527,
2954, 2954, 1791, 2954, 3529, 2263, 3532, 1792, 3544, 1788,
3547, 3574, 3575, 3590, 1385, -2409, 1386, 3592, 3581, 3594,
3596, 3618, 1775, 3604, 3613, 3605, 1387, 3130, 1793, 1794,
3615, 3619, 3622, 3623, 1388, 4678, 3627, 4680, 3626, 1790,
3639, 1080, 1081, 1795, 1389, 3650, 1800, 1609, 3665, 1801,
1802, 1803, 3667, 1804, 1805, 1806, 1807, 1808, 1809, 1810,
3677, 3688, 2646, 3658, 3678, 3679, 3680, 3659, 2647, 4249,
3691, 1791, 3690, 3661, 1796, 4250, 1792, 3683, 1390, 3692,
3700, 1391, 1392, -2409, 3703, 3705, 1734, 1797, 3709, 3194,
1804, 1805, 1806, 1807, 1808, 1809, 1810, 1793, 1794, 3216,
4090, 4267, 4268, 3256, 4266, 3215, -1915, 3761, 1393, 3765,
760, 3773, 1795, 3719, 4086, 177, 3786, 3802, 3824, 3745,
3746, 3747, 3753, 3293, 4281, 3774, 3792, 3293, 3777, 3826,
3810, 3829, 3839, 3841, 3849, 3844, 4566, 3843, 4531, 3852,
3857, 3867, 3873, 1796, -2409, 3894, 4905, 3896, 3910, -2409,
3897, 3911, 3902, 3909, 3914, 3912, 1797, 3923, 3926, 1798,
3937, 3953, 3940, 846, 3938, 3939, 3950, 3951, 1799, 3952,
3954, 1394, 3956, 3955, 4129, 4305, 4306, 4129, 4304, 4129,
3958, 3959, 3968, 3969, 4742, -2409, 4619, 3976, 663, 3992,
3994, 3918, 3997, 4004, 4006, 4485, 4751, 4003, 4032, 4007,
4010, 4753, 4043, 4755, 4048, 4040, 4050, 672, 4905, 674,
4056, 3641, 2425, 680, 4066, 4064, 4067, 4072, 694, 702,
672, 4063, 709, 4083, 4084, 702, 702, 4905, 738, 1797,
741, 4096, 4097, 4099, 4100, 4102, 1126, 1799, 4507, 3194,
4114, 4123, 4502, 3195, 3196, 3197, 4119, 4126, 4125, 4130,
4103, 969, 4131, 4105, 4106, 4133, 4141, 4136, 4145, 4151,
3769, 1800, 4146, 4150, 1801, 1802, 1803, 4152, 1804, 1805,
1806, 1807, 1808, 1809, 1810, 4154, 4153, 4158, 4016, 4276,
4390, -1917, 4398, 4174, 4186, 4399, 4400, 4187, 4191, 4192,
4189, 4286, 4199, 4200, 4204, 4205, 4207, 4208, 4218, 4210,
4211, 4404, 4232, 3284, 4212, 4228, 4225, 3284, 4230, 4237,
-2409, 4238, 4246, 4214, 4262, 4216, 4263, 4269, 4270, 4271,
4017, 4289, 4291, 4892, 4282, 4285, 1715, 4300, 4294, 1781,
1800, 4295, 1782, 1801, 1802, 1803, 4231, 1804, 1805, 1806,
1807, 1808, 1809, 1810, 4307, 4018, 4220, 177, 4332, 4298,
4333, 3185, 4345, 4349, 4350, 4353, 4342, 4340, 4351, 4356,
4019, 1788, 4359, 4301, 4020, 4371, 4378, -2409, 4380, 4381,
4382, 4361, 796, 801, 801, 804, 4383, 801, 4391, 810,
4403, 796, 4396, 738, 4021, 4402, 848, 4022, 4413, 4412,
4415, 1790, 738, 4420, 4423, 738, 4422, 4431, 4424, 801,
4023, 738, 4445, -2409, 4465, 4471, 4474, 4479, 4491, 4264,
1804, 1805, 1806, 1807, 1808, 1809, 1810, 4525, 4425, 4438,
4495, 4449, 4529, 4469, 4475, 663, 4494, 4509, 4504, 3199,
4510, 4514, 4536, 4543, 4550, 4552, 4039, 4553, 4555, 4556,
4571, 4577, 4578, 4557, 4366, 4576, 4279, 4280, 4581, 4598,
4586, 4283, 4284, 4583, 4587, 3778, 4600, 4615, 4601, 4602,
4618, 4622, 4627, 4639, 4630, 4635, 3130, 4634, 4637, 4302,
4303, 4643, 4664, 4662, 4654, 4693, 4698, 4703, 2954, 4024,
2954, 2954, 4677, 4702, 2954, 4705, 4710, 4025, 3200, 968,
4716, 4722, 4724, 4323, 4731, 4723, -2409, 4732, 4769, 3293,
4733, -2409, 4734, 4740, 3293, 4741, 4758, 4748, 4754, 3293,
4761, 4762, 3293, 4447, 4757, 4764, 4773, 4777, 4671, 4786,
663, 4787, 4795, 4026, 4800, 4790, 4792, 4801, 4798, 4816,
4808, 4809, 4810, 4817, 4844, 4848, 3293, -2409, 4825, 4839,
4789, 4363, 3787, 4837, 4788, 4856, 4855, 4860, 4895, 3293,
4883, 4916, 1126, 4920, 4927, 3194, 846, 4877, 1443, 3195,
3196, 3197, 4926, 4930, 4365, 177, 4942, 4917, 4914, 4915,
4384, 3130, 4939, 3130, 4934, 4940, 4168, 4941, 4943, 4935,
1282, 1797, 4609, 1418, 1374, 3011, 3310, 2222, 3317, 2853,
1442, 3416, 4506, 3929, 1715, 2935, 3531, 4012, 4684, 846,
4129, 1852, 4530, 4785, 4129, 4129, 4580, 4129, 4052, 4486,
4488, 4488, 4766, 4582, 4337, 1781, 4565, 3359, 1782, 3118,
969, 4840, 4483, 4890, 4793, 4791, 4854, 3364, 4071, 4087,
4047, 2989, 3504, 2990, 3927, 3432, 4059, 2981, 4354, 2302,
3600, 4894, 4944, 814, 4931, 4554, 3548, 1788, 4858, 3545,
4508, 4779, 4845, -2409, 4511, 679, 4120, 4651, 4649, 1709,
2701, 4093, -2409, 1719, 3347, 3201, 3202, 3203, 4729, 3204,
3205, 3206, 3207, 3208, 3209, 3210, 2284, 1790, 2467, 2468,
3508, 1043, 4868, 2469, 3284, 4933, 1715, 2653, 2652, 3284,
1715, 1715, 3284, 2416, 3314, 970, 3293, 2027, 1255, 4075,
4834, 4221, 1824, 4683, 3861, 3315, 3322, 2679, 3324, 4830,
3840, 4756, 4215, 3326, 2678, 3805, 1978, 1950, 4476, 1979,
4185, 4197, 4470, 4629, 3801, 4747, 4746, 3862, 883, 4613,
3660, 3755, 4468, 738, 4832, 796, 4824, 4833, 801, 2617,
804, 3781, 801, 3542, 3318, 3199, 3262, 2359, 3170, 848,
3260, 2626, 4592, 944, 0, -2409, 1839, 1831, 3293, 1983,
801, 0, 1804, 1805, 1806, 1807, 1808, 1809, 1810, 0,
0, 1988, 0, 0, 663, 0, 0, 0, 0, 4730,
0, 2954, -2409, 796, 0, 0, 0, -2409, 804, 0,
0, 0, 968, 796, 0, 0, 4534, 848, 4535, 0,
0, 0, 4540, 4541, 3200, 0, 0, 0, 0, 0,
0, 0, 0, 0, 801, 0, 0, 0, 0, 0,
0, 0, 0, -2409, 0, 0, 0, 1781, 0, 0,
1782, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 4570, 177, 0, 0, 0,
0, 0, 0, 1781, 0, 0, 1782, 0, 4655, 1788,
1783, 1784, 1785, 738, 0, -2409, 0, 1797, 4704, 0,
0, 0, 4591, 177, 0, 0, 738, 1786, 1109, 0,
0, 0, 0, 0, 0, 1788, 0, 0, 0, 1790,
0, 1789, 0, 4679, 0, 4681, 0, 0, 1223, 1223,
0, 738, 702, 0, 0, 0, 702, 0, 753, 0,
0, 0, 0, 0, 0, 1790, 0, 0, 0, 0,
738, 0, 0, 0, 738, 0, 0, 753, 0, 0,
1223, 0, 0, 0, 3293, 0, 0, 0, 3284, 0,
0, 0, 738, 0, 0, 0, 0, 0, -2409, 1773,
0, 0, 0, 3782, 738, 0, 0, 0, 0, 3293,
0, 0, 0, 0, 0, 0, 0, 0, 1773, 1781,
0, 0, 1782, 846, 0, 0, 0, 0, 0, 0,
0, 3201, 3202, 3203, 0, 3204, 3205, 3206, 3207, 3208,
3209, 3210, 0, 0, -2409, 0, 0, 738, 0, -2409,
0, 1788, 0, 4685, 0, 0, 0, -2409, 0, 0,
0, 0, 4887, 738, 0, 0, 0, 0, 801, 801,
1791, 0, 0, 4488, 0, 1792, 0, 0, 0, 4804,
0, 1790, 0, 0, 0, -2409, 0, 0, 0, 0,
0, -2409, 0, 0, 702, 702, 1793, 1794, 1804, 1805,
1806, 1807, 1808, 1809, 1810, 0, 0, 0, 0, 0,
0, 1795, 0, 0, 0, 0, 0, 0, 0, 796,
4717, 177, 0, 0, 0, 0, 0, 0, 0, 1797,
796, 4799, 0, 0, 848, 0, 0, 4843, 0, 0,
0, 0, 1796, 0, 0, 4172, 0, 0, 0, 801,
0, 0, 0, 3130, 0, 1797, 0, 0, 1798, 0,
0, 0, 0, 0, 738, 0, 0, 0, 0, 0,
0, 801, 801, 3293, 0, 0, 0, 0, 0, 814,
814, 0, 0, 0, 0, 0, -2409, 0, 738, 738,
738, -2409, 801, 0, 796, 1126, 0, 0, 3194, 0,
0, 0, 3195, 3196, 3197, 4847, 0, 0, 0, 0,
-2409, 968, 0, 0, 1781, 0, 0, 1782, 0, 4169,
0, 0, 0, 0, 0, 0, 0, -2409, 0, 1780,
0, 0, 0, 0, 1781, 0, 1799, 1782, 0, 0,
0, 1783, 1784, 1785, 0, 0, 1788, 0, 0, 0,
0, 0, -2409, 0, 0, 0, 0, 0, 1786, 0,
801, 1787, 801, 801, 0, 4893, 1788, 0, 0, 0,
0, 1797, 1789, 0, 0, 0, 1790, 0, 0, 0,
0, 0, 0, 0, 0, 1377, 0, 0, 0, 0,
1223, 1378, 0, 4937, 0, 0, 1790, 0, 0, 0,
0, 0, 0, -2409, 0, 814, 814, 0, 0, 0,
1804, 1805, 1806, 1807, 1808, 1809, 1810, 0, 0, 0,
1692, 1692, 0, 0, 0, 738, 0, 672, 0, 1800,
0, 1379, 1801, 1802, 1803, 0, 1804, 1805, 1806, 1807,
1808, 1809, 1810, 4859, 177, 0, 0, 0, 1723, 0,
3236, 738, -2409, 0, 1729, 0, 0, 4873, 177, 4870,
181, 4871, 4872, 0, 0, 0, 0, 1223, 4913, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, -2409, 1380, 0, 4904, 0, -2409, 0, 3199, 1381,
0, 0, 1382, 0, 0, 0, 1223, 0, 0, 0,
0, 1791, 0, 0, 0, 0, 1792, 0, 4873, 4912,
4870, 181, 4871, 4872, 0, 4903, 0, 1383, 0, 0,
0, 0, -2409, 0, 1223, 1223, 1223, 1793, 1794, 1223,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1795, 0, 0, -2409, 4904, 3200, 1384, 1223,
0, 0, 1804, 1805, 1806, 1807, 1808, 1809, 1810, 0,
0, 0, 0, 0, 0, 4904, 1797, 4873, 177, 4870,
181, 4871, 4872, 1796, 0, 0, 0, 4903, 0, 0,
0, 0, 0, 0, 0, 0, 1797, 0, 0, 1798,
0, 738, 0, 0, 1223, 0, 4903, 0, 0, 0,
0, 0, 0, 0, 0, 1385, 0, 1386, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1387, 0, 0,
0, 0, 0, 1223, 0, 1388, 0, 1223, 1223, 0,
0, 0, 0, 0, 0, 1389, 0, 0, 738, 738,
1992, 0, 0, 0, 0, 0, 0, -2409, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
702, 0, 0, 0, 0, 0, 0, 1799, 0, 1447,
0, 0, 1391, 1392, 0, 0, 0, 1781, 0, 0,
1782, 0, 0, 0, 1783, 1784, 1785, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 702, 1448,
0, 1786, 0, 0, 0, 2660, 0, 0, 0, 1788,
0, 738, 2114, 0, 0, 1789, 0, 0, 0, 738,
0, 0, 801, 0, 3201, 3202, 3203, 0, 3204, 3205,
3206, 3207, 3208, 3209, 3210, 0, 0, 0, 0, 1790,
-2409, 0, 0, 0, 848, 0, 738, 1804, 1805, 1806,
1807, 1808, 1809, 1810, 738, 0, 0, 738, 0, 0,
1800, 0, 1394, 1801, 1802, 1803, 0, 1804, 1805, 1806,
1807, 1808, 1809, 1810, 0, 0, 0, 0, 0, 0,
0, 738, 0, 0, 0, 0, 2661, 0, 0, 801,
801, 801, 801, 738, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 702, 0, 0, 738, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 2234, 0,
738, 0, 0, 0, 0, 0, 1781, 0, 0, 1782,
0, 801, 801, -2409, -2409, -2409, 0, 0, 0, 0,
801, 0, 0, 0, 1791, 0, 0, 0, 0, 1792,
801, 0, 0, 0, 0, 0, 0, 0, 1788, 0,
0, 0, 0, 0, 1789, 0, 0, 0, 0, 738,
1793, 1794, 0, 0, 0, 0, 0, 0, 801, 801,
801, 801, 0, 0, 0, 1795, 0, 0, 1790, 0,
738, 0, 0, 0, 0, 0, 0, 738, 0, 0,
2234, 0, 0, 0, 0, 0, 0, 0, 0, 0,
796, 0, 0, 0, 0, 0, 1796, 804, 0, 0,
0, 0, 1223, 0, 0, 0, 0, 0, 0, 1797,
0, 0, 1798, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 796,
0, 0, 0, 0, 0, 0, 0, 0, 0, 848,
0, 0, 0, 801, 0, 0, 801, 0, 0, 0,
0, 0, 0, 0, 0, 0, 801, 0, 0, 0,
0, 0, 0, 1791, 801, 801, 0, 0, 1792, 738,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1799, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1692, 0, 0, 0, 0, 0,
0, 801, 0, 796, 1795, 0, 0, 738, 738, 0,
801, 0, 0, 0, 0, 0, 0, 738, 0, 0,
0, 0, 0, 0, 738, 0, 0, 0, 0, 672,
672, 0, 0, 2476, 0, 2662, 0, 1223, 0, 1223,
0, 0, 0, 0, 1223, 1223, 0, 0, 1797, 0,
0, 1223, 1223, 1223, 0, 0, 0, 1223, 848, 1223,
1223, 1223, 1223, 1223, 1223, 0, 1223, 0, 1223, 1223,
0, 0, 1223, 1800, 0, 0, 1801, 1802, 1803, 0,
1804, 1805, 1806, 1807, 1808, 1809, 1810, 0, 1223, 1223,
1223, 1223, 0, 0, 0, 801, 1223, 0, 0, 0,
1223, 0, 0, 1223, 0, 0, 1223, 1223, 1223, 1223,
1223, 1223, 1223, 1223, 1223, 1223, -127, 1223, 0, 0,
0, 0, 0, 738, 1223, 0, 1223, 0, 0, 1799,
0, 0, 0, 738, 1, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2, 0, 3, 4, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 5, 0, 0, 0, 0, 0, 3054, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 6, 0, 7, 8, 0, 1352, 0, 0, 9,
0, 10, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 11, 0, 12, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1353,
0, 13, 1800, 0, 14, -2409, -2409, -2409, 0, 1804,
1805, 1806, 1807, 1808, 1809, 1810, 15, 0, 16, 0,
0, 0, 17, 0, 0, 0, 0, 0, 18, 0,
738, 0, 738, 0, 1223, 0, 19, 0, 20, 0,
0, 0, 0, 0, 21, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1354, 0, 0, 22,
0, 0, 0, 0, 0, 0, 0, 0, 0, 738,
0, 0, 0, 0, 0, 23, 2687, 0, 2694, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1355,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 804, 0, 3054,
0, 0, 0, 0, 24, 25, 672, 0, 672, 3055,
26, 0, 0, 0, 1356, 0, 0, 0, 1352, 0,
0, 27, 0, 0, 0, 1223, 0, 0, 0, 0,
0, 0, 28, 0, 0, 0, 796, 0, 801, 801,
0, 0, 0, 796, 0, 848, 1357, 801, 0, 801,
0, 1353, 0, 801, 0, 0, 738, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 29, 0, 0, 0, 702, 0, 0, 0, 0,
0, 0, 0, 30, 0, 2114, 0, 0, 31, 32,
0, 33, 2807, 0, 0, 0, 34, 0, 2817, 0,
0, 35, 0, 0, 36, 0, 0, 738, 1354, 37,
0, 0, 34, 0, 38, 39, 1360, 0, 0, 0,
0, 0, 40, 1361, 0, 0, 41, 738, 0, 0,
1362, 2861, 2861, 0, 0, 0, 42, 0, 2100, 0,
804, 1355, 0, 0, 826, 0, 0, 0, 43, 0,
1364, 0, 0, 857, 0, 0, 0, 801, 1365, 0,
0, 0, 872, 0, 0, 0, 0, 44, 0, 0,
0, 3055, 0, 0, 0, 0, 1356, 45, 3057, 0,
0, 0, 1781, 46, 2924, 1782, 2927, 2929, 47, 1783,
1784, 1785, 0, 0, 0, 0, 0, 0, 0, 0,
0, 48, 0, 0, 0, 0, 1786, 0, 1357, 1377,
0, 0, 1366, 801, 1788, 1378, 3058, 3641, 0, 0,
1789, 801, 49, 801, 0, 0, 0, 0, 0, 801,
0, 0, 0, 0, 0, 0, 0, 50, 0, 1781,
-127, 0, 1782, 1223, 1790, 0, 1783, 1784, 1785, 0,
0, 0, 0, 0, 0, 1379, 0, 2114, 0, 0,
2861, 0, 738, 1786, 0, 3012, 0, 0, 672, 0,
0, 1788, 0, 0, 34, 0, 0, 1789, 3056, 0,
0, 0, 0, 0, 0, 1361, 0, 0, 0, 0,
1781, 0, 1362, 1782, 2924, 0, 0, 1783, 1784, 1785,
2100, 1790, 0, 801, 3038, 0, 1380, 0, 0, 0,
0, 0, 1364, 1381, 1786, 0, 1382, 0, 0, 0,
1365, 0, 1788, 0, 0, 0, 0, 1223, 1789, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3057, 1383, 3082, 0, 0, 0, 0, 0, 0, 1791,
0, 0, 1790, 0, 1792, 0, 0, 0, 0, 801,
0, 801, 2861, 801, 2861, 0, 0, 0, 0, 0,
0, 0, 1384, 0, 1366, 1793, 1794, 0, 3058, 0,
0, 0, 0, 0, 0, 0, 0, 1223, 0, 0,
1795, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1692, 0, 0, 0, 0, 0, 1791, 0, 0, 0,
0, 1792, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1796, 0, 0, 0, 0, 0, 0, 0, 1385,
0, 1386, 1793, 1794, 1797, 0, 0, 1798, 0, 0,
0, 1387, 738, 0, 0, 0, 0, 1795, 0, 1388,
0, 0, 796, 0, 0, 0, 0, 1791, 796, 1389,
0, 0, 1792, 0, 0, 0, 0, 0, 0, 801,
0, 0, 0, 0, 0, 0, 1223, 0, 1796, 0,
0, 1223, 0, 1793, 1794, 0, 0, 0, 0, 881,
0, 1797, 0, 1473, 916, 0, 1391, 1392, 1795, 0,
0, 0, 0, 0, 0, 1223, 1223, 1223, 0, 0,
1223, 0, 0, 0, 0, 1799, 0, 0, 1223, 1223,
1223, 1223, 0, 1474, 0, 0, 0, 0, 0, 1796,
0, 1223, 0, 0, 1223, 0, 1223, 0, 0, 0,
0, 0, 1797, 0, 0, 1798, 0, 1377, 1223, 1223,
0, 0, 1223, 1378, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 848, 0, 1223, 0, 1223, 0,
1223, 0, 1799, 3054, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1394, 0, 0, 0,
0, 1223, 1352, 1379, 0, 738, 0, 0, 0, 0,
0, 0, 3294, 0, 1223, 1223, 1223, 0, 1800, 0,
0, 1801, 1802, 1803, 0, 1804, 1805, 1806, 1807, 1808,
1809, 1810, 1223, 1799, 0, 1353, 2560, 0, 0, 0,
0, 0, 0, 0, 1223, 0, 0, 1107, 0, 1223,
0, 0, 0, 0, 1380, 1223, 0, 0, 0, 0,
0, 1381, 0, 0, 1382, 3294, 0, 0, 3332, 0,
0, 3335, 1230, 2694, 0, 1800, 0, 0, 1801, 1802,
1803, 0, 1804, 1805, 1806, 1807, 1808, 1809, 1810, 1383,
0, 1257, 1354, 0, 0, 0, 0, 0, 0, 0,
0, 1377, 0, 0, 0, 0, 0, 1378, 0, 0,
0, 0, 0, 1283, 0, 1223, 0, 2861, 0, 0,
1384, 0, 1692, 0, 0, 1355, 1800, 0, 0, 1801,
1802, 1803, 0, 1804, 1805, 1806, 1807, 1808, 1809, 1810,
0, 0, 0, 0, 3546, 0, 0, 1379, 801, 0,
801, 801, 801, 0, 0, 3055, 0, 0, 0, 0,
1356, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1385, 0, 1386,
0, 0, 0, 0, 1404, 0, 0, 0, 0, 1387,
0, 0, 1357, 0, 0, 0, 0, 1388, 1380, 0,
0, 0, 0, 0, 0, 1381, 0, 1389, 1382, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1383, 0, 0, 0, 0, 0, 0,
0, 2082, 0, 0, 1391, 1392, 0, 0, 0, 0,
0, 0, 0, 738, 0, 0, 0, 0, 34, 0,
0, 0, 1360, 0, 1384, 1781, 0, 0, 1782, 1361,
0, 2083, 1783, 1784, 1785, 0, 1362, 0, 0, 0,
0, 0, 0, 0, 2100, 1527, 0, 0, 0, 1786,
0, 0, 0, 0, 0, 0, 1364, 1788, 0, 0,
0, 0, 0, 1789, 1365, 0, 0, 0, 0, 1557,
1560, 1561, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1385, 0, 1386, 3057, 0, 0, 1790, 0, 0,
0, 0, 0, 1387, 1394, 801, 0, 0, 0, 0,
0, 1388, 2861, 2861, 0, 0, 0, 0, 0, 0,
0, 1389, 0, 0, 0, 0, 0, 0, 1366, 0,
0, 0, 3058, 0, 0, 0, 0, 0, 586, 0,
0, 0, 0, 0, 631, 0, 738, 738, 0, 0,
0, 0, 0, 0, 682, 2153, 0, 0, 1391, 1392,
0, 0, 738, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 750, 750, 0, 0, 1692, 738, 0,
0, 0, 0, 0, 0, 2154, 1692, 738, 738, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1791, 0, 738, 0, 0, 1792, 0, 0,
0, 0, 0, 0, 0, 0, 1230, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1793, 1794,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1230, 1795, 0, 0, 0, 0, 1394, 0,
0, 0, 0, 0, 0, 0, 0, 801, 0, 801,
0, 0, 0, 801, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1796, 0, 0, 0, 0, 796,
0, 0, 0, 0, 0, 0, 0, 1797, 0, 738,
1798, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 738, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 801, 0, 809,
0, 0, 0, 0, 1223, 0, 0, 850, 0, 0,
854, 855, 1223, 858, 1223, 0, 864, 0, 866, 0,
1223, 0, 1223, 0, 0, 1223, 0, 0, 0, 0,
1223, 1223, 1223, 1223, 0, 0, 1223, 1223, 1223, 1223,
1223, 1223, 1223, 1223, 1223, 1223, 1223, 0, 1799, 0,
1223, 1223, 0, 0, 0, 0, 0, 0, 0, 0,
1223, 0, 1854, 0, 1223, 0, 0, 0, 1223, 0,
0, 0, 0, 0, 0, 0, 0, 1223, 0, 0,
1223, 0, 1223, 0, 0, 0, 0, 0, 0, 0,
0, 1223, 0, 0, 1223, 1223, 0, 0, 0, 1223,
1223, 0, 0, 0, 3789, 0, 1223, 0, 0, 0,
1990, 0, 0, 738, 738, 738, 796, 0, 3294, 3809,
0, 0, 0, 3809, 3823, 0, 0, 0, 0, 0,
1223, 0, 0, 0, 0, 0, 1223, 1223, 1223, 0,
0, 1800, 0, 0, 1801, 1802, 1803, 0, 1804, 1805,
1806, 1807, 1808, 1809, 1810, 0, 0, 0, 0, 3711,
0, 0, 1223, 0, 0, 0, 1377, 0, 0, 0,
0, 0, 1378, 2694, 0, 1223, 0, 0, 0, 0,
0, 0, 2109, 0, 0, 0, 0, 0, 0, 0,
2130, 0, 0, 0, 0, 0, 3881, 1692, 1692, 0,
2234, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1379, 0, 0, 0, 0, 2164, 801, 801,
801, 801, 0, 0, 0, 2170, 0, 0, 2173, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 3925, 0, 0,
0, 0, 0, 1380, 2208, 0, 0, 0, 0, 0,
1381, 0, 0, 1382, 0, 0, 0, 0, 2223, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 2235, 0, 0, 0, 0, 0, 0, 1383, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1781, 0, 0, 1782, 0, 0, 0, 1783, 1784, 1785,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1384,
0, 0, 0, 0, 1786, 0, 0, 0, 1781, 0,
2288, 1782, 1788, 0, 3998, 1783, 1784, 1785, 1789, 0,
0, 0, 0, 0, 0, 0, 919, 0, 0, 0,
0, 2322, 1786, 0, 927, 0, 0, 0, 2334, 0,
1788, 940, 1790, 0, 945, 946, 1789, 0, 0, 948,
0, 0, 0, 0, 0, 738, 1385, 801, 1386, 1223,
965, 0, 0, 0, 0, 738, 0, 0, 1387, 0,
1790, 4046, 0, 0, 973, 0, 1388, 0, 0, 0,
2114, 0, 0, 0, 0, 0, 1389, 0, 0, 1033,
0, 1037, 0, 0, 1039, 1781, 1041, 0, 1782, 1045,
738, 0, 1783, 1784, 1785, 0, 0, 0, 0, 0,
2924, 0, 0, 0, 0, 0, 0, 0, 4080, 1786,
2802, 0, 0, 1391, 1392, 0, 0, 1788, 738, 0,
0, 0, 2234, 1789, 0, 0, 1223, 1223, 0, 0,
2414, 0, 0, 0, 0, 0, 0, 1791, 0, 0,
1393, 0, 1792, 0, 0, 0, 0, 1790, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1108, 0, 0,
2861, 0, 2861, 1793, 1794, 1791, 0, 0, 1230, 1230,
1792, 0, 738, 0, 0, 0, 0, 0, 1795, 0,
0, 0, 0, 0, 0, 2466, 0, 0, 0, 0,
0, 1793, 1794, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1223, 1394, 0, 0, 1795, 0, 0, 1796,
0, 0, 750, 0, 1223, 0, 0, 0, 0, 0,
0, 0, 1797, 0, 0, 1798, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1796, 0, 0,
0, 0, 0, 0, 0, 1223, 0, 0, 0, 0,
1797, 0, 1791, 1798, 0, 1223, 1223, 1792, 0, 0,
0, 0, 0, 1223, 1223, 0, 0, 0, 1223, 0,
0, 0, 1343, 1223, 0, 0, 1223, 1223, 1793, 1794,
0, 1223, 4177, 0, 2625, 0, 0, 1223, 738, 738,
738, 738, 0, 1795, 2640, 3809, 3823, 0, 3809, 0,
0, 4188, 0, 1799, 0, 3294, 0, 0, 0, 3294,
0, 0, 0, 0, 0, 4203, 0, 0, 0, 0,
0, 1223, 0, 0, 1796, 0, 1223, 0, 0, 0,
0, 1799, 1223, 0, 0, 0, 0, 1797, 1476, 848,
1798, 0, 0, 0, 0, 0, 0, 1223, 0, 0,
3332, 0, 0, 1488, 0, 2694, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1499, 0, 1500, 672, 0,
0, 1223, 0, 1377, 0, 1503, 0, 0, 0, 1378,
0, 0, 0, 0, 0, 0, 0, 1518, 0, 0,
1522, 2861, 2861, 0, 0, 0, 1800, 0, 0, 1801,
1802, 1803, 0, 1804, 1805, 1806, 1807, 1808, 1809, 1810,
0, 2651, 0, 2654, 3764, 0, 4265, 0, 1799, 1379,
0, 0, 0, 0, 1800, 1567, 0, 1801, 1802, 1803,
0, 1804, 1805, 1806, 1807, 1808, 1809, 1810, 0, 0,
0, 0, 3848, 0, 0, 0, 0, 0, 0, 0,
1230, 0, 0, 1223, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1380, 187, 0, 801, 0, 0, 0, 1381, 0, 0,
1382, 0, 0, 0, 0, 0, 0, 801, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1383, 0, 0, 0, 0,
0, 1800, 0, 0, 1801, 1802, 1803, 188, 1804, 1805,
1806, 1807, 1808, 1809, 1810, 0, 0, 1223, 0, 3875,
0, 189, 0, 0, 0, 0, 1384, 0, 796, 0,
0, 0, 0, 2114, 0, 0, 0, 0, 0, 190,
0, 1692, 0, 0, 0, 191, 0, 0, 1781, 1710,
0, 1782, 0, 0, 0, 1783, 1784, 1785, 801, 3038,
192, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 193, 1786, 0, 0, 0, 0, 0, 0, 194,
1788, 0, 0, 1385, 0, 1386, 1789, 738, 2829, 0,
0, 195, 0, 0, 0, 1387, 196, 0, 0, 0,
0, 0, 197, 1388, 0, 0, 0, 0, 2856, 0,
1790, 0, 0, 1389, 0, 0, 0, 0, 0, 198,
0, 0, 0, 0, 0, 0, 1223, 0, 0, 0,
0, 0, 0, 0, 0, 1223, 0, 0, 0, 0,
0, 0, 0, 0, 199, 0, 0, 2899, 0, 0,
1391, 1392, 0, 1223, 1223, 0, 0, 1223, 0, 0,
0, 0, 0, 0, 0, 200, 0, 0, 0, 0,
0, 796, 3809, 0, 0, 0, 3294, 2900, 0, 0,
0, 3294, 0, 0, 3294, 796, 0, 2924, 0, 4451,
0, 0, 1223, 1223, 0, 0, 201, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 3881, 0,
0, 0, 0, 1377, 0, 1791, 202, 0, 0, 1378,
1792, 3881, 848, 801, 801, 801, 203, 0, 0, 0,
0, 0, 750, 1952, 0, 0, 0, 0, 0, 0,
1394, 1793, 1794, 3008, 0, 0, 0, 0, 0, 0,
0, 0, 0, 204, 0, 0, 1795, 0, 205, 1379,
206, 0, 0, 0, 796, 848, 207, 0, 0, 208,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1796, 0, 0,
0, 0, 0, 0, 0, 0, 0, 209, 210, 0,
1797, 211, 0, 1798, 2080, 212, 0, 0, 0, 0,
1380, 1692, 1692, 0, 213, 796, 0, 1381, 738, 214,
1382, 0, 0, 0, 0, 0, 0, 0, 4046, 0,
0, 215, 0, 0, 738, 0, 2861, 0, 0, 0,
0, 0, 2114, 0, 216, 1383, 0, 0, 0, 0,
0, 0, 0, 0, 0, 4080, 0, 0, 0, 0,
0, 0, 0, 0, 0, 2163, 801, 738, 3881, 0,
0, 0, 0, 0, 0, 0, 1384, 0, 0, 0,
1781, 1799, 0, 1782, 0, 0, 0, 1783, 1784, 1785,
0, 0, 0, 0, 0, 0, 0, 1223, 0, 0,
1223, 0, 1223, 0, 1786, 0, 0, 0, 1781, 0,
0, 1782, 1788, 0, 0, 1783, 1784, 1785, 1789, 0,
0, 0, 0, 3147, 0, 0, 1223, 0, 0, 0,
3294, 0, 1786, 1385, 4451, 1386, 0, 0, 0, 0,
1788, 1223, 1790, 0, 0, 1387, 1789, 0, 0, 0,
4642, 0, 0, 1388, 0, 0, 0, 0, 1781, 0,
1223, 1782, 0, 1389, 0, 1783, 1784, 1785, 0, 0,
1790, 0, 801, 0, 1800, 0, 738, 1801, 1802, 1803,
2280, 1804, 1805, 1806, 1807, 1808, 1809, 1810, 0, 0,
1788, 0, 4137, 0, 0, 0, 1789, 2938, 0, 1223,
1391, 1392, 0, 0, 0, 0, 801, 801, 801, 801,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1790, 1692, 0, 0, 0, 3215, 0, 2939, 0, 0,
3216, 0, 0, 0, 0, 0, 0, 0, 0, 0,
796, 0, 0, 0, 0, 0, 0, 1791, 0, 0,
0, 0, 1792, 0, 0, 0, 738, 0, 0, 0,
0, 1223, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1793, 1794, 1791, 3277, 0, 2379, 0,
1792, 0, 0, 0, 0, 0, 0, 0, 1795, 0,
1394, 0, 2393, 0, 0, 2396, 0, 2398, 0, 2399,
0, 1793, 1794, 1223, 0, 2401, 796, 0, 0, 0,
0, 0, 0, 0, 0, 1223, 1795, 0, 0, 1796,
1223, 0, 1223, 0, 1223, 1791, 0, 0, 0, 0,
1792, 3881, 1797, 0, 0, 1798, 0, 801, 0, 848,
0, 0, 0, 0, 0, 0, 0, 1796, 0, 1223,
1952, -2409, -2409, 0, 1952, 0, 1952, 0, 0, 1952,
1797, 0, 0, 1798, 0, 0, 1795, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1781, 0, 0, 1782, 0, 0, 0, 1783,
1784, 1785, 0, 0, 0, 801, 0, -2409, 0, 0,
0, 796, 0, 0, 0, 0, 1786, 0, 0, 0,
1797, 0, 0, 1799, 1788, 0, 0, 0, 0, 0,
1789, 0, 0, 0, 0, 0, 0, 0, 1223, 1223,
0, 0, 0, 2924, 0, 0, 0, 0, 0, 1223,
0, 1799, 4642, 0, 1790, 0, 2694, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1781, 796,
0, 1782, 0, 0, 0, 1783, 1784, 1785, 0, 801,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1786, 0, 0, 0, 0, 2114, 0, 0,
1788, 1799, 0, 0, 0, 3881, 1789, 0, 0, 0,
0, 796, 796, 1223, 0, 0, 1800, 0, 0, 1801,
1802, 1803, 0, 1804, 1805, 1806, 1807, 1808, 1809, 1810,
1790, 0, 1223, 0, 3464, 0, 0, 0, 0, 801,
0, 0, 0, 0, 1800, 0, 0, 1801, 1802, 1803,
0, 1804, 1805, 1806, 1807, 1808, 1809, 1810, 0, 1791,
0, 0, 4173, 0, 1792, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1793, 1794, 0, 0, 0,
0, 0, 0, 0, 1800, 0, 0, 1801, 1802, 1803,
1795, 1804, 1805, 1806, 1807, 1808, 1809, 1810, 0, 0,
0, 1223, 1223, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 796, 0, 0, 0, 0,
0, 1796, 0, 0, 0, 1791, 0, 796, 796, 0,
1792, 0, 0, 0, 1797, 1377, 0, 1798, 0, 0,
0, 1378, 0, 0, 0, 0, 0, 3572, 3573, 0,
0, 1793, 1794, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 3582, 0, 0, 1795, 0, 2712, 2713,
0, 0, 0, 2716, 2717, 0, 0, 0, 2720, 3599,
0, 1379, 0, 0, 0, 0, 0, 0, 3608, 3610,
0, 0, 2731, 0, 0, 0, 0, 1796, 0, 2740,
0, 0, 0, 2743, 2744, 3628, 0, 2747, 2748, 0,
1797, 0, 0, 1798, 2753, 1799, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 2769, 0, 2771, 0,
0, 0, 1380, 0, 0, 0, 0, 0, 0, 1381,
0, 0, 1382, 0, 0, 2794, 0, 0, 1781, 0,
2796, 1782, 0, 0, 0, 1783, 1784, 1785, 0, 0,
0, 0, 0, 2801, 0, 0, 0, 1383, 0, 0,
0, 2806, 1786, 2808, 0, 2810, 2813, 2815, 1015, 0,
1788, 0, 2823, 2826, 0, 0, 1789, 0, 0, 0,
0, 1799, 2839, 0, 0, 0, 0, 2848, 1384, 1015,
0, 0, 2852, 0, 0, 0, 1230, 0, 1800, 0,
1790, 1801, 1802, 1803, 0, 1804, 1805, 1806, 1807, 1808,
1809, 1810, 0, 0, 0, 0, 4410, 2885, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 2892, 0,
2894, 0, 0, 0, 0, 2897, 0, 0, 0, 2898,
0, 2902, 2903, 2904, 2905, 1385, 2907, 1386, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1387, 0, 2931,
2932, 2933, 0, 0, 0, 1388, 0, 0, 0, 2941,
2942, 0, 0, 0, 1800, 1389, 0, 1801, 1802, 1803,
0, 1804, 1805, 1806, 1807, 1808, 1809, 1810, 0, 0,
0, 0, 4421, 0, 0, 1781, 0, 0, 1782, 0,
0, 0, 1783, 1784, 1785, 1791, 0, 0, 0, 3398,
1792, 0, 1391, 1392, 0, 0, 0, 0, 0, 1786,
0, 0, 0, 2984, 3797, 3798, 3799, 1788, 0, 0,
0, 1793, 1794, 1789, 0, 0, 0, 0, 0, 3399,
0, 0, 0, 0, 0, 0, 1795, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1790, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1796, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1797, 0, 0, 1798, 0, 0, 0, 0, 1377, 0,
0, 0, 1394, 0, 1378, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1781, 0,
0, 1782, 0, 0, 0, 1783, 1784, 1785, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1786, 0, 1379, 0, 0, 0, 0, 0,
1788, 0, 0, 0, 0, 1015, 1789, 0, 0, 0,
0, 0, 1791, 0, 0, 0, 0, 1792, 0, 0,
0, 1799, 0, 0, 0, 1015, 0, 0, 1952, 0,
1790, 0, 0, 0, 1015, 0, 0, 0, 1793, 1794,
0, 0, 0, 0, 0, 1380, 0, 0, 0, 0,
0, 0, 1381, 1795, 0, 1382, 0, 0, 0, 0,
0, 0, 0, 3148, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1383, 0, 0, 0, 1796, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1797, 0, 0,
1798, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1015, 1384, 0, 0, 1800, 0, 0, 1801, 1802, 1803,
0, 1804, 1805, 1806, 1807, 1808, 1809, 1810, 0, 0,
0, 0, 4430, 0, 0, 1791, 0, 0, 0, 0,
1792, 1781, 0, 0, 1782, 0, 4031, 0, 1783, 1784,
1785, 0, 0, 0, 0, 0, 4041, 0, 0, 0,
0, 1793, 1794, 0, 0, 1786, 0, 0, 1385, 0,
1386, 0, 0, 1788, 0, 0, 1795, 0, 1799, 1789,
1387, 0, 0, 0, 0, 0, 0, 0, 1388, 0,
0, 4062, 0, 0, 0, 0, 0, 0, 1389, 0,
0, 0, 0, 1790, 0, 0, 0, 1796, 0, 0,
0, 0, 0, 0, 1015, 0, 0, 0, 0, 2334,
1797, 0, 0, 1798, 0, 0, 0, 0, 0, 0,
0, 0, 3445, 0, 0, 1391, 1392, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 3313, 0, 0, 0, 0, 0, 0, 0,
0, 0, 3446, 0, 0, 0, 0, 0, 0, 0,
0, 1800, 0, 2414, 1801, 1802, 1803, 0, 1804, 1805,
1806, 1807, 1808, 1809, 1810, 0, 0, 0, 0, 4433,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1799, 0, 0, 3350, 3351, 0, 0, 1791, 0,
0, 0, 0, 1792, 0, 0, 0, 0, 0, 0,
0, 0, 1952, 0, 0, 1394, 0, 0, 0, 0,
0, 0, 0, 798, 1793, 1794, 0, 0, 0, 0,
0, 0, 798, 821, 0, 0, 0, 3372, 0, 1795,
821, 0, 0, 0, 0, 0, 3376, 0, 0, 0,
0, 821, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 3388, 3390, 0, 0, 0, 3390, 0, 0,
1796, 0, 3401, 3402, 3403, 0, 0, 0, 0, 4180,
4181, 4182, 4183, 1797, 1800, 0, 1798, 1801, 1802, 1803,
0, 1804, 1805, 1806, 1807, 1808, 1809, 1810, 0, 0,
0, 0, 4481, 3424, 3425, 3426, 3427, 0, 0, 0,
0, 0, 2008, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1781, 0, 0,
1782, 0, 0, 0, 1783, 1784, 1785, 0, 0, 0,
3444, 0, 3448, 3449, 3450, 0, 0, 0, 0, 0,
0, 1786, 3463, 0, 0, 0, 0, 0, 0, 1788,
0, 0, 0, 0, 1799, 1789, 0, 0, 0, 1781,
0, 0, 1782, 0, 0, 2008, 1783, 1784, 1785, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1790,
0, 0, 0, 1786, 0, 0, 0, 0, 0, 0,
0, 1788, 0, 0, 0, 0, 0, 1789, 0, 0,
0, 1015, 0, 0, 0, 0, 0, 0, 0, 0,
0, 3512, 0, 0, 0, 0, 0, 0, 0, 3516,
0, 1790, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 3528, 0,
0, 0, 0, 0, 0, 0, 0, 1800, 0, 0,
1801, 1802, 1803, 0, 1804, 1805, 1806, 1807, 1808, 1809,
1810, 3569, 0, 0, 0, 4513, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1015, 0, 0, 1791, 0, 0, 0, 0, 1792,
0, 0, 0, 0, 0, 0, 1015, 0, 0, 0,
0, 0, 0, 0, 2008, 3606, 0, 0, 0, 3611,
1793, 1794, 0, 0, 0, 1015, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1795, 1791, 0, 0, 0,
0, 1792, 0, 0, 0, 0, 0, 0, 3649, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1793, 1794, 0, 0, 1796, 0, 0, 0,
0, 0, 1015, 0, 0, 0, 0, 1795, 3662, 1797,
0, 0, 1798, 0, 0, 1015, 798, 0, 4392, 0,
0, 0, 3672, 0, 0, 0, 3674, 1015, 821, 0,
0, 0, 0, 821, 0, 0, 0, 1952, 1796, 1015,
0, 0, 0, 0, 821, 0, 0, 0, 0, 0,
0, 1797, 0, 0, 1798, 0, 0, 0, 0, 0,
821, 0, 0, 0, 798, 0, 0, 0, 0, 0,
1016, 0, 0, 0, 798, 821, 0, 0, 0, 0,
0, 821, 0, 1015, 0, 0, 1015, 0, 0, 0,
1799, 1016, 821, 0, 0, 0, 0, 0, 0, 0,
821, 0, 0, 0, 0, 0, 0, 1781, 0, 0,
1782, 0, 0, 0, 1783, 1784, 1785, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1786, 1799, 0, 0, 0, 0, 0, 0, 1788,
0, 0, 0, 0, 0, 1789, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1790,
0, 0, 0, 0, 0, 0, 0, 0, 0, 798,
798, 0, 0, 1800, 0, 821, 1801, 1802, 1803, 0,
1804, 1805, 1806, 1807, 1808, 1809, 1810, 0, 0, 0,
0, 4548, 0, 0, 0, 0, 0, 0, 0, 0,
0, 798, 0, 0, 0, 0, 1015, 0, 0, 0,
0, 0, 0, 0, 0, 1800, 0, 0, 1801, 1802,
1803, 0, 1804, 1805, 1806, 1807, 1808, 1809, 1810, 0,
0, 0, 0, 4782, 0, 0, 0, 0, 0, 4546,
0, 0, 0, 0, 0, 2638, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1230, 0, 0, 0, 0,
0, 0, 0, 0, 1791, 0, 0, 0, 0, 1792,
0, 0, 0, 3892, 0, 3893, 0, 0, 0, 0,
0, 0, 3895, 0, 0, 0, 0, 0, 4593, 0,
1793, 1794, 0, 0, 0, 0, 0, 0, 0, 3905,
0, 0, 0, 0, 0, 1795, 0, 0, 0, 0,
0, 0, 0, 0, 3913, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 3924, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1796, 0, 0, 0,
798, 0, 0, 3928, 0, 0, 0, 1016, 0, 1797,
0, 798, 1798, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1016, 0, 0,
3957, 0, 0, 0, 0, 0, 1016, 0, 0, 0,
0, 0, 0, 3965, 3966, 3967, 0, 0, 3970, 3971,
3972, 3973, 3974, 3975, 0, 0, 0, 4658, 3982, 3983,
0, 3985, 3986, 3987, 3988, 3989, 3990, 3991, 0, 0,
0, 0, 0, 0, 0, 798, 3999, 0, 4001, 4002,
0, 0, 2697, 0, 0, 0, 2008, 2703, 0, 0,
1799, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1016, 0, 0, 0, 0, 0, 4034, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 4714, 0, 0,
0, 0, 0, 0, 0, 0, 0, 821, 0, 1015,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1015, 0, 0, 0, 0, 0, 821, 0, 0,
0, 798, 0, 0, 0, 0, 0, 0, 0, 821,
0, 0, 0, 1800, 0, 0, 1801, 1802, 1803, 0,
1804, 1805, 1806, 1807, 1808, 1809, 1810, 0, 1015, 0,
0, 4803, 0, 0, 0, 0, 0, 821, 0, 0,
0, 0, 0, 0, 0, 3390, 1016, 0, 821, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 821, 0, 0, 821, 0, 0, 0,
0, 0, 0, 1952, 1952, 1952, 0, 0, 798, 0,
0, 0, 0, 0, 0, 4122, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 798, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 798, 798, 798, 0, 0,
798, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
798, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1015, 0, 0, 0, 0, 821, 0,
0, 0, 0, 0, 0, 1781, 821, 821, 1782, 0,
0, 0, 1783, 1784, 1785, 798, 1937, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1786,
0, 0, 0, 0, 0, 0, 0, 1788, 0, 0,
0, 0, 0, 1789, 798, 0, 0, 0, 798, 798,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 2008, 1016, 0, 0, 1790, 0, 0,
1937, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1377, 0, 0, 0, 0, 0, 1378, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 4253, 0, 0,
0, 4254, 4255, 4256, 4257, 0, 0, 4259, 0, 0,
0, 1423, 0, 0, 0, 0, 0, 1016, 0, 0,
0, 0, 0, 0, 0, 0, 1379, 0, 0, 4272,
4273, 4274, 4275, 0, 4277, 4278, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 4287, 4288, 0, 0,
0, 0, 0, 1016, 0, 0, 0, 0, 0, 1424,
0, 0, 1791, 0, 4293, 0, 0, 1792, 0, 0,
0, 1952, 1952, 1015, 1952, 0, 0, 1380, 0, 0,
0, 0, 0, 1781, 1381, 0, 1782, 1382, 1793, 1794,
1783, 1784, 1785, 0, 1015, 0, 0, 0, 0, 0,
0, 0, 0, 1795, 0, 1015, 0, 1786, 0, 0,
0, 0, 1383, 821, 0, 1788, 0, 0, 0, 0,
0, 1789, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1016, 1796, 0, 0, 0, 0, 0,
1425, 0, 0, 1384, 0, 1790, 0, 1797, 1016, 0,
1798, 0, 0, 0, 0, 0, 1016, 0, 4358, 0,
0, 0, 1937, 0, 0, 0, 0, 1016, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 4377,
0, 0, 0, 821, 0, 0, 0, 821, 1426, 0,
1427, 0, 0, 0, 0, 0, 0, 0, 0, 821,
1428, 0, 1386, 0, 0, 0, 0, 0, 0, 4401,
0, 0, 1387, 0, 1016, 0, 0, 0, 0, 0,
1388, 798, 0, 0, 0, 0, 0, 1016, 1799, 1429,
1389, 0, 0, 798, 0, 0, 0, 0, 0, 1016,
0, 0, 0, 2638, 2638, 2638, 0, 0, 0, 0,
1791, 1016, 0, 0, 0, 1792, 0, 0, 0, 0,
0, 0, 0, 0, 1430, 0, 0, 1391, 1392, 1431,
798, 0, 821, 821, 0, 0, 1793, 1794, 0, 0,
0, 0, 0, 0, 1952, 821, 0, 0, 0, 0,
0, 1795, 0, 0, 1432, 1016, 0, 0, 1016, 1952,
821, 821, 0, 0, 0, 0, 0, 0, 1433, 0,
2008, 0, 821, 2703, 0, 2703, 0, 0, 0, 0,
2008, 1800, 1796, 0, 1801, 1802, 1803, 0, 1804, 1805,
1806, 1807, 1808, 1809, 1810, 1797, 0, 0, 1798, 4918,
0, 0, 0, 0, 798, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1394, 0, 0,
0, 0, 0, 0, 0, 0, 4503, 0, 0, 0,
0, 1015, 0, 0, 0, 0, 0, 0, 798, 0,
798, 0, 0, 0, 4512, 798, 798, 0, 1015, 4517,
4518, 0, 798, 798, 798, 0, 0, 0, 798, 0,
798, 798, 798, 798, 798, 798, 0, 798, 0, 798,
798, 0, 2008, 798, 0, 0, 1799, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1016, 798,
798, 798, 798, 1937, 0, 0, 0, 798, 0, 0,
0, 798, 0, 0, 798, 4567, 0, 798, 798, 798,
798, 798, 798, 798, 798, 798, 798, 0, 798, 0,
0, 0, 0, 0, 0, 798, 0, 798, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1015, 0, 1015,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 3390, 0, 0, 0, 0, 0, 0, 4608, 884,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1800,
0, 0, 1801, 1802, 1803, 0, 1804, 1805, 1806, 1807,
1808, 1809, 1810, 0, 0, 0, 0, 4936, 0, 0,
0, 0, 885, 1952, 0, 0, 0, 0, 1015, 0,
0, 0, 0, 0, 1952, 886, 887, 0, 0, 0,
0, 0, 0, 0, 0, 888, 0, 0, 0, 889,
0, 0, 0, 1015, 0, 0, 4644, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1781, 890, 0, 1782,
0, 0, 0, 1783, 1784, 1785, 0, 2703, 0, 0,
4661, 0, 0, 0, 2703, 798, 0, 0, 891, 4668,
1786, 0, 0, 0, 0, 0, 0, 0, 1788, 892,
0, 0, 0, 0, 1789, 0, 0, 893, 0, 0,
1952, 0, 0, 0, 0, 0, 0, 0, 0, 894,
0, 0, 0, 0, 895, 0, 0, 0, 1790, 0,
0, 0, 0, 0, 1016, 0, 0, 0, 1016, 1016,
0, 0, 1015, 0, 0, 0, 0, 896, 821, 0,
0, 0, 1937, 821, 0, 0, 0, 821, 0, 0,
2703, 0, 0, 0, 0, 821, 0, 0, 0, 0,
0, 0, 897, 1015, 0, 0, 0, 0, 0, 0,
0, 0, 0, 821, 0, 0, 798, 0, 0, 0,
3390, 0, 0, 898, 0, 0, 0, 798, 0, 0,
0, 1016, 0, 0, 798, 0, 0, 0, 0, 0,
0, 0, 1952, 1016, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 899, 821, 0, 0, 0, 0,
0, 0, 0, 1791, 0, 0, 0, 0, 1792, 0,
0, 0, 821, 821, 900, 0, 0, 4771, 0, 0,
1016, 0, 0, 0, 203, 0, 0, 0, 0, 1793,
1794, 0, 4783, 0, 0, 0, 0, 0, 0, 0,
0, 1937, 821, 0, 1795, 1937, 1015, 0, 0, 0,
0, 901, 0, 0, 0, 0, 902, 4794, 903, 0,
0, 0, 0, 0, 904, 0, 0, 905, 1015, 0,
0, 0, 0, 821, 0, 1796, 0, 821, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1797, 0,
0, 1798, 0, 0, 1015, 821, 906, 0, 0, 907,
0, 0, 0, 908, 0, 0, 821, 0, 0, 0,
909, 0, 910, 0, 0, 0, 0, 911, 0, 821,
0, 0, 0, 0, 0, 0, 0, 821, 4842, 1015,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 912, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 4857, 1781, 0, 0, 1782, 0, 0,
0, 1783, 1784, 1785, 0, 0, 0, 0, 0, 1799,
0, 0, 0, 0, 798, 1016, 0, 2638, 1786, 0,
0, 0, 0, 1937, 0, 0, 1788, 0, 0, 0,
0, 0, 1789, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1790, 0, 0, 0,
2008, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1016, 0, 0, 0, 821,
0, 0, 0, 0, 0, 0, 0, 0, 798, 0,
0, 0, 1800, 0, 0, 1801, 1802, 1803, 0, 1804,
1805, 1806, 1807, 1808, 1809, 1810, 0, 0, 3842, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1781, 0, 0, 1782, 0, 0, 0, 1783,
1784, 1785, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 821, 0, 2703, 1786, 0, 798, 3172,
0, 1791, 0, 0, 1788, 0, 1792, 0, 0, 0,
1789, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1793, 1794, 821,
0, 0, 0, 0, 1790, 0, 0, 0, 0, 0,
0, 0, 1795, 0, 0, 1016, 0, 0, 0, 0,
0, 821, 0, 0, 0, 0, 0, 0, 0, 821,
0, 0, 0, 798, 0, 0, 1016, 0, 0, 798,
0, 0, 0, 1796, 0, 0, 0, 1016, 0, 0,
0, 0, 0, 0, 0, 0, 1797, 798, 0, 1798,
0, 0, 798, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3756, 0, 0, 0, 0, 0, 798, 798, 798, 0,
0, 798, 0, 0, 0, 0, 0, 0, 0, 798,
798, 798, 798, 0, 0, 1015, 0, 1937, 0, 1791,
0, 0, 798, 1937, 1792, 798, 0, 798, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 798,
798, 0, 0, 798, 0, 1793, 1794, 1799, 0, 0,
0, 0, 0, 0, 0, 0, 0, 798, 0, 798,
1795, 798, 0, 3757, 2008, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 798, 0, 0, 0, 0, 0, 0, 0,
0, 1796, 0, 798, 0, 798, 798, 798, 0, 0,
0, 822, 0, 0, 1797, 0, 0, 1798, 822, 0,
821, 0, 0, 798, 0, 0, 0, 0, 0, 822,
0, 0, 0, 0, 0, 798, 0, 0, 0, 0,
798, 0, 0, 0, 0, 0, 798, 0, 0, 0,
1800, 0, 0, 1801, 1802, 1803, 798, 1804, 1805, 1806,
1807, 1808, 1809, 1810, 0, 0, 0, 0, 0, 0,
0, 0, 1016, 0, 0, 1016, 0, 1016, 1781, 0,
0, 1782, 1016, 0, 821, 1783, 1784, 1785, 0, 0,
0, 0, 0, 0, 0, 1799, 0, 0, 0, 0,
821, 821, 1786, 0, 0, 0, 798, 1015, 0, 0,
1788, 0, 0, 0, 0, 0, 1789, 0, 1015, 0,
0, 0, 0, 0, 0, 0, 0, 821, 0, 0,
821, 0, 0, 1016, 0, 0, 0, 0, 0, 0,
1790, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1016, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2638, 0, 0, 0, 1016, 2638, 0, 0, 0, 0,
0, 2638, 0, 0, 0, 0, 0, 0, 1800, 0,
0, 1801, 1802, 1803, 0, 1804, 1805, 1806, 1807, 1808,
1809, 1810, 0, 0, 0, 0, 1937, 1937, 1937, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 4880, 0, 0, 0, 0, 0, 0, 0,
821, 0, 0, 0, 0, 0, 0, 0, 1015, 1016,
0, 1016, 821, 0, 0, 1791, 821, 0, 0, 0,
1792, 0, 0, 0, 0, 0, 821, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1015, 0, 0,
0, 1793, 1794, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1795, 1015, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1016, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1796, 0, 821,
0, 0, 0, 0, 0, 1016, 0, 0, 0, 0,
1797, 0, 0, 1798, 0, 0, 0, 0, 0, 0,
0, 1015, 0, 0, 0, 0, 0, 0, 0, 1016,
0, 0, 4881, 0, 0, 1937, 1016, 0, 0, 0,
0, 821, 0, 821, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 821, 822, 821, 0, 0,
0, 822, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 822, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 822, 0,
0, 1799, 0, 0, 1016, 0, 0, 0, 0, 0,
0, 0, 0, 822, 0, 0, 0, 0, 0, 822,
0, 821, 1016, 0, 0, 0, 0, 0, 0, 0,
822, 4388, 0, 1015, 0, 1016, 0, 0, 822, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1781, 0,
0, 1782, 0, 0, 0, 1783, 1784, 1785, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1786, 0, 0, 0, 0, 0, 821, 1015,
1788, 0, 0, 0, 0, 0, 1789, 0, 0, 0,
798, 0, 0, 821, 1800, 0, 0, 1801, 1802, 1803,
0, 1804, 1805, 1806, 1807, 1808, 1809, 1810, 0, 0,
1790, 0, 0, 0, 0, 821, 0, 0, 821, 0,
0, 0, 0, 822, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 798, 0, 0, 1016, 0,
0, 0, 0, 798, 0, 798, 0, 0, 0, 0,
0, 798, 0, 798, 0, 0, 798, 0, 0, 0,
1016, 798, 798, 798, 798, 0, 0, 798, 798, 798,
798, 798, 798, 798, 798, 798, 798, 798, 0, 0,
0, 798, 798, 0, 0, 0, 1016, 0, 0, 0,
0, 798, 0, 0, 0, 798, 0, 1937, 0, 798,
0, 0, 0, 2703, 0, 0, 0, 0, 798, 0,
0, 798, 0, 798, 0, 1791, 0, 0, 0, 0,
1792, 1016, 798, 0, 0, 798, 798, 0, 0, 0,
798, 798, 0, 0, 0, 0, 0, 798, 0, 0,
0, 1793, 1794, 0, 0, 0, 0, 798, 0, 798,
0, 0, 0, 0, 0, 0, 1795, 0, 0, 0,
0, 798, 0, 0, 0, 0, 0, 798, 798, 798,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1796, 0, 0,
0, 0, 0, 798, 0, 0, 0, 0, 0, 0,
1797, 0, 0, 1798, 0, 0, 798, 0, 0, 0,
0, 0, 1016, 0, 0, 0, 0, 0, 3187, 2703,
0, 0, 0, 0, 0, 0, 0, 798, 0, 0,
0, 0, 0, 1781, 0, 0, 1782, 0, 0, 0,
1783, 1784, 1785, 0, 0, 0, 0, 1015, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1786, 0, 821,
3220, 0, 0, 0, 0, 1788, 0, 0, 0, 0,
0, 1789, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1799, 0, 0, 0, 1015, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1790, 0, 0, 0, 0,
0, 1937, 0, 0, 0, 0, 1937, 1016, 1937, 0,
1781, 0, 0, 1782, 0, 0, 0, 1783, 1784, 1785,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1786, 822, 0, 0, 0, 1015,
0, 0, 1788, 1015, 1015, 0, 0, 0, 1789, 0,
0, 0, 0, 0, 0, 822, 0, 0, 821, 0,
0, 821, 0, 0, 0, 0, 0, 822, 0, 0,
0, 0, 1790, 0, 1800, 0, 0, 1801, 1802, 1803,
0, 1804, 1805, 1806, 1807, 1808, 1809, 1810, 0, 0,
0, 0, 0, 0, 0, 822, 0, 0, 1937, 0,
1791, 0, 0, 0, 0, 1792, 822, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
798, 822, 0, 0, 822, 0, 1793, 1794, 0, 0,
0, 4388, 1015, 0, 0, 0, 0, 0, 0, 0,
0, 1795, 0, 821, 821, 0, 0, 1016, 0, 0,
0, 0, 0, 0, 0, 0, 821, 0, 821, 0,
3225, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1796, 0, 0, 0, 0, 1791, 0, 0,
0, 0, 1792, 0, 0, 1797, 0, 0, 1798, 0,
0, 0, 0, 0, 0, 823, 1016, 798, 798, 0,
0, 0, 823, 1793, 1794, 0, 0, 0, 0, 0,
0, 0, 0, 823, 0, 0, 0, 0, 1795, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 822, 0, 0, 1796,
0, 0, 821, 0, 822, 822, 0, 0, 0, 0,
0, 0, 1797, 0, 1938, 1798, 1799, 0, 0, 0,
0, 0, 0, 798, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 798, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 798, 0, 1938, 0,
0, 0, 0, 0, 0, 0, 798, 798, 0, 1016,
0, 0, 0, 0, 798, 798, 0, 0, 0, 798,
1016, 0, 0, 1799, 798, 0, 0, 798, 798, 0,
0, 0, 798, 0, 0, 0, 0, 0, 798, 1800,
0, 0, 1801, 1802, 1803, 0, 1804, 1805, 1806, 1807,
1808, 1809, 1810, 0, 0, 0, 798, 0, 0, 0,
798, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 798, 0, 0, 0, 0, 798, 0, 0,
0, 0, 0, 798, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 798, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1800, 0, 0, 1801,
1802, 1803, 798, 1804, 1805, 1806, 1807, 1808, 1809, 1810,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1016, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 822, 0, 0, 0, 0, 0, 821, 0, 0,
1937, 0, 0, 0, 0, 0, 0, 0, 0, 1016,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 821, 0, 0, 0, 0, 1016,
0, 0, 0, 0, 0, 0, 821, 0, 0, 0,
1938, 0, 0, 0, 798, 0, 0, 1014, 0, 1781,
0, 0, 1782, 0, 821, 0, 1783, 1784, 1785, 0,
0, 822, 0, 0, 0, 822, 0, 0, 1014, 0,
0, 0, 0, 1786, 0, 0, 3231, 822, 0, 0,
823, 1788, 0, 1016, 0, 823, 0, 1789, 0, 0,
0, 0, 0, 0, 0, 0, 823, 0, 0, 0,
0, 821, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1790, 823, 0, 0, 0, 0, 0, 798, 0,
0, 0, 0, 0, 0, 0, 0, 823, 0, 798,
0, 0, 0, 823, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 823, 0, 0, 0, 0, 0,
822, 822, 823, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 822, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 822, 822,
0, 0, 0, 1016, 0, 1016, 0, 0, 0, 0,
822, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 821, 0, 0, 0, 0, 1791, 0, 0, 0,
0, 1792, 0, 0, 0, 0, 0, 798, 0, 0,
0, 1016, 0, 0, 0, 0, 798, 823, 0, 0,
0, 0, 1793, 1794, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 798, 798, 0, 1795, 798, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 798, 0, 0, 0, 0, 798, 0, 0,
0, 0, 798, 0, 0, 798, 798, 0, 1796, 0,
0, 0, 0, 798, 798, 0, 0, 0, 0, 0,
0, 1797, 0, 0, 1798, 0, 0, 0, 0, 798,
0, 1938, 0, 0, 0, 0, 821, 0, 821, 0,
0, 0, 798, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1014, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1014, 1016, 821, 0, 0, 0,
0, 0, 0, 1014, 0, 798, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1799, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1937, 0, 821, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 798, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1005, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1014,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1005,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 798,
0, 1016, 0, 0, 0, 1800, 0, 0, 1801, 1802,
1803, 0, 1804, 1805, 1806, 1807, 1808, 1809, 1810, 0,
0, 0, 0, 0, 0, 0, 0, 0, 798, 1016,
0, 798, 0, 798, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 798, 0, 0,
0, 798, 0, 0, 0, 0, 822, 1016, 0, 0,
1938, 822, 798, 1014, 0, 822, 0, 0, 0, 823,
0, 0, 0, 822, 0, 0, 0, 1377, 0, 0,
0, 798, 0, 1378, 0, 0, 0, 0, 0, 823,
0, 822, 0, 0, 0, 0, 0, 0, 0, 0,
0, 823, 0, 0, 0, 1937, 0, 0, 1423, 0,
0, 1016, 0, 0, 0, 1016, 1016, 0, 0, 0,
798, 0, 0, 1379, 0, 0, 0, 0, 0, 823,
0, 0, 0, 822, 0, 0, 0, 0, 0, 0,
823, 0, 0, 0, 0, 0, 0, 0, 0, 0,
822, 822, 0, 0, 0, 823, 1424, 0, 823, 0,
0, 798, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1380, 0, 0, 0, 0, 1938,
822, 1381, 798, 1938, 1382, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1016, 1016, 0, 0, 0, 1838, 1383,
0, 822, 0, 0, 0, 822, 0, 0, 0, 0,
0, 0, 0, 0, 798, 0, 0, 798, 0, 0,
0, 0, 0, 822, 0, 1005, 798, 1425, 0, 0,
1384, 798, 0, 798, 822, 798, 0, 0, 0, 0,
0, 0, 798, 0, 0, 1005, 0, 822, 0, 0,
0, 0, 0, 0, 1005, 822, 0, 0, 0, 0,
798, 1014, 0, 0, 0, 0, 0, 0, 1206, 1206,
823, 0, 0, 0, 0, 1426, 0, 1427, 823, 823,
0, 550, 0, 821, 0, 0, 0, 1428, 1939, 1386,
0, 0, 0, 551, 0, 0, 0, 0, 0, 1387,
1273, 0, 0, 0, 0, 0, 0, 1388, 0, 0,
0, 1938, 798, 0, 552, 0, 1429, 1389, 0, 0,
0, 0, 0, 0, 1014, 0, 0, 553, 0, 0,
1005, 0, 0, 0, 0, 0, 0, 554, 0, 798,
798, -778, 1939, 0, 0, 0, 0, 0, 0, 0,
798, 2886, 0, 0, 1391, 1392, 1431, 0, 821, 555,
1014, 0, 0, 0, 0, 556, 0, 0, 0, 0,
798, 0, 0, 0, 0, 0, 0, 822, 0, 0,
557, 2887, 0, 0, 0, 0, 0, 0, 0, 0,
0, 558, 0, 0, 0, 1433, 0, 0, 0, 559,
0, 0, 0, 0, 0, 0, 798, 0, 0, 0,
0, 560, 798, 798, 798, 0, 0, 0, 561, 0,
0, 0, 562, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 798, 1005, 0, 0, 0, 0, -981,
1014, 822, 0, 0, 1394, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1014, 1937, 0, 0, 0,
0, 0, 0, 1014, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1014, 0, 563, 822, 0, 0,
0, 0, 0, 0, 0, -520, 0, 0, 0, 0,
0, 0, 0, 0, 0, 823, 0, 0, 0, 822,
0, 0, 0, 0, 0, 0, 0, 822, 0, 0,
0, 0, 798, 798, 0, 0, 564, 0, 1937, 565,
0, 1014, 0, 0, 0, 0, 798, 0, 0, 0,
0, 0, 0, 0, 1014, 0, 566, 1937, 798, 798,
0, 0, 0, 0, 1939, 0, 1014, 0, 0, 0,
0, 0, 0, 0, 0, -414, 0, 0, 1014, 0,
0, 0, 0, 0, 0, 823, 0, 0, 0, 823,
0, 0, 0, 567, 0, 0, 0, 0, 0, 0,
568, 823, 0, 0, 0, 1938, -414, 0, 0, 569,
0, 1938, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1014, 0, 0, 1014, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, -414, 0,
0, 570, 571, 0, 572, 573, 0, 0, 0, 0,
0, 0, 0, 0, 574, 0, 0, 0, 0, 575,
0, 0, 1005, 0, 0, 576, 0, 0, 577, 0,
0, 578, 0, 0, 823, 823, 0, 0, 0, 0,
0, 0, 0, 0, -414, 0, 1781, 823, 0, 1782,
0, 0, 0, 1783, 1784, 1785, 0, 0, 822, 0,
0, 0, 823, 823, 0, 0, 0, 1737, 0, 0,
1786, 0, 0, 0, 823, 0, 0, 0, 1788, 0,
0, 0, 0, 0, 1789, 1005, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1751, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1790, 0,
0, 0, 0, 0, 0, 1014, 0, 0, 0, 0,
0, 1005, 822, 0, 1769, 1770, 1771, 0, 0, 1774,
0, 0, 0, 0, 0, 0, 0, 0, 822, 822,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1817,
0, 598, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 599, 0, 822, 0, 0, 822, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 600, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1855, 1939, 0, 601, 0, 0,
0, 1005, 0, 0, 0, 0, 0, 0, 0, 0,
0, 602, 0, 1791, 0, 0, 1005, 0, 1792, 0,
0, 0, 0, 1959, 1005, 0, 0, 1971, 1974, 603,
0, 0, 0, 0, 0, 1005, 0, 0, 0, 1793,
1794, 0, 0, 0, 1938, 1938, 1938, 0, 0, 0,
604, 0, 0, 0, 1795, 0, 0, 0, 0, 0,
0, 605, 0, 0, 0, 0, 0, 0, 822, 606,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
822, 607, 1005, 0, 822, 1796, 608, 0, 0, 0,
0, 0, 609, 0, 822, 1005, 0, 0, 1797, 0,
0, 1798, 0, 0, 0, 0, 0, 1005, 0, 610,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1005,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1014, 0, 0, 0, 1014, 1014, 0, 1781, 0,
0, 1782, 0, 0, 0, 1783, 1784, 1785, 0, 0,
0, 0, 0, 0, 0, 611, 0, 822, 0, 0,
0, 0, 1786, 1005, 0, 3763, 1005, 0, 0, 0,
1788, 0, 0, 0, 0, 0, 1789, 0, 0, 1799,
0, 0, 0, 0, 0, 0, 612, 0, 0, 0,
0, 0, 0, 1938, 0, 0, 0, 613, 1014, 822,
1790, 822, 0, 0, 0, 0, 614, 0, 3707, 0,
1014, 0, 0, 822, 0, 822, 203, 0, 0, 0,
823, 0, 0, 0, 1939, 823, 0, 0, 0, 823,
0, 0, 0, 0, 0, 0, 0, 823, 0, 0,
0, 0, 0, 615, 0, 0, 0, 1014, 616, 0,
617, 0, 0, 0, 0, 823, 618, 0, 0, 619,
0, 0, 0, 0, 0, 0, 0, 0, 0, 822,
0, 0, 1800, 0, 0, 1801, 1802, 1803, 0, 1804,
1805, 1806, 1807, 1808, 1809, 1810, 0, 0, 620, 0,
0, 621, 0, 0, 0, 622, 1005, 823, 0, 0,
0, 0, 623, 0, 624, 1791, 0, 0, 0, 625,
1792, 0, 0, 0, 823, 823, 0, 0, 0, 0,
0, 626, 0, 0, 0, 0, 822, 0, 0, 0,
0, 1793, 1794, 0, 627, 0, 0, 0, 0, 0,
0, 822, 0, 1939, 823, 0, 1795, 1939, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 822, 0, 0, 822, 0, 0, 0,
0, 0, 0, 0, 0, 823, 0, 1796, 0, 823,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1797, 0, 0, 1798, 0, 0, 0, 823, 0, 0,
0, 0, 1014, 0, 0, 0, 0, 0, 823, 0,
0, 1781, 0, 0, 1782, 0, 0, 0, 1783, 1784,
1785, 823, 0, 0, 0, 0, 0, 0, 0, 823,
0, 0, 0, 0, 0, 1786, 0, 0, 0, 0,
0, 0, 0, 1788, 0, 1938, 0, 0, 0, 1789,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1799, 1014, 1790, 2504, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1939, 0, 2525, 0, 2527,
0, 0, 2539, 2542, 2547, 0, 0, 0, 0, 2553,
0, 0, 2558, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1005, 0, 0, 0, 1005, 1005, 2566, 2567,
2568, 2569, 0, 0, 0, 0, 2576, 0, 0, 0,
2588, 0, 0, 2590, 0, 0, 2597, 2598, 2599, 2600,
2601, 2602, 2603, 2604, 2605, 2606, 0, 2607, 0, 1007,
0, 823, 0, 0, 1206, 0, 2635, 0, 0, 0,
0, 0, 0, 0, 1800, 0, 0, 1801, 1802, 1803,
1007, 1804, 1805, 1806, 1807, 1808, 1809, 1810, 1791, 1005,
0, 0, 0, 1792, 0, 0, 0, 0, 0, 0,
0, 1005, 1014, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1793, 1794, 0, 822, 0, 0,
0, 0, 0, 1014, 0, 823, 0, 0, 1008, 1795,
0, 0, 0, 0, 1014, 0, 0, 0, 1005, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1008,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1938,
1796, 823, 0, 0, 1938, 0, 1938, 0, 0, 0,
0, 0, 0, 1797, 0, 0, 1798, 0, 0, 0,
0, 0, 0, 823, 0, 0, 0, 0, 0, 0,
0, 823, 0, 0, 1273, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 822, 0, 0, 822,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1799, 0, 1938, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1939,
0, 0, 0, 0, 0, 1939, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1005, 0, 2745, 0, 0, 0, 0,
0, 822, 822, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 822, 0, 822, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1014,
0, 0, 1014, 0, 1014, 0, 1007, 1800, 0, 1014,
1801, 1802, 1803, 0, 1804, 1805, 1806, 1807, 1808, 1809,
1810, 0, 823, 1005, 0, 0, 1007, 0, 0, 0,
0, 0, 0, 0, 0, 1007, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1014, 0, 0, 0, 0, 0, 0, 0, 0, 0,
822, 0, 0, 0, 0, 1008, 0, 1014, 0, 0,
0, 0, 0, 0, 0, 0, 823, 0, 0, 0,
0, 0, 0, 0, 0, 1008, 0, 0, 0, 0,
0, 1014, 823, 823, 1008, 0, 0, 0, 0, 0,
0, 1007, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 823,
0, 0, 823, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1005, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1005, 0, 1014, 0, 1014, 0,
0, 0, 0, 2976, 0, 1005, 0, 0, 0, 0,
1008, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1939, 1939,
1939, 0, 0, 0, 0, 1007, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1014, 0, 0,
0, 0, 823, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 823, 0, 0, 0, 823, 0,
0, 0, 1014, 0, 0, 0, 0, 0, 823, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1014, 0, 0, 0,
0, 0, 0, 1014, 1008, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 822, 0, 0, 1938, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 3115, 0, 0,
0, 823, 822, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 822, 0, 0, 0, 0, 0,
0, 1014, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 822, 0, 0, 0, 0, 1939, 0, 1014,
0, 0, 0, 823, 0, 823, 0, 0, 0, 0,
0, 0, 1014, 0, 0, 0, 0, 823, 0, 823,
1005, 0, 0, 1005, 0, 1005, 0, 0, 0, 0,
1005, 0, 0, 0, 0, 0, 0, 0, 0, 822,
0, 0, 0, 0, 0, 0, 3168, 0, 0, 0,
0, 3174, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1007, 0, 0, 0, 0, 0, 0,
0, 0, 0, 823, 0, 0, 0, 1774, 0, 0,
0, 1005, 0, 0, 0, 0, 0, 0, 2547, 0,
2547, 2547, 0, 0, 0, 0, 0, 0, 1005, 0,
0, 3234, 0, 0, 3237, 0, 3239, 0, 0, 0,
0, 0, 0, 0, 0, 1014, 0, 0, 0, 0,
0, 0, 1005, 0, 0, 0, 1007, 0, 0, 0,
823, 0, 1008, 0, 0, 0, 3258, 1014, 3261, 0,
3263, 0, 0, 0, 0, 823, 0, 0, 0, 822,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1007, 1014, 0, 0, 0, 823, 0, 0,
823, 0, 0, 0, 2635, 2635, 2635, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1005, 0, 1005,
0, 0, 3311, 0, 0, 1008, 0, 0, 1014, 0,
0, 0, 0, 0, 1959, 0, 0, 0, 0, 3321,
0, 0, 0, 0, 0, 1974, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1008, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1007, 0, 0, 0, 0, 0, 1005, 1939,
0, 0, 0, 0, 822, 0, 822, 1007, 0, 0,
0, 0, 0, 0, 0, 1007, 0, 0, 0, 0,
0, 0, 0, 1005, 0, 3358, 1007, 1010, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1014,
0, 0, 0, 0, 822, 0, 0, 1005, 1010, 0,
0, 0, 0, 0, 1005, 0, 0, 0, 0, 0,
0, 1008, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1007, 0, 0, 1008, 0, 0, 0,
0, 0, 0, 0, 1008, 0, 1007, 0, 0, 0,
1938, 0, 822, 0, 0, 1008, 0, 0, 1007, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1007, 0, 1005, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1005, 0, 0, 0, 1014, 0, 0, 0, 0, 0,
0, 0, 1008, 1005, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1007, 1008, 0, 1007, 0, 0,
0, 823, 0, 0, 0, 0, 0, 1008, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1008,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1939, 0, 0, 0, 0, 1939, 0,
1939, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1008, 0, 0, 1008, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1005, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1011, 0, 0,
823, 0, 0, 823, 0, 0, 0, 0, 1005, 0,
0, 0, 0, 1938, 1014, 0, 0, 0, 1011, 0,
0, 0, 0, 0, 0, 0, 0, 1007, 0, 0,
0, 0, 0, 0, 1005, 0, 0, 0, 0, 0,
1939, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1010, 0, 0, 0, 0, 0,
0, 0, 0, 1014, 0, 0, 0, 0, 0, 1005,
0, 0, 0, 0, 1010, 0, 0, 0, 0, 0,
0, 0, 0, 1010, 0, 823, 823, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1008, 0, 823, 0,
823, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1010,
1005, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 823, 0, 1014, 0, 0, 0,
0, 822, 0, 0, 3708, 0, 0, 1014, 0, 0,
0, 0, 3712, 0, 3713, 0, 0, 0, 0, 0,
3714, 0, 3715, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1007, 0, 0, 0, 1007, 1007, 0,
3740, 3741, 0, 0, 0, 1005, 0, 0, 0, 0,
0, 0, 0, 1010, 0, 0, 0, 0, 2553, 0,
0, 0, 0, 0, 0, 0, 822, 3767, 0, 0,
3770, 0, 3772, 0, 1011, 0, 0, 0, 0, 0,
0, 3776, 0, 0, 0, 0, 0, 0, 0, 3783,
3784, 0, 0, 0, 1011, 0, 0, 0, 0, 0,
1007, 0, 1008, 1011, 0, 0, 1008, 1008, 0, 0,
0, 0, 1007, 0, 0, 0, 0, 1014, 0, 0,
3828, 0, 0, 0, 0, 0, 3835, 3836, 2635, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1014, 0, 0, 1007,
0, 0, 3851, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1013, 1938, 1273, 1014, 0, 0, 1008,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1011,
0, 1008, 0, 0, 1013, 1005, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 823,
0, 0, 1939, 0, 0, 0, 0, 0, 1008, 0,
1014, 0, 0, 0, 0, 0, 1938, 0, 0, 0,
0, 0, 0, 0, 1005, 0, 823, 0, 0, 0,
0, 0, 0, 0, 0, 1938, 0, 0, 823, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1010, 0, 0, 0, 0, 823, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1011, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1007, 0, 0, 0, 0, 0,
0, 0, 0, 823, 0, 0, 0, 0, 0, 0,
0, 0, 1014, 0, 1010, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1010, 0, 0, 0, 0, 0, 0, 1005, 1014, 0,
0, 0, 0, 1008, 1007, 0, 0, 0, 1005, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 823, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1010, 0, 0, 1008, 0, 0, 0, 0, 0, 0,
1013, 0, 0, 0, 0, 1010, 4094, 4095, 0, 0,
0, 0, 0, 1010, 0, 0, 0, 0, 0, 0,
1013, 0, 0, 0, 1010, 0, 0, 0, 0, 1013,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1011, 1014, 0, 1007, 0, 0, 0, 1005, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1007, 0, 0, 0, 0,
0, 1010, 0, 0, 0, 0, 1007, 1005, 823, 0,
823, 0, 4135, 0, 1010, 0, 0, 0, 0, 0,
0, 0, 0, 0, 4140, 0, 1010, 1005, 0, 0,
0, 0, 0, 0, 1011, 1013, 0, 0, 1010, 0,
0, 0, 0, 1008, 0, 0, 0, 0, 823, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1008, 4155, 4157, 0, 0, 0,
1011, 0, 0, 4162, 4163, 1008, 0, 0, 4164, 0,
0, 1005, 1010, 4167, 0, 1010, 4170, 4171, 1014, 0,
0, 4175, 0, 0, 1939, 0, 823, 4179, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1014, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 2635, 0, 0, 0, 0, 2635, 0, 0, 1013,
0, 0, 2635, 0, 0, 0, 0, 0, 0, 0,
1011, 0, 0, 0, 1014, 0, 0, 1206, 0, 0,
0, 0, 0, 0, 0, 1011, 0, 0, 0, 0,
0, 0, 0, 1011, 0, 0, 0, 0, 0, 0,
0, 4234, 0, 1005, 1011, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1014, 0,
0, 1007, 1014, 1014, 1007, 1010, 1007, 0, 0, 0,
0, 1007, 0, 0, 0, 0, 0, 0, 0, 1005,
0, 1011, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1011, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1011, 0, 0, 0,
0, 0, 0, 4290, 0, 0, 0, 0, 1011, 0,
0, 0, 1007, 0, 0, 0, 0, 1939, 0, 0,
1008, 0, 0, 1008, 0, 1008, 0, 0, 0, 1007,
1008, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1014, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1011, 1007, 0, 1011, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 4335, 0, 0,
0, 1008, 0, 0, 0, 0, 0, 1013, 0, 0,
0, 0, 0, 1005, 0, 0, 0, 0, 1008, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1007, 0,
1007, 0, 1008, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1013, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1010, 0, 0, 0, 1010, 1010, 0, 0, 1007,
0, 0, 0, 0, 0, 1011, 1013, 1008, 0, 1008,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1007, 823, 0, 0, 0, 1005,
0, 0, 0, 4427, 4428, 0, 0, 4429, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1007, 0,
0, 0, 0, 0, 0, 1007, 0, 1005, 1010, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1008, 0,
1010, 0, 4463, 4464, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1013, 0, 0, 0,
0, 0, 0, 1008, 0, 1005, 0, 0, 0, 0,
823, 1013, 0, 0, 0, 0, 0, 1010, 0, 1013,
0, 0, 0, 1007, 0, 0, 0, 1008, 0, 0,
1013, 0, 0, 0, 1008, 0, 0, 0, 0, 0,
0, 1007, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1007, 0, 0, 0, 0, 1005,
0, 0, 0, 1005, 1005, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1013, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1013, 0, 1008, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1013, 0, 0, 0, 0, 0, 1939, 0,
1008, 0, 0, 0, 1013, 0, 0, 0, 0, 0,
0, 0, 0, 1008, 0, 0, 0, 0, 0, 0,
0, 1011, 0, 0, 0, 1011, 1011, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1005, 0, 0, 0, 0, 1007, 1013, 0,
0, 1013, 0, 0, 0, 0, 0, 0, 0, 0,
1939, 0, 1010, 0, 0, 0, 0, 0, 0, 1007,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1939,
2553, 0, 0, 0, 0, 0, 0, 0, 1011, 0,
0, 0, 0, 0, 0, 1007, 0, 0, 0, 0,
1011, 0, 0, 0, 0, 0, 4626, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1008, 0, 0, 0,
0, 1774, 0, 0, 0, 0, 0, 0, 0, 0,
1007, 0, 1010, 0, 0, 0, 0, 1011, 1008, 0,
1273, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1008, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 4676,
0, 1013, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1008,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1007, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 4715, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1010, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1010, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1010, 0, 0, 0, 0, 0,
1008, 0, 1011, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 4463, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1007, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 4772,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1011, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1008, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1013, 0, 0,
0, 1013, 1013, 0, 0, 0, 0, 0, 4821, 4821,
0, 0, 0, 0, 1812, 0, 0, 0, 0, 4463,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1007, 0, 0, 0,
0, 0, 0, 0, 1013, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1013, 0, 0, 0,
0, 1812, 1011, 4821, 0, 0, 0, 0, 0, 1010,
0, 0, 1010, 0, 1010, 0, 0, 0, 0, 1010,
0, 0, 4889, 1011, 0, 1007, 0, 0, 0, 0,
0, 0, 0, 1013, 1011, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1008, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1010, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1010, 0, 0,
0, 0, 0, 0, 1008, 0, 0, 0, 0, 0,
0, 4821, 4929, 0, 0, 0, 0, 0, 0, 0,
0, 1010, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1007, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1007,
0, 0, 0, 0, 0, 0, 1010, 0, 1010, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1013, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1008, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1010, 1008, 1011,
0, 0, 1011, 0, 1011, 0, 0, 0, 0, 1011,
0, 0, 0, 0, 0, 0, 0, 0, 1013, 0,
0, 0, 1010, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1010, 0, 0, 1007,
0, 0, 0, 1010, 0, 0, 0, 0, 0, 0,
1011, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1011, 1007, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1007, 0,
0, 1011, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1010, 0, 0, 0, 0, 0, 0, 1008, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1010,
0, 0, 0, 0, 0, 0, 0, 0, 1013, 0,
0, 0, 1010, 0, 0, 0, 0, 1008, 0, 0,
1812, 0, 1007, 0, 0, 0, 0, 0, 0, 1013,
0, 0, 0, 0, 0, 0, 1011, 1008, 1011, 0,
1013, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1008, 0, 0, 0, 1812, 0, 1011, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1812,
0, 0, 0, 2535, 0, 1010, 0, 0, 0, 0,
0, 0, 1011, 0, 1007, 0, 0, 1812, 1812, 1812,
0, 0, 1812, 0, 0, 0, 0, 1010, 0, 0,
0, 0, 0, 0, 0, 0, 1011, 0, 0, 0,
0, 0, 0, 1011, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1010, 0, 0, 0, 0, 0, 0,
1007, 0, 0, 0, 0, 1812, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1008, 0, 0, 0, 0, 1010, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1011, 0, 1812, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1011,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1008,
0, 0, 1011, 0, 0, 1013, 0, 0, 1013, 0,
1013, 0, 0, 0, 0, 1013, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1010,
0, 0, 0, 0, 1007, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1013, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1812, 0, 0,
0, 0, 0, 1013, 0, 0, 0, 0, 0, 1812,
0, 0, 1812, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1011, 0, 1013, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1008, 0, 0, 0, 1011, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1010, 0, 0, 0, 0, 0,
0, 0, 0, 1011, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1007, 0, 1013, 0, 1013, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1011, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1007, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1013, 0, 0, 1007, 0, 0, 1008,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1013, 0,
0, 0, 0, 0, 0, 0, 0, 1008, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1011,
0, 0, 1013, 0, 1010, 0, 0, 0, 0, 1013,
1007, 0, 0, 0, 1007, 1007, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1008, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1010, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1013, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1008,
0, 0, 0, 1008, 1008, 1013, 0, 0, 0, 0,
0, 0, 0, 0, 1011, 0, 0, 0, 1013, 0,
0, 0, 0, 1007, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1008, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1010, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1010, 0, 0,
0, 1013, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1013, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1011, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1013,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1011, 1013, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1010, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1812, 0, 0, 0, 1010, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1812, 0, 1812, 1010, 0, 2535, 2535,
0, 3211, 0, 2535, 0, 1013, 0, 1812, 0, 0,
1812, 0, 0, 0, 0, 1812, 0, 0, 0, 0,
0, 1812, 0, 0, 0, 0, 1812, 0, 0, 0,
0, 0, 0, 0, 1812, 1812, 1812, 1812, 0, 0,
0, 2535, 2535, 0, 1812, 0, 1011, 0, 0, 0,
1010, 0, 0, 0, 0, 0, 1812, 1011, 1812, 0,
0, 0, 0, 0, 0, 1812, 1812, 1812, 1812, 1812,
1812, 1812, 1812, 1812, 1812, 1812, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1013, 0, 0, 1812, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1010, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1011, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1010, 0,
0, 0, 0, 0, 0, 0, 1011, 0, 0, 0,
0, 0, 0, 1812, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1011, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1013, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1011, 0, 0, 0, 0, 0, 0, 0, 0, 1013,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1010, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1011, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1013, 0, 0, 0, 0, 0, 1011, 0,
0, 0, 0, 1013, 0, 0, 0, 0, 1010, 0,
0, 0, 0, 0, 1812, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1010, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1010, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1011, 1013, 0, 0, 0, 0, 1010, 0,
0, 0, 1010, 1010, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1013, 1812, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1013, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1812, 0, 0, 0,
0, 0, 1812, 0, 0, 0, 0, 0, 0, 0,
0, 1010, 0, 0, 0, 0, 1013, 0, 0, 3211,
3211, 0, 0, 2535, 2535, 2535, 2535, 0, 1011, 2535,
2535, 2535, 2535, 2535, 2535, 2535, 2535, 2535, 2535, 2535,
3211, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1011, 0, 0, 0,
0, 0, 1812, 0, 0, 1812, 0, 1812, 0, 0,
0, 3211, 3211, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1812, 2535, 2535, 1812,
0, 1812, 0, 0, 1011, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1013, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1812,
0, 0, 0, 0, 0, 0, 0, 0, 1011, 1812,
0, 0, 1011, 1011, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1013, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1812, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1011, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1013, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2535, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1013, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1013, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1013, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1013, 0, 0, 0, 1013, 1013,
0, 0, 0, 0, 0, 0, 1812, 0, 0, 0,
1812, 1812, 1812, 1812, 0, 0, 0, 0, 0, 3211,
3211, 3211, 3211, 0, 0, 0, 0, 3211, 3211, 3211,
3211, 3211, 3211, 3211, 3211, 3211, 3211, 3211, 1812, 1812,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1812, 0, 0, 1812, 0,
1812, 0, 0, 0, 1812, 0, 0, 3211, 3211, 0,
0, 1812, 1812, 0, 0, 0, 0, 1013, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1812, 0, 0, 0,
0, 0, 0, 1812, 1812, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1812,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 3211, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1812, 1812, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1812, 0, 0, 0, 0, 1812, 2535,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1812, 0, 1812, 0, 0, 0, 0,
1812, 1812, 1812, 0, 0, 1812, 0, 0, 1812, 1812,
0, 0, 0, 1812, 0, 0, 0, 1812, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1812, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1812, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1812, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 3211,
2535, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1812, 1812, 1812, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1812, 1812, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 3211, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1812, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1812, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1812, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1812, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1812,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 771, 1123,
593, 1124, 1125, 1126, 646, 1127, 0, 0, 0, 0,
0, 0, 0, 220, 221, 222, 223, 224, 225, 226,
227, 2629, 229, 230, 231, 0, 0, 1812, 0, 1128,
0, 0, 232, 233, 0, 234, 235, 772, 236, 237,
238, 239, 1129, 773, 1130, 1131, 0, 243, 244, 245,
246, 247, 1132, 1133, 248, 249, 1134, 1135, 252, 0,
253, 254, 255, 256, 1136, 0, 1137, 1812, 258, 259,
260, 261, 775, 262, 263, 264, 0, 265, 266, 267,
268, 269, 270, 0, 776, 271, 272, 273, 1138, 1139,
1140, 1141, 1142, 1143, 1144, 274, 275, 276, 277, 278,
279, 1145, 1146, 282, 0, 283, 0, 284, 285, 286,
287, 288, 0, 289, 290, 291, 2630, 0, 292, 293,
986, 295, 296, 0, 297, 298, 299, 0, 300, 301,
302, 0, 303, 304, 305, 306, 1147, 308, 309, 310,
1148, 1149, 312, 0, 313, 314, 1150, 316, 0, 317,
0, 318, 778, 0, 779, 319, 320, 321, 0, 322,
1151, 0, 1152, 325, 0, 326, 327, 328, 329, 330,
780, 331, 332, 333, 334, 0, 335, 336, 337, 338,
339, 340, 0, 341, 781, 342, 343, 344, 345, 346,
1153, 1154, 0, 1155, 0, 350, 782, 783, 351, 784,
352, 353, 354, 355, 356, 0, 0, 357, 1156, 785,
359, 786, 0, 360, 361, 362, 1157, 1158, 363, 364,
365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
375, 376, 377, 1159, 787, 1160, 380, 381, 382, 1161,
383, 384, 788, 385, 1162, 1163, 387, 1164, 389, 390,
391, 0, 392, 0, 0, 1165, 394, 395, 0, 0,
396, 397, 789, 398, 790, 1166, 400, 401, 402, 403,
404, 405, 406, 0, 407, 408, 1167, 410, 411, 412,
413, 414, 0, 415, 416, 417, 418, 419, 420, 421,
422, 1168, 424, 425, 426, 427, 0, 428, 429, 430,
431, 432, 433, 434, 435, 436, 437, 438, 0, 439,
440, 791, 441, 442, 443, 1169, 445, 446, 447, 448,
449, 450, 451, 452, 0, 453, 454, 455, 456, 457,
1170, 458, 459, 460, 461, 462, 792, 463, 464, 1171,
466, 0, 467, 468, 469, 470, 471, 472, 473, 474,
475, 476, 477, 1172, 0, 479, 480, 0, 481, 793,
482, 483, 484, 485, 486, 0, 1173, 1174, 0, 0,
489, 490, 1175, 492, 1176, 1177, 494, 495, 496, 497,
498, 499, 500, 0, 1178, 501, 502, 503, 504, 505,
1179, 0, 506, 507, 508, 509, 510, 511, 1180, 2631,
513, 794, 514, 515, 516, 517, 0, 0, 518, 0,
0, 519, 520, 521, 522, 523, 524, 525, 1181, 1182,
1183, 1184, 1185, 1186, 1187, 1188, 534, 535, 536, 1189,
0, 0, 0, 0, 0, 0, 1190, 1191, 2632, 0,
0, 0, 1193, 0, 0, 0, 1194, 2633, 771, 1123,
593, 1124, 1125, 1126, 646, 1127, 0, 0, 0, 0,
0, 0, 0, 220, 221, 222, 223, 224, 225, 226,
227, 0, 229, 230, 231, 0, 0, 0, 0, 1128,
0, 0, 232, 233, 0, 234, 235, 772, 236, 237,
238, 239, 1129, 773, 1130, 1131, 0, 243, 244, 245,
246, 247, 1132, 1133, 248, 249, 1134, 1135, 252, 0,
253, 254, 255, 256, 1136, 0, 1137, 0, 258, 259,
260, 261, 775, 262, 263, 264, 0, 265, 266, 267,
268, 269, 270, 0, 776, 271, 272, 273, 1138, 1139,
1140, 1141, 1142, 1143, 1144, 274, 275, 276, 277, 278,
279, 1145, 1146, 282, 0, 283, 0, 284, 285, 286,
287, 288, 0, 289, 290, 291, 0, 0, 292, 293,
986, 295, 296, 0, 297, 298, 299, 0, 300, 301,
302, 0, 303, 304, 305, 306, 1147, 308, 309, 310,
1148, 1149, 312, 0, 313, 314, 1150, 316, 0, 317,
0, 318, 778, 0, 779, 319, 320, 321, 0, 322,
1151, 0, 1152, 325, 0, 326, 327, 328, 329, 330,
780, 331, 332, 333, 334, 0, 335, 336, 337, 338,
339, 340, 0, 341, 781, 342, 343, 344, 345, 346,
1153, 1154, 0, 1155, 0, 350, 782, 783, 351, 784,
352, 353, 354, 355, 356, 0, 0, 357, 1156, 785,
359, 786, 0, 360, 361, 362, 1157, 1158, 363, 364,
365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
375, 376, 377, 1159, 787, 1160, 380, 381, 382, 1161,
383, 384, 788, 385, 1162, 1163, 387, 1164, 389, 390,
391, 0, 392, 0, 0, 1165, 394, 395, 0, 0,
396, 397, 789, 398, 790, 1166, 400, 401, 402, 403,
404, 405, 406, 0, 407, 408, 1167, 410, 411, 412,
413, 414, 0, 415, 416, 417, 418, 419, 420, 421,
422, 1168, 424, 425, 426, 427, 0, 428, 429, 430,
431, 432, 433, 434, 435, 436, 437, 438, 0, 439,
440, 791, 441, 442, 443, 1169, 445, 446, 447, 448,
449, 450, 451, 452, 39, 453, 454, 455, 456, 457,
1170, 458, 459, 460, 461, 462, 792, 463, 464, 1171,
466, 0, 467, 468, 469, 470, 471, 472, 473, 474,
475, 476, 477, 1172, 0, 479, 480, 43, 481, 793,
482, 483, 484, 485, 486, 0, 1173, 1174, 0, 0,
489, 490, 1175, 492, 1176, 1177, 494, 495, 496, 497,
498, 499, 500, 0, 1178, 501, 502, 503, 504, 505,
1179, 0, 506, 507, 508, 509, 510, 1059, 1180, 0,
513, 794, 514, 515, 516, 517, 0, 0, 518, 0,
48, 519, 520, 521, 522, 523, 524, 525, 1181, 1182,
1183, 1184, 1185, 1186, 1187, 1188, 534, 535, 536, 1189,
0, 49, 0, 0, 0, 0, 1190, 1191, 0, 0,
0, 0, 1193, 0, 0, 0, 1194, 4638, 771, 1123,
593, 1124, 1125, 1126, 646, 1127, 0, 0, 0, 0,
0, 0, 0, 220, 221, 222, 223, 224, 225, 226,
227, 0, 229, 230, 231, 0, 0, 0, 0, 1128,
0, 0, 232, 233, 0, 234, 235, 772, 236, 237,
238, 239, 1129, 773, 1130, 1131, 0, 243, 244, 245,
246, 247, 1132, 1133, 248, 249, 1134, 1135, 252, 0,
253, 254, 255, 256, 1136, 0, 1137, 0, 258, 259,
260, 261, 775, 262, 263, 264, 0, 265, 266, 267,
268, 269, 270, 0, 776, 271, 272, 273, 1138, 1139,
1140, 1141, 1142, 1143, 1144, 274, 275, 276, 277, 278,
279, 1145, 1146, 282, 0, 283, 0, 284, 285, 286,
287, 288, 0, 289, 290, 291, 0, 0, 292, 293,
986, 295, 296, 0, 297, 298, 299, 0, 300, 301,
302, 0, 303, 304, 305, 306, 1147, 308, 309, 310,
1148, 1149, 312, 0, 313, 314, 1150, 316, 0, 317,
0, 318, 778, 0, 779, 319, 320, 321, 0, 322,
1151, 0, 1152, 325, 0, 326, 327, 328, 329, 330,
780, 331, 332, 333, 334, 0, 335, 336, 337, 338,
339, 340, 0, 341, 781, 342, 343, 344, 345, 346,
1153, 1154, 0, 1155, 0, 350, 782, 783, 351, 784,
352, 353, 354, 355, 356, 0, 0, 357, 1156, 785,
359, 786, 0, 360, 361, 362, 1157, 1158, 363, 364,
365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
375, 376, 377, 1159, 787, 1160, 380, 381, 382, 1161,
383, 384, 788, 385, 1162, 1163, 387, 1164, 389, 390,
391, 0, 392, 0, 0, 1165, 394, 395, 0, 0,
396, 397, 789, 398, 790, 1166, 400, 401, 402, 403,
404, 405, 406, 0, 407, 408, 1167, 410, 411, 412,
413, 414, 0, 415, 416, 417, 418, 419, 420, 421,
422, 1168, 424, 425, 426, 427, 0, 428, 429, 430,
431, 432, 433, 434, 435, 436, 437, 438, 0, 439,
440, 791, 441, 442, 443, 1169, 445, 446, 447, 448,
449, 450, 451, 452, 0, 453, 454, 455, 456, 457,
1170, 458, 459, 460, 461, 462, 792, 463, 464, 1171,
466, 0, 467, 468, 469, 470, 471, 472, 473, 474,
475, 476, 477, 1172, 0, 479, 480, 0, 481, 793,
482, 483, 484, 485, 486, 0, 1173, 1174, 0, 0,
489, 490, 1175, 492, 1176, 1177, 494, 495, 496, 497,
498, 499, 500, 0, 1178, 501, 502, 503, 504, 505,
1179, 0, 506, 507, 508, 509, 510, 511, 1180, 0,
513, 794, 514, 515, 516, 517, 0, 0, 518, 0,
0, 519, 520, 521, 522, 523, 524, 525, 1181, 1182,
1183, 1184, 1185, 1186, 1187, 1188, 534, 535, 536, 1189,
0, 0, 0, 0, 0, 0, 1190, 1191, 0, 0,
0, 0, 1193, 0, 0, 0, 1194, 2537, 771, 1123,
593, 1124, 1125, 1126, 646, 1127, 0, 0, 0, 0,
0, 0, 0, 220, 221, 222, 223, 224, 225, 226,
227, 0, 229, 230, 231, 0, 0, 0, 0, 1128,
0, 0, 232, 233, 0, 234, 235, 772, 236, 237,
238, 239, 1129, 773, 1130, 1131, 0, 243, 244, 245,
246, 247, 1132, 1133, 248, 249, 1134, 1135, 252, 0,
253, 254, 255, 256, 1136, 0, 1137, 0, 258, 259,
260, 261, 775, 262, 263, 264, 0, 265, 266, 267,
268, 269, 270, 0, 776, 271, 272, 273, 1138, 1139,
1140, 1141, 1142, 1143, 1144, 274, 275, 276, 277, 278,
279, 1145, 1146, 282, 0, 283, 0, 284, 285, 286,
287, 288, 0, 289, 290, 291, 0, 0, 292, 293,
986, 295, 296, 0, 297, 298, 299, 0, 300, 301,
302, 0, 303, 304, 305, 306, 1147, 308, 309, 310,
1148, 1149, 312, 0, 313, 314, 1150, 316, 0, 317,
0, 318, 778, 0, 779, 319, 320, 321, 0, 322,
1151, 0, 1152, 325, 0, 326, 327, 328, 329, 330,
780, 331, 332, 333, 334, 0, 335, 336, 337, 338,
339, 340, 0, 341, 781, 342, 343, 344, 345, 346,
1153, 1154, 0, 1155, 0, 350, 782, 783, 351, 784,
352, 353, 354, 355, 356, 0, 0, 357, 1156, 785,
359, 786, 0, 360, 361, 362, 1157, 1158, 363, 364,
365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
375, 376, 377, 1159, 787, 1160, 380, 381, 382, 1161,
383, 384, 788, 385, 1162, 1163, 387, 1164, 389, 390,
391, 0, 392, 0, 0, 1165, 394, 395, 0, 0,
396, 397, 789, 398, 790, 1166, 400, 401, 402, 403,
404, 405, 406, 0, 407, 408, 1167, 410, 411, 412,
413, 414, 0, 415, 416, 417, 418, 419, 420, 421,
422, 1168, 424, 425, 426, 427, 0, 428, 429, 430,
431, 432, 433, 434, 435, 436, 437, 438, 0, 439,
440, 791, 441, 442, 443, 1169, 445, 446, 447, 448,
449, 450, 451, 452, 0, 453, 454, 455, 456, 457,
1170, 458, 459, 460, 461, 462, 792, 463, 464, 1171,
466, 0, 467, 468, 469, 470, 471, 472, 473, 474,
475, 476, 477, 1172, 0, 479, 480, 0, 481, 793,
482, 483, 484, 485, 486, 0, 1173, 1174, 0, 0,
489, 490, 1175, 492, 1176, 1177, 494, 495, 496, 497,
498, 499, 500, 0, 1178, 501, 502, 503, 504, 505,
1179, 0, 506, 507, 508, 509, 510, 511, 1180, 0,
513, 794, 514, 515, 516, 517, 0, 0, 518, 0,
0, 519, 520, 521, 522, 523, 524, 525, 1181, 1182,
1183, 1184, 1185, 1186, 1187, 1188, 534, 535, 536, 1189,
0, 0, 0, 0, 0, 0, 1190, 1191, 0, 0,
0, 0, 1193, 0, 0, 0, 1194, 3717, 771, 1123,
593, 1124, 1125, 1126, 646, 1127, 0, 0, 0, 0,
0, 0, 0, 220, 221, 222, 223, 224, 225, 226,
227, 0, 229, 230, 231, 0, 0, 0, 0, 1128,
0, 0, 232, 233, 0, 234, 235, 772, 236, 237,
238, 239, 1129, 773, 1130, 1131, 0, 243, 244, 245,
246, 247, 1132, 1133, 248, 249, 1134, 1135, 252, 0,
253, 254, 255, 256, 1136, 0, 1137, 0, 258, 259,
260, 261, 775, 262, 263, 264, 0, 265, 266, 267,
268, 269, 270, 0, 776, 271, 272, 273, 1138, 1139,
1140, 1141, 1142, 1143, 1144, 274, 275, 276, 277, 278,
279, 1145, 1146, 282, 0, 283, 0, 284, 285, 286,
287, 288, 0, 289, 290, 291, 0, 0, 292, 293,
986, 295, 296, 0, 297, 298, 299, 0, 300, 301,
302, 0, 303, 304, 305, 306, 1147, 308, 309, 310,
1148, 1149, 312, 0, 313, 314, 1150, 316, 0, 317,
0, 318, 778, 0, 779, 319, 320, 321, 0, 322,
1151, 0, 1152, 325, 0, 326, 327, 328, 329, 330,
780, 331, 332, 333, 334, 0, 335, 336, 337, 338,
339, 340, 0, 341, 781, 342, 343, 344, 345, 346,
1153, 1154, 0, 1155, 0, 350, 782, 783, 351, 784,
352, 353, 354, 355, 356, 0, 0, 357, 1156, 785,
359, 786, 0, 360, 361, 362, 1157, 1158, 363, 364,
365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
375, 376, 377, 1159, 787, 1160, 380, 381, 382, 1161,
383, 384, 788, 385, 1162, 1163, 387, 1164, 389, 390,
391, 0, 392, 0, 0, 1165, 394, 395, 0, 0,
396, 397, 789, 398, 790, 1166, 400, 401, 402, 403,
404, 405, 406, 0, 407, 408, 1167, 410, 411, 412,
413, 414, 0, 415, 416, 417, 418, 419, 420, 421,
422, 1168, 424, 425, 426, 427, 0, 428, 429, 430,
431, 432, 433, 434, 435, 436, 437, 438, 0, 439,
440, 791, 441, 442, 443, 1169, 445, 446, 447, 448,
449, 450, 451, 452, 0, 453, 454, 455, 456, 457,
1170, 458, 459, 460, 461, 462, 792, 463, 464, 1171,
466, 0, 467, 468, 469, 470, 471, 472, 473, 474,
475, 476, 477, 1172, 0, 479, 480, 0, 481, 793,
482, 483, 484, 485, 486, 0, 1173, 1174, 0, 0,
489, 490, 1175, 492, 1176, 1177, 494, 495, 496, 497,
498, 499, 500, 0, 1178, 501, 502, 503, 504, 505,
1179, 0, 506, 507, 508, 509, 510, 511, 1180, 0,
513, 794, 514, 515, 516, 517, 0, 0, 518, 0,
0, 519, 520, 521, 522, 523, 524, 525, 1181, 1182,
1183, 1184, 1185, 1186, 1187, 1188, 534, 535, 536, 1189,
0, 0, 0, 219, 0, 0, 1190, 1191, 0, 0,
0, 0, 1193, 0, 0, 0, 1194, 3790, 220, 221,
222, 223, 224, 225, 226, 227, 0, 229, 230, 231,
0, 0, 0, 0, 0, 3806, 0, 232, 233, 0,
234, 235, 0, 236, 237, 238, 239, 240, 0, 241,
242, 0, 243, 244, 245, 246, 247, 0, 0, 248,
249, 250, 251, 252, 0, 253, 254, 255, 256, 257,
0, 0, 0, 258, 259, 260, 261, 0, 262, 263,
264, 0, 265, 266, 267, 268, 269, 270, 0, -1580,
271, 272, 273, 0, 0, 0, 0, 0, 0, 0,
274, 275, 276, 277, 278, 279, 280, 281, 282, 0,
283, 0, 284, 285, 286, 287, 288, 0, 289, 290,
291, 0, 0, 292, 293, 294, 295, 296, 0, 297,
298, 299, 0, 300, 301, 302, 0, 303, 304, 305,
306, 307, 308, 309, 310, 311, 0, 312, 0, 313,
314, 315, 316, 0, 317, 0, 318, 0, 0, -1580,
319, 320, 321, 0, 322, 323, 0, 324, 325, 0,
326, 327, 328, 329, 330, 0, 331, 332, 333, 334,
0, 335, 336, 337, 338, 339, 340, 0, 341, -1580,
342, 343, 344, 345, 346, 347, 348, 0, 349, 0,
350, 0, 0, 351, -1580, 352, 353, 354, 355, 356,
0, 0, 357, 358, -1580, 359, 0, 0, 360, 361,
362, 0, 0, 363, 364, 365, 366, 367, 368, 369,
370, 371, 372, 373, 374, 375, 376, 377, 378, -1580,
379, 380, 381, 382, 0, 383, 384, 0, 385, 0,
386, 387, 388, 389, 390, 391, 0, 392, 0, 0,
393, 394, 395, 0, 0, 396, 397, 0, 398, 0,
399, 400, 401, 402, 403, 404, 405, 406, 0, 407,
408, 409, 410, 411, 412, 413, 414, 0, 415, 416,
417, 418, 419, 420, 421, 422, 423, 424, 425, 426,
427, 0, 428, 429, 430, 431, 432, 433, 434, 435,
436, 437, 438, 0, 439, 440, -1580, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 0,
453, 454, 455, 456, 457, 0, 458, 459, 460, 461,
462, 0, 463, 464, 465, 466, 0, 467, 468, 469,
470, 471, 472, 473, 474, 475, 476, 477, 478, 0,
479, 480, 0, 481, 0, 482, 483, 484, 485, 486,
0, 487, 488, 0, 0, 489, 490, 491, 492, 493,
0, 494, 495, 496, 497, 498, 499, 500, 0, 0,
501, 502, 503, 504, 505, 0, 0, 506, 507, 508,
509, 510, 511, 512, 0, 513, 0, 514, 515, 516,
517, 0, 0, 518, 0, 0, 519, 520, 521, 522,
523, 524, 525, 526, 527, 528, 529, 530, 531, 532,
533, 534, 535, 536, 0, 0, 0, 0, 978, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1280, 220, 221, 222, 223, 224, 225, 226,
227, 0, 229, 230, 231, 0, 0, 0, 0, 0,
0, 0, 232, 233, 0, 234, 235, 772, 236, 237,
238, 0, 979, 773, 980, 981, 0, 243, 244, 245,
246, 247, 0, 0, 248, 249, 982, 983, 252, 0,
253, 254, 255, 256, 0, 0, 774, 0, 258, 259,
260, 261, 775, 262, 263, 264, 0, 265, 266, 267,
268, 269, 270, 0, 776, 271, 272, 273, 0, 0,
0, 777, 0, 0, 0, 274, 275, 276, 277, 278,
279, 984, 985, 282, 0, 283, 0, 284, 285, 286,
287, 288, 0, 289, 290, 291, 0, 0, 292, 293,
986, 295, 296, 0, 297, 298, 299, 0, 300, 301,
302, 0, 303, 304, 305, 306, 0, 308, 309, 310,
0, 0, 312, 0, 313, 314, 987, 316, 0, 317,
0, 318, 778, 0, 779, 319, 320, 321, 0, 322,
0, 0, 0, 325, 0, 326, 327, 328, 329, 330,
780, 331, 332, 333, 334, 1994, 335, 336, 337, 338,
339, 340, 0, 341, 781, 1995, 343, 344, 345, 346,
989, 990, 0, 991, 0, 350, 782, 783, 351, 784,
352, 353, 354, 355, 356, 0, 0, 357, 0, 785,
359, 786, 0, 360, 361, 362, 0, 0, 363, 364,
365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
375, 376, 377, 992, 787, 993, 380, 381, 0, 0,
383, 384, 788, 385, 0, 0, 387, 994, 389, 390,
391, 0, 392, 0, 0, 393, 394, 395, 0, 0,
396, 1997, 789, 398, 790, 0, 400, 401, 402, 403,
404, 405, 406, 0, 407, 408, 0, 410, 0, 412,
413, 414, 0, 415, 416, 417, 418, 419, 420, 421,
422, 995, 424, 425, 426, 427, 0, 428, 429, 430,
431, 432, 433, 434, 435, 436, 437, 438, 0, 439,
440, 791, 441, 442, 443, 0, 445, 446, 447, 448,
449, 450, 451, 452, 0, 453, 454, 455, 456, 457,
0, 458, 459, 1998, 461, 462, 792, 463, 464, 997,
466, 0, 467, 468, 469, 470, 471, 472, 473, 474,
475, 476, 477, 0, 0, 479, 480, 0, 481, 793,
482, 483, 484, 485, 486, 0, 998, 999, 0, 0,
489, 490, 0, 492, 0, 0, 494, 495, 496, 497,
498, 499, 500, 0, 0, 501, 502, 503, 504, 505,
0, 0, 506, 507, 508, 509, 510, 0, 1000, 1999,
513, 794, 514, 515, 516, 517, 0, 0, 518, 0,
0, 519, 520, 521, 522, 523, 524, 978, 0, 0,
0, 0, 0, 0, 0, 0, 534, 535, 536, 0,
0, 0, 220, 221, 222, 223, 224, 225, 226, 227,
0, 229, 230, 231, 0, 0, 0, 2103, 0, 0,
0, 232, 233, 0, 234, 235, 772, 236, 237, 238,
0, 979, 773, 980, 981, 0, 243, 244, 245, 246,
247, 0, 0, 248, 249, 982, 983, 252, 0, 253,
254, 255, 256, 0, 0, 774, 0, 258, 259, 260,
261, 775, 262, 263, 264, 0, 265, 266, 267, 268,
269, 270, 0, 776, 271, 272, 273, 0, 0, 0,
777, 0, 0, 0, 274, 275, 276, 277, 278, 279,
984, 985, 282, 0, 283, 0, 284, 285, 286, 287,
288, 0, 289, 290, 291, 0, 0, 292, 293, 986,
295, 296, 0, 297, 298, 299, 0, 300, 301, 302,
0, 303, 304, 305, 306, 0, 308, 309, 310, 0,
0, 312, 0, 313, 314, 987, 316, 0, 317, 0,
318, 778, 0, 779, 319, 320, 321, 0, 322, 0,
0, 0, 325, 0, 326, 327, 328, 329, 330, 780,
331, 332, 333, 334, 1994, 335, 336, 337, 338, 339,
340, 0, 341, 781, 1995, 343, 344, 345, 346, 989,
990, 0, 991, 0, 350, 782, 783, 351, 784, 352,
353, 354, 355, 356, 0, 0, 357, 0, 785, 359,
786, 0, 360, 361, 362, 0, 0, 363, 364, 365,
366, 367, 368, 369, 370, 371, 372, 373, 374, 375,
376, 377, 992, 787, 993, 380, 381, 0, 0, 383,
384, 788, 385, 0, 0, 387, 994, 389, 390, 391,
0, 392, 0, 0, 393, 394, 395, 0, 0, 396,
1997, 789, 398, 790, 0, 400, 401, 402, 403, 404,
405, 406, 0, 407, 408, 0, 410, 0, 412, 413,
414, 0, 415, 416, 417, 418, 419, 420, 421, 422,
995, 424, 425, 426, 427, 0, 428, 429, 430, 431,
432, 433, 434, 435, 436, 437, 438, 0, 439, 440,
791, 441, 442, 443, 0, 445, 446, 447, 448, 449,
450, 451, 452, 0, 453, 454, 455, 456, 457, 0,
458, 459, 1998, 461, 462, 792, 463, 464, 997, 466,
0, 467, 468, 469, 470, 471, 472, 473, 474, 475,
476, 477, 0, 0, 479, 480, 0, 481, 793, 482,
483, 484, 485, 486, 0, 998, 999, 0, 0, 489,
490, 0, 492, 0, 0, 494, 495, 496, 497, 498,
499, 500, 0, 0, 501, 502, 503, 504, 505, 0,
0, 506, 507, 508, 509, 510, 0, 1000, 1999, 513,
794, 514, 515, 516, 517, 0, 0, 518, 0, 0,
519, 520, 521, 522, 523, 524, 771, 1123, 593, 1124,
1125, 1126, 646, 1127, 0, 534, 535, 536, 0, 0,
0, 220, 221, 222, 223, 224, 225, 226, 227, 0,
229, 230, 231, 0, 0, 0, 3050, 1128, 0, 0,
232, 233, 0, 234, 235, 772, 236, 237, 238, 239,
1129, 773, 1130, 1131, 0, 243, 244, 245, 246, 247,
1132, 1133, 248, 249, 1134, 1135, 252, 0, 253, 254,
255, 256, 1136, 0, 1137, 0, 258, 259, 260, 261,
775, 262, 263, 264, 0, 265, 266, 267, 268, 269,
270, 0, 776, 271, 272, 273, 1138, 1139, 1140, 1141,
1142, 1143, 1144, 274, 275, 276, 277, 278, 279, 1145,
1146, 282, 1272, 283, 0, 284, 285, 286, 287, 288,
0, 289, 290, 291, 0, 0, 292, 293, 986, 295,
296, 0, 297, 298, 299, 0, 300, 301, 302, 0,
303, 304, 305, 306, 1147, 308, 309, 310, 1148, 1149,
312, 0, 313, 314, 1150, 316, 0, 317, 0, 318,
778, 0, 779, 319, 320, 321, 0, 322, 1151, 0,
1152, 325, 0, 326, 327, 328, 329, 330, 780, 331,
332, 333, 334, 0, 335, 336, 337, 338, 339, 340,
0, 341, 781, 342, 343, 344, 345, 346, 1153, 1154,
0, 1155, 0, 350, 782, 783, 351, 784, 352, 353,
354, 355, 356, 0, 0, 357, 1156, 785, 359, 786,
0, 360, 361, 362, 1157, 1158, 363, 364, 365, 366,
367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
377, 1159, 787, 1160, 380, 381, 382, 1161, 383, 384,
788, 385, 1162, 1163, 387, 1164, 389, 390, 391, 0,
392, 0, 0, 1165, 394, 395, 0, 0, 396, 397,
789, 398, 790, 1166, 400, 401, 402, 403, 404, 405,
406, 0, 407, 408, 1167, 410, 411, 412, 413, 414,
0, 415, 416, 417, 418, 419, 420, 421, 422, 1168,
424, 425, 426, 427, 0, 428, 429, 430, 431, 432,
433, 434, 435, 436, 437, 438, 0, 439, 440, 791,
441, 442, 443, 1169, 445, 446, 447, 448, 449, 450,
451, 452, 39, 453, 454, 455, 456, 457, 1170, 458,
459, 460, 461, 462, 792, 463, 464, 1171, 466, 0,
467, 468, 469, 470, 471, 472, 473, 474, 475, 476,
477, 1172, 0, 479, 480, 43, 481, 793, 482, 483,
484, 485, 486, 0, 1173, 1174, 0, 0, 489, 490,
1175, 492, 1176, 1177, 494, 495, 496, 497, 498, 499,
500, 0, 1178, 501, 502, 503, 504, 505, 1179, 0,
506, 507, 508, 509, 510, 1059, 1180, 0, 513, 794,
514, 515, 516, 517, 0, 0, 518, 0, 48, 519,
520, 521, 522, 523, 524, 525, 1181, 1182, 1183, 1184,
1185, 1186, 1187, 1188, 534, 535, 536, 1189, 0, 49,
0, 0, 0, 0, 1190, 1191, 0, 0, 0, 0,
1193, 0, 0, 0, 1194, 771, 1123, 593, 1124, 1125,
1126, 646, 1127, 0, 0, 0, 0, 0, 0, 0,
220, 221, 222, 223, 224, 225, 226, 227, 0, 229,
230, 231, 0, 0, 0, 0, 1128, 0, 0, 232,
233, 0, 234, 235, 772, 236, 237, 238, 239, 1129,
773, 1130, 1131, 0, 243, 244, 245, 246, 247, 1132,
1133, 248, 249, 1134, 1135, 252, 0, 253, 254, 255,
256, 1136, 0, 1137, 0, 258, 259, 260, 261, 775,
262, 263, 264, 0, 265, 266, 267, 268, 269, 270,
0, 776, 271, 272, 273, 1138, 1139, 1140, 1141, 1142,
1143, 1144, 274, 275, 276, 277, 278, 279, 1145, 1146,
282, 0, 283, 0, 284, 285, 286, 287, 288, 0,
289, 290, 291, 0, 0, 292, 293, 986, 295, 296,
0, 297, 298, 299, 0, 300, 301, 302, 0, 303,
304, 305, 306, 1147, 308, 309, 310, 1148, 1149, 312,
0, 313, 314, 1150, 316, 0, 317, 0, 318, 778,
0, 779, 319, 320, 321, 0, 322, 1151, 0, 1152,
325, 0, 326, 327, 328, 329, 330, 780, 331, 332,
333, 334, 0, 335, 336, 337, 338, 339, 340, 0,
341, 781, 342, 343, 344, 345, 346, 1153, 1154, 0,
1155, 0, 350, 782, 783, 351, 784, 352, 353, 354,
355, 356, 0, 0, 357, 1156, 785, 359, 786, 0,
360, 361, 362, 1157, 1158, 363, 364, 365, 366, 367,
368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
1159, 787, 1160, 380, 381, 382, 1161, 383, 384, 788,
385, 1162, 1163, 387, 1164, 389, 390, 391, 0, 392,
0, 0, 1165, 394, 395, 0, 0, 396, 397, 789,
398, 790, 1166, 400, 401, 402, 403, 404, 405, 406,
0, 407, 408, 1167, 410, 411, 412, 413, 414, 0,
415, 416, 417, 418, 419, 420, 421, 422, 1168, 424,
425, 426, 427, 0, 428, 429, 430, 431, 432, 433,
434, 435, 436, 437, 438, 0, 439, 440, 791, 441,
442, 443, 1169, 445, 446, 447, 448, 449, 450, 451,
452, 39, 453, 454, 455, 456, 457, 1170, 458, 459,
460, 461, 462, 792, 463, 464, 1171, 466, 0, 467,
468, 469, 470, 471, 472, 473, 474, 475, 476, 477,
1172, 0, 479, 480, 43, 481, 793, 482, 483, 484,
485, 486, 0, 1173, 1174, 0, 0, 489, 490, 1175,
492, 1176, 1177, 494, 495, 496, 497, 498, 499, 500,
0, 1178, 501, 502, 503, 504, 505, 1179, 0, 506,
507, 508, 509, 510, 1059, 1180, 0, 513, 794, 514,
515, 516, 517, 0, 0, 518, 0, 48, 519, 520,
521, 522, 523, 524, 525, 1181, 1182, 1183, 1184, 1185,
1186, 1187, 1188, 534, 535, 536, 1189, 0, 49, 0,
0, 0, 0, 1190, 1191, 0, 0, 0, 0, 1193,
0, 0, 0, 1194, 771, 1123, 593, 1124, 1125, 1126,
646, 1127, 0, 0, 0, 0, 0, 0, 0, 220,
221, 222, 223, 224, 225, 226, 227, 0, 229, 230,
231, 0, 0, 0, 0, 1128, 0, 0, 232, 233,
0, 234, 235, 772, 236, 237, 238, 239, 1129, 773,
1130, 1131, 2543, 243, 244, 245, 246, 247, 1132, 1133,
248, 249, 1134, 1135, 252, 0, 253, 254, 255, 256,
1136, 0, 1137, 0, 258, 259, 260, 261, 775, 262,
263, 264, 0, 265, 266, 267, 268, 269, 270, 0,
776, 271, 272, 273, 1138, 1139, 1140, 1141, 1142, 1143,
1144, 274, 275, 276, 277, 278, 279, 1145, 1146, 282,
0, 283, 0, 284, 285, 286, 287, 288, 0, 289,
290, 291, 0, 0, 292, 293, 986, 295, 296, 0,
297, 298, 299, 0, 300, 301, 302, 0, 303, 304,
305, 306, 1147, 308, 309, 310, 1148, 1149, 312, 0,
313, 314, 1150, 316, 0, 317, 0, 318, 778, 2544,
779, 319, 320, 321, 0, 322, 1151, 0, 1152, 325,
0, 326, 327, 328, 329, 330, 780, 331, 332, 333,
334, 0, 335, 336, 337, 338, 339, 340, 0, 341,
781, 342, 343, 344, 345, 346, 1153, 1154, 0, 1155,
0, 350, 782, 783, 351, 784, 352, 353, 354, 355,
356, 0, 2545, 357, 1156, 785, 359, 786, 0, 360,
361, 362, 1157, 1158, 363, 364, 365, 366, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, 1159,
787, 1160, 380, 381, 382, 1161, 383, 384, 788, 385,
1162, 1163, 387, 1164, 389, 390, 391, 0, 392, 0,
0, 1165, 394, 395, 0, 0, 396, 397, 789, 398,
790, 1166, 400, 401, 402, 403, 404, 405, 406, 0,
407, 408, 1167, 410, 411, 412, 413, 414, 0, 415,
416, 417, 418, 419, 420, 421, 422, 1168, 424, 425,
426, 427, 0, 428, 429, 430, 431, 432, 433, 434,
435, 436, 437, 438, 0, 439, 440, 791, 441, 442,
443, 1169, 445, 446, 447, 448, 449, 450, 451, 452,
0, 453, 454, 455, 456, 457, 1170, 458, 459, 460,
461, 462, 792, 463, 464, 1171, 466, 0, 467, 468,
469, 470, 471, 472, 473, 474, 475, 476, 477, 1172,
0, 479, 480, 0, 481, 793, 482, 483, 484, 485,
486, 0, 1173, 1174, 0, 2546, 489, 490, 1175, 492,
1176, 1177, 494, 495, 496, 497, 498, 499, 500, 0,
1178, 501, 502, 503, 504, 505, 1179, 0, 506, 507,
508, 509, 510, 511, 1180, 0, 513, 794, 514, 515,
516, 517, 0, 0, 518, 0, 0, 519, 520, 521,
522, 523, 524, 525, 1181, 1182, 1183, 1184, 1185, 1186,
1187, 1188, 534, 535, 536, 1189, 0, 0, 0, 0,
0, 0, 1190, 1191, 0, 0, 0, 0, 1193, 0,
0, 0, 1194, 771, 1123, 593, 1124, 1125, 1126, 646,
1127, 0, 0, 0, 0, 0, 0, 0, 220, 221,
222, 223, 224, 225, 226, 227, 0, 229, 230, 231,
0, 0, 0, 0, 1128, 0, 0, 232, 233, 0,
234, 235, 772, 236, 237, 238, 239, 1129, 773, 1130,
1131, 0, 243, 244, 245, 246, 247, 1132, 1133, 248,
249, 1134, 1135, 252, 0, 253, 254, 255, 256, 1136,
0, 1137, 0, 258, 259, 260, 261, 775, 262, 263,
264, 0, 265, 266, 267, 268, 269, 270, 0, 776,
271, 272, 273, 1138, 1139, 1140, 1141, 1142, 1143, 1144,
274, 275, 276, 277, 278, 279, 1145, 1146, 282, 0,
283, 0, 284, 285, 286, 287, 288, 0, 289, 290,
291, 0, 0, 292, 293, 986, 295, 296, 0, 297,
298, 299, 0, 300, 301, 302, 0, 303, 304, 305,
306, 1147, 308, 309, 310, 1148, 1149, 312, 0, 313,
314, 1150, 316, 0, 317, 0, 318, 778, 0, 779,
319, 320, 321, 0, 322, 1151, 0, 1152, 325, 0,
326, 327, 328, 329, 330, 780, 331, 332, 333, 334,
0, 335, 336, 337, 338, 339, 340, 0, 341, 781,
342, 343, 344, 345, 346, 1153, 1154, 0, 1155, 0,
350, 782, 783, 351, 784, 352, 353, 354, 355, 356,
0, 0, 357, 1156, 785, 359, 786, 0, 360, 361,
362, 1157, 1158, 363, 364, 365, 366, 367, 368, 369,
370, 371, 372, 373, 374, 375, 376, 377, 1159, 787,
1160, 380, 381, 382, 1161, 383, 384, 788, 385, 1162,
1163, 387, 1164, 389, 390, 391, 0, 392, 0, 0,
1165, 394, 395, 0, 0, 396, 397, 789, 398, 790,
1166, 400, 401, 402, 403, 404, 405, 406, 0, 407,
408, 1167, 410, 411, 412, 413, 414, 0, 415, 416,
417, 418, 419, 420, 421, 422, 1168, 424, 425, 426,
427, 0, 428, 429, 430, 431, 432, 433, 434, 435,
436, 437, 438, 0, 439, 440, 791, 441, 442, 443,
1169, 445, 446, 447, 448, 449, 450, 451, 452, 0,
453, 454, 455, 456, 457, 1170, 458, 459, 460, 461,
462, 792, 463, 464, 1171, 466, 0, 467, 468, 469,
470, 471, 472, 473, 474, 475, 476, 477, 1172, 0,
479, 480, 0, 481, 793, 482, 483, 484, 485, 486,
0, 1173, 1174, 0, 0, 489, 490, 1175, 492, 1176,
1177, 494, 495, 496, 497, 498, 499, 500, 0, 1178,
501, 502, 503, 504, 505, 1179, 0, 506, 507, 508,
509, 510, 511, 1180, 0, 513, 794, 514, 515, 516,
517, 0, 0, 518, 0, 0, 519, 520, 521, 522,
523, 524, 525, 1181, 1182, 1183, 1184, 1185, 1186, 1187,
1188, 534, 535, 536, 1189, 0, 0, 0, 0, 0,
0, 1190, 1191, 0, 0, 0, 0, 1193, 0, 1734,
2497, 1194, 771, 1123, 593, 1124, 1125, 1126, 646, 1127,
0, 0, 0, 0, 0, 0, 0, 220, 221, 222,
223, 224, 225, 226, 227, 0, 229, 230, 231, 0,
0, 0, 0, 1128, 0, 0, 232, 233, 0, 234,
235, 772, 236, 237, 238, 239, 1129, 773, 1130, 1131,
0, 243, 244, 245, 246, 247, 1132, 1133, 248, 249,
1134, 1135, 252, 0, 253, 254, 255, 256, 1136, 0,
1137, 0, 258, 259, 260, 261, 775, 262, 263, 264,
0, 265, 266, 267, 268, 269, 270, 0, 776, 271,
272, 273, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 274,
275, 276, 277, 278, 279, 1145, 1146, 282, 0, 283,
0, 284, 285, 286, 287, 288, 0, 289, 290, 291,
0, 0, 292, 293, 986, 295, 296, 0, 297, 298,
299, 0, 300, 301, 302, 0, 303, 304, 305, 306,
1147, 308, 309, 310, 1148, 1149, 312, 0, 313, 314,
1150, 316, 0, 317, 0, 318, 778, 0, 779, 319,
320, 321, 0, 322, 1151, 0, 1152, 325, 0, 326,
327, 328, 329, 330, 780, 331, 332, 333, 334, 0,
335, 336, 337, 338, 339, 340, 0, 341, 781, 342,
343, 344, 345, 346, 1153, 1154, 0, 1155, 0, 350,
782, 783, 351, 784, 352, 353, 354, 355, 356, 0,
0, 357, 1156, 785, 359, 786, 0, 360, 361, 362,
1157, 1158, 363, 364, 365, 366, 367, 368, 369, 370,
371, 372, 373, 374, 375, 376, 377, 1159, 787, 1160,
380, 381, 382, 1161, 383, 384, 788, 385, 1162, 1163,
387, 1164, 389, 390, 391, 0, 392, 0, 0, 1165,
394, 395, 0, 0, 396, 397, 789, 398, 790, 1166,
400, 401, 402, 403, 404, 405, 406, 0, 407, 408,
1167, 410, 411, 412, 413, 414, 0, 415, 416, 417,
418, 419, 420, 421, 422, 1168, 424, 425, 426, 427,
0, 428, 429, 430, 431, 432, 433, 434, 435, 436,
437, 438, 0, 439, 440, 791, 441, 442, 443, 1169,
445, 446, 447, 448, 449, 450, 451, 452, 0, 453,
454, 455, 456, 457, 1170, 458, 459, 460, 461, 462,
792, 463, 464, 1171, 466, 0, 467, 468, 469, 470,
471, 472, 473, 474, 475, 476, 477, 1172, 0, 479,
480, 0, 481, 793, 482, 483, 484, 485, 486, 0,
1173, 1174, 0, 0, 489, 490, 1175, 492, 1176, 1177,
494, 495, 496, 497, 498, 499, 500, 0, 1178, 501,
502, 503, 504, 505, 1179, 0, 506, 507, 508, 509,
510, 511, 1180, 0, 513, 794, 514, 515, 516, 517,
0, 0, 518, 0, 0, 519, 520, 521, 522, 523,
524, 525, 1181, 1182, 1183, 1184, 1185, 1186, 1187, 1188,
534, 535, 536, 1189, 0, 0, 0, 0, 0, 0,
1190, 1191, 1192, 0, 0, 0, 1193, 0, 0, 0,
1194, 771, 1123, 593, 1124, 1125, 1126, 646, 1127, 0,
0, 0, 0, 0, 0, 0, 220, 221, 222, 223,
224, 225, 226, 227, 0, 229, 230, 231, 0, 0,
0, 0, 1128, 0, 0, 232, 233, 0, 234, 235,
772, 236, 237, 238, 239, 1129, 773, 1130, 1131, 0,
243, 244, 245, 246, 247, 1132, 1133, 248, 249, 1134,
1135, 252, 0, 253, 254, 255, 256, 1136, 0, 1137,
0, 258, 259, 260, 261, 775, 262, 263, 264, 0,
265, 266, 267, 268, 269, 270, 0, 776, 271, 272,
273, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 274, 275,
276, 277, 278, 279, 1145, 1146, 282, 1272, 283, 0,
284, 285, 286, 287, 288, 0, 289, 290, 291, 0,
0, 292, 293, 986, 295, 296, 0, 297, 298, 299,
0, 300, 301, 302, 0, 303, 304, 305, 306, 1147,
308, 309, 310, 1148, 1149, 312, 0, 313, 314, 1150,
316, 0, 317, 0, 318, 778, 0, 779, 319, 320,
321, 0, 322, 1151, 0, 1152, 325, 0, 326, 327,
328, 329, 330, 780, 331, 332, 333, 334, 0, 335,
336, 337, 338, 339, 340, 0, 341, 781, 342, 343,
344, 345, 346, 1153, 1154, 0, 1155, 0, 350, 782,
783, 351, 784, 352, 353, 354, 355, 356, 0, 0,
357, 1156, 785, 359, 786, 0, 360, 361, 362, 1157,
1158, 363, 364, 365, 366, 367, 368, 369, 370, 371,
372, 373, 374, 375, 376, 377, 1159, 787, 1160, 380,
381, 382, 1161, 383, 384, 788, 385, 1162, 1163, 387,
1164, 389, 390, 391, 0, 392, 0, 0, 1165, 394,
395, 0, 0, 396, 397, 789, 398, 790, 1166, 400,
401, 402, 403, 404, 405, 406, 0, 407, 408, 1167,
410, 411, 412, 413, 414, 0, 415, 416, 417, 418,
419, 420, 421, 422, 1168, 424, 425, 426, 427, 0,
428, 429, 430, 431, 432, 433, 434, 435, 436, 437,
438, 0, 439, 440, 791, 441, 442, 443, 1169, 445,
446, 447, 448, 449, 450, 451, 452, 0, 453, 454,
455, 456, 457, 1170, 458, 459, 460, 461, 462, 792,
463, 464, 1171, 466, 0, 467, 468, 469, 470, 471,
472, 473, 474, 475, 476, 477, 1172, 0, 479, 480,
0, 481, 793, 482, 483, 484, 485, 486, 0, 1173,
1174, 0, 0, 489, 490, 1175, 492, 1176, 1177, 494,
495, 496, 497, 498, 499, 500, 0, 1178, 501, 502,
503, 504, 505, 1179, 0, 506, 507, 508, 509, 510,
511, 1180, 0, 513, 794, 514, 515, 516, 517, 0,
0, 518, 0, 0, 519, 520, 521, 522, 523, 524,
525, 1181, 1182, 1183, 1184, 1185, 1186, 1187, 1188, 534,
535, 536, 1189, 0, 0, 0, 0, 0, 0, 1190,
1191, 0, 0, 0, 0, 1193, 0, 0, 0, 1194,
771, 1123, 593, 1124, 1125, 1126, 646, 1127, 0, 0,
0, 0, 0, 0, 0, 220, 221, 222, 223, 224,
225, 226, 227, 1969, 229, 230, 231, 0, 0, 0,
0, 1128, 0, 0, 232, 233, 0, 234, 235, 772,
236, 237, 238, 239, 1129, 773, 1130, 1131, 0, 243,
244, 245, 246, 247, 1132, 1133, 248, 249, 1134, 1135,
252, 0, 253, 254, 255, 256, 1136, 0, 1137, 0,
258, 259, 260, 261, 775, 262, 263, 264, 0, 265,
266, 267, 268, 269, 270, 0, 776, 271, 272, 273,
1138, 1139, 1140, 1141, 1142, 1143, 1144, 274, 275, 276,
277, 278, 279, 1145, 1146, 282, 0, 283, 0, 284,
285, 286, 287, 288, 0, 289, 290, 291, 0, 0,
292, 293, 986, 295, 296, 0, 297, 298, 299, 0,
300, 301, 302, 0, 303, 304, 305, 306, 1147, 308,
309, 310, 1148, 1149, 312, 0, 313, 314, 1150, 316,
0, 317, 0, 318, 778, 0, 779, 319, 320, 321,
0, 322, 1151, 0, 1152, 325, 0, 326, 327, 328,
329, 330, 780, 331, 332, 333, 334, 0, 335, 336,
337, 338, 339, 340, 0, 341, 781, 342, 343, 344,
345, 346, 1153, 1154, 0, 1155, 0, 350, 782, 783,
351, 784, 352, 353, 354, 355, 356, 0, 0, 357,
1156, 785, 359, 786, 0, 360, 361, 362, 1157, 1158,
363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
373, 374, 375, 376, 377, 1159, 787, 1160, 380, 381,
382, 1161, 383, 384, 788, 385, 1162, 1163, 387, 1164,
389, 390, 391, 0, 392, 0, 0, 1165, 394, 395,
0, 0, 396, 397, 789, 398, 790, 1166, 400, 401,
402, 403, 404, 405, 406, 0, 407, 408, 1167, 410,
411, 412, 413, 414, 0, 415, 416, 417, 418, 419,
420, 421, 422, 1168, 424, 425, 426, 427, 0, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
0, 439, 440, 791, 441, 442, 443, 1169, 445, 446,
447, 448, 449, 450, 451, 452, 0, 453, 454, 455,
456, 457, 1170, 458, 459, 460, 461, 462, 792, 463,
464, 1171, 466, 0, 467, 468, 469, 470, 471, 472,
473, 474, 475, 476, 477, 1172, 0, 479, 480, 0,
481, 793, 482, 483, 484, 485, 486, 0, 1173, 1174,
0, 0, 489, 490, 1175, 492, 1176, 1177, 494, 495,
496, 497, 498, 499, 500, 0, 1178, 501, 502, 503,
504, 505, 1179, 0, 506, 507, 508, 509, 510, 511,
1180, 0, 513, 794, 514, 515, 516, 517, 0, 0,
518, 0, 0, 519, 520, 521, 522, 523, 524, 525,
1181, 1182, 1183, 1184, 1185, 1186, 1187, 1188, 534, 535,
536, 1189, 0, 0, 0, 0, 0, 0, 1190, 1191,
0, 0, 0, 0, 1193, 0, 0, 0, 1194, 771,
1123, 593, 1124, 1125, 1126, 646, 1127, 0, 0, 0,
0, 0, 0, 0, 220, 221, 222, 223, 224, 225,
226, 227, 0, 229, 230, 231, 0, 0, 0, 0,
1128, 0, 0, 232, 233, 0, 234, 235, 772, 236,
237, 238, 239, 1129, 773, 1130, 1131, 0, 243, 244,
245, 246, 247, 1132, 1133, 248, 249, 1134, 1135, 252,
0, 253, 254, 255, 256, 1136, 0, 1137, 0, 258,
259, 260, 261, 775, 262, 263, 264, 0, 265, 266,
267, 268, 269, 270, 0, 776, 271, 272, 273, 1138,
1139, 1140, 1141, 1142, 1143, 1144, 274, 275, 276, 277,
278, 279, 1145, 1146, 282, 0, 283, 0, 284, 285,
286, 287, 288, 0, 289, 290, 291, 0, 0, 292,
293, 986, 295, 296, 0, 297, 298, 299, 0, 300,
301, 302, 0, 303, 304, 305, 306, 1147, 308, 309,
310, 1148, 1149, 312, 0, 313, 314, 1150, 316, 0,
317, 0, 318, 778, 2544, 779, 319, 320, 321, 0,
322, 1151, 0, 1152, 325, 0, 326, 327, 328, 329,
330, 780, 331, 332, 333, 334, 0, 335, 336, 337,
338, 339, 340, 0, 341, 781, 342, 343, 344, 345,
346, 1153, 1154, 0, 1155, 0, 350, 782, 783, 351,
784, 352, 353, 354, 355, 356, 0, 0, 357, 1156,
785, 359, 786, 0, 360, 361, 362, 1157, 1158, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, 1159, 787, 1160, 380, 381, 382,
1161, 383, 384, 788, 385, 1162, 1163, 387, 1164, 389,
390, 391, 0, 392, 0, 0, 1165, 394, 395, 0,
0, 396, 397, 789, 398, 790, 1166, 400, 401, 402,
403, 404, 405, 406, 0, 407, 408, 1167, 410, 411,
412, 413, 414, 0, 415, 416, 417, 418, 419, 420,
421, 422, 1168, 424, 425, 426, 427, 0, 428, 429,
430, 431, 432, 433, 434, 435, 436, 437, 438, 0,
439, 440, 791, 441, 442, 443, 1169, 445, 446, 447,
448, 449, 450, 451, 452, 0, 453, 454, 455, 456,
457, 1170, 458, 459, 460, 461, 462, 792, 463, 464,
1171, 466, 0, 467, 468, 469, 470, 471, 472, 473,
474, 475, 476, 477, 1172, 0, 479, 480, 0, 481,
793, 482, 483, 484, 485, 486, 0, 1173, 1174, 0,
0, 489, 490, 1175, 492, 1176, 1177, 494, 495, 496,
497, 498, 499, 500, 0, 1178, 501, 502, 503, 504,
505, 1179, 0, 506, 507, 508, 509, 510, 511, 1180,
0, 513, 794, 514, 515, 516, 517, 0, 0, 518,
0, 0, 519, 520, 521, 522, 523, 524, 525, 1181,
1182, 1183, 1184, 1185, 1186, 1187, 1188, 534, 535, 536,
1189, 0, 0, 0, 0, 0, 0, 1190, 1191, 0,
0, 0, 0, 1193, 0, 0, 0, 1194, 771, 1123,
593, 1124, 1125, 1126, 646, 1127, 0, 0, 0, 0,
0, 0, 0, 220, 221, 222, 223, 224, 225, 226,
227, 0, 229, 230, 231, 0, 0, 0, 0, 1128,
0, 0, 232, 233, 0, 234, 235, 772, 236, 237,
238, 239, 1129, 773, 1130, 1131, 0, 243, 244, 245,
246, 247, 1132, 1133, 248, 249, 1134, 1135, 252, 0,
253, 254, 255, 256, 1136, 0, 1137, 0, 258, 259,
260, 261, 775, 262, 263, 264, 0, 265, 266, 267,
268, 269, 270, 0, 776, 271, 272, 273, 1138, 1139,
1140, 1141, 1142, 1143, 1144, 274, 275, 276, 277, 278,
279, 1145, 1146, 282, 0, 283, 0, 284, 285, 286,
287, 288, 0, 289, 290, 291, 0, 0, 292, 293,
986, 295, 296, 0, 297, 298, 299, 0, 300, 301,
302, 0, 303, 304, 305, 306, 1147, 308, 309, 310,
1148, 1149, 312, 0, 313, 314, 1150, 316, 0, 317,
0, 318, 778, 0, 779, 319, 320, 321, 0, 322,
1151, 0, 1152, 325, 0, 326, 327, 328, 329, 330,
780, 331, 332, 333, 334, 0, 335, 336, 337, 338,
339, 340, 0, 341, 781, 342, 343, 344, 345, 346,
1153, 1154, 0, 1155, 0, 350, 782, 783, 351, 784,
352, 353, 354, 355, 356, 0, 0, 357, 1156, 785,
359, 786, 0, 360, 361, 362, 1157, 1158, 363, 364,
365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
375, 376, 377, 1159, 787, 1160, 380, 381, 382, 1161,
383, 384, 788, 385, 1162, 1163, 387, 1164, 389, 390,
391, 0, 392, 0, 0, 1165, 394, 395, 0, 0,
396, 397, 789, 398, 790, 1166, 400, 401, 402, 403,
404, 405, 406, 0, 407, 408, 1167, 410, 411, 412,
413, 414, 0, 415, 416, 417, 418, 419, 420, 421,
422, 1168, 424, 425, 426, 427, 0, 428, 429, 430,
431, 432, 433, 434, 435, 436, 437, 438, 0, 439,
440, 791, 441, 442, 443, 1169, 445, 446, 447, 448,
449, 450, 451, 452, 0, 453, 454, 455, 456, 457,
1170, 458, 459, 460, 461, 462, 792, 463, 464, 1171,
466, 0, 467, 468, 469, 470, 471, 472, 473, 474,
475, 476, 477, 1172, 0, 479, 480, 0, 481, 793,
482, 483, 484, 485, 486, 0, 1173, 1174, 0, 0,
489, 490, 1175, 492, 1176, 1177, 494, 495, 496, 497,
498, 499, 500, 0, 1178, 501, 502, 503, 504, 505,
1179, 0, 506, 507, 508, 509, 510, 511, 1180, 3837,
513, 794, 514, 515, 516, 517, 0, 0, 518, 0,
0, 519, 520, 521, 522, 523, 524, 525, 1181, 1182,
1183, 1184, 1185, 1186, 1187, 1188, 534, 535, 536, 1189,
0, 0, 0, 0, 0, 0, 1190, 1191, 0, 0,
0, 0, 1193, 0, 0, 0, 1194, 771, 1123, 593,
1124, 1125, 1126, 646, 1127, 0, 0, 0, 0, 0,
0, 0, 220, 221, 222, 223, 224, 225, 226, 227,
0, 229, 230, 231, 0, 0, 0, 0, 1128, 0,
0, 232, 233, 0, 234, 235, 772, 236, 237, 238,
239, 1129, 773, 1130, 1131, 0, 243, 244, 245, 246,
247, 1132, 1133, 248, 249, 1134, 1135, 252, 0, 253,
254, 255, 256, 1136, 0, 1137, 0, 258, 259, 260,
261, 775, 262, 263, 264, 0, 265, 266, 267, 268,
269, 270, 0, 776, 271, 272, 273, 1138, 1139, 1140,
1141, 1142, 1143, 1144, 274, 275, 276, 277, 278, 279,
1145, 1146, 282, 0, 283, 0, 284, 285, 286, 287,
288, 0, 289, 290, 291, 0, 0, 292, 293, 986,
295, 296, 0, 297, 298, 299, 0, 300, 301, 302,
0, 303, 304, 305, 306, 1147, 308, 309, 310, 1148,
1149, 312, 0, 313, 314, 1150, 316, 0, 317, 0,
318, 778, 0, 779, 319, 320, 321, 0, 322, 1151,
0, 1152, 325, 0, 326, 327, 328, 329, 330, 780,
331, 332, 333, 334, 0, 335, 336, 337, 338, 339,
340, 0, 341, 781, 342, 343, 344, 345, 346, 1153,
1154, 0, 1155, 0, 350, 782, 783, 351, 784, 352,
353, 354, 355, 356, 0, 0, 357, 1156, 785, 359,
786, 0, 360, 361, 362, 1157, 1158, 363, 364, 365,
366, 367, 368, 369, 370, 371, 372, 373, 374, 375,
376, 377, 1159, 787, 1160, 380, 381, 382, 1161, 383,
384, 788, 385, 1162, 1163, 387, 1164, 389, 390, 391,
0, 392, 0, 0, 1165, 394, 395, 0, 0, 396,
397, 789, 398, 790, 1166, 400, 401, 402, 403, 404,
405, 406, 0, 407, 408, 1167, 410, 411, 412, 413,
414, 0, 415, 416, 417, 418, 419, 420, 421, 422,
1168, 424, 425, 426, 427, 0, 428, 429, 430, 431,
432, 433, 434, 435, 436, 437, 438, 0, 439, 440,
791, 441, 442, 443, 1169, 445, 446, 447, 448, 449,
450, 451, 452, 0, 453, 454, 455, 456, 457, 1170,
458, 459, 460, 461, 462, 792, 463, 464, 1171, 466,
0, 467, 468, 469, 470, 471, 472, 473, 474, 475,
476, 477, 1172, 0, 479, 480, 0, 481, 793, 482,
483, 484, 485, 486, 0, 1173, 1174, 0, 0, 489,
490, 1175, 492, 1176, 1177, 494, 495, 496, 497, 498,
499, 500, 0, 1178, 501, 502, 503, 504, 505, 1179,
0, 506, 507, 508, 509, 510, 511, 1180, 0, 513,
794, 514, 515, 516, 517, 0, 0, 518, 0, 0,
519, 520, 521, 522, 523, 524, 525, 1181, 1182, 1183,
1184, 1185, 1186, 1187, 1188, 534, 535, 536, 1189, 0,
0, 0, 0, 0, 0, 1190, 1191, 0, 0, 0,
0, 1193, 0, 0, 0, 1194, 771, 1123, 593, 1124,
1125, 1126, 646, 1127, 0, 0, 0, 0, 0, 0,
0, 220, 221, 222, 223, 224, 225, 226, 227, 0,
229, 230, 231, 0, 0, 0, 0, 1128, 0, 0,
232, 233, 0, 234, 235, 772, 236, 237, 238, 239,
1129, 773, 1130, 1131, 0, 243, 244, 245, 246, 247,
1132, 1133, 248, 249, 1134, 1135, 252, 0, 253, 254,
255, 256, 1136, 0, 1137, 0, 258, 259, 260, 261,
775, 262, 263, 264, 0, 265, 266, 267, 268, 269,
270, 0, 776, 271, 272, 3850, 1138, 1139, 1140, 1141,
1142, 1143, 1144, 274, 275, 276, 277, 278, 279, 1145,
1146, 282, 0, 283, 0, 284, 285, 286, 287, 288,
0, 289, 290, 291, 0, 0, 292, 293, 986, 295,
296, 0, 297, 298, 299, 0, 300, 301, 302, 0,
303, 304, 305, 306, 1147, 308, 309, 310, 1148, 1149,
312, 0, 313, 314, 1150, 316, 0, 317, 0, 318,
778, 0, 779, 319, 320, 321, 0, 322, 1151, 0,
1152, 325, 0, 326, 327, 328, 329, 330, 780, 331,
332, 333, 334, 0, 335, 336, 337, 338, 339, 340,
0, 341, 781, 342, 343, 344, 345, 346, 1153, 1154,
0, 1155, 0, 350, 782, 783, 351, 784, 352, 353,
354, 355, 356, 0, 0, 357, 1156, 785, 359, 786,
0, 360, 361, 362, 1157, 1158, 363, 364, 365, 366,
367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
377, 1159, 787, 1160, 380, 381, 382, 1161, 383, 384,
788, 385, 1162, 1163, 387, 1164, 389, 390, 391, 0,
392, 0, 0, 1165, 394, 395, 0, 0, 396, 397,
789, 398, 790, 1166, 400, 401, 402, 403, 404, 405,
406, 0, 407, 408, 1167, 410, 411, 412, 413, 414,
0, 415, 416, 417, 418, 419, 420, 421, 422, 1168,
424, 425, 426, 427, 0, 428, 429, 430, 431, 432,
433, 434, 435, 436, 437, 438, 0, 439, 440, 791,
441, 442, 443, 1169, 445, 446, 447, 448, 449, 450,
451, 452, 0, 453, 454, 455, 456, 457, 1170, 458,
459, 460, 461, 462, 792, 463, 464, 1171, 466, 0,
467, 468, 469, 470, 471, 472, 473, 474, 475, 476,
477, 1172, 0, 479, 480, 0, 481, 793, 482, 483,
484, 485, 486, 0, 1173, 1174, 0, 0, 489, 490,
1175, 492, 1176, 1177, 494, 495, 496, 497, 498, 499,
500, 0, 1178, 501, 502, 503, 504, 505, 1179, 0,
506, 507, 508, 509, 510, 511, 1180, 0, 513, 794,
514, 515, 516, 517, 0, 0, 518, 0, 0, 519,
520, 521, 522, 523, 524, 525, 1181, 1182, 1183, 1184,
1185, 1186, 1187, 1188, 534, 535, 536, 1189, 0, 0,
0, 0, 0, 0, 1190, 1191, 0, 0, 0, 0,
1193, 0, 0, 0, 1194, 771, 1123, 593, 1124, 1125,
1126, 646, 1127, 0, 0, 0, 0, 0, 0, 0,
220, 221, 222, 223, 224, 225, 226, 227, 0, 229,
230, 231, 0, 0, 0, 0, 1128, 0, 0, 232,
233, 0, 234, 235, 772, 236, 237, 238, 239, 1129,
773, 1130, 1131, 0, 243, 244, 245, 246, 247, 1132,
1133, 248, 249, 1134, 1135, 252, 0, 253, 254, 255,
256, 1136, 0, 1137, 0, 258, 259, 260, 261, 775,
262, 263, 264, 0, 265, 266, 267, 268, 269, 270,
0, 776, 271, 272, 273, 1138, 1139, 1140, 1141, 1142,
1143, 1144, 274, 275, 276, 277, 278, 279, 1145, 1146,
282, 0, 283, 0, 284, 285, 286, 287, 288, 0,
289, 290, 291, 0, 0, 292, 293, 986, 295, 296,
0, 297, 298, 299, 0, 300, 301, 302, 0, 303,
304, 305, 306, 1147, 308, 309, 310, 1148, 1149, 312,
0, 313, 314, 1150, 316, 0, 317, 0, 318, 778,
0, 779, 319, 320, 321, 0, 322, 1151, 0, 1152,
325, 0, 326, 327, 328, 329, 330, 780, 331, 332,
333, 334, 0, 335, 336, 337, 338, 339, 340, 0,
341, 781, 342, 343, 344, 345, 346, 1153, 1154, 0,
1155, 0, 350, 782, 783, 351, 784, 352, 353, 354,
355, 356, 0, 0, 357, 1156, 785, 359, 786, 0,
360, 361, 362, 1157, 1158, 363, 364, 365, 366, 367,
368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
1159, 787, 1160, 380, 381, 382, 1161, 383, 384, 788,
385, 1162, 1163, 387, 1164, 389, 390, 391, 0, 392,
0, 0, 1165, 394, 395, 0, 0, 396, 397, 789,
398, 790, 1166, 400, 401, 402, 403, 404, 405, 406,
0, 407, 408, 1167, 410, 411, 412, 413, 414, 0,
415, 416, 417, 418, 419, 420, 421, 422, 1168, 424,
425, 426, 427, 0, 428, 429, 430, 431, 432, 433,
434, 435, 436, 437, 438, 0, 439, 440, 791, 441,
442, 443, 1169, 445, 446, 447, 448, 449, 450, 451,
452, 0, 453, 454, 455, 456, 457, 1170, 458, 459,
460, 461, 462, 792, 463, 464, 1171, 466, 0, 467,
468, 469, 470, 471, 472, 473, 474, 475, 476, 477,
1172, 0, 479, 480, 0, 481, 793, 482, 483, 484,
485, 486, 0, 1173, 1174, 0, 0, 489, 490, 1175,
492, 1176, 1177, 494, 495, 496, 497, 498, 499, 500,
0, 1178, 501, 502, 503, 504, 505, 1179, 0, 506,
507, 508, 509, 510, 511, 1180, 0, 513, 794, 514,
515, 516, 517, 0, 0, 518, 0, 0, 519, 520,
521, 522, 523, 524, 4147, 1181, 1182, 1183, 1184, 1185,
1186, 1187, 1188, 534, 535, 536, 1189, 0, 0, 0,
0, 0, 0, 1190, 1191, 0, 0, 0, 0, 1193,
0, 0, 0, 1194, 771, 1123, 593, 1124, 1125, 1126,
646, 1127, 0, 0, 0, 0, 0, 0, 0, 220,
221, 222, 223, 224, 225, 226, 227, 0, 229, 230,
231, 0, 0, 0, 0, 1128, 0, 0, 232, 233,
0, 234, 235, 772, 236, 237, 238, 239, 1129, 773,
1130, 1131, 0, 243, 244, 245, 246, 247, 1132, 1133,
248, 249, 1134, 1135, 252, 0, 253, 254, 255, 256,
1136, 0, 1137, 0, 258, 259, 260, 261, 775, 262,
263, 264, 0, 265, 266, 267, 268, 269, 270, 0,
776, 271, 272, 273, 1138, 1139, 1140, 1141, 1142, 1143,
1144, 274, 275, 276, 277, 278, 279, 1145, 1146, 282,
0, 283, 0, 284, 285, 286, 287, 288, 0, 289,
290, 291, 0, 0, 292, 293, 986, 295, 296, 0,
297, 298, 299, 0, 300, 301, 302, 0, 303, 304,
305, 306, 1147, 308, 309, 310, 1148, 1149, 312, 0,
313, 314, 1150, 316, 0, 317, 0, 318, 778, 0,
779, 319, 320, 321, 0, 322, 1151, 0, 1152, 325,
0, 326, 327, 328, 329, 330, 780, 331, 332, 333,
334, 0, 335, 336, 337, 338, 339, 340, 0, 341,
781, 342, 343, 344, 345, 346, 1153, 1154, 0, 1155,
0, 350, 782, 783, 351, 784, 352, 353, 354, 355,
356, 0, 0, 357, 1156, 785, 359, 786, 0, 360,
361, 362, 1157, 1158, 363, 364, 365, 366, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, 1159,
787, 1160, 380, 4156, 382, 1161, 383, 384, 788, 385,
1162, 1163, 387, 1164, 389, 390, 391, 0, 392, 0,
0, 1165, 394, 395, 0, 0, 396, 397, 789, 398,
790, 1166, 400, 401, 402, 403, 404, 405, 406, 0,
407, 408, 1167, 410, 411, 412, 413, 414, 0, 415,
416, 417, 418, 419, 420, 421, 422, 1168, 424, 425,
426, 427, 0, 428, 429, 430, 431, 432, 433, 434,
435, 436, 437, 438, 0, 439, 440, 791, 441, 442,
443, 1169, 445, 446, 447, 448, 449, 450, 451, 452,
0, 453, 454, 455, 456, 457, 1170, 458, 459, 460,
461, 462, 792, 463, 464, 1171, 466, 0, 467, 468,
469, 470, 471, 472, 473, 474, 475, 476, 477, 1172,
0, 479, 480, 0, 481, 793, 482, 483, 484, 485,
486, 0, 1173, 1174, 0, 0, 489, 490, 1175, 492,
1176, 1177, 494, 495, 496, 497, 498, 499, 500, 0,
1178, 501, 502, 503, 504, 505, 1179, 0, 506, 507,
508, 509, 510, 511, 1180, 0, 513, 794, 514, 515,
516, 517, 0, 0, 518, 0, 0, 519, 520, 521,
522, 523, 524, 525, 1181, 1182, 1183, 1184, 1185, 1186,
1187, 1188, 534, 535, 536, 1189, 0, 0, 0, 0,
0, 0, 1190, 1191, 0, 0, 0, 0, 1193, 0,
0, 0, 1194, 771, 1123, 593, 1124, 1125, 1126, 646,
1127, 0, 0, 0, 0, 0, 0, 0, 220, 221,
222, 223, 224, 225, 226, 227, 0, 229, 230, 231,
0, 0, 0, 0, 1128, 0, 0, 232, 233, 0,
234, 235, 772, 236, 237, 238, 239, 1129, 773, 1130,
1131, 0, 243, 244, 245, 246, 247, 1132, 1133, 248,
249, 1134, 1135, 252, 0, 253, 254, 255, 256, 1136,
0, 1137, 0, 258, 259, 260, 261, 775, 262, 263,
264, 0, 265, 266, 267, 268, 269, 270, 0, 776,
271, 4453, 273, 1138, 1139, 1140, 1141, 1142, 1143, 1144,
274, 275, 276, 277, 278, 279, 1145, 1146, 282, 0,
283, 0, 284, 285, 286, 287, 288, 0, 289, 290,
291, 0, 0, 292, 293, 986, 295, 296, 0, 297,
298, 299, 0, 300, 301, 302, 0, 303, 304, 305,
306, 1147, 308, 309, 310, 1148, 1149, 312, 0, 313,
314, 1150, 316, 0, 317, 0, 318, 778, 0, 779,
319, 320, 321, 0, 322, 1151, 0, 4454, 325, 0,
326, 327, 328, 329, 330, 780, 331, 332, 333, 334,
0, 335, 336, 337, 338, 339, 340, 0, 341, 781,
342, 343, 344, 345, 346, 1153, 1154, 0, 1155, 0,
350, 782, 783, 351, 784, 352, 353, 354, 355, 356,
0, 0, 357, 1156, 785, 359, 786, 0, 360, 361,
362, 1157, 1158, 363, 364, 365, 366, 367, 368, 369,
370, 371, 372, 373, 374, 375, 376, 377, 1159, 787,
1160, 380, 381, 382, 1161, 383, 384, 788, 385, 1162,
1163, 387, 1164, 389, 390, 391, 0, 392, 0, 0,
1165, 394, 395, 0, 0, 396, 397, 789, 398, 790,
1166, 400, 401, 402, 403, 404, 405, 406, 0, 407,
408, 1167, 410, 411, 412, 413, 414, 0, 415, 416,
417, 418, 419, 420, 421, 422, 1168, 424, 425, 426,
427, 0, 428, 429, 430, 431, 432, 433, 434, 435,
436, 437, 438, 0, 439, 440, 791, 441, 442, 4455,
1169, 445, 446, 447, 448, 449, 450, 451, 452, 0,
453, 454, 455, 456, 457, 1170, 458, 459, 460, 461,
462, 792, 463, 464, 1171, 466, 0, 467, 468, 469,
470, 471, 472, 473, 474, 475, 476, 477, 1172, 0,
479, 480, 0, 481, 793, 482, 483, 484, 485, 486,
0, 1173, 1174, 0, 0, 489, 490, 1175, 492, 1176,
1177, 494, 495, 496, 497, 498, 499, 500, 0, 1178,
501, 502, 503, 504, 505, 1179, 0, 506, 507, 508,
509, 510, 511, 1180, 0, 513, 794, 514, 515, 516,
517, 0, 0, 518, 0, 0, 519, 520, 521, 522,
523, 524, 525, 1181, 1182, 1183, 1184, 1185, 1186, 1187,
1188, 534, 535, 536, 1189, 0, 0, 0, 0, 0,
0, 1190, 1191, 0, 0, 0, 0, 1193, 0, 0,
0, 4456, 771, 1123, 593, 1124, 1125, 1126, 646, 1127,
0, 0, 0, 0, 0, 0, 0, 220, 221, 222,
223, 224, 225, 226, 227, 0, 229, 230, 231, 0,
0, 0, 0, 1128, 0, 0, 232, 233, 0, 234,
235, 772, 236, 237, 238, 4818, 1129, 773, 1130, 1131,
0, 243, 244, 245, 246, 247, 1132, 1133, 248, 249,
1134, 1135, 252, 0, 253, 254, 255, 256, 1136, 0,
1137, 0, 258, 259, 260, 261, 775, 262, 263, 264,
0, 265, 266, 267, 268, 269, 270, 0, 776, 271,
272, 4819, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 274,
275, 276, 277, 278, 279, 1145, 1146, 282, 0, 283,
0, 284, 285, 286, 287, 288, 0, 289, 290, 291,
0, 0, 292, 293, 986, 295, 296, 0, 297, 298,
299, 0, 300, 301, 302, 0, 303, 304, 305, 306,
1147, 308, 309, 310, 1148, 1149, 312, 0, 313, 314,
1150, 316, 0, 317, 0, 318, 778, 0, 779, 319,
320, 321, 0, 322, 1151, 0, 1152, 325, 0, 326,
327, 328, 329, 330, 780, 331, 332, 333, 334, 0,
335, 336, 337, 338, 339, 340, 0, 341, 781, 342,
343, 344, 345, 346, 1153, 1154, 0, 1155, 0, 350,
782, 783, 351, 784, 352, 353, 354, 355, 356, 0,
0, 357, 1156, 785, 359, 786, 0, 360, 361, 362,
1157, 1158, 363, 364, 365, 366, 367, 368, 369, 370,
371, 372, 373, 374, 375, 376, 377, 1159, 787, 1160,
380, 381, 382, 1161, 383, 384, 788, 385, 1162, 1163,
387, 1164, 389, 390, 391, 0, 392, 0, 0, 1165,
394, 395, 0, 0, 396, 397, 789, 398, 790, 1166,
400, 401, 402, 403, 404, 405, 406, 0, 407, 408,
1167, 410, 411, 412, 413, 414, 0, 415, 416, 417,
418, 419, 420, 421, 422, 1168, 424, 425, 426, 427,
0, 428, 429, 430, 431, 432, 433, 434, 435, 436,
437, 438, 0, 439, 440, 791, 441, 442, 443, 1169,
445, 446, 447, 448, 449, 450, 451, 452, 0, 453,
454, 455, 456, 457, 1170, 458, 459, 460, 461, 462,
792, 463, 464, 1171, 466, 0, 467, 468, 469, 470,
471, 472, 473, 474, 475, 476, 477, 1172, 0, 479,
480, 0, 481, 793, 482, 483, 484, 485, 486, 0,
1173, 1174, 0, 0, 489, 490, 1175, 492, 1176, 1177,
494, 495, 496, 497, 4820, 499, 500, 0, 1178, 501,
502, 503, 504, 505, 1179, 0, 506, 507, 508, 509,
510, 511, 1180, 0, 513, 794, 514, 515, 516, 517,
0, 0, 518, 0, 0, 519, 520, 521, 522, 523,
524, 525, 1181, 1182, 1183, 1184, 1185, 1186, 1187, 1188,
534, 535, 536, 1189, 0, 0, 0, 0, 0, 0,
1190, 1191, 0, 0, 0, 0, 1193, 0, 0, 0,
1194, 771, 1123, 593, 1124, 1125, 1126, 646, 1127, 0,
0, 0, 0, 0, 0, 0, 220, 221, 222, 223,
224, 225, 226, 227, 0, 229, 230, 231, 0, 0,
0, 0, 1128, 0, 0, 232, 233, 0, 234, 235,
772, 236, 237, 238, 239, 1129, 773, 1130, 1131, 0,
243, 244, 245, 246, 247, 1132, 1133, 248, 249, 1134,
1135, 252, 0, 253, 254, 255, 256, 1136, 0, 1137,
0, 258, 259, 260, 261, 775, 262, 263, 264, 0,
265, 266, 267, 268, 269, 270, 0, 776, 271, 272,
4819, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 274, 275,
276, 277, 278, 279, 1145, 1146, 282, 0, 283, 0,
284, 285, 286, 287, 288, 0, 289, 290, 291, 0,
0, 292, 293, 986, 295, 296, 0, 297, 298, 299,
0, 300, 301, 302, 0, 303, 304, 305, 306, 1147,
308, 309, 310, 1148, 1149, 312, 0, 313, 314, 1150,
316, 0, 317, 0, 318, 778, 0, 779, 319, 320,
321, 0, 322, 1151, 0, 1152, 325, 0, 326, 327,
328, 329, 330, 780, 331, 332, 333, 334, 0, 335,
336, 337, 338, 339, 340, 0, 341, 781, 342, 343,
344, 345, 346, 1153, 1154, 0, 1155, 0, 350, 782,
783, 351, 784, 352, 353, 354, 355, 356, 0, 0,
357, 1156, 785, 359, 786, 0, 360, 361, 362, 1157,
1158, 363, 364, 365, 366, 367, 368, 369, 370, 371,
372, 373, 374, 375, 376, 377, 1159, 787, 1160, 380,
381, 382, 1161, 383, 384, 788, 385, 1162, 1163, 387,
1164, 389, 390, 391, 0, 392, 0, 0, 1165, 394,
395, 0, 0, 396, 397, 789, 398, 790, 1166, 400,
401, 402, 403, 404, 405, 406, 0, 407, 408, 1167,
410, 411, 412, 413, 414, 0, 415, 416, 417, 418,
419, 420, 421, 422, 1168, 424, 425, 426, 427, 0,
428, 429, 430, 431, 432, 433, 434, 435, 436, 437,
438, 0, 439, 440, 791, 441, 442, 443, 1169, 445,
446, 447, 448, 449, 450, 451, 452, 0, 453, 454,
455, 456, 457, 1170, 458, 459, 460, 461, 462, 792,
463, 464, 1171, 466, 0, 467, 468, 469, 470, 471,
472, 473, 474, 475, 476, 477, 1172, 0, 479, 480,
0, 481, 793, 482, 483, 484, 485, 486, 0, 1173,
1174, 0, 0, 489, 490, 1175, 492, 1176, 1177, 494,
495, 496, 497, 4820, 499, 500, 0, 1178, 501, 502,
503, 504, 505, 1179, 0, 506, 507, 508, 509, 510,
511, 1180, 0, 513, 794, 514, 515, 516, 517, 0,
0, 518, 0, 0, 519, 520, 521, 522, 523, 524,
525, 1181, 1182, 1183, 1184, 1185, 1186, 1187, 1188, 534,
535, 536, 1189, 0, 0, 0, 0, 0, 0, 1190,
1191, 0, 0, 0, 0, 1193, 0, 0, 0, 1194,
771, 1123, 593, 1124, 1125, 1126, 646, 1127, 0, 0,
0, 0, 0, 0, 0, 220, 221, 222, 223, 224,
225, 226, 227, 0, 229, 230, 231, 0, 0, 0,
0, 1128, 0, 0, 232, 233, 0, 234, 235, 772,
236, 237, 238, 239, 1129, 773, 1130, 1131, 0, 243,
244, 245, 246, 247, 1132, 1133, 248, 249, 1134, 1135,
252, 0, 253, 254, 255, 256, 1136, 0, 1137, 0,
258, 259, 260, 261, 775, 262, 263, 264, 0, 265,
266, 267, 268, 269, 270, 0, 776, 271, 272, 273,
1138, 1139, 1140, 1141, 1142, 1143, 1144, 274, 275, 276,
277, 278, 279, 1145, 1146, 282, 0, 283, 0, 284,
285, 286, 287, 288, 0, 289, 290, 291, 0, 0,
292, 293, 986, 295, 296, 0, 297, 298, 299, 0,
300, 301, 302, 0, 303, 304, 305, 306, 1147, 308,
309, 310, 1148, 1149, 312, 0, 313, 314, 1150, 316,
0, 317, 0, 318, 778, 0, 779, 319, 320, 321,
0, 322, 1151, 0, 1152, 325, 0, 326, 327, 328,
329, 330, 780, 331, 332, 333, 334, 0, 335, 336,
337, 338, 339, 340, 0, 341, 781, 342, 343, 344,
345, 346, 1153, 1154, 0, 1155, 0, 350, 782, 783,
351, 784, 352, 353, 354, 355, 356, 0, 0, 357,
1156, 785, 359, 786, 0, 360, 361, 362, 1157, 1158,
363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
373, 374, 375, 376, 377, 1159, 787, 1160, 380, 381,
382, 0, 383, 384, 788, 385, 1162, 1163, 387, 1164,
389, 390, 391, 0, 392, 0, 0, 1165, 394, 395,
0, 0, 396, 397, 789, 398, 790, 1166, 400, 401,
402, 403, 404, 405, 406, 0, 407, 408, 1167, 410,
411, 412, 413, 414, 0, 415, 416, 417, 418, 419,
420, 421, 422, 1168, 424, 425, 426, 427, 0, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
0, 439, 440, 791, 441, 442, 443, 2529, 445, 446,
447, 448, 449, 450, 451, 452, 0, 453, 454, 455,
456, 457, 1170, 458, 459, 460, 461, 462, 792, 463,
464, 1171, 466, 0, 467, 468, 469, 470, 471, 472,
473, 474, 475, 476, 477, 1172, 0, 479, 480, 0,
481, 793, 482, 483, 484, 485, 486, 0, 1173, 1174,
0, 0, 489, 490, 1175, 492, 1176, 1177, 494, 495,
496, 497, 498, 499, 500, 0, 0, 501, 502, 503,
504, 505, 1179, 0, 506, 507, 508, 509, 510, 511,
1180, 0, 513, 794, 514, 515, 516, 517, 0, 0,
518, 0, 0, 519, 520, 521, 522, 523, 524, 525,
1181, 1182, 1183, 1184, 1185, 1186, 1187, 1188, 534, 535,
536, 0, 0, 0, 0, 0, 0, 0, 2530, 2531,
0, 0, 0, 0, 1193, 0, 0, 0, 2532, 771,
1123, 593, 1124, 1125, 1126, 646, 1127, 0, 0, 0,
0, 0, 0, 0, 220, 221, 222, 223, 224, 225,
226, 227, 0, 229, 230, 231, 0, 0, 0, 0,
1128, 0, 0, 232, 233, 0, 234, 235, 772, 236,
237, 238, -2409, 1129, 773, 1130, 1131, 0, 243, 244,
245, 246, 247, 1132, 1133, 248, 249, 1134, 1135, 252,
0, 253, 254, 255, 256, 1136, 0, 1137, 0, 258,
259, 260, 261, 775, 262, 263, 264, 0, 265, 266,
267, 268, 269, 270, 0, 776, 271, 272, 4819, 1138,
1139, 1140, 1141, 1142, 1143, 1144, 274, 275, 276, 277,
278, 279, 1145, 1146, 282, 0, 283, 0, 284, 285,
286, 287, 288, 0, 289, 290, 291, 0, 0, 292,
293, 986, 295, 296, 0, 297, 298, 299, 0, 300,
301, 302, 0, 303, 304, 305, 306, 1147, 308, 309,
310, 1148, 1149, 312, 0, 313, 314, 1150, 316, 0,
317, 0, 318, 778, 0, 779, 319, 320, 321, 0,
322, 1151, 0, 1152, 325, 0, 326, 327, 328, 329,
330, -2409, 331, 332, 333, 334, 0, 335, 336, 337,
338, 339, 340, 0, 341, 781, 342, 343, 344, 345,
346, 1153, 1154, 0, 1155, 0, 350, 0, 0, 351,
784, 352, 353, 354, 355, 356, 0, 0, 357, 1156,
785, 359, -2409, 0, 360, 361, 362, 1157, 1158, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, 1159, 787, 1160, 380, 381, 382,
1161, 383, 384, 0, 385, 1162, 1163, 387, 1164, 389,
390, 391, 0, 392, 0, 0, 1165, 394, 395, 0,
0, 396, 397, 789, 398, 790, 1166, 400, 401, 402,
403, 404, 405, 406, 0, 407, 408, 1167, 410, 411,
412, 413, 414, 0, 415, 416, 417, 418, 419, 420,
421, 422, 1168, 424, 425, 426, 427, 0, 428, 429,
430, 431, 432, 433, 434, 435, 436, 437, 438, 0,
439, 440, 791, 441, 442, 443, 1169, 445, 446, 447,
448, 449, 450, 451, 452, 0, 453, 454, 455, 456,
457, 1170, 458, 459, 460, 461, 462, -2409, 463, 464,
1171, 466, 0, 467, 468, 469, 470, 471, 472, 473,
474, 475, 476, 477, 1172, 0, 479, 480, 0, 481,
793, 482, 483, 484, 485, 486, 0, 1173, 1174, 0,
0, 489, 490, 1175, 492, 1176, 1177, 494, 495, 496,
497, 4820, 499, 500, 0, 1178, 501, 502, 503, 504,
505, 1179, 0, 506, 507, 508, 509, 510, 511, 1180,
0, 513, 794, 514, 515, 516, 517, 0, 0, 518,
0, 0, 519, 520, 521, 522, 523, 524, 525, 1181,
1182, 1183, 1184, 1185, 1186, 1187, 1188, 534, 535, 536,
-2409, 0, 0, 0, 0, 0, 0, 1190, 1191, 0,
0, 0, 0, 1193, 0, 0, 0, 1194, 771, 1123,
593, 1124, 1125, 1126, 646, 1127, 0, 0, 0, 0,
0, 0, 0, 220, 221, 222, 223, 224, 225, 226,
227, 0, 229, 230, 231, 0, 0, 0, 0, 1128,
0, 0, 232, 233, 0, 234, 235, 772, 236, 237,
238, 239, 1129, 773, 1130, 1131, 0, 243, 244, 245,
246, 247, 1132, 1133, 248, 249, 1134, 1135, 252, 0,
253, 254, 255, 256, 1136, 0, 1137, 0, 258, 259,
260, 261, 775, 262, 263, 264, 0, 265, 266, 267,
268, 269, 270, 0, 776, 271, 272, 273, 1138, 1139,
1140, 1141, 1142, 1143, 1144, 274, 275, 276, 277, 278,
279, 1145, 1146, 282, 0, 283, 0, 284, 285, 286,
287, 288, 0, 289, 290, 291, 0, 0, 292, 293,
986, 295, 296, 0, 297, 298, 299, 0, 300, 301,
302, 0, 303, 304, 305, 306, 1147, 308, 309, 310,
1148, 1149, 312, 0, 313, 314, 1150, 316, 0, 317,
0, 318, 778, 0, 779, 319, 320, 321, 0, 322,
1151, 0, 1152, 325, 0, 326, 327, 328, 329, 330,
780, 331, 332, 333, 334, 0, 335, 336, 337, 338,
339, 340, 0, 341, 781, 342, 343, 344, 345, 346,
1153, 1154, 0, 1155, 0, 350, 0, 783, 351, 784,
352, 353, 354, 355, 356, 0, 0, 357, 1156, 785,
359, 786, 0, 360, 361, 362, 1157, 1158, 363, 364,
365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
375, 376, 377, 1159, 787, 1160, 380, 381, 382, 0,
383, 384, 788, 385, 1162, 1163, 387, 1164, 389, 390,
391, 0, 392, 0, 0, 1165, 394, 395, 0, 0,
396, 397, 789, 398, 790, 1166, 400, 401, 402, 403,
404, 405, 406, 0, 407, 408, 1167, 410, 411, 412,
413, 414, 0, 415, 416, 417, 418, 419, 420, 421,
422, 1168, 424, 425, 426, 427, 0, 428, 429, 430,
431, 432, 433, 434, 435, 436, 437, 438, 0, 439,
440, 791, 441, 442, 443, 2529, 445, 446, 447, 448,
449, 450, 451, 452, 0, 453, 454, 455, 456, 457,
1170, 458, 459, 460, 461, 462, 792, 463, 464, 1171,
466, 0, 467, 468, 469, 470, 471, 472, 473, 474,
475, 476, 477, 1172, 0, 479, 480, 0, 481, 793,
482, 483, 484, 485, 486, 0, 1173, 1174, 0, 0,
489, 490, 1175, 492, 1176, 1177, 494, 495, 496, 497,
498, 499, 500, 0, 0, 501, 502, 503, 504, 505,
1179, 0, 506, 507, 508, 509, 510, 511, 1180, 0,
513, 794, 514, 515, 516, 517, 0, 0, 518, 0,
0, 519, 520, 521, 522, 523, 524, 525, 1181, 1182,
1183, 1184, 1185, 1186, 1187, 1188, 534, 535, 536, 0,
0, 0, 0, 0, 0, 0, 2530, 2531, 0, 0,
0, 0, 1193, 0, 0, 0, 2532, 771, 1123, 593,
1124, 1125, 0, 646, 1127, 0, 0, 0, 0, 0,
0, 0, 220, 221, 222, 223, 224, 225, 226, 227,
0, 229, 230, 231, 0, 0, 0, 0, 1128, 0,
0, 232, 233, 0, 234, 235, 772, 236, 237, 238,
239, 1129, 773, 1130, 1131, 0, 243, 244, 245, 246,
247, 1132, 1133, 248, 249, 1134, 1135, 252, 0, 253,
254, 255, 256, 1136, 0, 1137, 0, 258, 259, 260,
261, 775, 262, 263, 264, 0, 265, 266, 267, 268,
269, 270, 0, 776, 271, 272, 273, 1138, 1139, 1140,
1141, 1142, 1143, 1144, 274, 275, 276, 277, 278, 279,
1145, 1146, 282, 0, 283, 0, 284, 285, 286, 287,
288, 0, 289, 290, 291, 0, 0, 292, 293, 986,
295, 296, 0, 297, 298, 299, 0, 300, 301, 302,
0, 303, 304, 305, 306, 1147, 308, 309, 310, 1148,
1149, 312, 0, 313, 314, 1150, 316, 0, 317, 0,
318, 778, 0, 779, 319, 320, 321, 0, 322, 1151,
0, 1152, 325, 0, 326, 327, 328, 329, 330, 780,
331, 332, 333, 334, 0, 335, 336, 337, 338, 339,
340, 0, 341, 781, 342, 343, 344, 345, 346, 1153,
1154, 0, 1155, 0, 350, 782, 783, 351, 784, 352,
353, 354, 355, 356, 0, 0, 357, 1156, 785, 359,
786, 0, 360, 361, 362, 1157, 1158, 363, 364, 365,
366, 367, 368, 369, 370, 371, 372, 373, 374, 375,
376, 377, 1159, 787, 1160, 380, 381, 382, 0, 383,
384, 788, 385, 1162, 1163, 387, 1164, 389, 390, 391,
0, 392, 0, 0, 393, 394, 395, 0, 0, 396,
397, 789, 398, 790, 1166, 400, 401, 402, 403, 404,
405, 406, 0, 407, 408, 1167, 410, 411, 412, 413,
414, 0, 415, 416, 417, 418, 419, 420, 421, 422,
1168, 424, 425, 426, 427, 0, 428, 429, 430, 431,
432, 433, 434, 435, 436, 437, 438, 0, 439, 440,
791, 441, 442, 443, 2529, 445, 446, 447, 448, 449,
450, 451, 452, 0, 453, 454, 455, 456, 457, 1170,
458, 459, 460, 461, 462, 792, 463, 464, 1171, 466,
0, 467, 468, 469, 470, 471, 472, 473, 474, 475,
476, 477, 1172, 0, 479, 480, 0, 481, 793, 482,
483, 484, 485, 486, 0, 1173, 1174, 0, 0, 489,
490, 1175, 492, 1176, 1177, 494, 495, 496, 497, 498,
499, 500, 0, 0, 501, 502, 503, 504, 505, 1179,
0, 506, 507, 508, 509, 510, 511, 1180, 0, 513,
794, 514, 515, 516, 517, 0, 0, 518, 0, 0,
519, 520, 521, 522, 523, 524, 525, 1181, 1182, 1183,
1184, 1185, 1186, 1187, 1188, 534, 535, 536, 0, 0,
0, 771, 1123, 593, 1124, 1125, 1126, 646, 1127, 0,
0, 1193, 0, 0, 0, 2532, 220, 221, 222, 223,
224, 225, 226, 227, -1938, 229, 230, 231, 0, 0,
0, -1938, 1128, 0, 0, 232, 233, 0, 234, 235,
772, 236, 237, 238, 0, 1129, 773, 1130, 1131, 0,
243, 244, 245, 246, 247, 1132, 1133, 248, 249, 1134,
1135, 252, 0, 253, 254, 255, 256, 1136, 0, 1137,
0, 258, 259, 260, 261, 775, 262, 263, 264, 0,
265, 266, 267, 268, 269, 270, 0, 776, 271, 272,
273, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 274, 275,
276, 277, 278, 279, 1145, 1146, 282, 0, 283, 0,
284, 285, 286, 287, 288, 0, 289, 290, 291, 0,
0, 292, 293, 986, 295, 296, 0, 297, 298, 299,
0, 300, 0, 302, 0, 303, 304, 305, 306, 1147,
308, 309, 310, 1148, 1149, 312, 0, 313, 314, 1150,
316, 0, 317, 0, 318, 778, 0, 779, 319, 320,
321, 0, 322, 1151, 0, 1152, 325, 0, 326, 327,
328, 329, 330, 0, 331, 332, 333, 334, 0, 335,
336, 337, 338, 339, 340, 0, 341, 781, 342, 343,
344, 345, 346, 1153, 1154, 0, 1155, 0, 350, 0,
0, 351, 784, 352, 353, 354, 355, 356, 0, 0,
357, 1156, 785, 359, 0, 0, 360, 361, 362, 1157,
1158, 363, 364, 365, 366, 367, 368, 369, 370, 371,
372, 373, 374, 375, 376, 377, 1159, 787, 1160, 380,
381, 382, 1161, 383, 384, 0, 385, 1162, 1163, 387,
1164, 389, 390, 391, 0, 392, 0, 0, 1165, 394,
395, 0, 0, 396, 397, 789, 398, 790, 1166, 400,
401, 402, 403, 404, 405, 406, 0, 407, 408, 1167,
410, 411, 412, 413, 414, 0, 415, 416, 417, 418,
419, 420, 421, 422, 1168, 424, 425, 426, 427, 0,
428, 429, 430, 431, 432, 433, 434, 435, 436, 437,
438, 0, 439, 440, 791, 441, 442, 443, 1169, 445,
446, 447, 448, 449, 450, 451, 452, 0, 453, 454,
455, 456, 457, 1170, 458, 459, 460, 461, 462, 0,
463, 464, 1171, 466, -1938, 467, 468, 469, 470, 471,
472, 473, 474, 475, 476, 477, 1172, 0, 479, 480,
0, 481, 793, 482, 483, 484, 485, 486, 0, 1173,
1174, 0, 0, 489, 490, 1175, 492, 1176, 1177, 494,
495, 496, 497, 498, 499, 500, 0, 1178, 501, 502,
503, 504, 505, 1179, 0, 506, 507, 508, 509, 510,
511, 1180, 0, 513, 794, 514, 515, 516, 517, 0,
0, 518, 0, 0, 519, 520, 521, 522, 523, 524,
525, 1181, 1182, 1183, 1184, 1185, 1186, 1187, 1188, 534,
535, 536, 0, 0, 0, 0, 0, 0, 0, 1190,
1191, 0, 0, 0, 0, 1193, 0, 0, 0, 1194,
771, 1123, 593, 1124, 1125, 0, 646, 1127, 0, 0,
0, 0, 0, 0, 0, 220, 221, 222, 223, 224,
225, 226, 227, 0, 229, 230, 231, 0, 0, 0,
0, 1128, 0, 0, 232, 233, 0, 234, 235, 772,
236, 237, 238, 239, 1129, 773, 1130, 1131, 0, 3751,
244, 245, 246, 247, 1132, 1133, 248, 249, 1134, 1135,
252, 0, 253, 254, 255, 256, 1136, 0, 1137, 0,
258, 259, 260, 261, 775, 262, 263, 264, 0, 265,
266, 267, 268, 269, 270, 0, 776, 271, 272, 273,
1138, 1139, 1140, 1141, 1142, 1143, 1144, 274, 275, 276,
277, 278, 279, 1145, 1146, 282, 0, 283, 0, 284,
285, 286, 287, 288, 0, 289, 290, 291, 0, 0,
292, 293, 986, 295, 296, 0, 297, 298, 299, 0,
300, 301, 302, 0, 303, 304, 305, 306, 1147, 308,
309, 310, 1148, 1149, 312, 0, 313, 314, 1150, 316,
0, 317, 0, 318, 778, 0, 779, 319, 320, 321,
0, 322, 1151, 0, 1152, 325, 0, 326, 327, 328,
329, 330, 780, 331, 332, 333, 334, 0, 335, 336,
337, 338, 339, 340, 0, 341, 781, 342, 343, 344,
345, 346, 1153, 1154, 0, 1155, 0, 350, 782, 783,
351, 784, 352, 353, 354, 355, 356, 0, 0, 357,
1156, 785, 359, 786, 0, 360, 361, 362, 1157, 1158,
363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
373, 374, 375, 376, 377, 1159, 787, 1160, 380, 381,
382, 0, 383, 384, 788, 385, 1162, 1163, 387, 1164,
389, 390, 391, 0, 392, 0, 0, 393, 394, 395,
0, 0, 396, 397, 789, 398, 790, 1166, 400, 401,
402, 403, 404, 405, 406, 0, 407, 408, 1167, 410,
411, 412, 413, 414, 0, 415, 416, 417, 418, 419,
420, 421, 422, 1168, 424, 425, 426, 427, 0, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
0, 439, 440, 791, 441, 442, 443, 2529, 445, 446,
447, 448, 449, 450, 451, 452, 0, 453, 454, 455,
456, 457, 1170, 458, 459, 460, 461, 462, 792, 463,
464, 1171, 466, 0, 467, 468, 469, 470, 471, 472,
473, 474, 475, 476, 477, 1172, 0, 479, 480, 0,
481, 793, 482, 483, 484, 485, 486, 0, 1173, 1174,
0, 0, 489, 490, 1175, 492, 1176, 1177, 494, 495,
496, 497, 498, 499, 500, 0, 0, 501, 502, 503,
504, 505, 1179, 0, 506, 507, 508, 509, 510, 511,
1180, 0, 513, 794, 514, 515, 516, 517, 0, 0,
518, 0, 0, 519, 520, 521, 522, 523, 524, 525,
1181, 1182, 1183, 1184, 1185, 1186, 1187, 1188, 534, 535,
536, 0, 0, 0, 771, 1123, 593, 1124, 1125, 1126,
646, 1127, 0, 0, 1193, 0, 0, 0, 2532, 220,
221, 222, 223, 224, 225, 226, 227, 0, 229, 230,
231, 0, 0, 0, 0, 1128, 0, 0, 232, 233,
0, 234, 235, 772, 236, 237, 238, 0, 1129, 773,
1130, 1131, 0, 243, 244, 245, 246, 247, 1132, 1133,
248, 249, 1134, 1135, 252, 0, 253, 254, 255, 256,
1136, 0, 1137, 0, 258, 259, 260, 261, 775, 262,
263, 264, 0, 265, 266, 267, 268, 269, 270, 0,
776, 271, 272, 273, 1138, 1139, 1140, 1141, 1142, 1143,
1144, 274, 275, 276, 277, 278, 279, 1145, 1146, 282,
0, 283, 0, 284, 285, 286, 287, 288, 0, 289,
290, 291, 0, 0, 292, 293, 986, 295, 296, 0,
297, 298, 299, 0, 300, 0, 302, 0, 303, 304,
305, 306, 1147, 308, 309, 310, 1148, 1149, 312, 0,
313, 314, 1150, 316, 0, 317, 0, 318, 778, 0,
779, 319, 320, 321, 0, 322, 1151, 0, 1152, 325,
0, 326, 327, 328, 329, 330, 0, 331, 332, 333,
334, 0, 335, 336, 337, 338, 339, 340, 0, 341,
781, 342, 343, 344, 345, 346, 1153, 1154, 0, 1155,
0, 350, 0, 0, 351, 784, 352, 353, 354, 355,
356, 0, 0, 357, 1156, 785, 359, 0, 0, 360,
361, 362, 1157, 1158, 363, 364, 365, 366, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, 1159,
787, 1160, 380, 381, 382, 1161, 383, 384, 0, 385,
1162, 1163, 387, 1164, 389, 390, 391, 0, 392, 0,
0, 1165, 394, 395, 0, 0, 396, 397, 789, 398,
790, 1166, 400, 401, 402, 403, 404, 405, 406, 0,
407, 408, 1167, 410, 411, 412, 413, 414, 0, 415,
416, 417, 418, 419, 420, 421, 422, 1168, 424, 425,
426, 427, 0, 428, 429, 430, 431, 432, 433, 434,
435, 436, 437, 438, 0, 439, 440, 791, 441, 442,
443, 1169, 445, 446, 447, 448, 449, 450, 451, 452,
0, 453, 454, 455, 456, 457, 1170, 458, 459, 460,
461, 462, 0, 463, 464, 1171, 466, 0, 467, 468,
469, 470, 471, 472, 473, 474, 475, 476, 477, 1172,
0, 479, 480, 0, 481, 793, 482, 483, 484, 485,
486, 0, 1173, 1174, 0, 0, 489, 490, 1175, 492,
1176, 1177, 494, 495, 496, 497, 498, 499, 500, 0,
1178, 501, 502, 503, 504, 505, 1179, 0, 506, 507,
508, 509, 510, 511, 1180, 0, 513, 794, 514, 515,
516, 517, 0, 0, 518, 0, 0, 519, 520, 521,
522, 523, 524, 525, 1181, 1182, 1183, 1184, 1185, 1186,
1187, 1188, 534, 535, 536, 0, 0, 0, 771, 0,
0, 0, 1190, 1191, 0, 0, 0, 0, 1193, 0,
0, 0, 1194, 220, 221, 222, 223, 224, 225, 226,
227, 0, 229, 230, 231, 0, 0, 0, 0, 0,
0, 0, 232, 233, 0, 234, 235, 772, 236, 237,
238, 239, 240, 773, 241, 242, 0, 243, 244, 245,
246, 247, 0, 1133, 248, 249, 250, 251, 252, 0,
253, 254, 255, 256, 1136, 0, 1137, 0, 258, 259,
260, 261, 775, 262, 263, 264, 0, 265, 266, 267,
268, 269, 270, 0, 776, 271, 272, 273, 1138, 1139,
1140, 1141, 1142, 1143, 1144, 274, 275, 276, 277, 278,
279, 280, 281, 282, 0, 283, 0, 284, 285, 286,
287, 288, 0, 289, 290, 291, 0, 0, 292, 293,
294, 295, 296, 0, 297, 298, 299, 0, 300, 301,
302, 0, 303, 304, 305, 306, 307, 308, 309, 310,
1148, 0, 312, 0, 313, 314, 315, 316, 0, 317,
0, 318, 778, 0, 779, 319, 320, 321, 0, 322,
1151, 0, 324, 325, 0, 326, 327, 328, 329, 330,
780, 331, 332, 333, 334, 0, 335, 336, 337, 338,
339, 340, 0, 341, 781, 342, 343, 344, 345, 346,
347, 348, 0, 349, 0, 350, 782, 783, 351, 784,
352, 353, 354, 355, 356, 3281, 0, 357, 1156, 785,
359, 786, 0, 360, 361, 362, 1157, 1158, 363, 364,
365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
375, 376, 377, 378, 787, 379, 380, 381, 382, 0,
383, 384, 788, 385, 0, 1163, 387, 388, 389, 390,
391, 0, 392, 0, 735, 393, 394, 395, 0, 0,
396, 397, 789, 398, 790, 1166, 400, 401, 402, 403,
404, 405, 406, 0, 407, 408, 1167, 410, 411, 412,
413, 414, 0, 415, 416, 417, 418, 419, 420, 421,
422, 423, 424, 425, 426, 427, 0, 428, 429, 430,
431, 432, 433, 434, 435, 436, 437, 438, 0, 439,
440, 791, 441, 442, 443, 444, 3282, 446, 447, 448,
449, 450, 451, 452, 39, 453, 454, 455, 456, 457,
1170, 458, 459, 460, 461, 462, 792, 463, 464, 465,
466, 0, 467, 468, 469, 470, 471, 472, 473, 474,
475, 476, 477, 1172, 0, 479, 480, 43, 481, 793,
482, 483, 484, 485, 486, 0, 487, 488, 0, 0,
489, 490, 1175, 492, 1176, 0, 494, 495, 496, 497,
498, 499, 500, 0, 0, 501, 502, 503, 504, 505,
1179, 0, 506, 507, 508, 509, 510, 1059, 512, 0,
513, 794, 514, 515, 516, 517, 0, 0, 518, 0,
48, 519, 520, 521, 522, 523, 524, 525, 1181, 1182,
1183, 1184, 1185, 1186, 1187, 1188, 534, 535, 536, 0,
0, 49, 771, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 3283, 220, 221, 222,
223, 224, 225, 226, 227, 0, 229, 230, 231, 0,
0, 0, 0, 0, 0, 0, 232, 233, 0, 234,
235, 772, 236, 237, 238, 239, 240, 773, 241, 242,
0, 243, 244, 245, 246, 247, 0, 1133, 248, 249,
250, 251, 252, 0, 253, 254, 255, 256, 1136, 0,
1137, 0, 258, 259, 260, 261, 775, 262, 263, 264,
0, 265, 266, 267, 268, 269, 270, 0, 776, 271,
272, 273, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 274,
275, 276, 277, 278, 279, 280, 281, 282, 0, 283,
0, 284, 285, 286, 287, 288, 0, 289, 290, 291,
0, 0, 292, 293, 294, 295, 296, 0, 297, 298,
299, 0, 300, 301, 302, 0, 303, 304, 305, 306,
307, 308, 309, 310, 1148, 0, 312, 0, 313, 314,
315, 316, 0, 317, 0, 318, 778, 0, 779, 319,
320, 321, 0, 322, 1151, 0, 324, 325, 0, 326,
327, 328, 329, 330, 780, 331, 332, 333, 334, 0,
335, 336, 337, 338, 339, 340, 0, 341, 781, 342,
343, 344, 345, 346, 347, 348, 0, 349, 0, 350,
782, 783, 351, 784, 352, 353, 354, 355, 356, 3281,
0, 357, 1156, 785, 359, 786, 0, 360, 361, 362,
1157, 1158, 363, 364, 365, 366, 367, 368, 369, 370,
371, 372, 373, 374, 375, 376, 377, 378, 787, 379,
380, 381, 382, 0, 383, 384, 788, 385, 0, 1163,
387, 388, 389, 390, 391, 0, 392, 0, 735, 393,
394, 395, 0, 0, 396, 397, 789, 398, 790, 1166,
400, 401, 402, 403, 404, 405, 406, 0, 407, 408,
1167, 410, 411, 412, 413, 414, 0, 415, 416, 417,
418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
0, 428, 429, 430, 431, 432, 433, 434, 435, 436,
437, 438, 0, 439, 440, 791, 441, 442, 443, 444,
3282, 446, 447, 448, 449, 450, 451, 452, 0, 453,
454, 455, 456, 457, 1170, 458, 459, 460, 461, 462,
792, 463, 464, 465, 466, 0, 467, 468, 469, 470,
471, 472, 473, 474, 475, 476, 477, 1172, 0, 479,
480, 0, 481, 793, 482, 483, 484, 485, 486, 0,
487, 488, 0, 0, 489, 490, 1175, 492, 1176, 0,
494, 495, 496, 497, 498, 499, 500, 0, 0, 501,
502, 503, 504, 505, 1179, 0, 506, 507, 508, 509,
510, 511, 512, 0, 513, 794, 514, 515, 516, 517,
0, 0, 518, 0, 0, 519, 520, 521, 522, 523,
524, 525, 1181, 1182, 1183, 1184, 1185, 1186, 1187, 1188,
534, 535, 536, 0, 0, 0, 771, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3283, 220, 221, 222, 223, 224, 225, 226, 227, 0,
229, 230, 231, 0, 0, 0, 0, 0, 0, 0,
232, 233, 0, 234, 235, 772, 236, 237, 238, 239,
240, 773, 241, 242, 0, 243, 244, 245, 246, 247,
0, 1133, 248, 249, 250, 251, 252, 0, 253, 254,
255, 256, 1136, 0, 1137, 0, 258, 259, 260, 261,
775, 262, 263, 264, 0, 265, 266, 267, 268, 269,
270, 0, 776, 271, 272, 273, 1138, 1139, 1140, 1141,
1142, 1143, 1144, 274, 275, 276, 277, 278, 279, 280,
281, 282, 0, 283, 0, 284, 285, 286, 287, 288,
0, 289, 290, 291, 0, 0, 292, 293, 294, 295,
296, 0, 297, 298, 299, 0, 300, 301, 302, 0,
303, 304, 305, 306, 307, 308, 309, 310, 1148, 0,
312, 0, 313, 314, 315, 316, 0, 317, 0, 318,
778, 0, 779, 319, 320, 321, 0, 322, 1151, 0,
324, 325, 0, 326, 327, 328, 329, 330, 780, 331,
332, 333, 334, 0, 335, 336, 337, 338, 339, 340,
0, 341, 781, 342, 343, 344, 345, 346, 347, 348,
0, 349, 0, 350, 782, 783, 351, 784, 352, 353,
354, 355, 356, 0, 0, 357, 1156, 785, 359, 786,
0, 360, 361, 362, 1157, 1158, 363, 364, 365, 366,
367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
377, 378, 787, 379, 380, 381, 382, 0, 383, 384,
788, 385, 0, 1163, 387, 388, 389, 390, 391, 0,
392, 0, 0, 393, 394, 395, 0, 0, 396, 397,
789, 398, 790, 1166, 400, 401, 402, 403, 404, 405,
406, 0, 407, 408, 1167, 410, 411, 412, 413, 414,
0, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 0, 428, 429, 430, 431, 432,
433, 434, 435, 436, 437, 438, 0, 439, 440, 791,
441, 442, 443, 444, 3282, 446, 447, 448, 449, 450,
451, 452, 0, 453, 454, 455, 456, 457, 1170, 458,
459, 460, 461, 462, 792, 463, 464, 465, 466, 0,
467, 468, 469, 470, 471, 472, 473, 474, 475, 476,
477, 1172, 0, 479, 480, 0, 481, 793, 482, 483,
484, 485, 486, 0, 487, 488, 0, 0, 489, 490,
1175, 492, 1176, 0, 494, 495, 496, 497, 498, 499,
500, 0, 0, 501, 502, 503, 504, 505, 1179, 0,
506, 507, 508, 509, 510, 511, 512, 0, 513, 794,
514, 515, 516, 517, 0, 0, 518, 0, 0, 519,
520, 521, 522, 523, 524, 525, 1181, 1182, 1183, 1184,
1185, 1186, 1187, 1188, 534, 535, 536, 0, 0, 0,
771, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 50, 220, 221, 222, 223, 224,
225, 226, 227, 0, 229, 230, 231, 0, 0, 0,
0, 0, 0, 0, 232, 233, 0, 234, 235, 772,
236, 237, 238, 239, 240, 773, 241, 242, 0, 243,
244, 245, 246, 247, 0, 1133, 248, 249, 250, 251,
252, 0, 253, 254, 255, 256, 1136, 0, 1137, 0,
258, 259, 260, 261, 775, 262, 263, 264, 0, 265,
266, 267, 268, 269, 270, 0, 776, 271, 272, 273,
1138, 1139, 1140, 1141, 1142, 1143, 1144, 274, 275, 276,
277, 278, 279, 280, 281, 282, 0, 283, 0, 284,
285, 286, 287, 288, 0, 289, 290, 291, 0, 0,
292, 293, 294, 295, 296, 0, 297, 298, 299, 0,
300, 301, 302, 0, 303, 304, 305, 306, 307, 308,
309, 310, 1148, 0, 312, 0, 313, 314, 315, 316,
0, 317, 0, 318, 778, 0, 779, 319, 320, 321,
0, 322, 1151, 0, 324, 325, 0, 326, 327, 328,
329, 330, 780, 331, 332, 333, 334, 0, 335, 336,
337, 338, 339, 340, 0, 341, 781, 342, 343, 344,
345, 346, 347, 348, 0, 349, 0, 350, 782, 783,
351, 784, 352, 353, 354, 355, 356, 0, 0, 357,
1156, 785, 359, 786, 0, 360, 361, 362, 1157, 1158,
363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
373, 374, 375, 376, 377, 378, 787, 379, 380, 381,
382, 0, 383, 384, 788, 385, 0, 1163, 387, 388,
389, 390, 391, 0, 392, 0, 0, 393, 394, 395,
0, 0, 396, 397, 789, 398, 790, 1166, 400, 401,
402, 403, 404, 405, 406, 0, 407, 408, 1167, 410,
411, 412, 413, 414, 0, 415, 416, 417, 418, 419,
420, 421, 422, 423, 424, 425, 426, 427, 0, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
0, 439, 440, 791, 441, 442, 443, 444, 445, 446,
447, 448, 449, 450, 451, 452, 0, 453, 454, 455,
456, 457, 1170, 458, 459, 460, 461, 462, 792, 463,
464, 465, 466, 0, 467, 468, 469, 470, 471, 472,
473, 474, 475, 476, 477, 1172, 0, 479, 480, 0,
481, 793, 482, 483, 484, 485, 486, 0, 487, 488,
0, 0, 489, 490, 1175, 492, 1176, 0, 494, 495,
496, 497, 498, 499, 500, 0, 0, 501, 502, 503,
504, 505, 1179, 0, 506, 507, 508, 509, 510, 511,
512, 0, 513, 794, 514, 515, 516, 517, 0, 0,
518, 0, 0, 519, 520, 521, 522, 523, 524, 525,
1181, 1182, 1183, 1184, 1185, 1186, 1187, 1188, 534, 535,
536, 0, 0, 0, 815, 1398, 593, 0, 0, 0,
646, 0, 0, 0, 0, 0, 0, 0, 3876, 220,
221, 222, 223, 224, 225, 226, 227, 0, 229, 230,
231, 0, 0, 0, 0, 0, 0, 0, 232, 233,
0, 234, 235, 772, 236, 237, 238, 239, 240, 773,
241, 242, 0, 243, 244, 245, 246, 247, 0, 0,
248, 249, 250, 251, 252, 0, 253, 254, 255, 256,
257, 0, 774, 0, 258, 259, 260, 261, 775, 262,
263, 264, 0, 265, 266, 267, 268, 269, 270, 0,
776, 271, 272, 273, 0, 0, 0, 777, 0, 0,
0, 274, 275, 276, 277, 278, 279, 280, 281, 282,
0, 283, 0, 284, 285, 286, 287, 288, 0, 289,
290, 291, 0, 0, 292, 293, 294, 295, 296, 0,
297, 298, 299, 0, 300, 301, 302, 0, 303, 304,
305, 306, 307, 308, 309, 310, 311, 1667, 312, 0,
313, 314, 315, 316, 0, 317, 0, 318, 778, 0,
779, 319, 320, 321, 0, 322, 323, 0, 324, 325,
0, 326, 327, 328, 329, 330, 780, 331, 332, 333,
334, 0, 335, 336, 337, 338, 339, 340, 0, 341,
781, 342, 343, 344, 345, 346, 347, 348, 0, 349,
0, 350, 782, 783, 351, 784, 352, 353, 354, 355,
356, 0, 0, 357, 358, 785, 359, 786, 0, 360,
361, 362, 0, 0, 363, 364, 365, 366, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
787, 379, 380, 381, 382, 0, 383, 384, 788, 385,
0, 386, 387, 388, 389, 390, 391, 0, 392, 1668,
0, 393, 394, 395, 0, 0, 396, 397, 789, 398,
790, 399, 400, 401, 402, 403, 404, 405, 406, 0,
407, 408, 409, 410, 411, 412, 413, 414, 0, 415,
416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
426, 427, 0, 428, 429, 430, 431, 432, 433, 434,
435, 436, 437, 438, 0, 439, 440, 791, 441, 442,
443, 444, 445, 446, 447, 448, 449, 450, 451, 452,
0, 453, 454, 455, 456, 457, 0, 458, 459, 460,
461, 462, 792, 463, 464, 465, 466, 0, 467, 468,
469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
0, 479, 480, 0, 481, 793, 482, 483, 484, 485,
486, 0, 487, 488, 0, 0, 489, 490, 491, 492,
493, 1669, 494, 495, 496, 497, 498, 499, 500, 0,
0, 501, 502, 503, 504, 505, 0, 0, 506, 507,
508, 509, 510, 511, 512, 0, 513, 794, 514, 515,
516, 517, 0, 0, 518, 0, 0, 519, 520, 521,
522, 523, 524, 525, 526, 527, 528, 529, 530, 531,
532, 533, 534, 535, 536, 0, 0, 0, 815, 0,
0, 0, 658, 1399, 4317, 0, 0, 0, 0, 0,
0, 0, 4318, 220, 221, 222, 223, 224, 225, 226,
227, 0, 229, 230, 231, 3, 4, 0, 0, 0,
0, 0, 232, 233, 0, 234, 235, 772, 236, 237,
238, 239, 240, 773, 241, 242, 0, 243, 244, 245,
246, 247, 0, 0, 248, 249, 250, 251, 252, 0,
253, 254, 255, 256, 257, 0, 774, 0, 258, 259,
260, 261, 775, 262, 263, 264, 0, 265, 266, 267,
268, 269, 270, 0, 776, 271, 272, 273, 0, 0,
0, 777, 0, 0, 0, 274, 275, 276, 277, 278,
279, 280, 281, 282, 0, 283, 0, 284, 285, 286,
287, 288, 0, 289, 290, 291, 0, 0, 292, 293,
294, 295, 296, 0, 297, 298, 299, 0, 300, 301,
302, 0, 303, 304, 305, 306, 307, 308, 309, 310,
311, 0, 312, 0, 313, 314, 315, 316, 0, 317,
0, 318, 778, 0, 779, 319, 320, 321, 0, 322,
323, 0, 324, 325, 0, 326, 327, 328, 329, 330,
780, 331, 332, 333, 334, 0, 335, 336, 337, 338,
339, 340, 0, 341, 781, 342, 343, 344, 345, 346,
347, 348, 0, 349, 0, 350, 782, 783, 351, 784,
352, 353, 354, 355, 356, 0, 0, 357, 358, 785,
359, 786, 0, 360, 361, 362, 0, 0, 363, 364,
365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
375, 376, 377, 378, 787, 379, 380, 381, 382, 0,
383, 384, 788, 385, 0, 386, 387, 388, 389, 390,
391, 0, 392, 0, 0, 393, 394, 395, 0, 0,
396, 397, 789, 398, 790, 399, 400, 401, 402, 403,
404, 405, 406, 0, 407, 408, 409, 410, 411, 412,
413, 414, 0, 415, 416, 417, 418, 419, 420, 421,
422, 423, 424, 425, 426, 427, 0, 428, 429, 430,
431, 432, 433, 434, 435, 436, 437, 438, 0, 439,
440, 791, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 39, 453, 454, 455, 456, 457,
0, 458, 459, 460, 461, 462, 792, 463, 464, 465,
466, 0, 467, 468, 469, 470, 471, 472, 473, 474,
475, 476, 477, 478, 0, 479, 480, 43, 481, 793,
482, 483, 484, 485, 486, 0, 487, 488, 0, 0,
489, 490, 491, 492, 493, 0, 494, 495, 496, 497,
498, 499, 500, 0, 0, 501, 502, 503, 504, 505,
0, 0, 506, 507, 508, 509, 510, 1059, 512, 0,
513, 794, 514, 515, 516, 517, 0, 0, 518, 0,
48, 519, 520, 521, 522, 523, 524, 525, 526, 527,
528, 529, 530, 531, 532, 533, 534, 535, 536, 0,
0, 49, 771, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 50, 220, 221, 222,
223, 224, 225, 226, 227, 0, 229, 230, 231, 0,
0, 0, 0, 0, 0, 0, 232, 233, 0, 234,
235, 772, 236, 237, 238, 239, 240, 773, 241, 242,
0, 243, 244, 245, 246, 247, 0, 0, 248, 249,
250, 251, 252, 0, 253, 254, 255, 256, 257, 0,
774, 0, 258, 259, 260, 261, 775, 262, 263, 264,
0, 265, 266, 267, 268, 269, 270, 0, 776, 271,
272, 273, 0, 0, 0, 777, 0, 0, 0, 274,
275, 276, 277, 278, 279, 280, 281, 282, 0, 283,
0, 284, 285, 286, 287, 288, 0, 289, 290, 291,
0, 0, 292, 293, 294, 295, 296, 0, 297, 298,
299, 0, 300, 301, 302, 0, 303, 304, 305, 306,
307, 308, 309, 310, 311, 0, 312, 0, 313, 314,
315, 316, 0, 317, 0, 318, 778, 0, 779, 319,
320, 321, 0, 322, 323, 0, 324, 325, 0, 326,
327, 328, 329, 330, 780, 331, 332, 333, 334, 0,
335, 336, 337, 338, 339, 340, 0, 341, 781, 342,
343, 344, 345, 346, 347, 348, 0, 349, 0, 350,
782, 783, 351, 784, 352, 353, 354, 355, 356, 0,
0, 357, 358, 785, 359, 786, 0, 360, 361, 362,
0, 0, 363, 364, 365, 366, 367, 368, 369, 370,
371, 372, 373, 374, 375, 376, 377, 378, 787, 379,
380, 381, 382, 0, 383, 384, 788, 385, 0, 386,
387, 388, 389, 390, 391, 0, 392, 0, 0, 393,
394, 395, 0, 0, 396, 397, 789, 398, 790, 399,
400, 401, 402, 403, 404, 405, 406, 0, 407, 408,
409, 410, 411, 412, 413, 414, 0, 415, 416, 417,
418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
0, 428, 429, 430, 431, 432, 433, 434, 435, 436,
437, 438, 0, 439, 440, 791, 441, 442, 443, 444,
445, 446, 447, 448, 449, 450, 451, 452, 0, 453,
454, 455, 456, 457, 0, 458, 459, 460, 461, 462,
792, 463, 464, 465, 466, 0, 467, 468, 469, 470,
471, 472, 473, 474, 475, 476, 477, 478, 0, 479,
480, 0, 481, 793, 482, 483, 484, 485, 486, 0,
487, 488, 0, 0, 489, 490, 491, 492, 493, 0,
494, 495, 496, 497, 498, 499, 500, 0, 0, 501,
502, 503, 504, 505, 0, 0, 506, 507, 508, 509,
510, 511, 512, 0, 513, 794, 514, 515, 516, 517,
0, 0, 518, 0, 0, 519, 520, 521, 522, 523,
524, 525, 526, 527, 528, 529, 530, 531, 532, 533,
534, 535, 536, 0, 0, 0, 219, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4505, 220, 221, 222, 223, 224, 225, 226, 227, 0,
229, 230, 231, 0, 0, 0, 0, 0, 0, 0,
232, 233, 0, 234, 235, 0, 236, 237, 238, 239,
240, 0, 241, 242, 0, 243, 244, 245, 246, 247,
0, 0, 248, 249, 250, 251, 252, 0, 253, 254,
255, 256, 257, 0, 0, 0, 258, 259, 260, 261,
0, 262, 263, 264, 0, 265, 266, 267, 268, 269,
270, 0, 0, 271, 272, 273, 0, 0, 0, 0,
0, 0, 0, 274, 275, 276, 277, 278, 279, 280,
281, 282, 0, 283, 0, 284, 285, 286, 287, 288,
0, 289, 290, 291, 0, 0, 292, 293, 294, 295,
296, 0, 297, 298, 299, 0, 300, 301, 302, 0,
303, 304, 305, 306, 307, 308, 309, 310, 311, 0,
312, 0, 313, 314, 315, 316, 0, 317, 0, 318,
0, 0, 0, 319, 320, 321, 0, 322, 323, 0,
324, 325, 0, 326, 327, 328, 329, 330, 0, 331,
332, 333, 334, 0, 335, 336, 337, 338, 339, 340,
0, 341, 0, 342, 343, 344, 345, 346, 347, 348,
0, 349, 0, 350, 0, 0, 351, 0, 352, 353,
354, 355, 356, 0, 0, 357, 358, 0, 359, 0,
0, 360, 361, 362, 0, 0, 363, 364, 365, 366,
367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
377, 378, 0, 379, 380, 381, 382, 0, 383, 384,
0, 385, 0, 386, 387, 388, 389, 390, 391, 0,
392, 0, 0, 393, 394, 395, 0, 0, 396, 397,
0, 398, 0, 399, 400, 401, 402, 403, 404, 405,
406, 0, 407, 408, 409, 410, 411, 412, 413, 414,
0, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 0, 428, 429, 430, 431, 432,
433, 434, 435, 436, 437, 438, 0, 439, 440, 0,
441, 442, 443, 444, 445, 446, 447, 448, 449, 450,
451, 452, 39, 453, 454, 455, 456, 457, 0, 458,
459, 460, 461, 462, 0, 463, 464, 465, 466, 0,
467, 468, 469, 470, 471, 472, 473, 474, 475, 476,
477, 478, 0, 479, 480, 43, 481, 0, 482, 483,
484, 485, 486, 0, 487, 488, 0, 0, 489, 490,
491, 492, 493, 0, 494, 495, 496, 497, 498, 499,
500, 0, 0, 501, 502, 503, 504, 505, 0, 0,
506, 507, 508, 509, 510, 1059, 512, 0, 513, 0,
514, 515, 516, 517, 0, 0, 518, 0, 48, 519,
520, 521, 522, 523, 524, 525, 526, 527, 528, 529,
530, 531, 532, 533, 534, 535, 536, 0, 0, 49,
219, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 50, 220, 221, 222, 223, 224,
225, 226, 227, 0, 229, 230, 231, 0, 0, 0,
0, 0, 0, 0, 232, 233, 0, 234, 235, 0,
236, 237, 238, 239, 240, 0, 241, 242, 0, 243,
244, 245, 246, 247, 0, 0, 248, 249, 250, 251,
252, 0, 253, 254, 255, 256, 257, 0, 0, 0,
258, 259, 260, 261, 0, 262, 263, 264, 0, 265,
266, 267, 268, 269, 270, 0, 0, 271, 272, 273,
0, 0, 0, 0, 0, 0, 0, 274, 275, 276,
277, 278, 279, 280, 281, 282, 0, 283, 0, 284,
285, 286, 287, 288, 0, 289, 290, 291, 0, 0,
292, 293, 294, 295, 296, 0, 297, 298, 299, 0,
300, 301, 302, 0, 303, 304, 305, 306, 307, 308,
309, 310, 311, 0, 312, 0, 313, 314, 315, 316,
0, 317, 0, 318, 0, 0, 0, 319, 320, 321,
0, 322, 323, 0, 324, 325, 0, 326, 327, 328,
329, 330, 0, 331, 332, 333, 334, 0, 335, 336,
337, 338, 339, 340, 0, 341, 0, 342, 343, 344,
345, 346, 347, 348, 0, 349, 0, 350, 0, 0,
351, 0, 352, 353, 354, 355, 356, 0, 0, 357,
358, 0, 359, 0, 0, 360, 361, 362, 0, 0,
363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
373, 374, 375, 376, 377, 378, 0, 379, 380, 381,
382, 0, 383, 384, 0, 385, 0, 386, 387, 388,
389, 390, 391, 0, 392, 0, 0, 393, 394, 395,
0, 0, 396, 397, 0, 398, 0, 399, 400, 401,
402, 403, 404, 405, 406, 0, 407, 408, 409, 410,
411, 412, 413, 414, 0, 415, 416, 417, 418, 419,
420, 421, 422, 423, 424, 425, 426, 427, 0, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
0, 439, 440, 0, 441, 442, 443, 444, 445, 446,
447, 448, 449, 450, 451, 452, 0, 453, 454, 455,
456, 457, 0, 458, 459, 460, 461, 462, 0, 463,
464, 465, 466, 0, 467, 468, 469, 470, 471, 472,
473, 474, 475, 476, 477, 478, 0, 479, 480, 0,
481, 0, 482, 483, 484, 485, 486, 0, 487, 488,
0, 0, 489, 490, 491, 492, 493, 0, 494, 495,
496, 497, 498, 499, 500, 0, 0, 501, 502, 503,
504, 505, 0, 0, 506, 507, 508, 509, 510, 511,
512, 0, 513, 0, 514, 515, 516, 517, 0, 0,
518, 0, 0, 519, 520, 521, 522, 523, 524, 525,
526, 527, 528, 529, 530, 531, 532, 533, 534, 535,
536, 0, 0, 0, 219, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1256, 220,
221, 222, 223, 224, 225, 226, 227, 0, 229, 230,
231, 0, 0, 0, 0, 0, 0, 0, 232, 233,
0, 234, 235, 0, 236, 237, 238, 239, 240, 0,
241, 242, 0, 243, 244, 245, 246, 247, 0, 0,
248, 249, 250, 251, 252, 0, 253, 254, 255, 256,
257, 0, 0, 0, 258, 259, 260, 261, 0, 262,
263, 264, 0, 265, 266, 267, 268, 269, 270, 0,
0, 271, 272, 273, 0, 0, 0, 0, 0, 0,
0, 274, 275, 276, 277, 278, 279, 280, 281, 282,
0, 283, 0, 284, 285, 286, 287, 288, 0, 289,
290, 291, 0, 0, 292, 293, 294, 295, 296, 0,
297, 298, 299, 0, 300, 301, 302, 0, 303, 304,
305, 306, 307, 308, 309, 310, 311, 0, 312, 0,
313, 314, 315, 316, 0, 317, 0, 318, 0, 0,
0, 319, 320, 321, 0, 322, 323, 0, 324, 325,
0, 326, 327, 328, 329, 330, 0, 331, 332, 333,
334, 0, 335, 336, 337, 338, 339, 340, 0, 341,
0, 342, 343, 344, 345, 346, 347, 348, 0, 349,
0, 350, 0, 0, 351, 0, 352, 353, 354, 355,
356, 0, 0, 357, 358, 0, 359, 0, 0, 360,
361, 362, 0, 0, 363, 364, 365, 366, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
0, 379, 380, 381, 382, 0, 383, 384, 0, 385,
0, 386, 387, 388, 389, 390, 391, 0, 392, 0,
0, 393, 394, 395, 0, 0, 396, 397, 0, 398,
0, 399, 400, 401, 402, 403, 404, 405, 406, 0,
407, 408, 409, 410, 411, 412, 413, 414, 0, 415,
416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
426, 427, 0, 428, 429, 430, 431, 432, 433, 434,
435, 436, 437, 438, 0, 439, 440, 0, 441, 442,
443, 444, 445, 446, 447, 448, 449, 450, 451, 452,
0, 453, 454, 455, 456, 457, 0, 458, 459, 460,
461, 462, 0, 463, 464, 465, 466, 0, 467, 468,
469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
0, 479, 480, 0, 481, 0, 482, 483, 484, 485,
486, 0, 487, 488, 0, 0, 489, 490, 491, 492,
493, 0, 494, 495, 496, 497, 498, 499, 500, 0,
0, 501, 502, 503, 504, 505, 0, 0, 506, 507,
508, 509, 510, 511, 512, 0, 513, 0, 514, 515,
516, 517, 0, 0, 518, 0, 0, 519, 520, 521,
522, 523, 524, 525, 526, 527, 528, 529, 530, 531,
532, 533, 534, 535, 536, 0, 0, 0, 219, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2688, 220, 221, 222, 223, 224, 225, 226,
227, 0, 229, 230, 231, 0, 0, 0, 0, 0,
0, 0, 232, 233, 0, 234, 235, 0, 236, 237,
238, 239, 240, 0, 241, 242, 0, 243, 244, 245,
246, 247, 0, 0, 248, 249, 250, 251, 252, 0,
253, 254, 255, 256, 257, 0, 0, 0, 258, 259,
260, 261, 0, 262, 263, 264, 0, 265, 266, 267,
268, 269, 270, 0, 0, 271, 272, 273, 0, 0,
0, 0, 0, 0, 0, 274, 275, 276, 277, 278,
279, 280, 281, 282, 0, 283, 0, 284, 285, 286,
287, 288, 0, 289, 290, 291, 0, 0, 292, 293,
294, 295, 296, 0, 297, 298, 299, 0, 300, 301,
302, 0, 303, 304, 305, 306, 307, 308, 309, 310,
311, 0, 312, 0, 313, 314, 315, 316, 0, 317,
0, 318, 0, 0, 0, 319, 320, 321, 0, 322,
323, 0, 324, 325, 0, 326, 327, 328, 329, 330,
0, 331, 332, 333, 334, 0, 335, 336, 337, 338,
339, 340, 0, 341, 0, 342, 343, 344, 345, 346,
347, 348, 0, 349, 0, 350, 0, 0, 351, 0,
352, 353, 354, 355, 356, 0, 0, 357, 358, 0,
359, 0, 0, 360, 361, 362, 0, 0, 363, 364,
365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
375, 376, 377, 378, 0, 379, 380, 381, 382, 0,
383, 384, 0, 385, 0, 386, 387, 388, 389, 390,
391, 0, 392, 0, 0, 393, 394, 395, 0, 0,
396, 397, 0, 398, 0, 399, 400, 401, 402, 403,
404, 405, 406, 0, 407, 408, 409, 410, 411, 412,
413, 414, 0, 415, 416, 417, 418, 419, 420, 421,
422, 423, 424, 425, 426, 427, 0, 428, 429, 430,
431, 432, 433, 434, 435, 436, 437, 438, 0, 439,
440, 0, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 0, 453, 454, 455, 456, 457,
0, 458, 459, 460, 461, 462, 0, 463, 464, 465,
466, 0, 467, 468, 469, 470, 471, 472, 473, 474,
475, 476, 477, 478, 0, 479, 480, 0, 481, 0,
482, 483, 484, 485, 486, 0, 487, 488, 0, 0,
489, 490, 491, 492, 493, 0, 494, 495, 496, 497,
498, 499, 500, 0, 0, 501, 502, 503, 504, 505,
0, 0, 506, 507, 508, 509, 510, 511, 512, 0,
513, 0, 514, 515, 516, 517, 0, 0, 518, 0,
0, 519, 520, 521, 522, 523, 524, 525, 526, 527,
528, 529, 530, 531, 532, 533, 534, 535, 536, 0,
0, 0, 219, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 3787, 220, 221, 222,
223, 224, 225, 226, 227, 0, 229, 230, 231, 0,
0, 0, 0, 0, 0, 0, 232, 233, 0, 234,
235, 0, 236, 237, 238, 239, 240, 0, 241, 242,
0, 243, 244, 245, 246, 247, 0, 0, 248, 249,
250, 251, 252, 0, 253, 254, 255, 256, 257, 0,
0, 0, 258, 259, 260, 261, 0, 262, 263, 264,
0, 265, 266, 267, 268, 269, 270, 0, 0, 271,
272, 273, 0, 0, 0, 0, 0, 0, 0, 274,
275, 276, 277, 278, 279, 280, 281, 282, 0, 283,
0, 284, 285, 286, 287, 288, 0, 289, 290, 291,
0, 0, 292, 293, 294, 295, 296, 0, 297, 298,
299, 0, 300, 301, 302, 0, 303, 304, 305, 306,
307, 308, 309, 310, 311, 0, 312, 0, 313, 314,
315, 316, 0, 317, 0, 318, 0, 0, 0, 319,
320, 321, 0, 322, 323, 0, 324, 325, 0, 326,
327, 328, 329, 330, 0, 331, 332, 333, 334, 0,
335, 336, 337, 338, 339, 340, 0, 341, 0, 342,
343, 344, 345, 346, 347, 348, 0, 349, 0, 350,
0, 0, 351, 0, 352, 353, 354, 355, 356, 0,
0, 357, 358, 0, 359, 0, 0, 360, 361, 362,
0, 0, 363, 364, 365, 366, 367, 368, 369, 370,
371, 372, 373, 374, 375, 376, 377, 378, 0, 379,
380, 381, 382, 0, 383, 384, 0, 385, 0, 386,
387, 388, 389, 390, 391, 0, 392, 0, 0, 393,
394, 395, 0, 0, 396, 397, 0, 398, 0, 399,
400, 401, 402, 403, 404, 405, 406, 0, 407, 408,
409, 410, 411, 412, 413, 414, 0, 415, 416, 417,
418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
0, 428, 429, 430, 431, 432, 433, 434, 435, 436,
437, 438, 0, 439, 440, 0, 441, 442, 443, 444,
445, 446, 447, 448, 449, 450, 451, 452, 0, 453,
454, 455, 456, 457, 0, 458, 459, 460, 461, 462,
0, 463, 464, 465, 466, 0, 467, 468, 469, 470,
471, 472, 473, 474, 475, 476, 477, 478, 0, 479,
480, 0, 481, 0, 482, 483, 484, 485, 486, 0,
487, 488, 0, 0, 489, 490, 491, 492, 493, 0,
494, 495, 496, 497, 498, 499, 500, 0, 0, 501,
502, 503, 504, 505, 0, 0, 506, 507, 508, 509,
510, 511, 512, 0, 513, 0, 514, 515, 516, 517,
0, 0, 518, 0, 0, 519, 520, 521, 522, 523,
524, 525, 526, 527, 528, 529, 530, 531, 532, 533,
534, 535, 536, 0, 0, 0, 0, 0, 0, 978,
1398, 593, 0, 0, 829, 646, 0, 0, 0, 0,
4202, 830, 831, 832, 220, 221, 222, 223, 224, 225,
226, 227, 1857, 229, 230, 231, 1858, 1859, 1860, 1861,
1862, 1863, 1864, 232, 233, 1865, 234, 235, 772, 236,
237, 238, 0, 979, 773, 980, 981, 1866, 243, 244,
245, 246, 247, 1867, 1868, 248, 249, 982, 983, 252,
1869, 253, 254, 255, 256, 0, 1870, 774, 1871, 258,
259, 260, 261, 775, 262, 263, 264, 1872, 265, 266,
267, 268, 269, 270, 1873, 776, 271, 272, 273, 1874,
1875, 1876, 777, 1877, 1878, 1879, 274, 275, 276, 277,
278, 279, 984, 985, 282, 1880, 283, 1881, 284, 285,
286, 287, 288, 1882, 289, 290, 291, 1883, 1884, 292,
293, 986, 295, 296, 1885, 297, 298, 299, 1886, 300,
301, 302, 1887, 303, 304, 305, 306, 0, 308, 309,
310, 0, 1888, 312, 1889, 313, 314, 987, 316, 1890,
317, 1891, 318, 778, 1892, 779, 319, 320, 321, 1893,
322, 0, 1894, 0, 325, 1895, 326, 327, 328, 329,
330, 780, 331, 332, 333, 334, 1896, 335, 336, 337,
338, 339, 340, 1897, 341, 781, 0, 343, 344, 345,
346, 989, 990, 1898, 991, 1899, 350, 782, 783, 351,
784, 352, 353, 354, 355, 356, 1900, 1901, 357, 0,
785, 359, 786, 1902, 360, 361, 362, 1903, 1904, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, 992, 787, 993, 380, 381, 0,
1905, 383, 384, 788, 385, 1906, 0, 387, 994, 389,
390, 391, 1907, 392, 1908, 1909, 3535, 394, 395, 1910,
1911, 396, 0, 789, 398, 790, 0, 400, 401, 402,
403, 404, 405, 406, 1912, 407, 408, 0, 410, 0,
412, 413, 414, 1913, 415, 416, 417, 418, 419, 420,
421, 422, 995, 424, 425, 426, 427, 1914, 428, 429,
430, 431, 432, 433, 434, 435, 436, 437, 438, 1915,
439, 440, 791, 441, 442, 443, 0, 445, 446, 447,
448, 449, 450, 451, 452, 1916, 453, 454, 455, 456,
457, 1917, 458, 459, 1998, 461, 462, 792, 463, 464,
997, 466, 1918, 467, 468, 469, 470, 471, 472, 473,
474, 475, 476, 477, 0, 1919, 479, 480, 1920, 481,
793, 482, 483, 484, 485, 486, 1921, 998, 999, 1922,
1923, 489, 490, 0, 492, 0, 1924, 494, 495, 496,
497, 498, 499, 500, 1925, 1926, 501, 502, 503, 504,
505, 1927, 1928, 506, 507, 508, 509, 510, 0, 1000,
1929, 513, 794, 514, 515, 516, 517, 1930, 1931, 518,
1932, 1933, 519, 520, 521, 522, 523, 524, 0, 0,
0, 0, 0, 0, 0, 0, 0, 534, 535, 536,
815, 1398, 593, 835, 836, 837, 646, 3536, 3537, 840,
841, 842, 843, 844, 0, 220, 221, 222, 223, 224,
225, 226, 227, 0, 229, 230, 231, 0, 0, 0,
0, 0, 0, 0, 232, 233, 0, 234, 235, 772,
236, 237, 238, 239, 240, 773, 241, 242, 0, 243,
244, 245, 246, 247, 0, 0, 248, 249, 250, 251,
252, 0, 253, 254, 255, 256, 257, 0, 774, 0,
258, 259, 260, 261, 775, 262, 263, 264, 0, 265,
266, 267, 268, 269, 270, 0, 776, 271, 272, 273,
0, 0, 0, 777, 0, 0, 0, 274, 275, 276,
277, 278, 279, 280, 281, 282, 1845, 283, 0, 284,
285, 286, 287, 288, 0, 289, 290, 291, 0, 0,
292, 293, 294, 295, 296, 0, 297, 298, 299, 0,
300, 301, 302, 0, 303, 304, 305, 306, 307, 308,
309, 310, 311, 1667, 312, 0, 313, 314, 315, 316,
0, 317, 0, 318, 778, 0, 779, 319, 320, 321,
0, 322, 323, 0, 324, 325, 0, 326, 327, 328,
329, 330, 780, 331, 332, 333, 334, 0, 335, 336,
337, 338, 339, 340, 0, 341, 781, 342, 343, 344,
345, 346, 347, 348, 0, 349, 0, 350, 782, 783,
351, 784, 352, 353, 354, 355, 356, 0, 0, 357,
358, 785, 359, 786, 0, 360, 361, 362, 0, 0,
363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
373, 374, 375, 376, 377, 378, 787, 379, 380, 381,
382, 0, 383, 384, 788, 385, 0, 386, 387, 388,
389, 390, 391, 0, 392, 1668, 0, 393, 394, 395,
0, 0, 396, 397, 789, 398, 790, 399, 400, 401,
402, 403, 404, 405, 406, 0, 407, 408, 409, 410,
411, 412, 413, 414, 0, 415, 416, 417, 418, 419,
420, 421, 422, 423, 424, 425, 426, 427, 0, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
0, 439, 440, 791, 441, 442, 443, 444, 445, 446,
447, 448, 449, 450, 451, 452, 0, 453, 454, 455,
456, 457, 0, 458, 459, 460, 461, 462, 792, 463,
464, 465, 466, 0, 467, 468, 469, 470, 471, 472,
473, 474, 475, 476, 477, 478, 0, 479, 480, 0,
481, 793, 482, 483, 484, 485, 486, 0, 487, 488,
0, 0, 489, 490, 491, 492, 493, 1669, 494, 495,
496, 497, 498, 499, 500, 0, 0, 501, 502, 503,
504, 505, 0, 0, 506, 507, 508, 509, 510, 511,
512, 0, 513, 794, 514, 515, 516, 517, 0, 0,
518, 0, 0, 519, 520, 521, 522, 523, 524, 525,
526, 527, 528, 529, 530, 531, 532, 533, 534, 535,
536, 815, 1398, 593, 0, 0, 0, 646, 658, 1399,
0, 0, 0, 0, 1846, 0, 220, 221, 222, 223,
224, 225, 226, 227, 0, 229, 230, 231, 0, 0,
0, 0, 0, 0, 0, 232, 233, 0, 234, 235,
772, 236, 237, 238, 239, 240, 773, 241, 242, 0,
243, 244, 245, 246, 247, 0, 0, 248, 249, 250,
251, 252, 0, 253, 254, 255, 256, 257, 0, 774,
0, 258, 259, 260, 261, 775, 262, 263, 264, 0,
265, 266, 267, 268, 269, 270, 0, 776, 271, 272,
273, 0, 0, 0, 777, 0, 0, 0, 274, 275,
276, 277, 278, 279, 280, 281, 282, 1851, 283, 0,
284, 285, 286, 287, 288, 0, 289, 290, 291, 0,
0, 292, 293, 294, 295, 296, 0, 297, 298, 299,
0, 300, 301, 302, 0, 303, 304, 305, 306, 307,
308, 309, 310, 311, 1667, 312, 0, 313, 314, 315,
316, 0, 317, 0, 318, 778, 0, 779, 319, 320,
321, 0, 322, 323, 0, 324, 325, 0, 326, 327,
328, 329, 330, 780, 331, 332, 333, 334, 0, 335,
336, 337, 338, 339, 340, 0, 341, 781, 342, 343,
344, 345, 346, 347, 348, 0, 349, 0, 350, 782,
783, 351, 784, 352, 353, 354, 355, 356, 0, 0,
357, 358, 785, 359, 786, 0, 360, 361, 362, 0,
0, 363, 364, 365, 366, 367, 368, 369, 370, 371,
372, 373, 374, 375, 376, 377, 378, 787, 379, 380,
381, 382, 0, 383, 384, 788, 385, 0, 386, 387,
388, 389, 390, 391, 0, 392, 1668, 0, 393, 394,
395, 0, 0, 396, 397, 789, 398, 790, 399, 400,
401, 402, 403, 404, 405, 406, 0, 407, 408, 409,
410, 411, 412, 413, 414, 0, 415, 416, 417, 418,
419, 420, 421, 422, 423, 424, 425, 426, 427, 0,
428, 429, 430, 431, 432, 433, 434, 435, 436, 437,
438, 0, 439, 440, 791, 441, 442, 443, 444, 445,
446, 447, 448, 449, 450, 451, 452, 0, 453, 454,
455, 456, 457, 0, 458, 459, 460, 461, 462, 792,
463, 464, 465, 466, 0, 467, 468, 469, 470, 471,
472, 473, 474, 475, 476, 477, 478, 0, 479, 480,
0, 481, 793, 482, 483, 484, 485, 486, 0, 487,
488, 0, 0, 489, 490, 491, 492, 493, 1669, 494,
495, 496, 497, 498, 499, 500, 0, 0, 501, 502,
503, 504, 505, 0, 0, 506, 507, 508, 509, 510,
511, 512, 0, 513, 794, 514, 515, 516, 517, 0,
0, 518, 0, 0, 519, 520, 521, 522, 523, 524,
525, 526, 527, 528, 529, 530, 531, 532, 533, 534,
535, 536, 815, 1398, 593, 0, 0, 0, 646, 658,
1399, 0, 0, 0, 0, 1846, 0, 220, 221, 222,
223, 224, 225, 226, 227, 0, 229, 230, 231, 0,
0, 0, 0, 0, 0, 0, 232, 233, 0, 234,
235, 772, 236, 237, 238, 239, 240, 773, 241, 242,
0, 243, 244, 245, 246, 247, 0, 0, 248, 249,
250, 251, 252, 0, 253, 254, 255, 256, 257, 0,
774, 0, 258, 259, 260, 261, 775, 262, 263, 264,
0, 265, 266, 267, 268, 269, 270, 0, 776, 271,
272, 273, 0, 0, 0, 777, 0, 0, 0, 274,
275, 276, 277, 278, 279, 280, 281, 282, 0, 283,
0, 284, 285, 286, 287, 288, 0, 289, 290, 291,
0, 0, 292, 293, 294, 295, 296, 0, 297, 298,
299, 0, 300, 301, 302, 0, 303, 304, 305, 306,
307, 308, 309, 310, 311, 1667, 312, 0, 313, 314,
315, 316, 0, 317, 0, 318, 778, 0, 779, 319,
320, 321, 0, 322, 323, 0, 324, 325, 0, 326,
327, 328, 329, 330, 780, 331, 332, 333, 334, 0,
335, 336, 337, 338, 339, 340, 0, 341, 781, 342,
343, 344, 345, 346, 347, 348, 0, 349, 0, 350,
782, 783, 351, 784, 352, 353, 354, 355, 356, 0,
0, 357, 358, 785, 359, 786, 0, 360, 361, 362,
0, 0, 363, 364, 365, 366, 367, 368, 369, 370,
371, 372, 373, 374, 375, 376, 377, 378, 787, 379,
380, 381, 382, 0, 383, 384, 788, 385, 0, 386,
387, 388, 389, 390, 391, 0, 392, 1668, 0, 393,
394, 395, 0, 0, 396, 397, 789, 398, 790, 399,
400, 401, 402, 403, 404, 405, 406, 0, 407, 408,
409, 410, 411, 412, 413, 414, 0, 415, 416, 417,
418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
0, 428, 429, 430, 431, 432, 433, 434, 435, 436,
437, 438, 0, 439, 440, 791, 441, 442, 443, 444,
445, 446, 447, 448, 449, 450, 451, 452, 0, 453,
454, 455, 456, 457, 0, 458, 459, 460, 461, 462,
792, 463, 464, 465, 466, 0, 467, 468, 469, 470,
471, 472, 473, 474, 475, 476, 477, 478, 0, 479,
480, 0, 481, 793, 482, 483, 484, 485, 486, 0,
487, 488, 0, 0, 489, 490, 491, 492, 493, 1669,
494, 495, 496, 497, 498, 499, 500, 0, 0, 501,
502, 503, 504, 505, 0, 0, 506, 507, 508, 509,
510, 511, 512, 0, 513, 794, 514, 515, 516, 517,
0, 0, 518, 0, 0, 519, 520, 521, 522, 523,
524, 525, 526, 527, 528, 529, 530, 531, 532, 533,
534, 535, 536, 815, 0, 593, 0, 0, 0, 0,
658, 1399, 0, 0, 0, 0, 1846, 0, 220, 221,
222, 223, 224, 225, 226, 227, 0, 229, 230, 231,
0, 0, 0, 0, 0, 0, 0, 232, 233, 0,
234, 235, 772, 236, 237, 238, 239, 240, 773, 241,
242, 0, 243, 244, 245, 246, 247, 0, 0, 248,
249, 250, 251, 252, 0, 253, 254, 255, 256, 257,
0, 774, 0, 258, 259, 260, 261, 775, 262, 263,
264, 0, 265, 266, 267, 268, 269, 270, 0, 776,
271, 272, 273, 0, 0, 0, 777, 0, 0, 0,
274, 275, 276, 277, 278, 279, 280, 281, 282, 1830,
283, 0, 284, 285, 286, 287, 288, 0, 289, 290,
291, 0, 0, 292, 293, 294, 295, 296, 0, 297,
298, 299, 0, 300, 301, 302, 0, 303, 304, 305,
306, 307, 308, 309, 310, 311, 0, 312, 0, 313,
314, 315, 316, 0, 317, 0, 318, 778, 0, 779,
319, 320, 321, 0, 322, 323, 0, 324, 325, 0,
326, 327, 328, 329, 330, 780, 331, 332, 333, 334,
0, 335, 336, 337, 338, 339, 340, 0, 341, 781,
342, 343, 344, 345, 346, 347, 348, 0, 349, 0,
350, 782, 783, 351, 784, 352, 353, 354, 355, 356,
0, 0, 357, 358, 785, 359, 786, 0, 360, 361,
362, 0, 0, 363, 364, 365, 366, 367, 368, 369,
370, 371, 372, 373, 374, 375, 376, 377, 378, 787,
379, 380, 381, 382, 0, 383, 384, 788, 385, 0,
386, 387, 388, 389, 390, 391, 0, 392, 0, 0,
393, 394, 395, 0, 0, 396, 397, 789, 398, 790,
399, 400, 401, 402, 403, 404, 405, 406, 0, 407,
408, 409, 410, 411, 412, 413, 414, 0, 415, 416,
417, 418, 419, 420, 421, 422, 423, 424, 425, 426,
427, 0, 428, 429, 430, 431, 432, 433, 434, 435,
436, 437, 438, 0, 439, 440, 791, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 0,
453, 454, 455, 456, 457, 0, 458, 459, 460, 461,
462, 792, 463, 464, 465, 466, 0, 467, 468, 469,
470, 471, 472, 473, 474, 475, 476, 477, 478, 0,
479, 480, 0, 481, 793, 482, 483, 484, 485, 486,
0, 487, 488, 0, 0, 489, 490, 491, 492, 493,
0, 494, 495, 496, 497, 498, 499, 500, 0, 0,
501, 502, 503, 504, 505, 0, 0, 506, 507, 508,
509, 510, 511, 512, 0, 513, 794, 514, 515, 516,
517, 0, 0, 518, 0, 0, 519, 520, 521, 522,
523, 524, 525, 526, 527, 528, 529, 530, 531, 532,
533, 534, 535, 536, 815, 0, 593, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1236, 0, 220,
221, 222, 223, 224, 225, 226, 227, 0, 229, 230,
231, 0, 0, 0, 0, 0, 0, 0, 232, 233,
0, 234, 235, 772, 236, 237, 238, 239, 240, 773,
241, 242, 0, 243, 244, 245, 246, 247, 0, 0,
248, 249, 250, 251, 252, 0, 253, 254, 255, 256,
257, 0, 774, 0, 258, 259, 260, 261, 775, 262,
263, 264, 0, 265, 266, 267, 268, 269, 270, 0,
776, 271, 272, 273, 0, 0, 0, 777, 0, 0,
0, 274, 275, 276, 277, 278, 279, 280, 281, 282,
0, 283, 0, 284, 285, 286, 287, 288, 0, 289,
290, 291, 0, 0, 292, 293, 294, 295, 296, 0,
297, 298, 299, 0, 300, 301, 302, 0, 303, 304,
305, 306, 307, 308, 309, 310, 311, 0, 312, 0,
313, 314, 315, 316, 0, 317, 0, 318, 778, 0,
779, 319, 320, 321, 0, 322, 323, 0, 324, 325,
0, 326, 327, 328, 329, 330, 780, 331, 332, 333,
334, 0, 335, 336, 337, 338, 339, 340, 0, 341,
781, 342, 343, 344, 345, 346, 347, 348, 0, 349,
0, 350, 782, 783, 351, 784, 352, 353, 354, 355,
356, 0, 0, 357, 358, 785, 359, 786, 0, 360,
361, 362, 0, 0, 363, 364, 365, 366, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
787, 379, 380, 381, 382, 0, 383, 384, 788, 385,
0, 386, 387, 388, 389, 390, 391, 0, 392, 0,
0, 393, 394, 395, 0, 0, 396, 397, 789, 398,
790, 399, 400, 401, 402, 403, 404, 405, 406, 0,
407, 408, 409, 410, 411, 412, 413, 414, 0, 415,
416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
426, 427, 0, 428, 429, 430, 431, 432, 433, 434,
435, 436, 437, 438, 0, 439, 440, 791, 441, 442,
443, 444, 445, 446, 447, 448, 449, 450, 451, 452,
0, 453, 454, 455, 456, 457, 0, 458, 459, 460,
461, 462, 792, 463, 464, 465, 466, 0, 467, 468,
469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
0, 479, 480, 0, 481, 793, 482, 483, 484, 485,
486, 0, 487, 488, 0, 0, 489, 490, 491, 492,
493, 0, 494, 495, 496, 497, 498, 499, 500, 0,
0, 501, 502, 503, 504, 505, 0, 0, 506, 507,
508, 509, 510, 511, 512, 0, 513, 794, 514, 515,
516, 517, 0, 0, 518, 0, 0, 519, 520, 521,
522, 523, 524, 525, 526, 527, 528, 529, 530, 531,
532, 533, 534, 535, 536, 0, 0, 219, 0, 0,
0, 0, 829, 0, 0, 0, 0, 0, 1236, 830,
831, 832, 220, 221, 222, 223, 224, 225, 226, 227,
0, 229, 230, 231, 0, 0, 0, 0, 0, 0,
0, 232, 233, 0, 234, 235, 0, 236, 237, 238,
239, 240, 0, 241, 242, 0, 243, 244, 245, 246,
247, 0, 0, 248, 249, 250, 251, 252, 0, 253,
833, 255, 256, 257, 0, 0, 0, 258, 259, 260,
261, 0, 262, 263, 264, 0, 265, 266, 267, 268,
269, 270, 0, 0, 271, 272, 273, 0, 0, 0,
0, 0, 0, 0, 274, 275, 276, 277, 278, 279,
280, 281, 282, 0, 283, 0, 284, 285, 286, 287,
288, 0, 289, 290, 291, 0, 0, 292, 293, 294,
295, 296, 0, 297, 298, 299, 0, 300, 301, 302,
0, 303, 304, 305, 306, 307, 308, 309, 310, 311,
0, 834, 0, 313, 314, 315, 316, 0, 317, 0,
318, 0, 0, 0, 319, 320, 321, 0, 322, 323,
0, 324, 325, 0, 326, 327, 328, 329, 330, 0,
331, 332, 333, 334, 0, 335, 336, 337, 338, 339,
340, 0, 341, 0, 342, 343, 344, 345, 346, 347,
348, 0, 349, 0, 350, 0, 0, 351, 0, 352,
353, 354, 355, 356, 0, 0, 357, 358, 0, 359,
0, 0, 360, 361, 362, 0, 0, 363, 364, 365,
366, 367, 368, 369, 370, 371, 372, 373, 374, 375,
376, 377, 378, 0, 379, 380, 381, 382, 0, 383,
384, 0, 385, 0, 386, 387, 388, 389, 390, 391,
0, 392, 0, 0, 393, 394, 395, 0, 0, 396,
397, 0, 398, 0, 399, 400, 401, 402, 403, 404,
405, 406, 0, 407, 408, 409, 410, 411, 412, 413,
414, 0, 415, 416, 417, 418, 419, 420, 421, 422,
423, 424, 425, 426, 427, 0, 428, 429, 430, 431,
432, 433, 434, 435, 436, 437, 438, 0, 439, 440,
0, 441, 442, 443, 444, 445, 446, 447, 448, 449,
450, 451, 452, 0, 453, 454, 455, 456, 457, 0,
458, 459, 460, 461, 462, 0, 463, 464, 465, 466,
0, 467, 468, 469, 470, 471, 472, 473, 474, 475,
476, 477, 478, 0, 479, 480, 0, 481, 0, 482,
483, 484, 485, 486, 0, 487, 488, 0, 0, 489,
490, 491, 492, 493, 0, 494, 495, 496, 497, 498,
499, 500, 0, 0, 501, 502, 503, 504, 505, 0,
0, 506, 507, 508, 509, 510, 511, 512, 0, 513,
0, 514, 515, 516, 517, 0, 0, 518, 0, 0,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 531, 532, 533, 534, 535, 536, 0, 0,
0, 835, 836, 837, 0, 838, 839, 840, 841, 842,
843, 844, 219, 0, 0, 0, 0, 829, 0, 0,
0, 0, 0, 0, 830, 831, 832, 220, 221, 222,
223, 224, 225, 226, 227, 0, 229, 230, 231, 0,
0, 0, 0, 0, 0, 0, 232, 233, 0, 234,
235, 0, 236, 237, 238, 239, 240, 0, 241, 242,
0, 243, 244, 245, 246, 247, 0, 0, 248, 249,
250, 251, 252, 0, 253, 936, 255, 256, 257, 0,
0, 0, 258, 259, 260, 261, 0, 262, 263, 264,
0, 265, 266, 267, 268, 269, 270, 0, 0, 271,
272, 273, 0, 0, 0, 0, 0, 0, 0, 274,
275, 276, 277, 278, 279, 280, 281, 282, 0, 283,
0, 284, 285, 286, 287, 288, 0, 289, 290, 291,
0, 0, 292, 293, 294, 295, 296, 0, 297, 298,
299, 0, 300, 301, 302, 0, 303, 304, 305, 306,
307, 308, 309, 310, 311, 0, 937, 0, 313, 314,
315, 316, 0, 317, 0, 318, 0, 0, 0, 319,
320, 321, 0, 322, 323, 0, 324, 325, 0, 326,
327, 328, 329, 330, 0, 331, 332, 333, 334, 0,
335, 336, 337, 338, 339, 340, 0, 341, 0, 342,
343, 344, 345, 346, 347, 348, 0, 349, 0, 350,
0, 0, 351, 0, 352, 353, 354, 355, 356, 0,
0, 357, 358, 0, 359, 0, 0, 360, 361, 362,
0, 0, 363, 364, 365, 366, 367, 368, 369, 370,
371, 372, 373, 374, 375, 376, 377, 378, 0, 379,
380, 381, 382, 0, 383, 384, 0, 385, 0, 386,
387, 388, 389, 390, 391, 0, 392, 0, 0, 393,
394, 395, 0, 0, 396, 397, 0, 398, 0, 399,
400, 401, 402, 403, 404, 405, 406, 0, 407, 408,
409, 410, 411, 412, 413, 414, 0, 415, 416, 417,
418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
0, 428, 429, 430, 431, 432, 433, 434, 435, 436,
437, 438, 0, 439, 440, 0, 441, 442, 443, 444,
445, 446, 447, 448, 449, 450, 451, 452, 0, 453,
454, 455, 456, 457, 0, 458, 459, 460, 461, 462,
0, 463, 464, 465, 466, 0, 467, 468, 469, 470,
471, 472, 473, 474, 475, 476, 477, 478, 0, 479,
480, 0, 481, 0, 482, 483, 484, 485, 486, 0,
487, 488, 0, 0, 489, 490, 491, 492, 493, 0,
494, 495, 496, 497, 498, 499, 500, 0, 0, 501,
502, 503, 504, 505, 0, 0, 506, 507, 508, 509,
510, 511, 512, 0, 513, 0, 514, 515, 516, 517,
0, 0, 518, 0, 0, 519, 520, 521, 522, 523,
524, 525, 526, 527, 528, 529, 530, 531, 532, 533,
534, 535, 536, 0, 0, 0, 835, 836, 837, 0,
838, 839, 840, 841, 842, 843, 844, 219, 0, 0,
0, 0, 829, 0, 0, 0, 0, 0, 0, 830,
831, 832, 220, 221, 222, 223, 224, 225, 226, 227,
0, 229, 230, 231, 0, 0, 0, 0, 0, 0,
0, 232, 233, 0, 234, 235, 0, 236, 237, 238,
239, 240, 0, 241, 242, 0, 243, 244, 245, 246,
247, 0, 0, 248, 249, 250, 251, 252, 0, 253,
1027, 255, 256, 257, 0, 0, 0, 258, 259, 260,
261, 0, 262, 263, 264, 0, 265, 266, 267, 268,
269, 270, 0, 0, 271, 272, 273, 0, 0, 0,
0, 0, 0, 0, 274, 275, 276, 277, 278, 279,
280, 281, 282, 0, 283, 0, 284, 285, 286, 287,
288, 0, 289, 290, 291, 0, 0, 292, 293, 294,
295, 296, 0, 297, 298, 299, 0, 300, 301, 302,
0, 303, 304, 305, 306, 307, 308, 309, 310, 311,
0, 1028, 0, 313, 314, 315, 316, 0, 317, 0,
318, 0, 0, 0, 319, 320, 321, 0, 322, 323,
0, 324, 325, 0, 326, 327, 328, 329, 1029, 0,
331, 332, 333, 334, 0, 335, 336, 337, 338, 339,
340, 0, 341, 0, 342, 343, 344, 345, 346, 347,
348, 0, 349, 0, 350, 0, 0, 351, 0, 352,
353, 354, 355, 356, 0, 0, 357, 358, 0, 359,
0, 0, 360, 361, 362, 0, 0, 363, 364, 365,
366, 367, 368, 369, 370, 371, 372, 373, 374, 375,
376, 377, 378, 0, 379, 380, 381, 382, 0, 383,
384, 0, 385, 0, 386, 387, 388, 389, 390, 391,
0, 392, 0, 0, 393, 394, 395, 0, 0, 396,
397, 0, 398, 0, 399, 400, 401, 402, 403, 404,
405, 406, 0, 407, 408, 409, 410, 411, 412, 413,
414, 0, 415, 416, 417, 418, 419, 420, 421, 422,
423, 424, 425, 426, 427, 0, 428, 429, 430, 431,
432, 433, 434, 435, 436, 437, 438, 0, 439, 440,
0, 441, 442, 443, 444, 445, 446, 447, 448, 449,
450, 451, 452, 0, 453, 454, 455, 456, 457, 0,
458, 459, 460, 461, 462, 0, 463, 464, 465, 466,
0, 467, 468, 469, 470, 471, 472, 473, 474, 475,
476, 477, 478, 0, 479, 480, 0, 481, 0, 482,
483, 484, 485, 486, 0, 487, 488, 0, 0, 489,
490, 491, 492, 493, 0, 494, 495, 496, 497, 498,
499, 500, 0, 0, 501, 502, 503, 504, 505, 0,
0, 506, 507, 508, 509, 510, 511, 512, 0, 513,
0, 514, 515, 516, 517, 0, 0, 518, 0, 0,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 531, 532, 533, 534, 535, 536, 0, 0,
0, 835, 836, 837, 0, 838, 839, 840, 841, 842,
843, 844, 219, 0, 0, 0, 0, 829, 0, 0,
0, 0, 0, 0, 830, 831, 832, 220, 221, 222,
223, 224, 225, 226, 227, 0, 229, 230, 231, 0,
0, 0, 0, 0, 0, 0, 232, 233, 0, 234,
235, 0, 236, 237, 238, 239, 240, 0, 241, 242,
0, 243, 244, 245, 246, 247, 0, 0, 248, 249,
250, 251, 252, 0, 253, 1496, 255, 256, 257, 0,
0, 0, 258, 259, 260, 261, 0, 262, 263, 264,
0, 265, 266, 267, 268, 269, 270, 0, 0, 271,
272, 273, 0, 0, 0, 0, 0, 0, 0, 274,
275, 276, 277, 278, 279, 280, 281, 282, 0, 283,
0, 284, 285, 286, 287, 288, 0, 289, 290, 291,
0, 0, 292, 293, 294, 295, 296, 0, 297, 298,
299, 0, 300, 301, 302, 0, 303, 304, 305, 306,
307, 308, 309, 310, 311, 0, 1497, 0, 313, 314,
315, 316, 0, 317, 0, 318, 0, 0, 0, 319,
320, 321, 0, 322, 323, 0, 324, 325, 0, 326,
327, 328, 329, 330, 0, 331, 332, 333, 334, 0,
335, 336, 337, 338, 339, 340, 0, 341, 0, 342,
343, 344, 345, 346, 347, 348, 0, 349, 0, 350,
0, 0, 351, 0, 352, 353, 354, 355, 356, 0,
0, 357, 358, 0, 359, 0, 0, 360, 361, 362,
0, 0, 363, 364, 365, 366, 367, 368, 369, 370,
371, 372, 373, 374, 375, 376, 377, 378, 0, 379,
380, 381, 382, 0, 383, 384, 0, 385, 0, 386,
387, 388, 389, 390, 391, 0, 392, 0, 0, 393,
394, 395, 0, 0, 396, 397, 0, 398, 0, 399,
400, 401, 402, 403, 404, 405, 406, 0, 407, 408,
409, 410, 411, 412, 413, 414, 0, 415, 416, 417,
418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
0, 428, 429, 430, 431, 432, 433, 434, 435, 436,
437, 438, 0, 439, 440, 0, 441, 442, 443, 444,
445, 446, 447, 448, 449, 450, 451, 452, 0, 453,
454, 455, 456, 457, 0, 458, 459, 460, 461, 462,
0, 463, 464, 465, 466, 0, 467, 468, 469, 470,
471, 472, 473, 474, 475, 476, 477, 478, 0, 479,
480, 0, 481, 0, 482, 483, 484, 485, 486, 0,
487, 488, 0, 0, 489, 490, 491, 492, 493, 0,
494, 495, 496, 497, 498, 499, 500, 0, 0, 501,
502, 503, 504, 505, 0, 0, 506, 507, 508, 509,
510, 511, 512, 0, 513, 0, 514, 515, 516, 517,
0, 0, 518, 0, 0, 519, 520, 521, 522, 523,
524, 525, 526, 527, 528, 529, 530, 531, 532, 533,
534, 535, 536, 0, 0, 0, 835, 836, 837, 0,
838, 839, 840, 841, 842, 843, 844, 219, 0, 0,
0, 0, 829, 0, 0, 0, 0, 0, 0, 830,
831, 832, 220, 221, 222, 223, 224, 225, 226, 227,
0, 229, 230, 231, 0, 0, 0, 0, 0, 0,
0, 232, 233, 0, 234, 235, 0, 236, 237, 238,
239, 240, 0, 241, 242, 0, 243, 244, 245, 246,
247, 0, 0, 248, 249, 250, 251, 252, 0, 253,
254, 255, 256, 257, 0, 0, 0, 258, 259, 260,
261, 0, 262, 263, 264, 0, 265, 266, 267, 268,
269, 270, 0, 0, 271, 272, 273, 0, 0, 0,
0, 0, 0, 0, 274, 275, 276, 277, 278, 279,
280, 281, 282, 0, 283, 0, 284, 285, 286, 287,
288, 0, 289, 290, 291, 0, 0, 292, 293, 294,
295, 296, 0, 297, 298, 299, 0, 300, 301, 302,
0, 303, 304, 305, 306, 307, 308, 309, 310, 311,
0, 312, 0, 313, 314, 315, 316, 0, 317, 0,
318, 0, 0, 0, 319, 320, 321, 0, 322, 323,
0, 324, 325, 0, 326, 327, 328, 329, 330, 0,
331, 332, 333, 334, 0, 335, 336, 337, 338, 339,
340, 0, 341, 0, 342, 343, 344, 345, 346, 347,
348, 0, 349, 0, 350, 0, 0, 351, 0, 352,
353, 354, 355, 356, 0, 0, 357, 358, 0, 359,
0, 0, 360, 361, 362, 0, 0, 363, 364, 365,
366, 367, 368, 369, 370, 371, 372, 373, 374, 375,
376, 377, 378, 0, 379, 380, 381, 382, 0, 383,
384, 0, 385, 0, 386, 387, 388, 389, 390, 391,
0, 392, 0, 0, 393, 394, 395, 0, 0, 396,
397, 0, 398, 0, 399, 400, 401, 402, 403, 404,
405, 406, 0, 407, 408, 409, 410, 411, 412, 413,
414, 0, 415, 416, 417, 418, 419, 420, 421, 422,
423, 424, 425, 426, 427, 0, 428, 429, 430, 431,
432, 433, 434, 435, 436, 437, 438, 0, 439, 440,
0, 441, 442, 443, 444, 445, 446, 447, 448, 449,
450, 451, 452, 0, 453, 454, 455, 456, 457, 0,
458, 459, 460, 461, 462, 0, 463, 464, 465, 466,
0, 467, 468, 469, 470, 471, 472, 473, 474, 475,
476, 477, 478, 0, 479, 480, 0, 481, 0, 482,
483, 484, 485, 486, 0, 487, 488, 0, 0, 489,
490, 491, 492, 493, 0, 494, 495, 496, 497, 498,
499, 500, 0, 0, 501, 502, 503, 504, 505, 0,
0, 506, 507, 508, 509, 510, 511, 512, 0, 513,
0, 514, 515, 516, 517, 0, 0, 518, 0, 0,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 531, 532, 533, 534, 535, 536, 0, 0,
0, 835, 836, 837, 0, 838, 839, 840, 841, 842,
843, 844, 219, 0, 0, 0, 0, 829, 0, 0,
0, 0, 0, 0, 830, 831, 832, 220, 221, 222,
223, 224, 225, 226, 227, 0, 229, 230, 231, 0,
0, 0, 0, 0, 0, 0, 232, 233, 0, 234,
235, 0, 236, 237, 238, 239, 240, 0, 241, 242,
0, 243, 244, 245, 246, 247, 0, 0, 248, 249,
250, 251, 252, 0, 253, 2766, 255, 256, 257, 0,
0, 0, 258, 259, 260, 261, 0, 262, 263, 264,
0, 265, 266, 267, 268, 269, 270, 0, 0, 271,
272, 273, 0, 0, 0, 0, 0, 0, 0, 274,
275, 276, 277, 278, 279, 280, 281, 282, 0, 283,
0, 284, 285, 286, 287, 288, 0, 289, 290, 291,
0, 0, 292, 293, 294, 295, 296, 0, 297, 298,
299, 0, 300, 301, 302, 0, 303, 304, 305, 306,
307, 308, 309, 310, 311, 0, 2767, 0, 313, 314,
315, 316, 0, 317, 0, 318, 0, 0, 0, 319,
320, 321, 0, 322, 323, 0, 324, 325, 0, 326,
327, 328, 329, 330, 0, 331, 332, 333, 334, 0,
335, 336, 337, 338, 339, 340, 0, 341, 0, 342,
343, 344, 345, 346, 347, 348, 0, 349, 0, 350,
0, 0, 351, 0, 352, 353, 354, 355, 356, 0,
0, 357, 358, 0, 359, 0, 0, 360, 361, 362,
0, 0, 363, 364, 365, 366, 367, 368, 369, 370,
371, 372, 373, 374, 375, 376, 377, 378, 0, 379,
380, 381, 382, 0, 383, 384, 0, 385, 0, 386,
387, 388, 389, 390, 391, 0, 392, 0, 0, 393,
394, 395, 0, 0, 396, 397, 0, 398, 0, 399,
400, 401, 402, 403, 404, 405, 406, 0, 407, 408,
409, 410, 411, 412, 413, 414, 0, 415, 416, 417,
418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
0, 428, 429, 430, 431, 432, 433, 434, 435, 436,
437, 438, 0, 439, 440, 0, 441, 442, 443, 444,
445, 446, 447, 448, 449, 450, 451, 452, 0, 453,
454, 455, 456, 457, 0, 458, 459, 460, 461, 462,
0, 463, 464, 465, 466, 0, 467, 468, 469, 470,
471, 472, 473, 474, 475, 476, 477, 478, 0, 479,
480, 0, 481, 0, 482, 483, 484, 485, 486, 0,
487, 488, 0, 0, 489, 490, 491, 492, 493, 0,
494, 495, 496, 497, 498, 499, 500, 0, 0, 501,
502, 503, 504, 505, 0, 0, 506, 507, 508, 509,
510, 511, 512, 0, 513, 0, 514, 515, 516, 517,
0, 0, 518, 0, 0, 519, 520, 521, 522, 523,
524, 525, 526, 527, 528, 529, 530, 531, 532, 533,
534, 535, 536, 0, 0, 0, 835, 836, 837, 0,
838, 839, 840, 841, 842, 843, 844, 219, 0, 0,
0, 0, 829, 0, 0, 0, 0, 0, 0, 830,
831, 832, 220, 221, 222, 223, 224, 225, 226, 227,
0, 229, 230, 231, 0, 0, 0, 0, 0, 0,
0, 232, 233, 0, 234, 235, 0, 236, 237, 238,
239, 240, 0, 241, 242, 0, 243, 244, 245, 246,
247, 0, 0, 248, 249, 250, 251, 252, 0, 253,
254, 255, 256, 257, 0, 0, 0, 258, 259, 260,
261, 0, 262, 263, 264, 0, 265, 266, 267, 268,
269, 270, 0, 0, 271, 272, 273, 0, 0, 0,
0, 0, 0, 0, 274, 275, 276, 277, 278, 279,
280, 281, 282, 0, 283, 0, 284, 285, 286, 287,
288, 0, 289, 290, 291, 0, 0, 292, 293, 294,
295, 296, 0, 297, 298, 299, 0, 300, 301, 302,
0, 303, 304, 305, 306, 307, 308, 309, 310, 311,
0, 312, 0, 313, 314, 315, 316, 0, 317, 0,
318, 0, 0, 0, 319, 320, 321, 0, 322, 323,
0, 324, 325, 0, 326, 327, 328, 329, 330, 0,
331, 332, 333, 334, 0, 335, 336, 337, 338, 339,
340, 0, 341, 0, 342, 343, 344, 345, 346, 347,
348, 0, 349, 0, 350, 0, 0, 351, 0, 352,
353, 354, 355, 356, 0, 0, 357, 358, 0, 359,
0, 0, 360, 361, 362, 0, 0, 363, 364, 365,
366, 367, 368, 369, 370, 371, 372, 373, 374, 375,
376, 377, 378, 0, 379, 380, 381, 382, 0, 383,
384, 0, 385, 0, 386, 387, 388, 389, 390, 391,
0, 392, 0, 0, 4484, 394, 395, 0, 0, 396,
397, 0, 398, 0, 399, 400, 401, 402, 403, 404,
405, 406, 0, 407, 408, 409, 410, 411, 412, 413,
414, 0, 415, 416, 417, 418, 419, 420, 421, 422,
423, 424, 425, 426, 427, 0, 428, 429, 430, 431,
432, 433, 434, 435, 436, 437, 438, 0, 439, 440,
0, 441, 442, 443, 444, 445, 446, 447, 448, 449,
450, 451, 452, 0, 453, 454, 455, 456, 457, 0,
458, 459, 460, 461, 462, 0, 463, 464, 465, 466,
0, 467, 468, 469, 470, 471, 472, 473, 474, 475,
476, 477, 478, 0, 479, 480, 0, 481, 0, 482,
483, 484, 485, 486, 0, 487, 488, 0, 0, 489,
490, 491, 492, 493, 0, 494, 495, 496, 497, 498,
499, 500, 0, 0, 501, 502, 503, 504, 505, 0,
0, 506, 507, 508, 509, 510, 511, 512, 0, 513,
0, 514, 515, 516, 517, 0, 0, 518, 0, 0,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 531, 532, 533, 534, 535, 536, 219, 0,
593, 835, 836, 837, 0, 838, 839, 840, 841, 842,
843, 844, 0, 220, 221, 222, 223, 224, 225, 226,
227, 0, 229, 230, 231, 0, 0, 0, 0, 0,
0, 0, 232, 233, 0, 234, 235, 0, 236, 237,
238, 239, 240, 0, 241, 242, 0, 243, 244, 245,
246, 247, 0, 0, 248, 249, 250, 251, 252, 0,
253, 254, 255, 256, 257, 0, 0, 0, 258, 259,
260, 261, 0, 262, 263, 264, 0, 265, 266, 267,
268, 269, 270, 0, 0, 271, 272, 273, 0, 0,
0, 0, 0, 0, 0, 274, 275, 276, 277, 278,
279, 280, 281, 282, 0, 283, 0, 284, 285, 286,
287, 288, 0, 289, 290, 291, 0, 0, 292, 293,
294, 295, 296, 0, 297, 298, 299, 0, 300, 301,
302, 0, 303, 304, 305, 306, 307, 308, 309, 310,
311, 0, 312, 0, 313, 314, 315, 316, 0, 317,
0, 318, 0, 0, 0, 319, 320, 321, 0, 322,
323, 0, 324, 325, 0, 326, 327, 328, 329, 330,
0, 331, 332, 333, 334, 0, 335, 336, 337, 338,
339, 340, 0, 341, 0, 342, 343, 344, 345, 346,
347, 348, 0, 349, 0, 350, 0, 0, 351, 0,
352, 353, 354, 355, 356, 0, 0, 357, 358, 0,
359, 0, 0, 360, 361, 362, 0, 0, 363, 364,
365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
375, 376, 377, 378, 0, 379, 380, 381, 382, 0,
383, 384, 0, 385, 0, 386, 387, 388, 389, 390,
391, 0, 392, 0, 0, 393, 394, 395, 0, 0,
396, 397, 0, 398, 0, 399, 400, 401, 402, 403,
404, 405, 406, 0, 407, 408, 409, 410, 411, 412,
413, 414, 0, 415, 416, 417, 418, 419, 420, 421,
422, 423, 424, 425, 426, 427, 0, 428, 429, 430,
431, 432, 433, 434, 435, 436, 437, 438, 0, 439,
440, 0, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 0, 453, 454, 455, 456, 457,
0, 458, 459, 460, 461, 462, 0, 463, 464, 465,
466, 0, 467, 468, 469, 470, 471, 472, 473, 474,
475, 476, 477, 478, 0, 479, 480, 0, 481, 0,
482, 483, 484, 485, 486, 0, 487, 488, 0, 0,
489, 490, 491, 492, 493, 0, 494, 495, 496, 497,
498, 499, 500, 0, 0, 501, 502, 503, 504, 505,
0, 0, 506, 507, 508, 509, 510, 511, 512, 0,
513, 0, 514, 515, 516, 517, 0, 0, 518, 0,
0, 519, 520, 521, 522, 523, 524, 525, 526, 527,
528, 529, 530, 531, 532, 533, 534, 535, 536, 1856,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1239, 0, 220, 221, 222, 223, 224, 225,
226, 227, 1857, 229, 230, 231, 1858, 1859, 1860, 1861,
1862, 1863, 1864, 232, 233, 1865, 234, 235, 772, 236,
237, 238, 239, 240, 773, 241, 242, 1866, 243, 244,
245, 246, 247, 1867, 1868, 248, 249, 250, 251, 252,
1869, 253, 254, 255, 256, 257, 1870, 774, 1871, 258,
259, 260, 261, 775, 262, 263, 264, 1872, 265, 266,
267, 268, 269, 270, 1873, 776, 271, 272, 273, 1874,
1875, 1876, 777, 1877, 1878, 1879, 274, 275, 276, 277,
278, 279, 280, 281, 282, 1880, 283, 1881, 284, 285,
286, 287, 288, 1882, 289, 290, 291, 1883, 1884, 292,
293, 294, 295, 296, 1885, 297, 298, 299, 1886, 300,
301, 302, 1887, 303, 304, 305, 306, 307, 308, 309,
310, 311, 1888, 312, 1889, 313, 314, 315, 316, 1890,
317, 1891, 318, 778, 1892, 779, 319, 320, 321, 1893,
322, 323, 1894, 324, 325, 1895, 326, 327, 328, 329,
330, 780, 331, 332, 333, 334, 1896, 335, 336, 337,
338, 339, 340, 1897, 341, 781, 342, 343, 344, 345,
346, 347, 348, 1898, 349, 1899, 350, 782, 783, 351,
784, 352, 353, 354, 355, 356, 1900, 1901, 357, 358,
785, 359, 786, 1902, 360, 361, 362, 1903, 1904, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, 378, 787, 379, 380, 381, 382,
1905, 383, 384, 788, 385, 1906, 386, 387, 388, 389,
390, 391, 1907, 392, 1908, 1909, 393, 394, 395, 1910,
1911, 396, 397, 789, 398, 790, 399, 400, 401, 402,
403, 404, 405, 406, 1912, 407, 408, 409, 410, 411,
412, 413, 414, 1913, 415, 416, 417, 418, 419, 420,
421, 422, 423, 424, 425, 426, 427, 1914, 428, 429,
430, 431, 432, 433, 434, 435, 436, 437, 438, 1915,
439, 440, 791, 441, 442, 443, 444, 445, 446, 447,
448, 449, 450, 451, 452, 1916, 453, 454, 455, 456,
457, 1917, 458, 459, 460, 461, 462, 792, 463, 464,
465, 466, 1918, 467, 468, 469, 470, 471, 472, 473,
474, 475, 476, 477, 478, 1919, 479, 480, 1920, 481,
793, 482, 483, 484, 485, 486, 1921, 487, 488, 1922,
1923, 489, 490, 491, 492, 493, 1924, 494, 495, 496,
497, 498, 499, 500, 1925, 1926, 501, 502, 503, 504,
505, 1927, 1928, 506, 507, 508, 509, 510, 511, 512,
1929, 513, 794, 514, 515, 516, 517, 1930, 1931, 518,
1932, 1933, 519, 520, 521, 522, 523, 524, 525, 526,
527, 528, 529, 530, 531, 532, 533, 534, 535, 536,
219, 0, 0, 0, 0, 0, 0, 0, 0, 1934,
0, 0, 0, 0, 0, 220, 221, 222, 223, 224,
225, 226, 227, 0, 229, 230, 231, 0, 0, 0,
0, 0, 0, 0, 232, 233, 0, 234, 235, 0,
236, 237, 238, 239, 240, 0, 241, 242, 0, 243,
244, 245, 246, 247, 0, 0, 248, 249, 250, 251,
252, 0, 253, 254, 255, 256, 257, 0, 0, 0,
258, 259, 260, 261, 0, 262, 263, 264, 0, 265,
266, 267, 268, 269, 270, 0, 0, 271, 272, 273,
0, 0, 0, 0, 0, 0, 0, 274, 275, 276,
277, 278, 279, 280, 281, 282, 0, 283, 0, 284,
285, 286, 287, 288, 0, 289, 290, 291, 0, 0,
292, 293, 294, 295, 296, 0, 297, 298, 299, 0,
300, 301, 302, 0, 303, 304, 305, 306, 307, 308,
309, 310, 311, 0, 312, 0, 313, 314, 315, 316,
0, 317, 0, 318, 0, 0, 0, 319, 320, 321,
0, 322, 323, 0, 324, 325, 0, 326, 327, 328,
329, 330, 0, 331, 332, 333, 334, 0, 335, 336,
337, 338, 339, 340, 0, 341, 0, 342, 343, 344,
345, 346, 347, 348, 0, 349, 0, 350, 0, 0,
351, 0, 352, 353, 354, 355, 356, 0, 0, 357,
358, 0, 359, 0, 0, 360, 361, 362, 0, 0,
363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
373, 374, 375, 376, 377, 378, 0, 379, 380, 381,
382, 0, 383, 384, 0, 385, 0, 386, 387, 388,
389, 390, 391, 0, 392, 0, 0, 393, 394, 395,
0, 0, 396, 397, 0, 398, 0, 399, 400, 401,
402, 403, 404, 405, 406, 0, 407, 408, 409, 410,
411, 412, 413, 414, 0, 415, 416, 417, 418, 419,
420, 421, 422, 423, 424, 425, 426, 427, 0, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
0, 439, 440, 0, 441, 442, 443, 444, 445, 446,
447, 448, 449, 450, 451, 452, 0, 453, 454, 455,
456, 457, 0, 458, 459, 460, 461, 462, 0, 463,
464, 465, 466, 0, 467, 468, 469, 470, 471, 472,
473, 474, 475, 476, 477, 478, 0, 479, 480, 0,
481, 0, 482, 483, 484, 485, 486, 0, 487, 488,
0, 0, 489, 490, 491, 492, 493, 0, 494, 495,
496, 497, 498, 499, 500, 0, 0, 501, 502, 503,
504, 505, 0, 0, 506, 507, 508, 509, 510, 511,
512, 0, 513, 0, 514, 515, 516, 517, 0, 0,
518, 0, 0, 519, 520, 521, 522, 523, 524, 525,
526, 527, 528, 529, 530, 531, 532, 533, 534, 535,
536, 978, 0, 0, 0, 0, 0, 0, 0, 0,
740, 0, 0, 0, 0, 0, 220, 221, 222, 223,
224, 225, 226, 227, 0, 229, 230, 231, 0, 0,
0, 0, 0, 0, 0, 232, 233, 0, 234, 235,
772, 236, 237, 238, 0, 979, 773, 980, 981, 0,
243, 244, 245, 246, 247, 0, 0, 248, 249, 982,
983, 252, 0, 253, 254, 255, 256, 0, 0, 774,
0, 258, 259, 260, 261, 775, 262, 263, 264, 0,
265, 266, 267, 268, 269, 270, 0, 776, 271, 272,
273, 0, 0, 0, 777, 0, 0, 0, 274, 275,
276, 277, 278, 279, 984, 985, 282, 0, 283, 0,
284, 285, 286, 287, 288, 0, 289, 290, 291, 0,
0, 292, 293, 986, 295, 296, 0, 297, 298, 299,
0, 300, 301, 302, 0, 303, 304, 305, 306, 0,
308, 309, 310, 0, 0, 312, 0, 313, 314, 987,
316, 0, 317, 0, 318, 778, 0, 779, 319, 320,
321, 0, 322, 0, 0, 0, 325, 0, 326, 327,
328, 329, 330, 780, 331, 332, 333, 334, 1994, 335,
336, 337, 338, 339, 340, 0, 341, 781, 1995, 343,
344, 345, 346, 989, 990, 0, 991, 0, 350, 782,
783, 351, 784, 352, 353, 354, 355, 356, 0, 0,
357, 0, 785, 359, 786, 0, 360, 361, 362, 0,
0, 363, 364, 365, 366, 367, 368, 369, 370, 371,
372, 373, 374, 375, 376, 377, 992, 787, 993, 380,
381, 0, 0, 383, 384, 788, 385, 0, 0, 387,
994, 389, 390, 391, 0, 392, 0, 0, 393, 394,
395, 0, 1996, 396, 1997, 789, 398, 790, 0, 400,
401, 402, 403, 404, 405, 406, 0, 407, 408, 0,
410, 0, 412, 413, 414, 0, 415, 416, 417, 418,
419, 420, 421, 422, 995, 424, 425, 426, 427, 0,
428, 429, 430, 431, 432, 433, 434, 435, 436, 437,
438, 0, 439, 440, 791, 441, 442, 443, 0, 445,
446, 447, 448, 449, 450, 451, 452, 0, 453, 454,
455, 456, 457, 0, 458, 459, 1998, 461, 462, 792,
463, 464, 997, 466, 0, 467, 468, 469, 470, 471,
472, 473, 474, 475, 476, 477, 0, 0, 479, 480,
0, 481, 793, 482, 483, 484, 485, 486, 0, 998,
999, 0, 0, 489, 490, 0, 492, 0, 0, 494,
495, 496, 497, 498, 499, 500, 0, 0, 501, 502,
503, 504, 505, 0, 0, 506, 507, 508, 509, 510,
0, 1000, 1999, 513, 794, 514, 515, 516, 517, 0,
0, 518, 0, 0, 519, 520, 521, 522, 523, 524,
0, 0, 0, 0, 0, 0, 0, 2264, 0, 534,
535, 536, 0, 0, 0, 0, 0, 0, 0, 0,
0, 2000, 220, 221, 222, 223, 224, 225, 226, 227,
0, 229, 230, 231, 0, 0, 0, 0, 0, 0,
0, 232, 233, 0, 234, 235, 772, 236, 237, 238,
0, 979, 773, 980, 981, 0, 243, 244, 245, 246,
247, 0, 0, 248, 249, 982, 983, 252, 0, 253,
254, 255, 256, 0, 0, 774, 0, 258, 259, 260,
261, 775, 262, 263, 264, 0, 265, 266, 267, 268,
269, 270, 0, 776, 271, 272, 273, 0, 0, 0,
777, 0, 0, 0, 274, 275, 276, 277, 278, 279,
984, 985, 282, 0, 283, 0, 284, 285, 286, 287,
288, 0, 289, 290, 291, 0, 0, 292, 293, 986,
295, 296, 0, 297, 298, 299, 0, 300, 301, 302,
0, 303, 304, 305, 306, 0, 308, 309, 310, 0,
0, 312, 0, 313, 314, 987, 316, 0, 317, 0,
318, 778, 0, 779, 319, 320, 321, 0, 322, 0,
0, 0, 325, 0, 326, 327, 328, 329, 330, 780,
331, 332, 333, 334, 1994, 335, 336, 337, 338, 339,
340, 0, 341, 781, 1995, 343, 344, 345, 346, 989,
990, 0, 991, 0, 350, 782, 783, 351, 784, 352,
353, 354, 355, 356, 0, 0, 357, 0, 785, 359,
786, 0, 360, 361, 362, 0, 0, 363, 364, 365,
366, 367, 368, 369, 370, 371, 372, 373, 374, 375,
376, 377, 992, 787, 993, 380, 381, 0, 0, 383,
384, 788, 385, 0, 0, 387, 994, 389, 390, 391,
0, 392, 0, 0, 393, 394, 395, 0, 1996, 396,
1997, 789, 398, 790, 0, 400, 401, 402, 403, 404,
405, 406, 0, 407, 408, 0, 410, 0, 412, 413,
414, 0, 415, 416, 417, 418, 419, 420, 421, 422,
995, 424, 425, 426, 427, 0, 428, 429, 430, 431,
432, 433, 434, 435, 436, 437, 438, 0, 439, 440,
791, 441, 442, 443, 0, 445, 446, 447, 448, 449,
450, 451, 452, 0, 453, 454, 455, 456, 457, 0,
458, 459, 1998, 461, 462, 792, 463, 464, 997, 466,
0, 467, 468, 469, 470, 471, 472, 473, 474, 475,
476, 477, 0, 0, 479, 480, 0, 481, 793, 482,
483, 484, 485, 486, 0, 998, 999, 0, 0, 489,
490, 0, 492, 0, 0, 494, 495, 496, 497, 498,
499, 500, 0, 0, 501, 502, 503, 504, 505, 0,
0, 506, 507, 508, 509, 510, 0, 1000, 1999, 513,
794, 514, 515, 516, 517, 0, 0, 518, 0, 0,
519, 520, 521, 522, 523, 524, 0, 0, 0, 0,
0, 0, 0, 219, 0, 534, 535, 536, 0, 0,
0, 0, 0, 0, 0, 0, 0, 2000, 220, 221,
222, 223, 224, 225, 226, 227, 0, 229, 230, 231,
0, 0, 0, 0, 0, 0, 0, 232, 233, 0,
234, 235, 0, 236, 237, 238, 239, 240, 0, 241,
242, 0, 243, 244, 245, 246, 247, 0, 0, 248,
249, 250, 251, 252, 0, 253, 254, 255, 256, 257,
0, 0, 0, 258, 259, 260, 261, 0, 262, 263,
264, 0, 265, 266, 267, 268, 269, 270, 0, 0,
271, 272, 273, 0, 0, 0, 0, 0, 0, 0,
274, 275, 276, 277, 278, 279, 280, 281, 282, 0,
283, 0, 284, 285, 286, 287, 288, 0, 289, 290,
291, 0, 0, 292, 293, 294, 295, 296, 0, 297,
298, 299, 0, 300, 301, 302, 0, 303, 304, 305,
306, 307, 308, 309, 310, 311, 0, 312, 0, 313,
314, 315, 316, 0, 317, 0, 318, 0, 0, 0,
319, 320, 321, 0, 322, 323, 0, 324, 325, 0,
326, 327, 328, 329, 330, 0, 331, 332, 333, 334,
0, 335, 336, 337, 338, 339, 340, 0, 341, 0,
342, 343, 344, 345, 346, 347, 348, 0, 349, 0,
350, 0, 0, 351, 0, 352, 353, 354, 355, 356,
0, 0, 357, 358, 0, 359, 0, 0, 360, 361,
362, 0, 0, 363, 364, 365, 366, 367, 368, 369,
370, 371, 372, 373, 374, 375, 376, 377, 378, 0,
379, 380, 381, 382, 0, 383, 384, 0, 385, 0,
386, 387, 388, 389, 390, 391, 0, 392, 0, 0,
393, 394, 395, 0, 0, 396, 397, 0, 398, 0,
399, 400, 401, 402, 403, 404, 405, 406, 0, 407,
408, 409, 410, 411, 412, 413, 414, 0, 415, 416,
417, 418, 419, 420, 421, 422, 423, 424, 425, 426,
427, 0, 428, 429, 430, 431, 432, 433, 434, 435,
436, 437, 438, 0, 439, 440, 0, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 0,
453, 454, 455, 456, 457, 0, 458, 459, 460, 461,
462, 0, 463, 464, 465, 466, 0, 467, 468, 469,
470, 471, 472, 473, 474, 475, 476, 477, 478, 0,
479, 480, 0, 481, 0, 482, 483, 484, 485, 486,
0, 487, 488, 0, 0, 489, 490, 491, 492, 493,
0, 494, 495, 496, 497, 498, 499, 500, 0, 0,
501, 502, 503, 504, 505, 0, 0, 506, 507, 508,
509, 510, 511, 512, 0, 513, 0, 514, 515, 516,
517, 0, 0, 518, 0, 0, 519, 520, 521, 522,
523, 524, 525, 526, 527, 528, 529, 530, 531, 532,
533, 534, 535, 536, 815, 1398, 593, 0, 0, 0,
646, 0, 0, 4538, 0, 0, 0, 0, 0, 220,
221, 222, 223, 224, 225, 226, 227, 0, 229, 230,
231, 0, 0, 0, 0, 0, 0, 0, 232, 233,
0, 234, 235, 772, 236, 237, 238, 239, 240, 773,
241, 242, 0, 243, 244, 245, 246, 247, 0, 0,
248, 249, 250, 251, 252, 0, 253, 254, 255, 256,
257, 0, 774, 0, 258, 259, 260, 261, 775, 262,
263, 264, 0, 265, 266, 267, 268, 269, 270, 0,
776, 271, 272, 273, 0, 0, 0, 777, 0, 0,
0, 274, 275, 276, 277, 278, 279, 280, 281, 282,
0, 283, 0, 284, 285, 286, 287, 288, 0, 289,
290, 291, 0, 0, 292, 293, 294, 295, 296, 0,
297, 298, 299, 0, 300, 301, 302, 0, 303, 304,
305, 306, 307, 308, 309, 310, 311, 1667, 312, 0,
313, 314, 315, 316, 0, 317, 0, 318, 778, 0,
779, 319, 320, 321, 0, 322, 323, 0, 324, 325,
0, 326, 327, 328, 329, 330, 780, 331, 332, 333,
334, 0, 335, 336, 337, 338, 339, 340, 0, 341,
781, 342, 343, 344, 345, 346, 347, 348, 0, 349,
0, 350, 782, 783, 351, 784, 352, 353, 354, 355,
356, 0, 0, 357, 358, 785, 359, 786, 0, 360,
361, 362, 0, 0, 363, 364, 365, 366, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
787, 379, 380, 381, 382, 0, 383, 384, 788, 385,
0, 386, 387, 388, 389, 390, 391, 0, 392, 1668,
0, 393, 394, 395, 0, 0, 396, 397, 789, 398,
790, 399, 400, 401, 402, 403, 404, 405, 406, 0,
407, 408, 409, 410, 411, 412, 413, 414, 0, 415,
416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
426, 427, 0, 428, 429, 430, 431, 432, 433, 434,
435, 436, 437, 438, 0, 439, 440, 791, 441, 442,
443, 444, 445, 446, 447, 448, 449, 450, 451, 452,
0, 453, 454, 455, 456, 457, 0, 458, 459, 460,
461, 462, 792, 463, 464, 465, 466, 0, 467, 468,
469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
0, 479, 480, 0, 481, 793, 482, 483, 484, 485,
486, 0, 487, 488, 0, 0, 489, 490, 491, 492,
493, 1669, 494, 495, 496, 497, 498, 499, 500, 0,
0, 501, 502, 503, 504, 505, 0, 0, 506, 507,
508, 509, 510, 511, 512, 0, 513, 794, 514, 515,
516, 517, 0, 0, 518, 0, 0, 519, 520, 521,
522, 523, 524, 525, 526, 527, 528, 529, 530, 531,
532, 533, 534, 535, 536, 815, 0, 593, 0, 0,
0, 646, 658, 1399, 0, 0, 0, 0, 0, 0,
220, 221, 222, 223, 224, 225, 226, 227, 0, 229,
230, 231, 0, 0, 0, 0, 0, 0, 0, 232,
233, 0, 234, 235, 772, 236, 237, 238, 239, 240,
773, 241, 242, 0, 243, 244, 245, 246, 247, 0,
0, 248, 249, 250, 251, 252, 0, 253, 254, 255,
256, 257, 0, 774, 0, 258, 259, 260, 261, 775,
262, 263, 264, 0, 265, 266, 267, 268, 269, 270,
0, 776, 271, 272, 273, 0, 0, 0, 777, 0,
0, 0, 274, 275, 276, 277, 278, 279, 280, 281,
282, 2721, 283, 0, 284, 285, 286, 287, 288, 0,
289, 290, 291, 0, 0, 292, 293, 294, 295, 296,
0, 297, 298, 299, 0, 300, 301, 302, 0, 303,
304, 305, 306, 307, 308, 309, 310, 311, 1667, 312,
0, 313, 314, 315, 316, 0, 317, 0, 318, 778,
0, 779, 319, 320, 321, 0, 322, 323, 0, 324,
325, 0, 326, 327, 328, 329, 330, 780, 331, 332,
333, 334, 0, 335, 336, 337, 338, 339, 340, 0,
341, 781, 342, 343, 344, 345, 346, 347, 348, 0,
349, 0, 350, 782, 783, 351, 784, 352, 353, 354,
355, 356, 0, 0, 357, 358, 785, 359, 786, 0,
360, 361, 362, 0, 0, 363, 364, 365, 366, 367,
368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
378, 787, 379, 380, 381, 382, 0, 383, 384, 788,
385, 0, 386, 387, 388, 389, 390, 391, 0, 392,
1668, 0, 393, 394, 395, 0, 0, 396, 397, 789,
398, 790, 399, 400, 401, 402, 403, 404, 405, 406,
0, 407, 408, 409, 410, 411, 412, 413, 414, 0,
415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
425, 426, 427, 0, 428, 429, 430, 431, 432, 433,
434, 435, 436, 437, 438, 0, 439, 440, 791, 441,
442, 443, 444, 445, 446, 447, 448, 449, 450, 451,
452, 0, 453, 454, 455, 456, 457, 0, 458, 459,
460, 461, 462, 792, 463, 464, 465, 466, 0, 467,
468, 469, 470, 471, 472, 473, 474, 475, 476, 477,
478, 0, 479, 480, 0, 481, 793, 482, 483, 484,
485, 486, 0, 487, 488, 0, 0, 489, 490, 491,
492, 493, 1669, 494, 495, 496, 497, 498, 499, 500,
0, 0, 501, 502, 503, 504, 505, 0, 0, 506,
507, 508, 509, 510, 511, 512, 0, 513, 794, 514,
515, 516, 517, 0, 0, 518, 0, 0, 519, 520,
521, 522, 523, 524, 525, 526, 527, 528, 529, 530,
531, 532, 533, 534, 535, 536, 219, 0, 0, 0,
0, 0, 646, 658, 659, 0, 0, 0, 0, 0,
0, 220, 647, 222, 223, 224, 225, 226, 227, 648,
229, 230, 231, 0, 0, 0, 0, 0, 0, 0,
232, 233, 0, 234, 235, 0, 649, 237, 238, 239,
240, 0, 241, 242, 0, 243, 244, 245, 246, 247,
0, 0, 248, 249, 250, 251, 252, 0, 253, 254,
255, 256, 257, 0, 0, 0, 258, 259, 260, 261,
0, 262, 263, 264, 0, 265, 266, 267, 268, 269,
270, 0, 0, 271, 272, 273, 0, 0, 0, 0,
0, 0, 0, 274, 275, 276, 277, 278, 279, 280,
281, 282, 0, 283, 0, 284, 285, 286, 287, 288,
0, 289, 290, 291, 0, 0, 292, 293, 294, 295,
296, 0, 297, 298, 299, 0, 300, 301, 302, 0,
303, 304, 305, 306, 307, 308, 309, 310, 311, 0,
312, 0, 313, 650, 315, 316, 0, 317, 0, 651,
0, 652, 0, 319, 320, 321, 0, 322, 323, 0,
324, 325, 0, 326, 327, 328, 329, 330, 0, 331,
332, 333, 334, 653, 335, 336, 337, 338, 339, 340,
0, 341, 0, 342, 343, 344, 345, 346, 347, 348,
0, 349, 0, 350, 0, 0, 351, 0, 352, 353,
354, 355, 654, 0, 0, 357, 358, 0, 359, 0,
0, 360, 361, 362, 0, 0, 363, 364, 365, 366,
367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
377, 378, 0, 379, 655, 381, 382, 0, 383, 384,
0, 385, 0, 386, 387, 388, 389, 390, 391, 0,
392, 0, 0, 393, 394, 395, 0, 0, 396, 397,
0, 398, 0, 399, 400, 401, 402, 403, 404, 405,
406, 0, 407, 408, 409, 410, 411, 412, 413, 414,
0, 656, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 0, 428, 429, 657, 431, 432,
433, 434, 435, 436, 437, 438, 0, 439, 440, 0,
441, 442, 443, 444, 445, 446, 447, 448, 449, 450,
451, 452, 0, 453, 454, 455, 456, 457, 0, 458,
459, 460, 461, 462, 0, 463, 464, 465, 466, 0,
467, 468, 469, 470, 471, 472, 473, 474, 475, 476,
477, 478, 0, 479, 480, 0, 481, 0, 482, 483,
484, 485, 486, 0, 487, 488, 0, 0, 489, 490,
491, 492, 493, 0, 494, 495, 496, 497, 498, 499,
500, 0, 0, 501, 502, 503, 504, 505, 0, 0,
506, 507, 508, 509, 510, 511, 512, 0, 513, 0,
514, 515, 516, 517, 0, 0, 518, 0, 0, 519,
520, 521, 522, 523, 524, 525, 526, 527, 528, 529,
530, 531, 532, 533, 534, 535, 536, 1856, 4900, 593,
0, 0, 0, 646, 658, 659, 0, 0, 0, 0,
0, 0, 220, 221, 222, 223, 224, 225, 226, 227,
1857, 229, 230, 231, 1858, 1859, 1860, 1861, 1862, 1863,
1864, 232, 233, 1865, 234, 235, 772, 236, 237, 238,
239, 240, 773, 241, 242, 1866, 243, 244, 245, 246,
247, 1867, 1868, 248, 249, 250, 251, 252, 1869, 253,
254, 255, 256, 257, 1870, 774, 1871, 258, 259, 260,
261, 775, 262, 263, 264, 1872, 265, 266, 267, 268,
269, 270, 1873, 776, 271, 272, 273, 1874, 1875, 1876,
777, 1877, 1878, 1879, 274, 275, 276, 277, 278, 279,
280, 281, 282, 1880, 283, 1881, 284, 285, 286, 287,
288, 1882, 289, 290, 291, 1883, 1884, 292, 293, 294,
295, 296, 1885, 297, 298, 299, 1886, 300, 301, 302,
1887, 303, 304, 305, 306, 307, 308, 309, 310, 311,
1888, 312, 1889, 313, 314, 315, 316, 1890, 317, 1891,
318, 778, 1892, 779, 319, 320, 321, 1893, 322, 323,
1894, 324, 325, 1895, 326, 327, 328, 329, 330, 780,
331, 332, 333, 334, 1896, 335, 336, 337, 338, 339,
340, 1897, 341, 781, 342, 343, 344, 345, 346, 347,
348, 1898, 349, 1899, 350, 782, 783, 351, 784, 352,
353, 354, 355, 356, 1900, 1901, 357, 358, 785, 359,
786, 1902, 360, 361, 362, 1903, 1904, 363, 364, 365,
366, 367, 368, 369, 370, 371, 372, 373, 374, 375,
376, 377, 378, 787, 379, 380, 381, 382, 1905, 383,
384, 788, 385, 1906, 386, 387, 388, 389, 390, 391,
1907, 392, 1908, 1909, 393, 394, 395, 1910, 1911, 396,
397, 789, 398, 790, 399, 400, 401, 402, 403, 404,
405, 406, 1912, 407, 408, 409, 410, 411, 412, 413,
414, 1913, 415, 416, 417, 418, 419, 420, 421, 422,
423, 424, 425, 426, 427, 1914, 428, 429, 430, 431,
432, 433, 434, 435, 436, 437, 438, 1915, 439, 440,
791, 441, 442, 443, 444, 445, 446, 447, 448, 449,
450, 451, 452, 1916, 453, 454, 455, 456, 457, 1917,
458, 459, 460, 461, 462, 792, 463, 464, 465, 466,
1918, 467, 468, 469, 470, 471, 472, 473, 474, 475,
476, 477, 478, 1919, 479, 480, 1920, 481, 793, 482,
483, 484, 485, 486, 1921, 487, 488, 1922, 1923, 489,
490, 491, 492, 493, 1924, 494, 495, 496, 497, 498,
499, 500, 1925, 1926, 501, 502, 503, 504, 505, 1927,
1928, 506, 507, 508, 509, 510, 511, 512, 1929, 513,
794, 514, 515, 516, 517, 1930, 1931, 518, 1932, 1933,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 531, 532, 533, 534, 535, 536, 1856, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 220, 221, 222, 223, 224, 225, 226,
227, 1857, 229, 230, 231, 1858, 1859, 1860, 1861, 1862,
1863, 1864, 232, 233, 1865, 234, 235, 772, 236, 237,
238, 239, 240, 773, 241, 242, 1866, 243, 244, 245,
246, 247, 1867, 1868, 248, 249, 250, 251, 252, 1869,
253, 254, 255, 256, 257, 1870, 774, 1871, 258, 259,
260, 261, 775, 262, 263, 264, 1872, 265, 266, 267,
268, 269, 270, 1873, 776, 271, 272, 273, 1874, 1875,
1876, 777, 1877, 1878, 1879, 274, 275, 276, 277, 278,
279, 280, 281, 282, 1880, 283, 1881, 284, 285, 286,
287, 288, 1882, 289, 290, 291, 1883, 1884, 292, 293,
294, 295, 296, 1885, 297, 298, 299, 1886, 300, 301,
302, 1887, 303, 304, 305, 306, 307, 308, 309, 310,
311, 1888, 312, 1889, 313, 314, 315, 316, 1890, 317,
1891, 318, 778, 1892, 779, 319, 320, 321, 1893, 322,
323, 1894, 324, 325, 1895, 326, 327, 328, 329, 330,
780, 331, 332, 333, 334, 1896, 335, 336, 337, 338,
339, 340, 1897, 341, 781, 342, 343, 344, 345, 346,
347, 348, 1898, 349, 1899, 350, 782, 783, 351, 784,
352, 353, 354, 355, 356, 1900, 1901, 357, 358, 785,
359, 786, 1902, 360, 361, 362, 1903, 1904, 363, 364,
365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
375, 376, 377, 378, 787, 379, 380, 381, 382, 1905,
383, 384, 788, 385, 1906, 386, 387, 388, 389, 390,
391, 1907, 392, 1908, 1909, 393, 394, 395, 1910, 1911,
396, 397, 789, 398, 790, 399, 400, 401, 402, 403,
404, 405, 406, 1912, 407, 408, 409, 410, 411, 412,
413, 414, 1913, 415, 416, 417, 418, 419, 420, 421,
422, 423, 424, 425, 426, 427, 1914, 428, 429, 430,
431, 432, 433, 434, 435, 436, 437, 438, 1915, 439,
440, 791, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 1916, 453, 454, 455, 456, 457,
1917, 458, 459, 460, 461, 462, 792, 463, 464, 465,
466, 1918, 467, 468, 469, 470, 471, 472, 473, 474,
475, 476, 477, 478, 1919, 479, 480, 1920, 481, 793,
482, 483, 484, 485, 486, 1921, 487, 488, 1922, 1923,
489, 490, 491, 492, 493, 1924, 494, 495, 496, 497,
498, 499, 500, 1925, 1926, 501, 502, 503, 504, 505,
1927, 1928, 506, 507, 508, 509, 510, 511, 512, 1929,
513, 794, 514, 515, 516, 517, 1930, 1931, 518, 1932,
1933, 519, 520, 521, 522, 523, 524, 525, 526, 527,
528, 529, 530, 531, 532, 533, 534, 535, 536, 1856,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 220, 221, 222, 223, 2830, 225,
226, 227, 1857, 229, 230, 231, 1858, 1859, 1860, 1861,
1862, 1863, 1864, 232, 233, 1865, 234, 235, 772, 236,
237, 238, 239, 240, 773, 241, 242, 1866, 243, 244,
245, 246, 247, 1867, 1868, 248, 249, 250, 251, 252,
1869, 253, 254, 255, 256, 257, 1870, 774, 1871, 258,
259, 260, 261, 775, 262, 263, 264, 1872, 265, 266,
267, 268, 269, 270, 1873, 776, 271, 272, 273, 1874,
1875, 1876, 777, 1877, 1878, 1879, 274, 275, 276, 277,
278, 279, 280, 281, 282, 1880, 283, 1881, 284, 285,
286, 287, 288, 1882, 289, 290, 291, 1883, 1884, 292,
293, 294, 2831, 296, 1885, 297, 298, 299, 1886, 300,
301, 302, 1887, 303, 304, 305, 306, 307, 308, 309,
310, 311, 1888, 312, 1889, 313, 314, 315, 316, 1890,
317, 1891, 318, 778, 1892, 779, 319, 320, 321, 1893,
322, 323, 1894, 324, 325, 1895, 326, 327, 328, 329,
330, 780, 331, 332, 333, 334, 1896, 335, 336, 337,
338, 339, 340, 1897, 341, 781, 342, 343, 344, 345,
346, 347, 348, 1898, 349, 1899, 350, 782, 783, 351,
784, 352, 353, 354, 355, 356, 1900, 1901, 357, 358,
785, 359, 786, 1902, 360, 361, 362, 1903, 1904, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, 378, 787, 379, 380, 381, 382,
1905, 383, 384, 788, 385, 1906, 386, 387, 388, 389,
390, 391, 1907, 392, 1908, 1909, 393, 394, 395, 1910,
1911, 396, 397, 789, 398, 790, 399, 400, 401, 402,
403, 404, 405, 406, 1912, 407, 408, 409, 410, 411,
412, 413, 414, 1913, 415, 416, 417, 418, 419, 420,
421, 422, 423, 424, 425, 426, 427, 1914, 428, 429,
430, 431, 432, 433, 434, 435, 436, 437, 438, 1915,
439, 440, 791, 441, 442, 443, 444, 445, 446, 447,
448, 449, 450, 451, 452, 1916, 453, 454, 455, 456,
457, 1917, 2832, 459, 460, 461, 462, 792, 463, 464,
465, 466, 1918, 467, 468, 469, 470, 471, 472, 473,
474, 475, 476, 477, 478, 1919, 479, 480, 1920, 481,
793, 482, 483, 484, 485, 486, 1921, 487, 488, 1922,
1923, 489, 490, 491, 492, 493, 1924, 494, 495, 496,
497, 498, 499, 500, 1925, 1926, 501, 502, 503, 504,
505, 1927, 1928, 506, 507, 508, 509, 510, 511, 512,
1929, 513, 794, 514, 515, 516, 517, 1930, 1931, 518,
1932, 1933, 519, 520, 521, 522, 523, 524, 525, 526,
527, 528, 529, 530, 531, 532, 533, 534, 535, 536,
771, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 220, 221, 222, 223, 224,
225, 226, 227, 0, 229, 230, 231, 0, 0, 0,
0, 0, 0, 0, 232, 233, 0, 234, 235, 772,
236, 237, 238, 239, 240, 773, 241, 242, 0, 243,
244, 245, 246, 247, 0, 1133, 248, 249, 250, 251,
252, 0, 253, 254, 255, 256, 1136, 0, 1137, 0,
258, 259, 260, 261, 775, 262, 263, 264, 0, 265,
266, 267, 268, 269, 270, 0, 776, 271, 272, 273,
1138, 1139, 1140, 1141, 1142, 1143, 1144, 274, 275, 276,
277, 278, 279, 280, 281, 282, 0, 283, 0, 284,
285, 286, 287, 288, 0, 289, 290, 291, 0, 0,
292, 293, 294, 295, 296, 0, 297, 298, 299, 0,
300, 301, 302, 0, 303, 304, 305, 306, 307, 308,
309, 310, 1148, 0, 312, 0, 313, 314, 315, 316,
0, 317, 0, 318, 778, 0, 779, 319, 320, 321,
0, 322, 1151, 0, 324, 325, 0, 326, 327, 328,
329, 330, 780, 331, 332, 333, 334, 0, 335, 336,
337, 338, 339, 340, 0, 341, 781, 342, 343, 344,
345, 346, 347, 348, 0, 349, 0, 350, 782, 783,
351, 784, 352, 353, 354, 355, 356, 0, 0, 357,
1156, 785, 359, 786, 0, 360, 361, 362, 1157, 1158,
363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
373, 374, 375, 376, 377, 378, 787, 379, 380, 381,
382, 0, 383, 384, 788, 385, 0, 1163, 387, 388,
389, 390, 391, 0, 392, 0, 0, 393, 394, 395,
0, 0, 396, 397, 789, 398, 790, 1166, 400, 401,
402, 403, 404, 405, 406, 0, 407, 408, 1167, 410,
411, 412, 413, 414, 0, 415, 416, 417, 418, 419,
420, 421, 422, 423, 424, 425, 426, 427, 0, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
0, 439, 440, 791, 441, 442, 443, 444, 445, 446,
447, 448, 449, 450, 451, 452, 0, 453, 454, 455,
456, 457, 1170, 458, 459, 460, 461, 462, 792, 463,
464, 465, 466, 0, 467, 468, 469, 470, 471, 472,
473, 474, 475, 476, 477, 1172, 0, 479, 480, 0,
481, 793, 482, 483, 484, 485, 486, 0, 487, 488,
0, 0, 489, 490, 1175, 492, 1176, 0, 494, 495,
496, 497, 498, 499, 500, 0, 0, 501, 502, 503,
504, 505, 1179, 0, 506, 507, 508, 509, 510, 511,
512, 0, 513, 794, 514, 515, 516, 517, 0, 0,
518, 0, 0, 519, 520, 521, 522, 523, 524, 525,
1181, 1182, 1183, 1184, 1185, 1186, 1187, 1188, 534, 535,
536, 815, 0, 593, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 220, 221, 222, 223,
224, 225, 226, 227, 0, 229, 230, 231, 0, 0,
0, 0, 0, 0, 0, 232, 233, 0, 234, 235,
772, 236, 237, 238, 239, 240, 773, 241, 242, 0,
243, 244, 245, 246, 247, 0, 0, 248, 249, 250,
251, 252, 0, 253, 254, 255, 256, 257, 0, 774,
0, 258, 259, 260, 261, 775, 262, 263, 264, 0,
265, 266, 267, 268, 269, 270, 0, 776, 271, 272,
273, 0, 0, 0, 777, 0, 0, 0, 274, 275,
276, 277, 278, 279, 280, 281, 282, 0, 283, 0,
284, 285, 286, 287, 288, 0, 289, 290, 291, 0,
0, 292, 293, 294, 295, 296, 0, 297, 298, 299,
0, 300, 301, 302, 0, 303, 304, 305, 306, 307,
308, 309, 310, 311, 1667, 312, 0, 313, 314, 315,
316, 0, 317, 0, 318, 778, 0, 779, 319, 320,
321, 0, 322, 323, 0, 324, 325, 0, 326, 327,
328, 329, 330, 780, 331, 332, 333, 334, 0, 335,
336, 337, 338, 339, 340, 0, 341, 781, 342, 343,
344, 345, 346, 347, 348, 0, 349, 0, 350, 782,
783, 351, 784, 352, 353, 354, 355, 356, 0, 0,
357, 358, 785, 359, 786, 0, 360, 361, 362, 0,
0, 363, 364, 365, 366, 367, 368, 369, 370, 371,
372, 373, 374, 375, 376, 377, 378, 787, 379, 380,
381, 382, 0, 383, 384, 788, 385, 0, 386, 387,
388, 389, 390, 391, 0, 392, 1668, 0, 393, 394,
395, 0, 0, 396, 397, 789, 398, 790, 399, 400,
401, 402, 403, 404, 405, 406, 0, 407, 408, 409,
410, 411, 412, 413, 414, 0, 415, 416, 417, 418,
419, 420, 421, 422, 423, 424, 425, 426, 427, 0,
428, 429, 430, 431, 432, 433, 434, 435, 436, 437,
438, 0, 439, 440, 791, 441, 442, 443, 444, 445,
446, 447, 448, 449, 450, 451, 452, 0, 453, 454,
455, 456, 457, 0, 458, 459, 460, 461, 462, 792,
463, 464, 465, 466, 0, 467, 468, 469, 470, 471,
472, 473, 474, 475, 476, 477, 478, 0, 479, 480,
0, 481, 793, 482, 483, 484, 485, 486, 0, 487,
488, 0, 0, 489, 490, 491, 492, 493, 1669, 494,
495, 496, 497, 498, 499, 500, 0, 0, 501, 502,
503, 504, 505, 0, 0, 506, 507, 508, 509, 510,
511, 512, 0, 513, 794, 514, 515, 516, 517, 0,
0, 518, 0, 0, 519, 520, 521, 522, 523, 524,
525, 526, 527, 528, 529, 530, 531, 532, 533, 534,
535, 536, 815, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 220, 221, 222,
223, 224, 225, 226, 227, 851, 229, 230, 231, 0,
0, 0, 0, 0, 0, 0, 232, 233, 0, 234,
235, 772, 236, 237, 238, 239, 240, 773, 241, 242,
0, 243, 244, 245, 246, 247, 0, 0, 248, 249,
250, 251, 252, 0, 253, 254, 255, 256, 257, 0,
774, 0, 258, 259, 260, 261, 775, 262, 263, 264,
0, 265, 266, 267, 268, 269, 270, 0, 776, 271,
272, 273, 0, 0, 0, 777, 0, 0, 816, 274,
275, 276, 277, 278, 279, 280, 281, 282, 0, 283,
0, 284, 285, 286, 287, 288, 0, 289, 290, 291,
0, 0, 292, 293, 294, 295, 296, 0, 297, 298,
299, 0, 300, 301, 302, 0, 303, 304, 305, 306,
307, 308, 309, 310, 311, 0, 312, 0, 313, 314,
315, 316, 0, 317, 0, 318, 778, 0, 779, 319,
320, 321, 0, 322, 323, 0, 324, 325, 0, 326,
327, 328, 329, 330, 780, 331, 332, 333, 334, 0,
335, 336, 337, 338, 339, 340, 0, 341, 781, 342,
343, 344, 345, 346, 347, 348, 0, 349, 0, 350,
782, 783, 351, 784, 352, 353, 354, 355, 356, 0,
0, 357, 358, 785, 359, 786, 0, 360, 361, 362,
0, 0, 363, 364, 365, 366, 367, 368, 369, 370,
371, 372, 373, 374, 375, 376, 377, 378, 787, 379,
380, 381, 382, 0, 383, 384, 788, 385, 0, 386,
387, 388, 389, 390, 391, 0, 392, 0, 0, 393,
394, 395, 0, 0, 396, 397, 789, 398, 790, 399,
400, 401, 402, 403, 404, 405, 406, 0, 407, 408,
409, 410, 411, 412, 413, 414, 0, 415, 416, 417,
418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
0, 428, 429, 430, 431, 432, 433, 434, 435, 436,
437, 438, 0, 439, 440, 791, 441, 442, 443, 444,
445, 446, 447, 448, 449, 450, 451, 452, 0, 453,
454, 455, 456, 457, 817, 458, 459, 460, 461, 462,
792, 463, 464, 465, 466, 0, 467, 468, 469, 470,
471, 472, 473, 474, 475, 476, 477, 478, 0, 479,
480, 0, 481, 793, 482, 483, 484, 485, 486, 0,
487, 488, 0, 0, 489, 490, 491, 492, 493, 0,
494, 495, 496, 497, 498, 499, 500, 0, 0, 501,
502, 503, 504, 505, 0, 0, 506, 507, 508, 509,
510, 511, 512, 0, 513, 794, 514, 515, 516, 517,
0, 0, 518, 0, 0, 519, 520, 521, 522, 523,
524, 525, 526, 527, 528, 529, 530, 531, 532, 533,
534, 535, 536, 815, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 220, 221,
222, 223, 224, 225, 226, 227, 0, 229, 230, 231,
0, 0, 0, 0, 0, 0, 0, 232, 233, 0,
234, 235, 772, 236, 237, 238, 239, 240, 773, 241,
242, 0, 243, 244, 245, 246, 247, 0, 0, 248,
249, 250, 251, 252, 0, 253, 254, 255, 256, 257,
0, 774, 0, 258, 259, 260, 261, 775, 262, 263,
264, 0, 265, 266, 267, 268, 269, 270, 0, 776,
271, 272, 273, 0, 0, 0, 777, 0, 0, 816,
274, 275, 276, 277, 278, 279, 280, 281, 282, 0,
283, 0, 284, 285, 286, 287, 288, 0, 289, 290,
291, 0, 0, 292, 293, 294, 295, 296, 0, 297,
298, 299, 0, 300, 301, 302, 0, 303, 304, 305,
306, 307, 308, 309, 310, 311, 0, 312, 0, 313,
314, 315, 316, 0, 317, 0, 318, 778, 0, 779,
319, 320, 321, 0, 322, 323, 0, 324, 325, 0,
326, 327, 328, 329, 330, 780, 331, 332, 333, 334,
0, 335, 336, 337, 338, 339, 340, 0, 341, 781,
342, 343, 344, 345, 346, 347, 348, 0, 349, 0,
350, 782, 783, 351, 784, 352, 353, 354, 355, 356,
0, 0, 357, 358, 785, 359, 786, 0, 360, 361,
362, 0, 0, 363, 364, 365, 366, 367, 368, 369,
370, 371, 372, 373, 374, 375, 376, 377, 378, 787,
379, 380, 381, 382, 0, 383, 384, 788, 385, 0,
386, 387, 388, 389, 390, 391, 0, 392, 0, 0,
393, 394, 395, 0, 0, 396, 397, 789, 398, 790,
399, 400, 401, 402, 403, 404, 405, 406, 0, 407,
408, 409, 410, 411, 412, 413, 414, 0, 415, 416,
417, 418, 419, 420, 421, 422, 423, 424, 425, 426,
427, 0, 428, 429, 430, 431, 432, 433, 434, 435,
436, 437, 438, 0, 439, 440, 791, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 0,
453, 454, 455, 456, 457, 817, 458, 459, 460, 461,
462, 792, 463, 464, 465, 466, 0, 467, 468, 469,
470, 471, 472, 473, 474, 475, 476, 477, 478, 0,
479, 480, 0, 481, 793, 482, 483, 484, 485, 486,
0, 487, 488, 0, 0, 489, 490, 491, 492, 493,
0, 494, 495, 496, 497, 498, 499, 500, 0, 0,
501, 502, 503, 504, 505, 2218, 0, 506, 507, 508,
509, 510, 511, 512, 0, 513, 794, 514, 515, 516,
517, 0, 0, 518, 0, 0, 519, 520, 521, 522,
523, 524, 525, 526, 527, 528, 529, 530, 531, 532,
533, 534, 535, 536, 815, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 220,
221, 222, 223, 224, 225, 226, 227, 0, 229, 230,
231, 0, 0, 0, 0, 0, 0, 0, 232, 233,
0, 234, 235, 772, 236, 237, 238, 239, 240, 773,
241, 242, 0, 243, 244, 245, 246, 247, 0, 0,
248, 249, 250, 251, 252, 0, 253, 254, 255, 256,
257, 0, 774, 0, 258, 259, 260, 261, 775, 262,
263, 264, 0, 265, 266, 267, 268, 269, 270, 0,
776, 271, 272, 273, 0, 0, 0, 777, 0, 0,
816, 274, 275, 276, 277, 278, 279, 280, 281, 282,
0, 283, 0, 284, 285, 286, 287, 288, 0, 289,
290, 291, 0, 0, 292, 293, 294, 295, 296, 0,
297, 298, 299, 0, 300, 301, 302, 0, 303, 304,
305, 306, 307, 308, 309, 310, 311, 0, 312, 0,
313, 314, 315, 316, 0, 317, 0, 318, 778, 0,
779, 319, 320, 321, 0, 322, 323, 3127, 324, 325,
0, 326, 327, 328, 329, 330, 780, 331, 332, 333,
334, 0, 335, 336, 337, 338, 339, 340, 0, 341,
781, 342, 343, 344, 345, 346, 347, 348, 0, 349,
0, 350, 782, 783, 351, 784, 352, 353, 354, 355,
356, 0, 0, 357, 358, 785, 359, 786, 0, 360,
361, 362, 0, 0, 363, 364, 365, 366, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
787, 379, 380, 381, 382, 0, 383, 384, 788, 385,
0, 386, 387, 388, 389, 390, 391, 0, 392, 0,
0, 393, 394, 395, 0, 0, 396, 397, 789, 398,
790, 399, 400, 401, 402, 403, 404, 405, 406, 0,
407, 408, 409, 410, 411, 412, 413, 414, 0, 415,
416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
426, 427, 0, 428, 429, 430, 431, 432, 433, 434,
435, 436, 437, 438, 0, 439, 440, 791, 441, 442,
443, 444, 445, 446, 447, 448, 449, 450, 451, 452,
0, 453, 454, 455, 456, 457, 817, 458, 459, 460,
461, 462, 792, 463, 464, 465, 466, 0, 467, 468,
469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
0, 479, 480, 0, 481, 793, 482, 483, 484, 485,
486, 0, 487, 488, 0, 0, 489, 490, 491, 492,
493, 0, 494, 495, 496, 497, 498, 499, 500, 0,
0, 501, 502, 503, 504, 505, 0, 0, 506, 507,
508, 509, 510, 511, 512, 0, 513, 794, 514, 515,
516, 517, 0, 0, 518, 0, 0, 519, 520, 521,
522, 523, 524, 525, 526, 527, 528, 529, 530, 531,
532, 533, 534, 535, 536, 815, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
220, 221, 222, 223, 224, 225, 226, 227, 0, 229,
230, 231, 0, 0, 0, 0, 0, 0, 0, 232,
233, 0, 234, 235, 772, 236, 237, 238, 239, 240,
773, 241, 242, 0, 243, 244, 245, 246, 247, 0,
0, 248, 249, 250, 251, 252, 0, 253, 254, 255,
256, 257, 0, 774, 0, 258, 259, 260, 261, 775,
262, 263, 264, 0, 265, 266, 267, 268, 269, 270,
0, 776, 271, 272, 273, 0, 0, 0, 777, 0,
0, 816, 274, 275, 276, 277, 278, 279, 280, 281,
282, 0, 283, 0, 284, 285, 286, 287, 288, 0,
289, 290, 291, 0, 0, 292, 293, 294, 295, 296,
0, 297, 298, 299, 0, 300, 301, 302, 0, 303,
304, 305, 306, 307, 308, 309, 310, 311, 0, 312,
0, 313, 314, 315, 316, 0, 317, 0, 318, 778,
0, 779, 319, 320, 321, 0, 322, 323, 0, 324,
325, 0, 326, 327, 328, 329, 330, 780, 331, 332,
333, 334, 0, 335, 336, 337, 338, 339, 340, 0,
341, 781, 342, 343, 344, 345, 346, 347, 348, 0,
349, 0, 350, 782, 783, 351, 784, 352, 353, 354,
355, 356, 0, 0, 357, 358, 785, 359, 786, 0,
360, 361, 362, 0, 0, 363, 364, 365, 366, 367,
368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
378, 787, 379, 380, 381, 382, 0, 383, 384, 788,
385, 0, 386, 387, 388, 389, 390, 391, 0, 392,
0, 0, 393, 394, 395, 0, 0, 396, 397, 789,
398, 790, 399, 400, 401, 402, 403, 404, 405, 406,
0, 407, 408, 409, 410, 411, 412, 413, 414, 0,
415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
425, 426, 427, 0, 428, 429, 430, 431, 432, 433,
434, 435, 436, 437, 438, 0, 439, 440, 791, 441,
442, 443, 444, 445, 446, 447, 448, 449, 450, 451,
452, 0, 453, 454, 455, 456, 457, 817, 458, 459,
460, 461, 462, 792, 463, 464, 465, 466, 0, 467,
468, 469, 470, 471, 472, 473, 474, 475, 476, 477,
478, 0, 479, 480, 0, 481, 793, 482, 483, 484,
485, 486, 0, 487, 488, 0, 0, 489, 490, 491,
492, 493, 0, 494, 495, 496, 497, 498, 499, 500,
0, 0, 501, 502, 503, 504, 505, 0, 0, 506,
507, 508, 509, 510, 511, 512, 0, 513, 794, 514,
515, 516, 517, 0, 0, 518, 0, 0, 519, 520,
521, 522, 523, 524, 525, 526, 527, 528, 529, 530,
531, 532, 533, 534, 535, 536, 815, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 220, 221, 222, 223, 224, 225, 226, 227, 0,
229, 230, 231, 0, 0, 0, 0, 0, 0, 0,
232, 233, 0, 234, 235, 772, 236, 237, 238, 239,
240, 773, 241, 242, 0, 243, 244, 245, 246, 247,
0, 0, 248, 249, 250, 251, 252, 0, 253, 254,
255, 256, 257, 0, 774, 0, 258, 259, 260, 261,
775, 262, 263, 264, 0, 265, 266, 267, 268, 269,
270, 0, 776, 271, 272, 273, 0, 0, 0, 777,
0, 0, 816, 274, 275, 276, 277, 278, 279, 280,
281, 282, 0, 283, 0, 284, 285, 286, 287, 288,
0, 289, 290, 291, 0, 0, 292, 293, 294, 295,
296, 0, 297, 298, 299, 0, 300, 301, 302, 0,
303, 304, 305, 306, 307, 308, 309, 310, 311, 0,
312, 0, 313, 314, 315, 316, 0, 317, 0, 318,
778, 0, 779, 319, 320, 321, 0, 322, 323, 0,
324, 325, 0, 326, 327, 328, 329, 330, 780, 331,
332, 333, 334, 0, 335, 336, 337, 338, 339, 340,
0, 341, 781, 342, 343, 344, 345, 346, 347, 348,
0, 349, 0, 350, 782, 783, 351, 784, 352, 353,
354, 355, 356, 0, 0, 357, 358, 785, 359, 786,
0, 360, 361, 362, 0, 0, 363, 364, 365, 366,
868, 368, 369, 370, 371, 372, 373, 374, 375, 376,
377, 378, 787, 379, 380, 381, 382, 0, 383, 384,
788, 385, 0, 386, 387, 388, 389, 390, 391, 0,
392, 0, 0, 393, 394, 395, 0, 0, 396, 397,
789, 398, 790, 399, 400, 401, 402, 403, 404, 405,
406, 0, 407, 408, 409, 410, 411, 412, 413, 414,
0, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 0, 428, 429, 430, 431, 432,
433, 434, 435, 436, 437, 438, 0, 439, 440, 791,
441, 442, 443, 444, 445, 446, 447, 448, 449, 450,
451, 452, 0, 453, 454, 455, 456, 457, 817, 458,
459, 460, 461, 462, 792, 463, 464, 465, 466, 0,
467, 468, 469, 470, 471, 472, 473, 474, 475, 476,
477, 478, 0, 479, 480, 0, 481, 793, 482, 483,
484, 485, 486, 0, 487, 488, 0, 0, 489, 490,
491, 492, 493, 0, 494, 495, 496, 497, 498, 499,
500, 0, 0, 501, 502, 503, 504, 505, 0, 0,
506, 507, 508, 509, 510, 511, 512, 0, 513, 794,
514, 515, 516, 517, 0, 0, 518, 0, 0, 519,
520, 521, 522, 523, 524, 525, 526, 527, 528, 529,
530, 531, 532, 533, 534, 535, 536, 815, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 220, 221, 222, 223, 224, 225, 226, 227,
0, 229, 230, 231, 0, 0, 0, 0, 0, 0,
0, 232, 233, 0, 234, 235, 772, 236, 237, 238,
239, 240, 773, 241, 242, 0, 243, 244, 245, 246,
247, 0, 0, 248, 249, 250, 251, 252, 0, 253,
254, 255, 256, 257, 0, 774, 0, 258, 259, 260,
261, 775, 262, 263, 264, 0, 265, 266, 267, 268,
269, 270, 0, 776, 271, 272, 273, 0, 0, 0,
777, 0, 0, 816, 274, 275, 276, 277, 278, 279,
280, 281, 282, 0, 283, 0, 284, 285, 286, 287,
288, 0, 289, 290, 291, 0, 0, 292, 293, 294,
295, 296, 0, 297, 298, 299, 0, 300, 301, 302,
0, 303, 304, 305, 306, 307, 308, 309, 310, 311,
0, 312, 0, 313, 314, 315, 316, 0, 317, 0,
318, 778, 0, 779, 319, 320, 321, 0, 322, 323,
0, 324, 325, 0, 326, 327, 328, 329, 330, 780,
331, 332, 333, 334, 0, 335, 336, 337, 338, 339,
340, 0, 341, 781, 342, 343, 344, 345, 346, 347,
348, 0, 349, 0, 350, 782, 783, 351, 784, 352,
353, 354, 355, 356, 0, 0, 357, 358, 785, 359,
786, 0, 360, 361, 362, 0, 0, 363, 364, 365,
366, 950, 368, 369, 370, 371, 372, 373, 374, 375,
376, 377, 378, 787, 379, 380, 381, 382, 0, 383,
384, 788, 385, 0, 386, 387, 388, 389, 390, 391,
0, 392, 0, 0, 393, 394, 395, 0, 0, 396,
397, 789, 398, 790, 399, 400, 401, 402, 403, 404,
405, 406, 0, 407, 408, 409, 410, 411, 412, 413,
414, 0, 415, 416, 417, 418, 419, 420, 421, 422,
423, 424, 425, 426, 427, 0, 428, 429, 430, 431,
432, 433, 434, 435, 436, 437, 438, 0, 439, 440,
791, 441, 442, 443, 444, 445, 446, 447, 448, 449,
450, 451, 452, 0, 453, 454, 455, 456, 457, 817,
458, 459, 460, 461, 462, 792, 463, 464, 465, 466,
0, 467, 468, 469, 470, 471, 472, 473, 474, 475,
476, 477, 478, 0, 479, 480, 0, 481, 793, 482,
483, 484, 485, 486, 0, 487, 488, 0, 0, 489,
490, 491, 492, 493, 0, 494, 495, 496, 497, 498,
499, 500, 0, 0, 501, 502, 503, 504, 505, 0,
0, 506, 507, 508, 509, 510, 511, 512, 0, 513,
794, 514, 515, 516, 517, 0, 0, 518, 0, 0,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 531, 532, 533, 534, 535, 536, 815, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 220, 221, 222, 223, 224, 225, 226,
227, 0, 229, 230, 231, 0, 0, 0, 0, 0,
0, 0, 232, 233, 0, 234, 235, 772, 236, 237,
238, 239, 240, 773, 241, 242, 0, 243, 244, 245,
246, 247, 0, 0, 248, 249, 250, 251, 252, 0,
253, 254, 255, 256, 257, 0, 774, 0, 258, 259,
260, 261, 775, 262, 263, 264, 0, 265, 266, 267,
268, 269, 270, 0, 776, 271, 272, 273, 0, 0,
0, 777, 0, 0, 816, 274, 275, 276, 277, 278,
279, 280, 281, 282, 0, 283, 0, 284, 285, 286,
287, 288, 0, 289, 290, 291, 0, 0, 292, 293,
294, 295, 296, 0, 297, 298, 299, 0, 300, 301,
302, 0, 303, 304, 305, 306, 307, 308, 309, 310,
311, 0, 312, 0, 313, 314, 315, 316, 0, 317,
0, 318, 778, 0, 779, 319, 320, 321, 0, 322,
323, 0, 324, 325, 0, 326, 327, 328, 329, 1022,
780, 331, 332, 333, 334, 0, 335, 336, 337, 338,
339, 340, 0, 341, 781, 342, 343, 344, 345, 346,
347, 348, 0, 349, 0, 350, 782, 783, 351, 784,
352, 353, 354, 355, 356, 0, 0, 357, 358, 785,
359, 786, 0, 360, 361, 362, 0, 0, 363, 364,
365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
375, 376, 377, 378, 787, 379, 380, 381, 382, 0,
383, 384, 788, 385, 0, 386, 387, 388, 389, 390,
391, 0, 392, 0, 0, 393, 394, 395, 0, 0,
396, 397, 789, 398, 790, 399, 400, 401, 402, 403,
404, 405, 406, 0, 407, 408, 409, 410, 411, 412,
413, 414, 0, 415, 416, 417, 418, 419, 420, 421,
422, 423, 424, 425, 426, 427, 0, 428, 429, 430,
431, 432, 433, 434, 435, 436, 437, 438, 0, 439,
440, 791, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 0, 453, 454, 455, 456, 457,
817, 458, 459, 460, 461, 462, 792, 463, 464, 465,
466, 0, 467, 468, 469, 470, 471, 472, 473, 474,
475, 476, 477, 478, 0, 479, 480, 0, 481, 793,
482, 483, 484, 485, 486, 0, 487, 488, 0, 0,
489, 490, 491, 492, 493, 0, 494, 495, 496, 497,
498, 499, 500, 0, 0, 501, 502, 503, 504, 505,
0, 0, 506, 507, 508, 509, 510, 511, 512, 0,
513, 794, 514, 515, 516, 517, 0, 0, 518, 0,
0, 519, 520, 521, 522, 523, 524, 525, 526, 527,
528, 529, 530, 531, 532, 533, 534, 535, 536, 815,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 220, 221, 222, 223, 224, 225,
226, 227, 0, 229, 230, 231, 0, 0, 0, 0,
0, 0, 0, 232, 233, 0, 234, 235, 772, 236,
237, 238, 239, 240, 773, 241, 242, 0, 243, 244,
245, 246, 247, 0, 0, 248, 249, 250, 251, 252,
0, 253, 254, 255, 256, 257, 0, 774, 0, 258,
259, 260, 261, 775, 262, 263, 264, 0, 265, 266,
267, 268, 269, 270, 0, 776, 271, 272, 273, 0,
0, 0, 777, 0, 0, 816, 274, 275, 276, 277,
278, 279, 280, 281, 282, 0, 283, 0, 284, 285,
286, 287, 288, 0, 289, 290, 291, 0, 0, 292,
293, 294, 295, 296, 0, 297, 298, 299, 0, 300,
301, 302, 0, 303, 304, 305, 306, 307, 308, 309,
310, 311, 0, 312, 0, 313, 314, 315, 316, 0,
317, 0, 318, 778, 0, 779, 319, 320, 321, 0,
322, 323, 0, 324, 325, 0, 326, 327, 328, 329,
1034, 780, 331, 332, 333, 334, 0, 335, 336, 337,
338, 339, 340, 0, 341, 781, 342, 343, 344, 345,
346, 347, 348, 0, 349, 0, 350, 782, 783, 351,
784, 352, 353, 354, 355, 356, 0, 0, 357, 358,
785, 359, 786, 0, 360, 361, 362, 0, 0, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, 378, 787, 379, 380, 381, 382,
0, 383, 384, 788, 385, 0, 386, 387, 388, 389,
390, 391, 0, 392, 0, 0, 393, 394, 395, 0,
0, 396, 397, 789, 398, 790, 399, 400, 401, 402,
403, 404, 405, 406, 0, 407, 408, 409, 410, 411,
412, 413, 414, 0, 415, 416, 417, 418, 419, 420,
421, 422, 423, 424, 425, 426, 427, 0, 428, 429,
430, 431, 432, 433, 434, 435, 436, 437, 438, 0,
439, 440, 791, 441, 442, 443, 444, 445, 446, 447,
448, 449, 450, 451, 452, 0, 453, 454, 455, 456,
457, 817, 458, 459, 460, 461, 462, 792, 463, 464,
465, 466, 0, 467, 468, 469, 470, 471, 472, 473,
474, 475, 476, 477, 478, 0, 479, 480, 0, 481,
793, 482, 483, 484, 485, 486, 0, 487, 488, 0,
0, 489, 490, 491, 492, 493, 0, 494, 495, 496,
497, 498, 499, 500, 0, 0, 501, 502, 503, 504,
505, 0, 0, 506, 507, 508, 509, 510, 511, 512,
0, 513, 794, 514, 515, 516, 517, 0, 0, 518,
0, 0, 519, 520, 521, 522, 523, 524, 525, 526,
527, 528, 529, 530, 531, 532, 533, 534, 535, 536,
815, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 220, 221, 222, 223, 224,
225, 226, 227, 0, 229, 230, 231, 0, 0, 0,
0, 0, 0, 0, 232, 233, 0, 234, 235, 772,
236, 237, 238, 239, 240, 773, 241, 242, 0, 243,
244, 245, 246, 247, 0, 0, 248, 249, 250, 251,
252, 0, 253, 254, 255, 256, 257, 0, 774, 0,
258, 259, 260, 261, 775, 262, 263, 264, 0, 265,
266, 267, 268, 269, 270, 0, 776, 271, 272, 273,
0, 0, 0, 777, 0, 0, 816, 274, 275, 276,
277, 278, 279, 280, 281, 282, 0, 283, 0, 284,
285, 286, 287, 288, 0, 289, 290, 291, 0, 0,
292, 293, 294, 295, 296, 0, 297, 298, 299, 0,
300, 301, 302, 0, 303, 304, 305, 306, 307, 308,
309, 310, 311, 0, 312, 0, 313, 314, 315, 316,
0, 317, 0, 318, 778, 0, 779, 319, 320, 321,
0, 322, 323, 0, 324, 325, 0, 326, 327, 328,
329, 1048, 780, 331, 332, 333, 334, 0, 335, 336,
337, 338, 339, 340, 0, 341, 781, 342, 343, 344,
345, 346, 347, 348, 0, 349, 0, 350, 782, 783,
351, 784, 352, 353, 354, 355, 356, 0, 0, 357,
358, 785, 359, 786, 0, 360, 361, 362, 0, 0,
363, 364, 365, 366, 1049, 368, 369, 370, 371, 372,
373, 374, 375, 376, 377, 378, 787, 379, 380, 381,
382, 0, 383, 384, 788, 385, 0, 386, 387, 388,
389, 390, 391, 0, 392, 0, 0, 393, 394, 395,
0, 0, 396, 397, 789, 398, 790, 399, 400, 401,
402, 403, 404, 405, 406, 0, 407, 408, 409, 410,
411, 412, 413, 414, 0, 415, 416, 417, 418, 419,
420, 421, 422, 423, 424, 425, 426, 427, 0, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
0, 439, 440, 791, 441, 442, 443, 444, 445, 446,
447, 448, 449, 450, 451, 452, 0, 453, 454, 455,
456, 457, 817, 458, 459, 460, 461, 462, 792, 463,
464, 465, 466, 0, 467, 468, 469, 470, 471, 472,
473, 474, 475, 476, 477, 478, 0, 479, 480, 0,
481, 793, 482, 483, 484, 485, 486, 0, 487, 488,
0, 0, 489, 490, 491, 492, 493, 0, 494, 495,
496, 497, 498, 499, 500, 0, 0, 501, 502, 503,
504, 505, 0, 0, 506, 507, 508, 509, 510, 511,
512, 0, 513, 794, 514, 515, 516, 517, 0, 0,
518, 0, 0, 519, 520, 521, 522, 523, 524, 525,
526, 527, 528, 529, 530, 531, 532, 533, 534, 535,
536, 815, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 220, 221, 222, 223,
224, 225, 226, 227, 0, 229, 230, 231, 3, 4,
0, 0, 0, 0, 0, 232, 233, 0, 234, 235,
772, 236, 237, 238, 239, 240, 773, 241, 242, 0,
243, 244, 245, 246, 247, 0, 0, 248, 249, 250,
251, 252, 0, 253, 254, 255, 256, 257, 0, 774,
0, 258, 259, 260, 261, 775, 262, 263, 264, 0,
265, 266, 267, 268, 269, 270, 0, 776, 271, 272,
273, 0, 0, 0, 777, 0, 0, 0, 274, 275,
276, 277, 278, 279, 280, 281, 282, 0, 283, 0,
284, 285, 286, 287, 288, 0, 289, 290, 291, 0,
0, 292, 293, 294, 295, 296, 0, 297, 298, 299,
0, 300, 301, 302, 0, 303, 304, 305, 306, 307,
308, 309, 310, 311, 0, 312, 0, 313, 314, 315,
316, 0, 317, 0, 318, 778, 0, 779, 319, 320,
321, 0, 322, 323, 0, 324, 325, 0, 326, 327,
328, 329, 330, 780, 331, 332, 333, 334, 0, 335,
336, 337, 338, 339, 340, 0, 341, 781, 342, 343,
344, 345, 346, 347, 348, 0, 349, 0, 350, 782,
783, 351, 784, 352, 353, 354, 355, 356, 0, 0,
357, 358, 785, 359, 786, 0, 360, 361, 362, 0,
0, 363, 364, 365, 366, 367, 368, 369, 370, 371,
372, 373, 374, 375, 376, 377, 378, 787, 379, 380,
381, 382, 0, 383, 384, 788, 385, 0, 386, 387,
388, 389, 390, 391, 0, 392, 0, 0, 393, 394,
395, 0, 0, 396, 397, 789, 398, 790, 399, 400,
401, 402, 403, 404, 405, 406, 0, 407, 408, 409,
410, 411, 412, 413, 414, 0, 415, 416, 417, 418,
419, 420, 421, 422, 423, 424, 425, 426, 427, 0,
428, 429, 430, 431, 432, 433, 434, 435, 436, 437,
438, 0, 439, 440, 791, 441, 442, 443, 444, 445,
446, 447, 448, 449, 450, 451, 452, 0, 453, 454,
455, 456, 457, 0, 458, 459, 460, 461, 462, 792,
463, 464, 465, 466, 0, 467, 468, 469, 470, 471,
472, 473, 474, 475, 476, 477, 478, 0, 479, 480,
0, 481, 793, 482, 483, 484, 485, 486, 0, 487,
488, 0, 0, 489, 490, 491, 492, 493, 0, 494,
495, 496, 497, 498, 499, 500, 0, 0, 501, 502,
503, 504, 505, 0, 0, 506, 507, 508, 509, 510,
511, 512, 0, 513, 794, 514, 515, 516, 517, 0,
0, 518, 0, 0, 519, 520, 521, 522, 523, 524,
525, 526, 527, 528, 529, 530, 531, 532, 533, 534,
535, 536, 815, 0, 593, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 220, 221, 222,
223, 224, 225, 226, 227, 0, 229, 230, 231, 0,
0, 0, 0, 0, 0, 0, 232, 233, 0, 234,
235, 772, 236, 237, 238, 239, 240, 773, 241, 242,
0, 243, 244, 245, 246, 247, 0, 0, 248, 249,
250, 251, 252, 0, 253, 254, 255, 256, 257, 0,
774, 0, 258, 259, 260, 261, 775, 262, 263, 264,
0, 265, 266, 267, 268, 269, 270, 0, 776, 271,
272, 273, 0, 0, 0, 777, 0, 0, 0, 274,
275, 276, 277, 278, 279, 280, 281, 282, 0, 283,
0, 284, 285, 286, 287, 288, 0, 289, 290, 291,
0, 0, 292, 293, 294, 295, 296, 0, 297, 298,
299, 0, 300, 301, 302, 0, 303, 304, 305, 306,
307, 308, 309, 310, 311, 0, 312, 0, 313, 314,
315, 316, 0, 317, 0, 318, 778, 0, 779, 319,
320, 321, 0, 322, 323, 0, 324, 325, 0, 326,
327, 328, 329, 330, 780, 331, 332, 333, 334, 0,
335, 336, 337, 338, 339, 340, 0, 341, 781, 342,
343, 344, 345, 346, 347, 348, 0, 349, 0, 350,
782, 783, 351, 784, 352, 353, 354, 355, 356, 0,
0, 357, 358, 785, 359, 786, 0, 360, 361, 362,
0, 0, 363, 364, 365, 366, 367, 368, 369, 370,
371, 372, 373, 374, 375, 376, 377, 378, 787, 379,
380, 381, 382, 0, 383, 384, 788, 385, 0, 386,
387, 388, 389, 390, 391, 0, 392, 0, 0, 393,
394, 395, 0, 0, 396, 397, 789, 398, 790, 399,
400, 401, 402, 403, 404, 405, 406, 0, 407, 408,
409, 410, 411, 412, 413, 414, 0, 415, 416, 417,
418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
0, 428, 429, 430, 431, 432, 433, 434, 435, 436,
437, 438, 0, 439, 440, 791, 441, 442, 443, 444,
445, 446, 447, 448, 449, 450, 451, 452, 0, 453,
454, 455, 456, 457, 0, 458, 459, 460, 461, 462,
792, 463, 464, 465, 466, 0, 467, 468, 469, 470,
471, 472, 473, 474, 475, 476, 477, 478, 0, 479,
480, 0, 481, 793, 482, 483, 484, 485, 486, 0,
487, 488, 0, 0, 489, 490, 491, 492, 493, 0,
494, 495, 496, 497, 498, 499, 500, 0, 0, 501,
502, 503, 504, 505, 0, 0, 506, 507, 508, 509,
510, 511, 512, 0, 513, 794, 514, 515, 516, 517,
0, 0, 518, 0, 0, 519, 520, 521, 522, 523,
524, 525, 526, 527, 528, 529, 530, 531, 532, 533,
534, 535, 536, 815, 0, 593, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 220, 221,
222, 223, 224, 225, 226, 227, 0, 229, 230, 231,
0, 0, 0, 0, 0, 0, 0, 232, 233, 0,
234, 235, 772, 236, 237, 238, 239, 240, 773, 241,
242, 0, 243, 244, 245, 246, 247, 0, 0, 248,
249, 250, 251, 252, 0, 253, 254, 255, 256, 257,
0, 774, 0, 258, 259, 260, 261, 775, 262, 263,
264, 0, 265, 266, 267, 268, 269, 270, 0, 776,
271, 272, 273, 0, 0, 0, 777, 0, 0, 0,
274, 275, 276, 277, 278, 279, 280, 281, 282, 0,
283, 0, 284, 285, 286, 287, 288, 0, 289, 290,
291, 0, 0, 292, 293, 294, 295, 296, 0, 297,
298, 299, 0, 300, 301, 302, 0, 303, 304, 305,
306, 307, 308, 309, 310, 311, 0, 312, 0, 313,
314, 315, 316, 0, 317, 0, 318, 778, 0, 779,
319, 320, 321, 0, 322, 323, 0, 324, 325, 0,
326, 327, 328, 329, 1657, 780, 331, 332, 333, 334,
0, 335, 336, 337, 338, 339, 340, 0, 341, 781,
342, 343, 344, 345, 346, 347, 348, 0, 349, 0,
350, 782, 783, 351, 784, 352, 353, 354, 355, 356,
0, 0, 357, 358, 785, 359, 786, 0, 360, 361,
362, 0, 0, 363, 364, 365, 366, 367, 368, 369,
370, 371, 372, 373, 374, 375, 376, 377, 378, 787,
379, 380, 381, 382, 0, 383, 384, 788, 385, 0,
386, 387, 388, 389, 390, 391, 0, 392, 0, 0,
393, 394, 395, 0, 0, 396, 397, 789, 398, 790,
399, 400, 401, 402, 403, 404, 405, 406, 0, 407,
408, 409, 410, 411, 412, 413, 414, 0, 415, 416,
417, 418, 419, 420, 421, 422, 423, 424, 425, 426,
427, 0, 428, 429, 430, 431, 432, 433, 434, 435,
436, 437, 438, 0, 439, 440, 791, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 0,
453, 454, 455, 456, 457, 0, 458, 459, 460, 461,
462, 792, 463, 464, 465, 466, 0, 467, 468, 469,
470, 471, 472, 473, 474, 475, 476, 477, 478, 0,
479, 480, 0, 481, 793, 482, 483, 484, 485, 486,
0, 487, 488, 0, 0, 489, 490, 491, 492, 493,
0, 494, 495, 496, 497, 498, 499, 500, 0, 0,
501, 502, 503, 504, 505, 0, 0, 506, 507, 508,
509, 510, 511, 512, 0, 513, 794, 514, 515, 516,
517, 0, 0, 518, 0, 0, 519, 520, 521, 522,
523, 524, 525, 526, 527, 528, 529, 530, 531, 532,
533, 534, 535, 536, 771, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 220,
221, 222, 223, 224, 225, 226, 227, 0, 229, 230,
231, 0, 0, 0, 0, 0, 0, 0, 232, 233,
0, 234, 235, 772, 236, 237, 238, 239, 240, 773,
241, 242, 0, 243, 244, 245, 246, 247, 0, 0,
248, 249, 250, 251, 252, 0, 253, 254, 255, 256,
257, 0, 774, 0, 258, 259, 260, 261, 775, 262,
263, 264, 0, 265, 266, 267, 268, 269, 270, 0,
776, 271, 272, 273, 0, 0, 0, 777, 0, 0,
0, 274, 275, 276, 277, 278, 279, 280, 281, 282,
0, 283, 0, 284, 285, 286, 287, 288, 0, 289,
290, 291, 0, 0, 292, 293, 294, 295, 296, 0,
297, 298, 299, 0, 300, 301, 302, 0, 303, 304,
305, 306, 307, 308, 309, 310, 311, 0, 312, 0,
313, 314, 315, 316, 0, 317, 0, 318, 778, 0,
779, 319, 320, 321, 0, 322, 323, 0, 324, 325,
0, 326, 327, 328, 329, 330, 780, 331, 332, 333,
334, 0, 335, 336, 337, 338, 339, 340, 0, 341,
781, 342, 343, 344, 345, 346, 347, 348, 0, 349,
0, 350, 782, 783, 351, 784, 352, 353, 354, 355,
356, 0, 0, 357, 358, 785, 359, 786, 0, 360,
361, 362, 0, 0, 363, 364, 365, 366, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
787, 379, 380, 381, 382, 0, 383, 384, 788, 385,
0, 386, 387, 388, 389, 390, 391, 0, 392, 0,
0, 393, 394, 395, 0, 0, 396, 397, 789, 398,
790, 399, 400, 401, 402, 403, 404, 405, 406, 0,
407, 408, 409, 410, 411, 412, 413, 414, 0, 415,
416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
426, 427, 0, 428, 429, 430, 431, 432, 433, 434,
435, 436, 437, 438, 0, 439, 440, 791, 441, 442,
443, 444, 445, 446, 447, 448, 449, 450, 451, 452,
0, 453, 454, 455, 456, 457, 0, 458, 459, 460,
461, 462, 792, 463, 464, 465, 466, 0, 467, 468,
469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
0, 479, 480, 0, 481, 793, 482, 483, 484, 485,
486, 0, 487, 488, 0, 0, 489, 490, 491, 492,
493, 0, 494, 495, 496, 497, 498, 499, 500, 0,
0, 501, 502, 503, 504, 505, 0, 0, 506, 507,
508, 509, 510, 511, 512, 0, 513, 794, 514, 515,
516, 517, 0, 0, 518, 0, 0, 519, 520, 521,
522, 523, 524, 525, 526, 527, 528, 529, 530, 531,
532, 533, 534, 535, 536, 771, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
220, 221, 222, 223, 224, 225, 226, 227, 0, 229,
230, 231, 0, 0, 0, 0, 0, 0, 0, 232,
233, 0, 234, 235, 772, 236, 237, 238, 239, 240,
773, 241, 242, 0, 243, 244, 245, 246, 247, 0,
0, 248, 249, 250, 251, 252, 0, 253, 254, 255,
256, 257, 0, 774, 0, 258, 259, 260, 261, 775,
262, 263, 264, 0, 265, 266, 267, 268, 269, 270,
0, 776, 271, 272, 273, 0, 0, 0, 777, 0,
0, 0, 274, 275, 276, 277, 278, 279, 280, 281,
282, 0, 283, 0, 284, 285, 286, 287, 288, 0,
289, 290, 291, 0, 0, 292, 293, 294, 295, 296,
0, 297, 298, 299, 0, 300, 301, 302, 0, 303,
304, 305, 306, 307, 308, 309, 310, 311, 0, 312,
0, 313, 314, 315, 316, 0, 317, 0, 318, 778,
0, 779, 319, 320, 321, 0, 322, 323, 0, 324,
325, 0, 326, 327, 328, 329, 971, 780, 331, 332,
333, 334, 0, 335, 336, 337, 338, 339, 340, 0,
341, 781, 342, 343, 344, 345, 346, 347, 348, 0,
349, 0, 350, 782, 783, 351, 784, 352, 353, 354,
355, 356, 0, 0, 357, 358, 785, 359, 786, 0,
360, 361, 362, 0, 0, 363, 364, 365, 366, 367,
368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
378, 787, 379, 380, 381, 382, 0, 383, 384, 788,
385, 0, 386, 387, 388, 389, 390, 391, 0, 392,
0, 0, 393, 394, 395, 0, 0, 396, 397, 789,
398, 790, 399, 400, 401, 402, 403, 404, 405, 406,
0, 407, 408, 409, 410, 411, 412, 413, 414, 0,
415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
425, 426, 427, 0, 428, 429, 430, 431, 432, 433,
434, 435, 436, 437, 438, 0, 439, 440, 791, 441,
442, 443, 444, 445, 446, 447, 448, 449, 450, 451,
452, 0, 453, 454, 455, 456, 457, 0, 458, 459,
460, 461, 462, 792, 463, 464, 465, 466, 0, 467,
468, 469, 470, 471, 472, 473, 474, 475, 476, 477,
478, 0, 479, 480, 0, 481, 793, 482, 483, 484,
485, 486, 0, 487, 488, 0, 0, 489, 490, 491,
492, 493, 0, 494, 495, 496, 497, 498, 499, 500,
0, 0, 501, 502, 503, 504, 505, 0, 0, 506,
507, 508, 509, 510, 511, 512, 0, 513, 794, 514,
515, 516, 517, 0, 0, 518, 0, 0, 519, 520,
521, 522, 523, 524, 525, 526, 527, 528, 529, 530,
531, 532, 533, 534, 535, 536, 771, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 220, 221, 222, 223, 224, 225, 226, 227, 0,
229, 230, 231, 0, 0, 0, 0, 0, 0, 0,
232, 233, 0, 234, 235, 772, 236, 237, 238, 239,
240, 773, 241, 242, 0, 243, 244, 245, 246, 247,
0, 0, 248, 249, 250, 251, 252, 0, 253, 254,
255, 256, 257, 0, 774, 0, 258, 259, 260, 261,
775, 262, 263, 264, 0, 265, 266, 267, 268, 269,
270, 0, 776, 271, 272, 273, 0, 0, 0, 777,
0, 0, 0, 274, 275, 276, 277, 278, 279, 280,
281, 282, 0, 283, 0, 284, 285, 286, 287, 288,
0, 289, 290, 291, 0, 0, 292, 293, 294, 295,
296, 0, 297, 298, 299, 0, 300, 301, 302, 0,
303, 304, 305, 306, 307, 308, 309, 310, 311, 0,
312, 0, 313, 314, 315, 316, 0, 317, 0, 318,
778, 0, 779, 319, 320, 321, 0, 322, 323, 0,
324, 325, 0, 326, 327, 328, 329, 1020, 780, 331,
332, 333, 334, 0, 335, 336, 337, 338, 339, 340,
0, 341, 781, 342, 343, 344, 345, 346, 347, 348,
0, 349, 0, 350, 782, 783, 351, 784, 352, 353,
354, 355, 356, 0, 0, 357, 358, 785, 359, 786,
0, 360, 361, 362, 0, 0, 363, 364, 365, 366,
367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
377, 378, 787, 379, 380, 381, 382, 0, 383, 384,
788, 385, 0, 386, 387, 388, 389, 390, 391, 0,
392, 0, 0, 393, 394, 395, 0, 0, 396, 397,
789, 398, 790, 399, 400, 401, 402, 403, 404, 405,
406, 0, 407, 408, 409, 410, 411, 412, 413, 414,
0, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 0, 428, 429, 430, 431, 432,
433, 434, 435, 436, 437, 438, 0, 439, 440, 791,
441, 442, 443, 444, 445, 446, 447, 448, 449, 450,
451, 452, 0, 453, 454, 455, 456, 457, 0, 458,
459, 460, 461, 462, 792, 463, 464, 465, 466, 0,
467, 468, 469, 470, 471, 472, 473, 474, 475, 476,
477, 478, 0, 479, 480, 0, 481, 793, 482, 483,
484, 485, 486, 0, 487, 488, 0, 0, 489, 490,
491, 492, 493, 0, 494, 495, 496, 497, 498, 499,
500, 0, 0, 501, 502, 503, 504, 505, 0, 0,
506, 507, 508, 509, 510, 511, 512, 0, 513, 794,
514, 515, 516, 517, 0, 0, 518, 0, 0, 519,
520, 521, 522, 523, 524, 525, 526, 527, 528, 529,
530, 531, 532, 533, 534, 535, 536, 219, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 220, 221, 222, 223, 224, 225, 226, 227,
0, 229, 230, 231, 0, 0, 0, 0, 0, 0,
0, 232, 233, 0, 234, 235, 0, 236, 237, 238,
239, 240, 0, 241, 242, 0, 243, 244, 245, 246,
247, 0, 0, 248, 249, 250, 251, 252, 2036, 253,
254, 255, 256, 257, 0, 0, 2110, 258, 259, 260,
261, 0, 262, 263, 264, 2037, 265, 266, 267, 268,
269, 270, 0, 0, 271, 272, 273, 0, 0, 0,
0, 0, 0, 0, 274, 275, 276, 277, 278, 279,
280, 281, 282, 0, 283, 0, 284, 285, 286, 287,
288, 0, 289, 290, 291, 0, 0, 292, 293, 294,
295, 296, 0, 297, 298, 299, 0, 300, 301, 302,
0, 2111, 304, 305, 306, 307, 308, 309, 310, 311,
0, 312, 0, 313, 314, 315, 316, 0, 317, 2039,
318, 0, 0, 0, 319, 320, 321, 0, 322, 323,
0, 324, 325, 0, 326, 327, 328, 329, 330, 0,
331, 332, 333, 334, 0, 335, 336, 337, 338, 339,
340, 0, 341, 0, 342, 343, 344, 345, 346, 347,
348, 0, 349, 0, 350, 0, 0, 351, 0, 352,
353, 354, 355, 356, 0, 0, 357, 358, 0, 359,
0, 0, 360, 361, 362, 0, 0, 363, 364, 365,
366, 367, 368, 369, 370, 371, 372, 373, 374, 375,
376, 377, 378, 0, 379, 380, 381, 382, 0, 383,
384, 0, 385, 0, 386, 387, 388, 389, 390, 391,
0, 392, 0, 0, 393, 394, 395, 0, 0, 396,
397, 0, 398, 0, 399, 400, 401, 402, 403, 404,
405, 406, 0, 407, 408, 409, 410, 411, 412, 413,
414, 2040, 415, 416, 417, 418, 419, 420, 421, 422,
423, 424, 425, 426, 427, 0, 428, 429, 430, 431,
432, 433, 434, 435, 436, 437, 438, 0, 439, 440,
0, 441, 442, 443, 444, 445, 446, 447, 448, 449,
450, 451, 452, 0, 453, 454, 455, 456, 457, 0,
458, 459, 460, 461, 462, 0, 463, 464, 465, 466,
0, 467, 468, 469, 470, 471, 472, 473, 474, 475,
476, 477, 478, 0, 479, 480, 0, 481, 0, 482,
483, 484, 485, 486, 0, 487, 488, 0, 0, 489,
490, 491, 492, 493, 0, 494, 495, 496, 497, 498,
499, 500, 0, 2041, 501, 502, 503, 504, 505, 0,
0, 506, 507, 508, 509, 510, 511, 512, 0, 513,
0, 514, 515, 516, 517, 0, 0, 518, 0, 0,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 531, 532, 533, 534, 535, 536, 219, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 220, 221, 222, 223, 224, 225, 226,
227, 0, 229, 230, 231, 0, 0, 0, 0, 0,
0, 0, 232, 233, 0, 234, 235, 0, 236, 237,
238, 239, 240, 0, 241, 242, 0, 243, 244, 245,
246, 247, 0, 0, 248, 249, 250, 251, 252, 2036,
253, 254, 255, 256, 257, 0, 0, 0, 258, 259,
260, 261, 0, 262, 263, 264, 2037, 265, 266, 267,
268, 269, 270, 0, 0, 271, 272, 273, 0, 0,
0, 0, 0, 0, 0, 274, 275, 276, 277, 278,
279, 280, 281, 282, 0, 283, 0, 284, 285, 286,
287, 288, 0, 289, 290, 291, 0, 0, 292, 293,
294, 295, 296, 0, 297, 298, 299, 0, 300, 301,
302, 0, 2111, 304, 305, 306, 307, 308, 309, 310,
311, 0, 312, 0, 313, 314, 315, 316, 0, 317,
2039, 318, 0, 0, 0, 319, 320, 321, 0, 322,
323, 0, 324, 325, 0, 326, 327, 328, 329, 330,
0, 331, 332, 333, 334, 0, 335, 336, 337, 338,
339, 340, 0, 341, 0, 342, 343, 344, 345, 346,
347, 348, 0, 349, 0, 350, 0, 0, 351, 0,
352, 353, 354, 355, 356, 0, 0, 357, 358, 0,
359, 2992, 0, 360, 361, 362, 0, 0, 363, 364,
365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
375, 376, 377, 378, 0, 379, 380, 381, 382, 0,
383, 384, 0, 385, 0, 386, 387, 388, 389, 390,
391, 0, 392, 0, 0, 393, 394, 395, 0, 0,
396, 397, 0, 398, 0, 399, 400, 401, 402, 403,
404, 405, 406, 0, 407, 408, 409, 410, 411, 412,
413, 414, 2040, 415, 416, 417, 418, 419, 420, 421,
422, 423, 424, 425, 426, 427, 0, 428, 429, 430,
431, 432, 433, 434, 435, 436, 437, 438, 0, 439,
440, 0, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 0, 453, 454, 455, 456, 457,
0, 458, 459, 460, 461, 462, 0, 463, 464, 465,
466, 0, 467, 468, 469, 470, 471, 472, 473, 474,
475, 476, 477, 478, 0, 479, 480, 0, 481, 0,
482, 483, 484, 485, 486, 0, 487, 488, 0, 0,
489, 490, 491, 492, 493, 0, 494, 495, 496, 497,
498, 499, 500, 0, 2041, 501, 502, 503, 504, 505,
0, 0, 506, 507, 508, 509, 510, 511, 512, 0,
513, 0, 514, 515, 516, 517, 0, 0, 518, 0,
0, 519, 520, 521, 522, 523, 524, 525, 526, 527,
528, 529, 530, 531, 532, 533, 534, 535, 536, 219,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 220, 221, 222, 223, 224, 703,
226, 227, 665, 229, 230, 231, 0, 0, 0, 0,
0, 0, 0, 232, 233, 0, 234, 235, 0, 236,
237, 238, 239, 240, 0, 241, 242, 0, 243, 244,
245, 246, 247, 0, 0, 248, 249, 250, 251, 252,
0, 253, 254, 255, 256, 257, 0, 0, 0, 258,
259, 260, 261, 0, 262, 263, 264, 0, 265, 266,
267, 268, 269, 270, 666, 0, 271, 272, 273, 0,
0, 0, 0, 0, 0, 0, 274, 275, 276, 277,
278, 279, 280, 281, 282, 0, 283, 0, 284, 285,
286, 287, 288, 0, 289, 290, 291, 0, 0, 292,
293, 294, 295, 296, 0, 297, 298, 299, 0, 300,
301, 302, 0, 303, 304, 305, 306, 307, 308, 309,
310, 311, 0, 312, 0, 313, 314, 315, 316, 0,
317, 0, 318, 0, 0, 0, 319, 320, 321, 704,
322, 323, 0, 324, 325, 0, 326, 327, 328, 329,
330, 0, 331, 332, 333, 334, 0, 335, 336, 337,
338, 339, 340, 0, 341, 0, 342, 343, 344, 345,
346, 347, 348, 0, 349, 0, 350, 0, 0, 351,
0, 352, 353, 354, 355, 356, 0, 0, 357, 358,
0, 359, 0, 0, 360, 361, 362, 0, 0, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, 378, 0, 379, 380, 381, 382,
0, 383, 384, 0, 385, 0, 386, 387, 388, 389,
390, 391, 0, 392, 0, 0, 393, 394, 395, 0,
0, 396, 397, 0, 398, 0, 399, 400, 401, 402,
403, 404, 405, 406, 0, 407, 408, 409, 410, 411,
412, 413, 414, 0, 415, 416, 417, 418, 419, 420,
421, 422, 423, 424, 425, 426, 427, 667, 428, 429,
430, 431, 432, 433, 434, 435, 436, 437, 438, 0,
439, 440, 0, 441, 442, 443, 444, 445, 446, 447,
448, 449, 450, 451, 452, 668, 453, 454, 455, 456,
457, 0, 458, 459, 460, 461, 462, 0, 463, 464,
465, 466, 0, 467, 468, 469, 470, 471, 472, 473,
474, 475, 476, 477, 478, 0, 479, 480, 0, 481,
0, 482, 483, 484, 485, 486, 0, 487, 488, 0,
0, 489, 490, 491, 492, 493, 0, 494, 495, 496,
497, 498, 499, 500, 0, 0, 501, 502, 503, 504,
505, 0, 0, 506, 507, 508, 509, 510, 511, 512,
0, 513, 0, 514, 515, 516, 517, 0, 0, 518,
0, 0, 519, 520, 521, 522, 523, 524, 525, 526,
527, 528, 529, 530, 531, 532, 533, 534, 535, 536,
219, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 220, 221, 222, 223, 224,
225, 226, 227, 665, 229, 230, 231, 0, 0, 0,
0, 0, 0, 0, 232, 233, 0, 234, 235, 0,
236, 237, 238, 239, 240, 0, 241, 242, 0, 243,
244, 245, 246, 247, 0, 0, 248, 249, 250, 251,
252, 0, 253, 254, 255, 256, 257, 0, 0, 0,
258, 259, 260, 261, 0, 262, 263, 264, 0, 265,
266, 267, 268, 269, 270, 666, 0, 271, 272, 273,
0, 0, 0, 0, 0, 0, 0, 274, 275, 276,
277, 278, 279, 280, 281, 282, 0, 283, 0, 284,
285, 286, 287, 288, 0, 289, 290, 291, 0, 0,
292, 293, 294, 295, 296, 0, 297, 298, 299, 0,
300, 301, 302, 0, 303, 304, 305, 306, 307, 308,
309, 310, 311, 0, 312, 0, 313, 314, 315, 316,
0, 317, 0, 318, 0, 0, 0, 319, 320, 321,
2728, 322, 323, 0, 324, 325, 0, 326, 327, 328,
329, 330, 0, 331, 332, 333, 334, 0, 335, 336,
337, 338, 339, 340, 0, 341, 0, 342, 343, 344,
345, 346, 347, 348, 0, 349, 0, 350, 0, 0,
351, 0, 352, 353, 354, 355, 356, 0, 0, 357,
358, 0, 359, 0, 0, 360, 361, 362, 0, 0,
363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
373, 374, 375, 376, 377, 378, 0, 379, 380, 381,
382, 0, 383, 384, 0, 385, 0, 386, 387, 388,
389, 390, 391, 0, 392, 0, 0, 393, 394, 395,
0, 0, 396, 397, 0, 398, 0, 399, 400, 401,
402, 403, 404, 405, 406, 0, 407, 408, 409, 410,
411, 412, 413, 414, 0, 415, 416, 417, 418, 419,
420, 421, 422, 423, 424, 425, 426, 427, 667, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
0, 439, 440, 0, 441, 442, 443, 444, 445, 446,
447, 448, 449, 450, 451, 452, 668, 453, 454, 455,
456, 457, 0, 458, 459, 460, 461, 462, 0, 463,
464, 465, 466, 0, 467, 468, 469, 470, 471, 472,
473, 474, 475, 476, 477, 478, 0, 479, 480, 0,
481, 0, 482, 483, 484, 485, 486, 0, 487, 488,
0, 0, 489, 490, 491, 492, 493, 0, 494, 495,
496, 497, 498, 499, 500, 0, 0, 501, 502, 503,
504, 505, 0, 0, 506, 507, 508, 509, 510, 511,
512, 0, 513, 0, 514, 515, 516, 517, 0, 0,
518, 0, 0, 519, 520, 521, 522, 523, 524, 525,
526, 527, 528, 529, 530, 531, 532, 533, 534, 535,
536, 219, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 220, 221, 222, 223,
224, 225, 226, 227, 0, 229, 230, 231, 0, 0,
0, 0, 0, 0, 0, 232, 233, 0, 234, 235,
0, 236, 237, 238, 239, 240, 0, 241, 242, 0,
243, 244, 245, 246, 247, 0, 0, 248, 249, 250,
251, 252, 2036, 253, 254, 255, 256, 257, 0, 0,
0, 258, 259, 260, 261, 0, 262, 263, 264, 2037,
265, 266, 267, 268, 269, 270, 0, 0, 271, 272,
273, 0, 0, 0, 0, 0, 0, 0, 274, 275,
276, 277, 278, 279, 280, 281, 282, 0, 283, 0,
284, 285, 286, 287, 288, 0, 289, 290, 291, 0,
0, 292, 293, 294, 295, 296, 0, 297, 298, 299,
0, 300, 301, 302, 0, 2111, 304, 305, 306, 307,
308, 309, 310, 311, 0, 312, 0, 313, 314, 315,
316, 0, 317, 2039, 318, 0, 0, 0, 319, 320,
321, 0, 322, 323, 0, 324, 325, 0, 326, 327,
328, 329, 330, 0, 331, 332, 333, 334, 0, 335,
336, 337, 338, 339, 340, 0, 341, 0, 342, 343,
344, 345, 346, 347, 348, 0, 349, 0, 350, 0,
0, 351, 0, 352, 353, 354, 355, 356, 0, 0,
357, 358, 0, 359, 0, 0, 360, 361, 362, 0,
0, 363, 364, 365, 366, 367, 368, 369, 370, 371,
372, 373, 374, 375, 376, 377, 378, 0, 379, 380,
381, 382, 0, 383, 384, 0, 385, 0, 386, 387,
388, 389, 390, 391, 0, 392, 0, 0, 393, 394,
395, 0, 0, 396, 397, 0, 398, 0, 399, 400,
401, 402, 403, 404, 405, 406, 0, 407, 408, 409,
410, 411, 412, 413, 414, 2040, 415, 416, 417, 418,
419, 420, 421, 422, 423, 424, 425, 426, 427, 0,
428, 429, 430, 431, 432, 433, 434, 435, 436, 437,
438, 0, 439, 440, 0, 441, 442, 443, 444, 445,
446, 447, 448, 449, 450, 451, 452, 0, 453, 454,
455, 456, 457, 0, 458, 459, 460, 461, 462, 0,
463, 464, 465, 466, 0, 467, 468, 469, 470, 471,
472, 473, 474, 475, 476, 477, 478, 0, 479, 480,
0, 481, 0, 482, 483, 484, 485, 486, 0, 487,
488, 0, 0, 489, 490, 491, 492, 493, 0, 494,
495, 496, 497, 498, 499, 500, 0, 2041, 501, 502,
503, 504, 505, 0, 0, 506, 507, 508, 509, 510,
511, 512, 0, 513, 0, 514, 515, 516, 517, 0,
0, 518, 0, 0, 519, 520, 521, 522, 523, 524,
525, 526, 527, 528, 529, 530, 531, 532, 533, 534,
535, 536, 219, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 220, 221, 222,
223, 224, 225, 226, 227, 665, 229, 230, 231, 0,
0, 0, 0, 0, 0, 0, 232, 233, 0, 234,
235, 0, 236, 237, 238, 239, 240, 0, 241, 242,
0, 243, 244, 245, 246, 247, 0, 0, 248, 249,
250, 251, 252, 0, 253, 254, 255, 256, 257, 0,
0, 0, 258, 259, 260, 261, 0, 262, 263, 264,
0, 265, 266, 267, 268, 269, 270, 666, 0, 271,
272, 273, 0, 0, 0, 0, 0, 0, 0, 274,
275, 276, 277, 278, 279, 280, 281, 282, 0, 283,
0, 284, 285, 286, 287, 288, 0, 289, 290, 291,
0, 0, 292, 293, 294, 295, 296, 0, 297, 298,
299, 0, 300, 301, 302, 0, 303, 304, 305, 306,
307, 308, 309, 310, 311, 0, 312, 0, 313, 314,
315, 316, 0, 317, 0, 318, 0, 0, 0, 319,
320, 321, 0, 322, 323, 0, 324, 325, 0, 326,
327, 328, 329, 330, 0, 331, 332, 333, 334, 0,
335, 336, 337, 338, 339, 340, 0, 341, 0, 342,
343, 344, 345, 346, 347, 348, 0, 349, 0, 350,
0, 0, 351, 0, 352, 353, 354, 355, 356, 0,
0, 357, 358, 0, 359, 0, 0, 360, 361, 362,
0, 0, 363, 364, 365, 366, 367, 368, 369, 370,
371, 372, 373, 374, 375, 376, 377, 378, 0, 379,
380, 381, 382, 0, 383, 384, 0, 385, 0, 386,
387, 388, 389, 390, 391, 0, 392, 0, 0, 393,
394, 395, 0, 0, 396, 397, 0, 398, 0, 399,
400, 401, 402, 403, 404, 405, 406, 0, 407, 408,
409, 410, 411, 412, 413, 414, 0, 415, 416, 417,
418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
667, 428, 429, 430, 431, 432, 433, 434, 435, 436,
437, 438, 0, 439, 440, 0, 441, 442, 443, 444,
445, 446, 447, 448, 449, 450, 451, 452, 668, 453,
454, 455, 456, 457, 0, 458, 459, 460, 461, 462,
0, 463, 464, 465, 466, 0, 467, 468, 469, 470,
471, 472, 473, 474, 475, 476, 477, 478, 0, 479,
480, 0, 481, 0, 482, 483, 484, 485, 486, 0,
487, 488, 0, 0, 489, 490, 491, 492, 493, 0,
494, 495, 496, 497, 498, 499, 500, 0, 0, 501,
502, 503, 504, 505, 0, 0, 506, 507, 508, 509,
510, 511, 512, 0, 513, 0, 514, 515, 516, 517,
0, 0, 518, 0, 0, 519, 520, 521, 522, 523,
524, 525, 526, 527, 528, 529, 530, 531, 532, 533,
534, 535, 536, 219, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 220, 221,
222, 223, 224, 225, 226, 227, 1694, 229, 230, 231,
0, 0, 0, 0, 0, 0, 0, 232, 233, 0,
234, 235, 0, 236, 237, 238, 239, 240, 0, 241,
242, 0, 243, 244, 245, 246, 247, 0, 0, 248,
249, 250, 251, 252, 0, 253, 254, 255, 256, 257,
0, 0, 0, 258, 259, 260, 261, 0, 262, 263,
264, 0, 265, 266, 267, 268, 269, 270, 0, 0,
271, 272, 273, 0, 0, 0, 0, 0, 0, 0,
274, 275, 276, 1695, 278, 279, 280, 281, 282, 0,
283, 0, 284, 285, 286, 287, 288, 0, 289, 290,
291, 0, 0, 292, 1696, 294, 295, 296, 0, 297,
298, 299, 0, 300, 301, 302, 0, 303, 304, 305,
306, 307, 308, 309, 310, 311, 0, 312, 0, 313,
314, 315, 316, 0, 317, 1697, 318, 0, 0, 0,
1698, 320, 321, 0, 322, 323, 0, 324, 325, 0,
326, 327, 328, 329, 330, 0, 331, 332, 333, 334,
0, 335, 336, 337, 338, 339, 340, 0, 341, 0,
342, 343, 344, 345, 346, 347, 348, 0, 349, 0,
350, 0, 0, 351, 0, 352, 353, 1699, 1700, 356,
0, 0, 357, 358, 0, 359, 0, 0, 360, 361,
362, 0, 0, 363, 364, 365, 366, 367, 368, 369,
370, 371, 372, 373, 374, 375, 376, 377, 378, 0,
379, 380, 381, 382, 0, 383, 384, 0, 385, 0,
386, 387, 388, 389, 390, 391, 0, 392, 0, 0,
393, 394, 395, 0, 0, 396, 397, 0, 398, 0,
399, 400, 401, 402, 403, 404, 405, 406, 0, 407,
408, 409, 410, 411, 412, 413, 414, 0, 415, 416,
417, 418, 419, 420, 421, 422, 423, 424, 425, 426,
427, 0, 428, 429, 430, 431, 432, 433, 434, 435,
436, 437, 438, 0, 439, 440, 0, 441, 442, 443,
444, 445, 446, 447, 1701, 449, 450, 451, 452, 0,
1702, 454, 455, 456, 457, 0, 458, 459, 460, 461,
462, 0, 463, 464, 465, 466, 0, 467, 468, 469,
470, 471, 472, 473, 474, 475, 476, 477, 478, 0,
479, 480, 1703, 481, 0, 1704, 483, 484, 485, 486,
0, 487, 488, 0, 0, 489, 490, 491, 492, 493,
0, 494, 495, 1705, 497, 498, 499, 500, 0, 0,
501, 502, 503, 504, 505, 0, 0, 506, 507, 508,
509, 510, 511, 512, 0, 513, 0, 514, 515, 516,
517, 0, 0, 518, 0, 0, 519, 520, 521, 522,
523, 524, 525, 526, 527, 528, 529, 530, 531, 532,
533, 534, 535, 536, 219, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 220,
221, 222, 223, 224, 225, 226, 227, 0, 229, 230,
231, 0, 0, 0, 0, 0, 0, 0, 232, 233,
0, 234, 235, 0, 236, 237, 238, 239, 240, 0,
241, 242, 0, 243, 244, 245, 246, 247, 0, 0,
248, 249, 250, 251, 252, 0, 253, 254, 255, 256,
257, 0, 0, 0, 258, 259, 260, 261, 0, 262,
263, 264, 0, 265, 266, 267, 268, 269, 270, 666,
0, 271, 272, 273, 0, 0, 0, 0, 0, 0,
0, 274, 275, 276, 277, 278, 279, 280, 281, 282,
0, 283, 0, 284, 285, 286, 287, 288, 0, 289,
290, 291, 0, 0, 292, 293, 294, 295, 296, 0,
297, 298, 299, 0, 300, 301, 302, 0, 303, 304,
305, 306, 307, 308, 309, 310, 311, 0, 312, 0,
313, 314, 315, 316, 0, 317, 0, 318, 0, 0,
0, 319, 320, 321, 0, 322, 323, 0, 324, 325,
0, 326, 327, 328, 329, 330, 0, 331, 332, 333,
334, 0, 335, 336, 337, 338, 339, 340, 0, 341,
0, 342, 343, 344, 345, 346, 347, 348, 0, 349,
0, 350, 0, 0, 351, 0, 352, 353, 354, 355,
356, 0, 0, 357, 358, 0, 359, 0, 0, 360,
361, 362, 0, 0, 363, 364, 365, 366, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
0, 379, 380, 381, 382, 0, 383, 384, 0, 385,
0, 386, 387, 388, 389, 390, 391, 0, 392, 0,
0, 393, 394, 395, 0, 0, 396, 397, 0, 398,
0, 399, 400, 401, 402, 403, 404, 405, 406, 0,
407, 408, 409, 410, 411, 412, 413, 414, 0, 415,
416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
426, 427, 667, 428, 429, 430, 431, 432, 433, 434,
435, 436, 437, 438, 0, 439, 440, 0, 441, 442,
443, 444, 445, 446, 447, 448, 449, 450, 451, 452,
668, 453, 454, 455, 456, 457, 0, 458, 459, 460,
461, 462, 0, 463, 464, 465, 466, 0, 467, 468,
469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
0, 479, 480, 0, 481, 0, 482, 483, 484, 485,
486, 0, 487, 488, 0, 0, 489, 490, 491, 492,
493, 0, 494, 495, 496, 497, 498, 499, 500, 0,
0, 501, 502, 503, 504, 505, 0, 0, 506, 507,
508, 509, 510, 511, 512, 0, 513, 0, 514, 515,
516, 517, 0, 0, 518, 0, 0, 519, 520, 521,
522, 523, 524, 525, 526, 527, 528, 529, 530, 531,
532, 533, 534, 535, 536, 219, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
220, 221, 222, 223, 224, 225, 226, 227, 861, 229,
230, 231, 0, 0, 0, 0, 0, 0, 0, 232,
233, 0, 234, 235, 0, 236, 237, 238, 239, 240,
0, 241, 242, 0, 243, 244, 245, 246, 247, 0,
0, 248, 249, 250, 251, 252, 0, 253, 254, 255,
256, 257, 0, 0, 0, 258, 259, 260, 261, 0,
262, 263, 264, 0, 265, 266, 267, 268, 269, 270,
0, 0, 271, 272, 273, 0, 0, 0, 0, 0,
0, 0, 274, 275, 276, 277, 278, 279, 280, 281,
282, 0, 283, 0, 284, 285, 286, 287, 288, 0,
289, 290, 291, 0, 0, 292, 293, 294, 295, 296,
0, 297, 298, 299, 0, 300, 301, 302, 0, 303,
304, 305, 306, 307, 308, 309, 310, 311, 0, 312,
0, 313, 314, 315, 316, 0, 317, 0, 318, 0,
0, 0, 319, 320, 321, 0, 322, 323, 0, 324,
325, 0, 326, 327, 328, 329, 862, 0, 331, 332,
333, 334, 0, 335, 336, 337, 338, 339, 340, 0,
341, 0, 342, 343, 344, 345, 346, 347, 348, 0,
349, 0, 350, 0, 0, 351, 0, 352, 353, 354,
355, 356, 0, 0, 357, 358, 0, 359, 0, 0,
360, 361, 362, 0, 0, 363, 364, 365, 366, 367,
368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
378, 0, 379, 380, 381, 382, 0, 383, 384, 0,
385, 0, 386, 387, 388, 389, 390, 391, 0, 392,
0, 735, 393, 394, 395, 0, 0, 396, 397, 0,
398, 0, 399, 400, 401, 402, 403, 404, 405, 406,
0, 407, 408, 409, 410, 411, 412, 413, 414, 0,
415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
425, 426, 427, 0, 428, 429, 430, 431, 432, 433,
434, 435, 436, 437, 438, 0, 439, 440, 0, 441,
442, 443, 444, 445, 446, 447, 448, 449, 450, 451,
452, 0, 453, 454, 455, 456, 457, 0, 458, 459,
460, 461, 462, 0, 463, 464, 465, 466, 0, 467,
468, 469, 470, 471, 472, 473, 474, 475, 476, 477,
478, 0, 479, 480, 0, 481, 0, 482, 483, 484,
485, 486, 0, 487, 488, 0, 0, 489, 490, 491,
492, 493, 0, 494, 495, 496, 497, 498, 499, 500,
0, 0, 501, 502, 503, 504, 505, 0, 0, 506,
507, 508, 509, 510, 511, 512, 0, 513, 0, 514,
515, 516, 517, 0, 0, 518, 0, 0, 519, 520,
521, 522, 523, 524, 525, 526, 527, 528, 529, 530,
531, 532, 533, 534, 535, 536, 219, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 220, 221, 222, 223, 224, 225, 226, 227, 0,
229, 230, 231, 3, 4, 0, 0, 0, 0, 0,
232, 233, 0, 234, 235, 0, 236, 237, 238, 239,
240, 0, 241, 242, 0, 243, 244, 245, 246, 247,
0, 0, 248, 249, 250, 251, 252, 0, 253, 254,
255, 256, 257, 0, 0, 0, 258, 259, 260, 261,
0, 262, 263, 264, 0, 265, 266, 267, 268, 269,
270, 0, 0, 271, 272, 273, 0, 0, 0, 0,
0, 0, 0, 274, 275, 276, 277, 278, 279, 280,
281, 282, 0, 283, 0, 284, 285, 286, 287, 288,
0, 289, 290, 291, 0, 0, 292, 293, 294, 295,
296, 0, 297, 298, 299, 0, 300, 301, 302, 0,
303, 304, 305, 306, 307, 308, 309, 310, 311, 0,
312, 0, 313, 314, 315, 316, 0, 317, 0, 318,
0, 0, 0, 319, 320, 321, 0, 322, 323, 0,
324, 325, 0, 326, 327, 328, 329, 330, 0, 331,
332, 333, 334, 0, 335, 336, 337, 338, 339, 340,
0, 341, 0, 342, 343, 344, 345, 346, 347, 348,
0, 349, 0, 350, 0, 0, 351, 0, 352, 353,
354, 355, 356, 0, 0, 357, 358, 0, 359, 0,
0, 360, 361, 362, 0, 0, 363, 364, 365, 366,
367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
377, 378, 0, 379, 380, 381, 382, 0, 383, 384,
0, 385, 0, 386, 387, 388, 389, 390, 391, 0,
392, 0, 0, 393, 394, 395, 0, 0, 396, 397,
0, 398, 0, 399, 400, 401, 402, 403, 404, 405,
406, 0, 407, 408, 409, 410, 411, 412, 413, 414,
0, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 0, 428, 429, 430, 431, 432,
433, 434, 435, 436, 437, 438, 0, 439, 440, 0,
441, 442, 443, 444, 445, 446, 447, 448, 449, 450,
451, 452, 0, 453, 454, 455, 456, 457, 0, 458,
459, 460, 461, 462, 0, 463, 464, 465, 466, 0,
467, 468, 469, 470, 471, 472, 473, 474, 475, 476,
477, 478, 0, 479, 480, 0, 481, 0, 482, 483,
484, 485, 486, 0, 487, 488, 0, 0, 489, 490,
491, 492, 493, 0, 494, 495, 496, 497, 498, 499,
500, 0, 0, 501, 502, 503, 504, 505, 0, 0,
506, 507, 508, 509, 510, 511, 512, 0, 513, 0,
514, 515, 516, 517, 0, 0, 518, 0, 0, 519,
520, 521, 522, 523, 524, 525, 526, 527, 528, 529,
530, 531, 532, 533, 534, 535, 536, 219, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 220, 221, 222, 223, 224, 225, 226, 227,
2811, 229, 230, 231, 0, 0, 0, 0, 0, 0,
0, 232, 233, 0, 234, 235, 0, 236, 237, 238,
239, 240, 0, 241, 242, 0, 243, 244, 245, 246,
247, 0, 0, 248, 249, 250, 251, 252, 0, 253,
254, 255, 256, 257, 0, 0, 0, 258, 259, 260,
261, 0, 262, 263, 264, 0, 265, 266, 267, 268,
269, 270, 0, 0, 271, 272, 273, 0, 0, 0,
0, 0, 0, 0, 274, 275, 276, 277, 278, 279,
280, 281, 282, 0, 283, 0, 284, 285, 286, 287,
288, 0, 289, 290, 291, 0, 0, 292, 293, 294,
295, 296, 0, 297, 298, 299, 0, 300, 301, 302,
0, 303, 304, 305, 306, 307, 308, 309, 310, 311,
0, 312, 0, 313, 314, 315, 316, 0, 317, 0,
318, 0, 0, 0, 319, 320, 321, 0, 322, 323,
0, 324, 325, 0, 326, 327, 328, 329, 330, 0,
331, 332, 333, 334, 0, 335, 336, 337, 338, 339,
340, 0, 341, 0, 342, 343, 344, 345, 346, 347,
348, 0, 349, 0, 350, 0, 0, 351, 0, 352,
353, 354, 355, 356, 0, 0, 357, 358, 0, 359,
0, 0, 360, 361, 362, 0, 0, 363, 364, 365,
366, 367, 368, 369, 370, 371, 372, 373, 374, 375,
376, 377, 378, 0, 379, 380, 381, 382, 0, 383,
384, 0, 385, 0, 386, 387, 388, 389, 390, 391,
0, 392, 0, 0, 393, 394, 395, 0, 0, 396,
397, 0, 398, 0, 399, 400, 401, 402, 403, 404,
405, 406, 0, 407, 408, 409, 410, 411, 412, 413,
414, 0, 415, 416, 417, 418, 419, 420, 421, 422,
423, 424, 425, 426, 427, 0, 428, 429, 430, 431,
432, 433, 434, 435, 436, 437, 438, 0, 439, 440,
0, 441, 442, 443, 444, 445, 446, 447, 448, 449,
450, 451, 452, 0, 453, 454, 455, 456, 457, 0,
458, 459, 460, 461, 462, 0, 463, 464, 465, 466,
0, 467, 468, 469, 470, 471, 472, 473, 474, 475,
476, 477, 478, 0, 479, 480, 0, 481, 0, 482,
483, 484, 485, 486, 0, 487, 488, 0, 0, 489,
490, 491, 492, 493, 0, 494, 495, 496, 497, 498,
499, 500, 0, 0, 501, 502, 503, 504, 505, 2812,
0, 506, 507, 508, 509, 510, 511, 512, 0, 513,
0, 514, 515, 516, 517, 0, 0, 518, 0, 0,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 531, 532, 533, 534, 535, 536, 219, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 220, 221, 222, 223, 224, 225, 226,
227, 2824, 229, 230, 231, 0, 0, 0, 0, 0,
0, 0, 232, 233, 0, 234, 235, 0, 236, 237,
238, 239, 240, 0, 241, 242, 0, 243, 244, 245,
246, 247, 0, 0, 248, 249, 250, 251, 252, 0,
253, 254, 255, 256, 257, 0, 0, 0, 258, 259,
260, 261, 0, 262, 263, 264, 0, 265, 266, 267,
268, 269, 270, 0, 0, 271, 272, 273, 0, 0,
0, 0, 0, 0, 0, 274, 275, 276, 277, 278,
279, 280, 281, 282, 0, 283, 0, 284, 285, 286,
287, 288, 0, 289, 290, 291, 0, 0, 292, 293,
294, 295, 296, 0, 297, 298, 299, 0, 300, 301,
302, 0, 303, 304, 305, 306, 307, 308, 309, 310,
311, 0, 312, 0, 313, 314, 315, 316, 0, 317,
0, 318, 0, 0, 0, 319, 320, 321, 0, 322,
323, 0, 324, 325, 0, 326, 327, 328, 329, 330,
0, 331, 332, 333, 334, 0, 335, 336, 337, 338,
339, 340, 0, 341, 0, 342, 343, 344, 345, 346,
347, 348, 0, 349, 0, 350, 0, 0, 351, 0,
352, 353, 354, 355, 356, 0, 0, 357, 358, 0,
359, 0, 0, 360, 361, 362, 0, 0, 363, 364,
365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
375, 376, 377, 378, 0, 379, 380, 381, 382, 0,
383, 384, 0, 385, 0, 386, 387, 388, 389, 390,
391, 0, 392, 0, 0, 393, 394, 395, 0, 0,
396, 397, 0, 398, 0, 399, 400, 401, 402, 403,
404, 405, 406, 0, 407, 408, 409, 410, 411, 412,
413, 414, 0, 415, 416, 417, 418, 419, 420, 421,
422, 423, 424, 425, 426, 427, 0, 428, 429, 430,
431, 432, 433, 434, 435, 436, 437, 438, 0, 439,
440, 0, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 0, 453, 454, 455, 456, 457,
0, 458, 459, 460, 461, 462, 0, 463, 464, 465,
466, 0, 467, 468, 469, 470, 471, 472, 473, 474,
475, 476, 477, 478, 0, 479, 480, 0, 481, 0,
482, 483, 484, 485, 486, 0, 487, 488, 0, 0,
489, 490, 491, 492, 493, 0, 494, 495, 496, 497,
498, 499, 500, 0, 0, 501, 502, 503, 504, 505,
2825, 0, 506, 507, 508, 509, 510, 511, 512, 0,
513, 0, 514, 515, 516, 517, 0, 0, 518, 0,
0, 519, 520, 521, 522, 523, 524, 525, 526, 527,
528, 529, 530, 531, 532, 533, 534, 535, 536, 219,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 220, 221, 222, 223, 224, 225,
226, 227, 228, 229, 230, 231, 0, 0, 0, 0,
0, 0, 0, 232, 233, 0, 234, 235, 0, 236,
237, 238, 239, 240, 0, 241, 242, 0, 243, 244,
245, 246, 247, 0, 0, 248, 249, 250, 251, 252,
0, 253, 254, 255, 256, 257, 0, 0, 0, 258,
259, 260, 261, 0, 262, 263, 264, 0, 265, 266,
267, 268, 269, 270, 0, 0, 271, 272, 273, 0,
0, 0, 0, 0, 0, 0, 274, 275, 276, 277,
278, 279, 280, 281, 282, 0, 283, 0, 284, 285,
286, 287, 288, 0, 289, 290, 291, 0, 0, 292,
293, 294, 295, 296, 0, 297, 298, 299, 0, 300,
301, 302, 0, 303, 304, 305, 306, 307, 308, 309,
310, 311, 0, 312, 0, 313, 314, 315, 316, 0,
317, 0, 318, 0, 0, 0, 319, 320, 321, 0,
322, 323, 0, 324, 325, 0, 326, 327, 328, 329,
330, 0, 331, 332, 333, 334, 0, 335, 336, 337,
338, 339, 340, 0, 341, 0, 342, 343, 344, 345,
346, 347, 348, 0, 349, 0, 350, 0, 0, 351,
0, 352, 353, 354, 355, 356, 0, 0, 357, 358,
0, 359, 0, 0, 360, 361, 362, 0, 0, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, 378, 0, 379, 380, 381, 382,
0, 383, 384, 0, 385, 0, 386, 387, 388, 389,
390, 391, 0, 392, 0, 0, 393, 394, 395, 0,
0, 396, 397, 0, 398, 0, 399, 400, 401, 402,
403, 404, 405, 406, 0, 407, 408, 409, 410, 411,
412, 413, 414, 0, 415, 416, 417, 418, 419, 420,
421, 422, 423, 424, 425, 426, 427, 0, 428, 429,
430, 431, 432, 433, 434, 435, 436, 437, 438, 0,
439, 440, 0, 441, 442, 443, 444, 445, 446, 447,
448, 449, 450, 451, 452, 0, 453, 454, 455, 456,
457, 0, 458, 459, 460, 461, 462, 0, 463, 464,
465, 466, 0, 467, 468, 469, 470, 471, 472, 473,
474, 475, 476, 477, 478, 0, 479, 480, 0, 481,
0, 482, 483, 484, 485, 486, 0, 487, 488, 0,
0, 489, 490, 491, 492, 493, 0, 494, 495, 496,
497, 498, 499, 500, 0, 0, 501, 502, 503, 504,
505, 0, 0, 506, 507, 508, 509, 510, 511, 512,
0, 513, 0, 514, 515, 516, 517, 0, 0, 518,
0, 0, 519, 520, 521, 522, 523, 524, 525, 526,
527, 528, 529, 530, 531, 532, 533, 534, 535, 536,
219, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 220, 221, 222, 223, 224,
225, 226, 227, 584, 229, 230, 231, 0, 0, 0,
0, 0, 0, 0, 232, 233, 0, 234, 235, 0,
236, 237, 238, 239, 240, 0, 241, 242, 0, 243,
244, 245, 246, 247, 0, 0, 248, 249, 250, 251,
252, 0, 253, 254, 255, 256, 257, 0, 0, 0,
258, 259, 260, 261, 0, 262, 263, 264, 0, 265,
266, 267, 268, 269, 270, 0, 0, 271, 272, 273,
0, 0, 0, 0, 0, 0, 0, 274, 275, 276,
277, 278, 279, 280, 281, 282, 0, 283, 0, 284,
285, 286, 287, 288, 0, 289, 290, 291, 0, 0,
292, 293, 294, 295, 296, 0, 297, 298, 299, 0,
300, 301, 302, 0, 303, 304, 305, 306, 307, 308,
309, 310, 311, 0, 312, 0, 313, 314, 315, 316,
0, 317, 0, 318, 0, 0, 0, 319, 320, 321,
0, 322, 323, 0, 324, 325, 0, 326, 327, 328,
329, 330, 0, 331, 332, 333, 334, 0, 335, 336,
337, 338, 339, 340, 0, 341, 0, 342, 343, 344,
345, 346, 347, 348, 0, 349, 0, 350, 0, 0,
351, 0, 352, 353, 354, 355, 356, 0, 0, 357,
358, 0, 359, 0, 0, 360, 361, 362, 0, 0,
363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
373, 374, 375, 376, 377, 378, 0, 379, 380, 381,
382, 0, 383, 384, 0, 385, 0, 386, 387, 388,
389, 390, 391, 0, 392, 0, 0, 393, 394, 395,
0, 0, 396, 397, 0, 398, 0, 399, 400, 401,
402, 403, 404, 405, 406, 0, 407, 408, 409, 410,
411, 412, 585, 414, 0, 415, 416, 417, 418, 419,
420, 421, 422, 423, 424, 425, 426, 427, 0, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
0, 439, 440, 0, 441, 442, 443, 444, 445, 446,
447, 448, 449, 450, 451, 452, 0, 453, 454, 455,
456, 457, 0, 458, 459, 460, 461, 462, 0, 463,
464, 465, 466, 0, 467, 468, 469, 470, 471, 472,
473, 474, 475, 476, 477, 478, 0, 479, 480, 0,
481, 0, 482, 483, 484, 485, 486, 0, 487, 488,
0, 0, 489, 490, 491, 492, 493, 0, 494, 495,
496, 497, 498, 499, 500, 0, 0, 501, 502, 503,
504, 505, 0, 0, 506, 507, 508, 509, 510, 511,
512, 0, 513, 0, 514, 515, 516, 517, 0, 0,
518, 0, 0, 519, 520, 521, 522, 523, 524, 525,
526, 527, 528, 529, 530, 531, 532, 533, 534, 535,
536, 219, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 220, 221, 222, 223,
224, 225, 226, 227, 695, 229, 230, 231, 0, 0,
0, 0, 0, 0, 0, 232, 233, 0, 234, 235,
0, 236, 237, 238, 239, 240, 0, 241, 242, 0,
243, 244, 245, 246, 247, 0, 0, 248, 249, 250,
251, 252, 0, 253, 254, 255, 256, 257, 0, 0,
0, 258, 259, 260, 261, 0, 262, 263, 264, 0,
265, 266, 267, 268, 269, 270, 0, 0, 271, 272,
273, 0, 0, 0, 0, 0, 0, 0, 274, 275,
276, 277, 278, 279, 280, 281, 282, 0, 283, 0,
284, 285, 286, 287, 288, 0, 289, 290, 291, 0,
0, 292, 293, 294, 295, 296, 0, 297, 298, 299,
0, 300, 301, 302, 0, 303, 304, 305, 306, 307,
308, 309, 310, 311, 0, 312, 0, 313, 314, 315,
316, 0, 317, 0, 318, 0, 0, 0, 319, 320,
321, 0, 322, 323, 0, 324, 325, 0, 326, 327,
328, 329, 330, 0, 331, 332, 333, 334, 0, 335,
336, 337, 338, 339, 340, 0, 341, 0, 342, 343,
344, 345, 346, 347, 348, 0, 349, 0, 350, 0,
0, 351, 0, 352, 353, 354, 355, 356, 0, 0,
357, 358, 0, 359, 0, 0, 360, 361, 362, 0,
0, 363, 364, 365, 366, 367, 368, 369, 370, 371,
372, 373, 374, 375, 376, 377, 378, 0, 379, 380,
381, 382, 0, 383, 384, 0, 385, 0, 386, 387,
388, 389, 390, 391, 0, 392, 0, 0, 393, 394,
395, 0, 0, 396, 397, 0, 398, 0, 399, 400,
401, 402, 403, 404, 405, 406, 0, 407, 408, 409,
410, 411, 412, 413, 414, 0, 415, 416, 417, 418,
419, 420, 421, 422, 423, 424, 425, 426, 427, 0,
428, 429, 430, 431, 432, 433, 434, 435, 436, 437,
438, 0, 439, 440, 0, 441, 442, 443, 444, 445,
446, 447, 448, 449, 450, 451, 452, 0, 453, 454,
455, 456, 696, 0, 458, 459, 460, 461, 462, 0,
463, 464, 465, 466, 0, 467, 468, 469, 470, 471,
472, 473, 474, 475, 476, 477, 478, 0, 479, 480,
0, 481, 0, 482, 483, 484, 485, 486, 0, 697,
488, 0, 0, 698, 490, 491, 492, 493, 0, 494,
495, 496, 497, 498, 499, 500, 0, 0, 501, 502,
503, 504, 505, 0, 0, 506, 507, 508, 509, 510,
511, 512, 0, 513, 0, 514, 515, 516, 517, 0,
0, 518, 0, 0, 519, 520, 521, 522, 523, 524,
525, 526, 527, 528, 529, 530, 531, 532, 533, 534,
535, 536, 219, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 220, 221, 222,
223, 224, 225, 226, 227, 729, 229, 230, 231, 0,
0, 0, 0, 0, 0, 0, 232, 233, 0, 234,
235, 0, 236, 237, 238, 239, 240, 0, 241, 242,
0, 243, 244, 245, 246, 247, 0, 0, 248, 249,
250, 251, 252, 0, 253, 254, 255, 256, 257, 0,
0, 0, 258, 259, 260, 261, 0, 262, 263, 264,
0, 265, 266, 267, 268, 269, 270, 0, 0, 271,
272, 273, 0, 0, 0, 0, 0, 0, 0, 274,
275, 276, 277, 278, 279, 280, 281, 282, 0, 283,
0, 284, 285, 286, 287, 288, 0, 289, 290, 291,
0, 0, 292, 293, 294, 295, 296, 0, 297, 298,
299, 0, 300, 301, 302, 0, 303, 304, 305, 306,
307, 308, 309, 310, 311, 0, 312, 0, 313, 314,
315, 316, 0, 317, 0, 318, 0, 0, 0, 319,
320, 321, 0, 322, 323, 0, 324, 325, 0, 326,
327, 328, 329, 330, 0, 331, 332, 333, 334, 0,
335, 336, 337, 338, 339, 340, 0, 341, 0, 342,
343, 344, 345, 346, 347, 348, 0, 349, 0, 350,
0, 0, 351, 0, 352, 353, 354, 355, 356, 0,
0, 357, 358, 0, 359, 0, 0, 360, 361, 362,
0, 0, 363, 364, 365, 366, 367, 368, 369, 370,
371, 372, 373, 374, 375, 376, 377, 378, 0, 379,
380, 381, 382, 0, 383, 384, 0, 385, 0, 386,
387, 388, 389, 390, 391, 0, 392, 0, 0, 393,
394, 395, 0, 0, 396, 397, 0, 398, 0, 399,
400, 401, 402, 403, 404, 405, 406, 0, 407, 408,
409, 410, 411, 412, 413, 414, 0, 415, 416, 417,
418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
0, 428, 429, 430, 431, 432, 433, 434, 435, 436,
437, 438, 0, 439, 440, 0, 441, 442, 443, 444,
445, 446, 447, 448, 449, 450, 451, 452, 0, 453,
454, 455, 456, 730, 0, 458, 459, 460, 461, 462,
0, 463, 464, 465, 466, 0, 467, 468, 469, 470,
471, 472, 473, 474, 475, 476, 477, 478, 0, 479,
480, 0, 481, 0, 482, 483, 484, 485, 486, 0,
731, 488, 0, 0, 732, 490, 491, 492, 493, 0,
494, 495, 496, 497, 498, 499, 500, 0, 0, 501,
502, 503, 504, 505, 0, 0, 506, 507, 508, 509,
510, 511, 512, 0, 513, 0, 514, 515, 516, 517,
0, 0, 518, 0, 0, 519, 520, 521, 522, 523,
524, 525, 526, 527, 528, 529, 530, 531, 532, 533,
534, 535, 536, 219, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 220, 221,
222, 223, 224, 225, 226, 227, 0, 229, 230, 231,
0, 0, 0, 0, 0, 0, 0, 232, 233, 0,
234, 235, 0, 236, 237, 238, 239, 240, 0, 241,
242, 0, 243, 244, 245, 246, 247, 0, 0, 248,
249, 250, 251, 252, 0, 253, 254, 255, 256, 257,
0, 0, 0, 258, 259, 260, 261, 0, 262, 263,
264, 0, 265, 266, 267, 268, 269, 270, 0, 0,
271, 272, 273, 0, 0, 0, 0, 0, 0, 0,
274, 275, 276, 277, 278, 279, 280, 281, 282, 0,
283, 0, 284, 285, 286, 287, 288, 0, 289, 290,
291, 0, 0, 292, 293, 294, 295, 296, 0, 297,
298, 299, 0, 300, 301, 302, 0, 303, 304, 305,
306, 307, 308, 309, 310, 311, 0, 312, 0, 313,
314, 315, 316, 0, 317, 0, 318, 0, 0, 0,
319, 320, 321, 0, 322, 323, 0, 324, 325, 0,
326, 327, 328, 329, 330, 0, 331, 332, 333, 334,
0, 335, 336, 337, 338, 339, 340, 0, 341, 0,
342, 343, 344, 345, 346, 347, 348, 0, 349, 0,
350, 0, 0, 351, 0, 352, 353, 354, 355, 356,
0, 0, 357, 358, 0, 359, 0, 0, 360, 361,
362, 0, 0, 363, 364, 365, 366, 367, 368, 369,
370, 371, 372, 373, 374, 375, 376, 377, 378, 0,
379, 380, 381, 382, 0, 383, 384, 0, 385, 0,
386, 387, 388, 389, 390, 391, 0, 392, 0, 735,
393, 394, 395, 0, 0, 396, 397, 0, 398, 0,
399, 400, 401, 402, 403, 404, 405, 406, 0, 407,
408, 409, 410, 411, 412, 413, 414, 0, 415, 416,
417, 418, 419, 420, 421, 422, 423, 424, 425, 426,
427, 0, 428, 429, 430, 431, 432, 433, 434, 435,
436, 437, 438, 0, 439, 440, 0, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 0,
453, 454, 455, 456, 457, 0, 458, 459, 460, 461,
462, 0, 463, 464, 465, 466, 0, 467, 468, 469,
470, 471, 472, 473, 474, 475, 476, 477, 478, 0,
479, 480, 0, 481, 0, 482, 483, 484, 485, 486,
0, 487, 488, 0, 0, 489, 490, 491, 492, 493,
0, 494, 495, 496, 497, 498, 499, 500, 0, 0,
501, 502, 503, 504, 505, 0, 0, 506, 507, 508,
509, 510, 511, 512, 0, 513, 0, 514, 515, 516,
517, 0, 0, 518, 0, 0, 519, 520, 521, 522,
523, 524, 525, 526, 527, 528, 529, 530, 531, 532,
533, 534, 535, 536, 219, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 220,
221, 222, 223, 224, 225, 226, 227, 824, 229, 230,
231, 0, 0, 0, 0, 0, 0, 0, 232, 233,
0, 234, 235, 0, 236, 237, 238, 239, 240, 0,
241, 242, 0, 243, 244, 245, 246, 247, 0, 0,
248, 249, 250, 251, 252, 0, 253, 254, 255, 256,
257, 0, 0, 0, 258, 259, 260, 261, 0, 262,
263, 264, 0, 265, 266, 267, 268, 269, 270, 0,
0, 271, 272, 273, 0, 0, 0, 0, 0, 0,
0, 274, 275, 276, 277, 278, 279, 280, 281, 282,
0, 283, 0, 284, 285, 286, 287, 288, 0, 289,
290, 291, 0, 0, 292, 293, 294, 295, 296, 0,
297, 298, 299, 0, 300, 301, 302, 0, 303, 304,
305, 306, 307, 308, 309, 310, 311, 0, 312, 0,
313, 314, 315, 316, 0, 317, 0, 318, 0, 0,
0, 319, 320, 321, 0, 322, 323, 0, 324, 325,
0, 326, 327, 328, 329, 825, 0, 331, 332, 333,
334, 0, 335, 336, 337, 338, 339, 340, 0, 341,
0, 342, 343, 344, 345, 346, 347, 348, 0, 349,
0, 350, 0, 0, 351, 0, 352, 353, 354, 355,
356, 0, 0, 357, 358, 0, 359, 0, 0, 360,
361, 362, 0, 0, 363, 364, 365, 366, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
0, 379, 380, 381, 382, 0, 383, 384, 0, 385,
0, 386, 387, 388, 389, 390, 391, 0, 392, 0,
0, 393, 394, 395, 0, 0, 396, 397, 0, 398,
0, 399, 400, 401, 402, 403, 404, 405, 406, 0,
407, 408, 409, 410, 411, 412, 413, 414, 0, 415,
416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
426, 427, 0, 428, 429, 430, 431, 432, 433, 434,
435, 436, 437, 438, 0, 439, 440, 0, 441, 442,
443, 444, 445, 446, 447, 448, 449, 450, 451, 452,
0, 453, 454, 455, 456, 457, 0, 458, 459, 460,
461, 462, 0, 463, 464, 465, 466, 0, 467, 468,
469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
0, 479, 480, 0, 481, 0, 482, 483, 484, 485,
486, 0, 487, 488, 0, 0, 489, 490, 491, 492,
493, 0, 494, 495, 496, 497, 498, 499, 500, 0,
0, 501, 502, 503, 504, 505, 0, 0, 506, 507,
508, 509, 510, 511, 512, 0, 513, 0, 514, 515,
516, 517, 0, 0, 518, 0, 0, 519, 520, 521,
522, 523, 524, 525, 526, 527, 528, 529, 530, 531,
532, 533, 534, 535, 536, 219, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
220, 221, 222, 223, 224, 225, 226, 227, 964, 229,
230, 231, 0, 0, 0, 0, 0, 0, 0, 232,
233, 0, 234, 235, 0, 236, 237, 238, 239, 240,
0, 241, 242, 0, 243, 244, 245, 246, 247, 0,
0, 248, 249, 250, 251, 252, 0, 253, 254, 255,
256, 257, 0, 0, 0, 258, 259, 260, 261, 0,
262, 263, 264, 0, 265, 266, 267, 268, 269, 270,
0, 0, 271, 272, 273, 0, 0, 0, 0, 0,
0, 0, 274, 275, 276, 277, 278, 279, 280, 281,
282, 0, 283, 0, 284, 285, 286, 287, 288, 0,
289, 290, 291, 0, 0, 292, 293, 294, 295, 296,
0, 297, 298, 299, 0, 300, 301, 302, 0, 303,
304, 305, 306, 307, 308, 309, 310, 311, 0, 312,
0, 313, 314, 315, 316, 0, 317, 0, 318, 0,
0, 0, 319, 320, 321, 0, 322, 323, 0, 324,
325, 0, 326, 327, 328, 329, 330, 0, 331, 332,
333, 334, 0, 335, 336, 337, 338, 339, 340, 0,
341, 0, 342, 343, 344, 345, 346, 347, 348, 0,
349, 0, 350, 0, 0, 351, 0, 352, 353, 354,
355, 356, 0, 0, 357, 358, 0, 359, 0, 0,
360, 361, 362, 0, 0, 363, 364, 365, 366, 367,
368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
378, 0, 379, 380, 381, 382, 0, 383, 384, 0,
385, 0, 386, 387, 388, 389, 390, 391, 0, 392,
0, 0, 393, 394, 395, 0, 0, 396, 397, 0,
398, 0, 399, 400, 401, 402, 403, 404, 405, 406,
0, 407, 408, 409, 410, 411, 412, 413, 414, 0,
415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
425, 426, 427, 0, 428, 429, 430, 431, 432, 433,
434, 435, 436, 437, 438, 0, 439, 440, 0, 441,
442, 443, 444, 445, 446, 447, 448, 449, 450, 451,
452, 0, 453, 454, 455, 456, 457, 0, 458, 459,
460, 461, 462, 0, 463, 464, 465, 466, 0, 467,
468, 469, 470, 471, 472, 473, 474, 475, 476, 477,
478, 0, 479, 480, 0, 481, 0, 482, 483, 484,
485, 486, 0, 487, 488, 0, 0, 489, 490, 491,
492, 493, 0, 494, 495, 496, 497, 498, 499, 500,
0, 0, 501, 502, 503, 504, 505, 0, 0, 506,
507, 508, 509, 510, 511, 512, 0, 513, 0, 514,
515, 516, 517, 0, 0, 518, 0, 0, 519, 520,
521, 522, 523, 524, 525, 526, 527, 528, 529, 530,
531, 532, 533, 534, 535, 536, 219, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 220, 221, 222, 223, 224, 225, 226, 227, 1227,
229, 230, 231, 0, 0, 0, 0, 0, 0, 0,
232, 233, 0, 234, 235, 0, 236, 237, 238, 239,
240, 0, 241, 242, 0, 243, 244, 245, 246, 247,
0, 0, 248, 249, 250, 251, 252, 0, 253, 254,
255, 256, 257, 0, 0, 0, 258, 259, 260, 261,
0, 262, 263, 264, 0, 265, 266, 267, 268, 269,
270, 0, 0, 271, 272, 273, 0, 0, 0, 0,
0, 0, 0, 274, 275, 276, 277, 278, 279, 280,
281, 282, 0, 283, 0, 284, 285, 286, 287, 288,
0, 289, 290, 291, 0, 0, 292, 293, 294, 295,
296, 0, 297, 298, 299, 0, 300, 301, 302, 0,
303, 304, 305, 306, 307, 308, 309, 310, 311, 0,
312, 0, 313, 314, 315, 316, 0, 317, 0, 318,
0, 0, 0, 319, 320, 321, 0, 322, 323, 0,
324, 325, 0, 326, 327, 328, 329, 330, 0, 331,
332, 333, 334, 0, 335, 336, 337, 338, 339, 340,
0, 341, 0, 342, 343, 344, 345, 346, 347, 348,
0, 349, 0, 350, 0, 0, 351, 0, 352, 353,
354, 355, 356, 0, 0, 357, 358, 0, 359, 0,
0, 360, 361, 362, 0, 0, 363, 364, 365, 366,
367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
377, 378, 0, 379, 380, 381, 382, 0, 383, 384,
0, 385, 0, 386, 387, 388, 389, 390, 391, 0,
392, 0, 0, 393, 394, 395, 0, 0, 396, 397,
0, 398, 0, 399, 400, 401, 402, 403, 404, 405,
406, 0, 407, 408, 409, 410, 411, 412, 413, 414,
0, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 0, 428, 429, 430, 431, 432,
433, 434, 435, 436, 437, 438, 0, 439, 440, 0,
441, 442, 443, 444, 445, 446, 447, 448, 449, 450,
451, 452, 0, 453, 454, 455, 456, 457, 0, 458,
459, 460, 461, 462, 0, 463, 464, 465, 466, 0,
467, 468, 469, 470, 471, 472, 473, 474, 475, 476,
477, 478, 0, 479, 480, 0, 481, 0, 482, 483,
484, 485, 486, 0, 487, 488, 0, 0, 489, 490,
491, 492, 493, 0, 494, 495, 496, 497, 498, 499,
500, 0, 0, 501, 502, 503, 504, 505, 0, 0,
506, 507, 508, 509, 510, 511, 512, 0, 513, 0,
514, 515, 516, 517, 0, 0, 518, 0, 0, 519,
520, 521, 522, 523, 524, 525, 526, 527, 528, 529,
530, 531, 532, 533, 534, 535, 536, 219, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 220, 221, 222, 223, 224, 225, 226, 227,
0, 229, 230, 231, 0, 0, 0, 0, 0, 0,
0, 232, 233, 0, 234, 235, 1242, 236, 237, 238,
239, 240, 0, 241, 242, 0, 243, 244, 245, 246,
247, 0, 0, 715, 249, 250, 251, 1243, 0, 253,
254, 255, 256, 257, 0, 0, 0, 258, 259, 260,
261, 0, 262, 263, 264, 0, 265, 266, 267, 268,
269, 270, 0, 0, 271, 272, 273, 0, 0, 0,
0, 0, 0, 0, 274, 275, 276, 277, 278, 279,
280, 281, 282, 0, 283, 0, 284, 285, 286, 287,
288, 0, 289, 290, 291, 0, 0, 292, 293, 294,
295, 296, 0, 297, 298, 299, 0, 300, 301, 302,
0, 303, 304, 305, 306, 307, 308, 309, 310, 311,
0, 312, 0, 313, 314, 315, 316, 0, 317, 0,
318, 0, 0, 0, 319, 320, 321, 0, 322, 323,
0, 324, 325, 0, 326, 327, 328, 329, 330, 0,
331, 332, 333, 334, 0, 335, 336, 337, 338, 339,
340, 0, 341, 0, 342, 343, 344, 345, 346, 347,
348, 0, 349, 0, 350, 0, 0, 351, 0, 352,
353, 354, 355, 356, 0, 0, 357, 358, 0, 359,
0, 0, 360, 361, 362, 0, 0, 363, 364, 365,
366, 367, 368, 369, 370, 371, 372, 373, 374, 375,
376, 718, 378, 0, 379, 380, 381, 382, 0, 383,
384, 0, 385, 0, 386, 387, 388, 389, 390, 391,
0, 392, 0, 0, 393, 394, 395, 0, 0, 396,
397, 0, 398, 0, 399, 400, 401, 402, 403, 404,
405, 406, 0, 407, 408, 409, 410, 411, 412, 413,
414, 0, 415, 416, 417, 418, 419, 420, 421, 422,
423, 424, 425, 426, 427, 0, 428, 429, 430, 431,
432, 433, 434, 435, 436, 437, 438, 0, 439, 440,
0, 719, 442, 443, 444, 445, 446, 447, 720, 449,
450, 451, 452, 0, 453, 454, 455, 456, 1231, 0,
458, 459, 460, 461, 462, 0, 463, 464, 465, 466,
0, 467, 468, 469, 470, 471, 472, 473, 474, 475,
476, 477, 478, 0, 479, 480, 0, 481, 0, 482,
483, 484, 485, 486, 0, 722, 488, 0, 0, 723,
490, 491, 492, 493, 0, 494, 495, 496, 497, 498,
499, 500, 0, 0, 501, 502, 503, 504, 505, 0,
0, 506, 507, 508, 509, 510, 511, 512, 0, 513,
0, 514, 515, 516, 517, 0, 0, 518, 0, 0,
519, 520, 521, 522, 523, 724, 525, 526, 527, 528,
529, 530, 531, 532, 533, 534, 535, 536, 219, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 220, 221, 222, 223, 224, 225, 226,
227, 0, 229, 230, 231, 0, 0, 0, 0, 0,
0, 0, 232, 233, 0, 234, 235, 0, 236, 237,
238, 239, 240, 0, 241, 242, 0, 243, 244, 245,
246, 247, 0, 0, 248, 249, 250, 251, 252, 0,
253, 254, 255, 256, 257, 0, 0, 0, 258, 259,
260, 261, 0, 262, 263, 264, 0, 265, 266, 267,
268, 269, 270, 0, 0, 271, 272, 273, 0, 0,
0, 0, 0, 0, 0, 274, 275, 276, 277, 278,
279, 280, 281, 282, 0, 283, 0, 284, 285, 286,
287, 288, 0, 289, 290, 291, 0, 0, 292, 293,
294, 295, 296, 0, 297, 298, 299, 0, 300, 301,
302, 0, 303, 304, 305, 306, 307, 308, 309, 310,
311, 0, 312, 0, 313, 314, 315, 316, 0, 317,
0, 318, 0, 0, 0, 319, 320, 321, 0, 322,
323, 0, 324, 325, 0, 326, 327, 328, 329, 1350,
0, 331, 332, 333, 334, 0, 335, 336, 337, 338,
339, 340, 0, 341, 0, 342, 343, 344, 345, 346,
347, 348, 0, 349, 0, 350, 0, 0, 351, 0,
352, 353, 354, 355, 356, 0, 0, 357, 358, 0,
359, 0, 0, 360, 361, 362, 0, 0, 363, 364,
365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
375, 376, 377, 378, 0, 379, 380, 381, 382, 0,
383, 384, 0, 385, 0, 386, 387, 388, 389, 390,
391, 0, 392, 0, 735, 393, 394, 395, 0, 0,
396, 397, 0, 398, 0, 399, 400, 401, 402, 403,
404, 405, 406, 0, 407, 408, 409, 410, 411, 412,
413, 414, 0, 415, 416, 417, 418, 419, 420, 421,
422, 423, 424, 425, 426, 427, 0, 428, 429, 430,
431, 432, 433, 434, 435, 436, 437, 438, 0, 439,
440, 0, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 0, 453, 454, 455, 456, 457,
0, 458, 459, 460, 461, 462, 0, 463, 464, 465,
466, 0, 467, 468, 469, 470, 471, 472, 473, 474,
475, 476, 477, 478, 0, 479, 480, 0, 481, 0,
482, 483, 484, 485, 486, 0, 487, 488, 0, 0,
489, 490, 491, 492, 493, 0, 494, 495, 496, 497,
498, 499, 500, 0, 0, 501, 502, 503, 504, 505,
0, 0, 506, 507, 508, 509, 510, 511, 512, 0,
513, 0, 514, 515, 516, 517, 0, 0, 518, 0,
0, 519, 520, 521, 522, 523, 524, 525, 526, 527,
528, 529, 530, 531, 532, 533, 534, 535, 536, 219,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 220, 221, 222, 223, 224, 225,
226, 227, 1402, 229, 230, 231, 0, 0, 0, 0,
0, 0, 0, 232, 233, 0, 234, 235, 0, 236,
237, 238, 239, 240, 0, 241, 242, 0, 243, 244,
245, 246, 247, 0, 0, 248, 249, 250, 251, 252,
0, 253, 254, 255, 256, 257, 0, 0, 0, 258,
259, 260, 261, 0, 262, 263, 264, 0, 265, 266,
267, 268, 269, 270, 0, 0, 271, 272, 273, 0,
0, 0, 0, 0, 0, 0, 274, 275, 276, 277,
278, 279, 280, 281, 282, 0, 283, 0, 284, 285,
286, 287, 288, 0, 289, 290, 291, 0, 0, 292,
293, 294, 295, 296, 0, 297, 298, 299, 0, 300,
301, 302, 0, 303, 304, 305, 306, 307, 308, 309,
310, 311, 0, 312, 0, 313, 314, 315, 316, 0,
317, 0, 318, 0, 0, 0, 319, 320, 321, 0,
322, 323, 0, 324, 325, 0, 326, 327, 328, 329,
1403, 0, 331, 332, 333, 334, 0, 335, 336, 337,
338, 339, 340, 0, 341, 0, 342, 343, 344, 345,
346, 347, 348, 0, 349, 0, 350, 0, 0, 351,
0, 352, 353, 354, 355, 356, 0, 0, 357, 358,
0, 359, 0, 0, 360, 361, 362, 0, 0, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, 378, 0, 379, 380, 381, 382,
0, 383, 384, 0, 385, 0, 386, 387, 388, 389,
390, 391, 0, 392, 0, 0, 393, 394, 395, 0,
0, 396, 397, 0, 398, 0, 399, 400, 401, 402,
403, 404, 405, 406, 0, 407, 408, 409, 410, 411,
412, 413, 414, 0, 415, 416, 417, 418, 419, 420,
421, 422, 423, 424, 425, 426, 427, 0, 428, 429,
430, 431, 432, 433, 434, 435, 436, 437, 438, 0,
439, 440, 0, 441, 442, 443, 444, 445, 446, 447,
448, 449, 450, 451, 452, 0, 453, 454, 455, 456,
457, 0, 458, 459, 460, 461, 462, 0, 463, 464,
465, 466, 0, 467, 468, 469, 470, 471, 472, 473,
474, 475, 476, 477, 478, 0, 479, 480, 0, 481,
0, 482, 483, 484, 485, 486, 0, 487, 488, 0,
0, 489, 490, 491, 492, 493, 0, 494, 495, 496,
497, 498, 499, 500, 0, 0, 501, 502, 503, 504,
505, 0, 0, 506, 507, 508, 509, 510, 511, 512,
0, 513, 0, 514, 515, 516, 517, 0, 0, 518,
0, 0, 519, 520, 521, 522, 523, 524, 525, 526,
527, 528, 529, 530, 531, 532, 533, 534, 535, 536,
219, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 220, 221, 222, 223, 224,
225, 226, 227, 695, 229, 230, 231, 0, 0, 0,
0, 0, 0, 0, 232, 233, 0, 234, 235, 0,
236, 237, 238, 239, 240, 0, 241, 242, 0, 243,
244, 245, 246, 247, 0, 0, 248, 249, 250, 251,
252, 0, 253, 254, 255, 256, 257, 0, 0, 0,
258, 259, 260, 261, 0, 262, 263, 264, 0, 265,
266, 267, 268, 269, 270, 0, 0, 271, 272, 273,
0, 0, 0, 0, 0, 0, 0, 274, 275, 276,
277, 278, 279, 280, 281, 282, 0, 283, 0, 284,
285, 286, 287, 288, 0, 289, 290, 291, 0, 0,
292, 293, 294, 295, 296, 0, 297, 298, 299, 0,
300, 301, 302, 0, 303, 304, 305, 306, 307, 308,
309, 310, 311, 0, 312, 0, 313, 314, 315, 316,
0, 317, 0, 318, 0, 0, 0, 319, 320, 321,
0, 322, 323, 0, 324, 325, 0, 326, 327, 328,
329, 330, 0, 331, 332, 333, 334, 0, 335, 336,
337, 338, 339, 340, 0, 341, 0, 342, 343, 344,
345, 346, 347, 348, 0, 349, 0, 350, 0, 0,
351, 0, 352, 353, 354, 355, 356, 0, 0, 357,
358, 0, 359, 0, 0, 360, 361, 362, 0, 0,
363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
373, 374, 375, 376, 377, 378, 0, 379, 380, 381,
382, 0, 383, 384, 0, 385, 0, 386, 387, 388,
389, 390, 391, 0, 392, 0, 0, 393, 394, 395,
0, 0, 396, 397, 0, 398, 0, 399, 400, 401,
402, 403, 404, 405, 406, 0, 407, 408, 409, 410,
411, 412, 413, 414, 0, 415, 416, 417, 418, 419,
420, 421, 422, 423, 424, 425, 426, 427, 0, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
0, 439, 440, 0, 441, 442, 443, 444, 445, 446,
447, 448, 449, 450, 451, 452, 0, 453, 454, 455,
456, 457, 0, 458, 459, 460, 461, 462, 0, 463,
464, 465, 466, 0, 467, 468, 469, 470, 471, 472,
473, 474, 475, 476, 477, 478, 0, 479, 480, 0,
481, 0, 482, 483, 484, 485, 486, 0, 487, 488,
0, 0, 489, 490, 491, 492, 493, 0, 494, 495,
496, 497, 498, 499, 500, 0, 0, 501, 502, 503,
504, 505, 0, 0, 506, 507, 508, 509, 510, 511,
512, 0, 513, 0, 514, 515, 516, 517, 0, 0,
518, 0, 0, 519, 520, 521, 522, 523, 524, 525,
526, 527, 528, 529, 530, 531, 532, 533, 534, 535,
536, 219, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 220, 221, 222, 223,
224, 225, 226, 227, 0, 229, 230, 231, 0, 0,
0, 0, 0, 0, 0, 232, 233, 0, 234, 235,
0, 236, 237, 238, 239, 240, 0, 241, 242, 0,
243, 244, 245, 246, 247, 0, 0, 248, 249, 250,
251, 252, 0, 253, 254, 255, 256, 257, 0, 0,
0, 258, 259, 260, 261, 0, 262, 263, 264, 0,
265, 266, 267, 268, 269, 270, 0, 0, 271, 272,
273, 0, 0, 0, 0, 0, 0, 0, 274, 275,
276, 277, 278, 279, 280, 281, 282, 0, 283, 0,
284, 285, 286, 287, 288, 0, 289, 290, 291, 0,
0, 292, 293, 294, 295, 296, 0, 297, 298, 299,
0, 300, 301, 302, 0, 303, 304, 305, 306, 307,
308, 309, 310, 311, 0, 312, 0, 313, 314, 315,
316, 0, 317, 0, 318, 0, 0, 0, 319, 320,
2618, 0, 322, 323, 0, 324, 325, 0, 326, 327,
328, 329, 330, 0, 331, 332, 333, 334, 0, 335,
336, 337, 338, 339, 340, 0, 341, 0, 342, 343,
344, 345, 346, 347, 348, 0, 349, 0, 350, 0,
0, 351, 0, 352, 353, 354, 355, 356, 0, 0,
357, 358, 0, 359, 0, 0, 360, 361, 2619, 0,
0, 363, 364, 365, 366, 367, 368, 369, 370, 371,
372, 373, 374, 375, 376, 377, 378, 0, 379, 380,
381, 382, 0, 383, 384, 0, 385, 0, 386, 387,
388, 389, 390, 391, 0, 392, 0, 0, 393, 394,
395, 0, 0, 396, 397, 0, 398, 0, 399, 400,
401, 402, 403, 404, 405, 406, 0, 407, 408, 409,
410, 411, 412, 413, 414, 0, 415, 416, 417, 418,
419, 420, 421, 422, 423, 424, 425, 426, 427, 0,
428, 429, 430, 431, 432, 433, 434, 435, 436, 437,
438, 0, 439, 440, 0, 441, 442, 443, 444, 445,
446, 447, 448, 449, 450, 451, 452, 0, 453, 454,
455, 456, 457, 0, 458, 459, 460, 461, 462, 0,
463, 464, 465, 466, 0, 467, 468, 469, 470, 471,
472, 473, 474, 475, 476, 477, 478, 0, 479, 480,
2620, 481, 0, 482, 2621, 484, 2622, 486, 0, 487,
488, 0, 0, 489, 490, 491, 492, 493, 0, 494,
495, 496, 497, 498, 499, 500, 0, 0, 501, 502,
2623, 504, 505, 0, 0, 506, 507, 508, 509, 510,
511, 512, 0, 513, 0, 514, 515, 516, 517, 0,
0, 518, 0, 0, 519, 520, 521, 522, 523, 524,
525, 526, 527, 528, 529, 530, 531, 532, 533, 534,
535, 536, 219, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 220, 221, 222,
223, 224, 225, 226, 227, 0, 229, 230, 231, 0,
0, 0, 0, 0, 3806, 0, 232, 233, 0, 234,
235, 0, 236, 237, 238, 239, 240, 0, 241, 242,
0, 243, 244, 245, 246, 247, 0, 0, 248, 249,
250, 251, 252, 0, 253, 254, 255, 256, 257, 0,
0, 0, 258, 259, 260, 261, 0, 262, 263, 264,
0, 265, 266, 267, 268, 269, 270, 0, 0, 271,
272, 273, 0, 0, 0, 0, 0, 0, 0, 274,
275, 276, 277, 278, 279, 280, 281, 282, 0, 283,
0, 284, 285, 286, 287, 288, 0, 289, 290, 291,
0, 0, 292, 293, 294, 295, 296, 0, 297, 298,
299, 0, 300, 301, 302, 0, 303, 304, 305, 306,
307, 308, 309, 310, 311, 0, 312, 0, 313, 314,
315, 316, 0, 317, 0, 318, 0, 0, 0, 319,
320, 321, 0, 322, 323, 0, 324, 325, 0, 326,
327, 328, 329, 330, 0, 331, 332, 333, 334, 0,
335, 336, 337, 338, 339, 340, 0, 341, 0, 342,
343, 344, 345, 346, 347, 348, 0, 349, 0, 350,
0, 0, 351, 0, 352, 353, 354, 355, 356, 0,
0, 357, 358, 0, 359, 0, 0, 360, 361, 362,
0, 0, 363, 364, 365, 366, 367, 368, 369, 370,
371, 372, 373, 374, 375, 376, 377, 378, 0, 379,
380, 381, 382, 0, 383, 384, 0, 385, 0, 386,
387, 388, 389, 390, 391, 0, 392, 0, 0, 393,
394, 395, 0, 0, 396, 397, 0, 398, 0, 399,
400, 401, 402, 403, 404, 405, 406, 0, 407, 408,
409, 410, 411, 412, 413, 414, 0, 415, 416, 417,
418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
0, 428, 429, 430, 431, 432, 433, 434, 435, 436,
437, 438, 0, 439, 440, 0, 441, 442, 443, 444,
445, 446, 447, 448, 449, 450, 451, 452, 0, 453,
454, 455, 456, 457, 0, 458, 459, 460, 461, 462,
0, 463, 464, 465, 466, 0, 467, 468, 469, 470,
471, 472, 473, 474, 475, 476, 477, 478, 0, 479,
480, 0, 481, 0, 482, 483, 484, 485, 486, 0,
487, 488, 0, 0, 489, 490, 491, 492, 493, 0,
494, 495, 496, 497, 498, 499, 500, 0, 0, 501,
502, 503, 504, 505, 0, 0, 506, 507, 508, 509,
510, 511, 512, 0, 513, 0, 514, 515, 516, 517,
0, 0, 518, 0, 0, 519, 520, 521, 522, 523,
524, 525, 526, 527, 528, 529, 530, 531, 532, 533,
534, 535, 536, 219, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 220, 221,
222, 223, 224, 225, 226, 227, 0, 229, 230, 231,
0, 0, 0, 0, 0, 3820, 0, 232, 233, 0,
234, 235, 0, 236, 237, 238, 239, 240, 0, 241,
242, 0, 243, 244, 245, 246, 247, 0, 0, 248,
249, 250, 251, 252, 0, 253, 254, 255, 256, 257,
0, 0, 0, 258, 259, 260, 261, 0, 262, 263,
264, 0, 265, 266, 267, 268, 269, 270, 0, 0,
271, 272, 273, 0, 0, 0, 0, 0, 0, 0,
274, 275, 276, 277, 278, 279, 280, 281, 282, 0,
283, 0, 284, 285, 286, 287, 288, 0, 289, 290,
291, 0, 0, 292, 293, 294, 295, 296, 0, 297,
298, 299, 0, 300, 301, 302, 0, 303, 304, 305,
306, 307, 308, 309, 310, 311, 0, 312, 0, 313,
314, 315, 316, 0, 317, 0, 318, 0, 0, 0,
319, 320, 321, 0, 322, 323, 0, 324, 325, 0,
326, 327, 328, 329, 330, 0, 331, 332, 333, 334,
0, 335, 336, 337, 338, 339, 340, 0, 341, 0,
342, 343, 344, 345, 346, 347, 348, 0, 349, 0,
350, 0, 0, 351, 0, 352, 353, 354, 355, 356,
0, 0, 357, 358, 0, 359, 0, 0, 360, 361,
362, 0, 0, 363, 364, 365, 366, 367, 368, 369,
370, 371, 372, 373, 374, 375, 376, 377, 378, 0,
379, 380, 381, 382, 0, 383, 384, 0, 385, 0,
386, 387, 388, 389, 390, 391, 0, 392, 0, 0,
393, 394, 395, 0, 0, 396, 397, 0, 398, 0,
399, 400, 401, 402, 403, 404, 405, 406, 0, 407,
408, 409, 410, 411, 412, 413, 414, 0, 415, 416,
417, 418, 419, 420, 421, 422, 423, 424, 425, 426,
427, 0, 428, 429, 430, 431, 432, 433, 434, 435,
436, 437, 438, 0, 439, 440, 0, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 0,
453, 454, 455, 456, 457, 0, 458, 459, 460, 461,
462, 0, 463, 464, 465, 466, 0, 467, 468, 469,
470, 471, 472, 473, 474, 475, 476, 477, 478, 0,
479, 480, 0, 481, 0, 482, 483, 484, 485, 486,
0, 487, 488, 0, 0, 489, 490, 491, 492, 493,
0, 494, 495, 496, 497, 498, 499, 500, 0, 0,
501, 502, 503, 504, 505, 0, 0, 506, 507, 508,
509, 510, 511, 512, 0, 513, 0, 514, 515, 516,
517, 0, 0, 518, 0, 0, 519, 520, 521, 522,
523, 524, 525, 526, 527, 528, 529, 530, 531, 532,
533, 534, 535, 536, 219, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 220,
221, 222, 223, 224, 225, 226, 227, 0, 229, 230,
231, 0, 0, 0, 0, 0, 0, 0, 232, 233,
0, 234, 235, 0, 236, 237, 238, 239, 240, 0,
241, 242, 0, 243, 244, 245, 246, 247, 0, 0,
248, 249, 250, 251, 252, 0, 253, 254, 255, 256,
257, 0, 0, 0, 258, 259, 260, 261, 0, 262,
263, 264, 0, 265, 266, 267, 268, 269, 270, 0,
0, 271, 272, 273, 0, 0, 0, 0, 0, 0,
0, 274, 275, 276, 277, 278, 279, 280, 281, 282,
0, 283, 0, 284, 285, 286, 287, 288, 0, 289,
290, 291, 0, 0, 292, 293, 294, 295, 296, 0,
297, 298, 299, 0, 300, 301, 302, 0, 303, 304,
305, 306, 307, 308, 309, 310, 311, 0, 312, 0,
313, 314, 315, 316, 0, 317, 0, 318, 0, 0,
0, 319, 320, 321, 0, 322, 323, 0, 324, 325,
0, 326, 327, 328, 329, 330, 0, 331, 332, 333,
334, 0, 335, 336, 337, 338, 339, 340, 0, 341,
0, 342, 343, 344, 345, 346, 347, 348, 0, 349,
0, 350, 0, 0, 351, 0, 352, 353, 354, 355,
356, 0, 0, 357, 358, 0, 359, 0, 0, 360,
361, 362, 0, 0, 363, 364, 365, 366, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
0, 379, 380, 381, 382, 0, 383, 384, 0, 385,
0, 386, 387, 388, 389, 390, 391, 0, 392, 0,
0, 393, 394, 395, 0, 0, 396, 397, 0, 398,
0, 399, 400, 401, 402, 403, 404, 405, 406, 0,
407, 408, 409, 410, 411, 412, 413, 414, 0, 415,
416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
426, 427, 0, 428, 429, 430, 431, 432, 433, 434,
435, 436, 437, 438, 0, 439, 440, 0, 441, 442,
443, 444, 445, 446, 447, 448, 449, 450, 451, 452,
0, 453, 454, 455, 456, 457, 0, 458, 459, 460,
461, 462, 0, 463, 464, 465, 466, 0, 467, 468,
469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
0, 479, 480, 0, 481, 0, 482, 483, 484, 485,
486, 0, 487, 488, 0, 0, 489, 490, 491, 492,
493, 0, 494, 495, 496, 497, 498, 499, 500, 0,
0, 501, 502, 503, 504, 505, 0, 4487, 506, 507,
508, 509, 510, 511, 512, 0, 513, 0, 514, 515,
516, 517, 0, 0, 518, 0, 0, 519, 520, 521,
522, 523, 524, 525, 526, 527, 528, 529, 530, 531,
532, 533, 534, 535, 536, 219, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
220, 221, 222, 223, 224, 225, 226, 227, 0, 229,
230, 231, 0, 0, 0, 0, 0, 0, 0, 232,
233, 0, 234, 235, 0, 236, 237, 238, 239, 240,
0, 241, 242, 0, 243, 244, 245, 246, 247, 0,
0, 248, 249, 250, 251, 252, 0, 253, 254, 255,
256, 257, 0, 0, 0, 258, 259, 260, 261, 0,
262, 263, 264, 0, 265, 266, 267, 268, 269, 270,
0, 0, 271, 272, 273, 0, 0, 0, 0, 0,
0, 0, 274, 275, 276, 277, 278, 279, 280, 281,
282, 0, 283, 0, 284, 285, 286, 287, 288, 0,
289, 290, 291, 0, 0, 292, 293, 294, 295, 296,
0, 297, 298, 299, 0, 300, 301, 302, 0, 303,
304, 305, 306, 307, 308, 309, 310, 311, 0, 312,
0, 313, 314, 315, 316, 0, 317, 0, 318, 0,
0, 0, 319, 320, 321, 0, 322, 323, 0, 324,
325, 0, 326, 327, 328, 329, 330, 0, 331, 332,
333, 334, 0, 335, 336, 337, 338, 339, 340, 0,
341, 0, 342, 343, 344, 345, 346, 347, 348, 0,
349, 0, 350, 0, 0, 351, 0, 352, 353, 354,
355, 356, 0, 0, 357, 358, 0, 359, 0, 0,
360, 361, 362, 0, 0, 363, 364, 365, 366, 367,
368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
378, 0, 379, 380, 381, 382, 0, 383, 384, 0,
385, 0, 386, 387, 388, 389, 390, 391, 0, 392,
0, 0, 393, 394, 395, 0, 0, 396, 397, 0,
398, 0, 399, 400, 401, 402, 403, 404, 405, 406,
0, 407, 408, 409, 410, 411, 412, 413, 414, 0,
415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
425, 426, 427, 0, 428, 429, 430, 431, 432, 433,
434, 435, 436, 437, 438, 0, 439, 440, 0, 441,
442, 443, 444, 445, 446, 447, 448, 449, 450, 451,
452, 0, 453, 454, 455, 456, 457, 0, 458, 459,
460, 461, 462, 0, 463, 464, 465, 466, 0, 467,
468, 469, 470, 471, 472, 473, 474, 475, 476, 477,
478, 0, 479, 480, 0, 481, 0, 482, 483, 484,
485, 486, 0, 487, 488, 0, 0, 489, 490, 491,
492, 493, 0, 494, 495, 496, 497, 498, 499, 500,
0, 0, 501, 502, 503, 504, 505, 0, 0, 506,
507, 508, 509, 510, 511, 512, 0, 513, 0, 514,
515, 516, 517, 0, 0, 518, 0, 0, 519, 520,
521, 522, 523, 524, 525, 526, 527, 528, 529, 530,
531, 532, 533, 534, 535, 536, 219, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 220, 221, 222, 223, 224, 225, 226, 227, 0,
229, 230, 231, 0, 0, 0, 0, 0, 0, 0,
232, 233, 0, 234, 235, 0, 236, 237, 238, 239,
240, 0, 241, 242, 0, 243, 244, 245, 246, 247,
0, 0, 248, 249, 250, 251, 252, 0, 253, 254,
255, 256, 257, 0, 0, 0, 258, 259, 260, 261,
0, 262, 263, 264, 0, 265, 266, 267, 268, 269,
270, 0, 0, 271, 272, 273, 0, 0, 0, 0,
0, 0, 0, 274, 275, 276, 277, 278, 279, 280,
281, 282, 0, 283, 0, 284, 285, 286, 287, 288,
0, 289, 290, 291, 0, 0, 292, 293, 294, 295,
296, 0, 297, 298, 299, 0, 300, 301, 302, 0,
303, 304, 305, 306, 307, 308, 309, 310, 311, 0,
312, 0, 313, 314, 315, 316, 0, 317, 0, 318,
0, 0, 0, 319, 320, 321, 0, 322, 323, 0,
324, 325, 0, 326, 327, 328, 329, 330, 0, 331,
332, 333, 334, 0, 335, 336, 337, 338, 339, 340,
0, 341, 0, 342, 343, 344, 345, 346, 347, 348,
0, 349, 0, 350, 0, 0, 351, 0, 352, 353,
354, 355, 356, 0, 0, 357, 358, 0, 359, 0,
0, 360, 361, 362, 0, 0, 363, 364, 365, 366,
367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
377, 378, 0, 379, 380, 381, 382, 0, 383, 384,
0, 385, 0, 386, 387, 388, 389, 390, 391, 0,
392, 0, 0, 393, 394, 395, 0, 0, 396, 397,
0, 398, 0, 399, 400, 401, 402, 403, 404, 405,
406, 0, 407, 408, 409, 410, 411, 412, 413, 414,
0, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 0, 428, 429, 430, 431, 432,
433, 434, 435, 436, 437, 438, 0, 439, 440, 0,
441, 442, 443, 444, 445, 446, 447, 448, 449, 450,
451, 452, 0, 453, 454, 455, 456, 457, 0, 458,
459, 460, 461, 462, 0, 463, 464, 465, 466, 0,
467, 468, 469, 470, 471, 472, 473, 474, 475, 476,
477, 478, 0, 479, 480, 0, 481, 0, 482, 483,
484, 485, 486, 0, 487, 488, 0, 0, 681, 490,
491, 492, 493, 0, 494, 495, 496, 497, 498, 499,
500, 0, 0, 501, 502, 503, 504, 505, 0, 0,
506, 507, 508, 509, 510, 511, 512, 0, 513, 0,
514, 515, 516, 517, 0, 0, 518, 0, 0, 519,
520, 521, 522, 523, 524, 525, 526, 527, 528, 529,
530, 531, 532, 533, 534, 535, 536, 219, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 220, 221, 222, 223, 224, 225, 226, 227,
0, 229, 230, 231, 0, 0, 0, 0, 0, 0,
0, 232, 233, 0, 234, 235, 0, 236, 237, 238,
239, 240, 0, 241, 242, 0, 243, 244, 245, 246,
247, 0, 0, 248, 249, 250, 251, 252, 0, 253,
254, 255, 256, 257, 0, 0, 0, 258, 259, 260,
261, 0, 262, 263, 264, 0, 265, 266, 267, 268,
269, 270, 0, 0, 271, 272, 273, 0, 0, 0,
0, 0, 0, 0, 274, 275, 276, 277, 278, 279,
280, 281, 282, 0, 283, 0, 284, 285, 286, 287,
288, 0, 289, 290, 291, 0, 0, 292, 293, 294,
295, 296, 0, 297, 298, 299, 0, 300, 301, 302,
0, 303, 304, 305, 306, 307, 308, 309, 310, 311,
0, 312, 0, 313, 314, 315, 316, 0, 317, 0,
318, 0, 0, 0, 319, 320, 321, 0, 322, 323,
0, 324, 325, 0, 326, 327, 328, 329, 330, 0,
331, 332, 333, 334, 0, 335, 336, 337, 338, 339,
340, 0, 341, 0, 342, 343, 344, 345, 346, 347,
348, 0, 349, 0, 350, 0, 0, 351, 0, 352,
353, 354, 355, 356, 0, 0, 357, 358, 0, 359,
0, 0, 360, 361, 362, 0, 0, 363, 364, 365,
366, 367, 368, 369, 370, 371, 372, 373, 374, 375,
376, 377, 378, 0, 379, 380, 381, 382, 0, 383,
384, 0, 385, 0, 386, 387, 388, 389, 390, 391,
0, 392, 0, 0, 393, 394, 395, 0, 0, 396,
397, 0, 398, 0, 399, 400, 401, 402, 403, 404,
405, 406, 0, 407, 408, 409, 410, 411, 412, 413,
414, 0, 415, 416, 417, 418, 419, 420, 421, 422,
423, 424, 425, 426, 427, 0, 428, 429, 430, 431,
432, 433, 434, 435, 436, 437, 438, 0, 439, 440,
0, 441, 442, 443, 444, 445, 446, 693, 448, 449,
450, 451, 452, 0, 453, 454, 455, 456, 457, 0,
458, 459, 460, 461, 462, 0, 463, 464, 465, 466,
0, 467, 468, 469, 470, 471, 472, 473, 474, 475,
476, 477, 478, 0, 479, 480, 0, 481, 0, 482,
483, 484, 485, 486, 0, 487, 488, 0, 0, 489,
490, 491, 492, 493, 0, 494, 495, 496, 497, 498,
499, 500, 0, 0, 501, 502, 503, 504, 505, 0,
0, 506, 507, 508, 509, 510, 511, 512, 0, 513,
0, 514, 515, 516, 517, 0, 0, 518, 0, 0,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 531, 532, 533, 534, 535, 536, 219, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 220, 221, 222, 223, 224, 225, 226,
227, 0, 229, 230, 231, 0, 0, 0, 0, 0,
0, 0, 232, 233, 0, 234, 235, 0, 236, 237,
238, 239, 240, 0, 241, 242, 0, 243, 244, 245,
246, 247, 0, 0, 715, 249, 250, 251, 252, 0,
253, 254, 255, 256, 257, 0, 0, 0, 258, 259,
260, 261, 0, 262, 263, 264, 0, 716, 266, 267,
268, 269, 270, 0, 0, 271, 272, 273, 0, 0,
0, 0, 0, 0, 0, 274, 275, 276, 277, 278,
279, 280, 281, 282, 0, 283, 0, 284, 285, 286,
287, 288, 0, 289, 290, 291, 0, 0, 292, 293,
294, 295, 296, 0, 297, 298, 299, 0, 300, 301,
302, 0, 303, 304, 305, 306, 307, 308, 309, 310,
311, 0, 312, 0, 313, 314, 315, 316, 0, 317,
0, 318, 0, 0, 0, 319, 320, 321, 0, 322,
323, 0, 324, 325, 0, 326, 327, 328, 329, 330,
0, 331, 332, 333, 334, 0, 335, 336, 337, 338,
339, 340, 0, 341, 0, 342, 343, 344, 345, 346,
347, 348, 0, 349, 0, 350, 0, 0, 351, 0,
352, 353, 354, 355, 356, 0, 0, 357, 358, 0,
359, 0, 0, 360, 361, 717, 0, 0, 363, 364,
365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
375, 376, 718, 378, 0, 379, 380, 381, 382, 0,
383, 384, 0, 385, 0, 386, 387, 388, 389, 390,
391, 0, 392, 0, 0, 393, 394, 395, 0, 0,
396, 397, 0, 398, 0, 399, 400, 401, 402, 403,
404, 405, 406, 0, 407, 408, 409, 410, 411, 412,
413, 414, 0, 415, 416, 417, 418, 419, 420, 421,
422, 423, 424, 425, 426, 427, 0, 428, 429, 430,
431, 432, 433, 434, 435, 436, 437, 438, 0, 439,
440, 0, 719, 442, 443, 444, 445, 446, 447, 720,
449, 450, 451, 452, 0, 453, 454, 455, 456, 721,
0, 458, 459, 460, 461, 462, 0, 463, 464, 465,
466, 0, 467, 468, 469, 470, 471, 472, 473, 474,
475, 476, 477, 478, 0, 479, 480, 0, 481, 0,
482, 483, 484, 485, 486, 0, 722, 488, 0, 0,
723, 490, 491, 492, 493, 0, 494, 495, 496, 497,
498, 499, 500, 0, 0, 501, 502, 503, 504, 505,
0, 0, 506, 507, 508, 509, 510, 511, 512, 0,
513, 0, 514, 515, 516, 517, 0, 0, 518, 0,
0, 519, 520, 521, 522, 523, 724, 525, 526, 527,
528, 529, 530, 531, 532, 533, 534, 535, 536, 219,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 220, 221, 222, 223, 224, 225,
226, 227, 0, 229, 230, 231, 0, 0, 0, 0,
0, 0, 0, 232, 233, 0, 234, 235, 0, 236,
237, 238, 239, 240, 0, 241, 242, 0, 243, 244,
245, 246, 247, 0, 0, 248, 249, 250, 251, 252,
0, 253, 254, 255, 256, 257, 0, 0, 0, 258,
259, 260, 261, 0, 262, 263, 264, 0, 265, 266,
267, 268, 269, 270, 0, 0, 271, 272, 273, 0,
0, 0, 0, 0, 0, 0, 274, 275, 276, 277,
278, 279, 280, 281, 282, 0, 283, 0, 284, 285,
286, 287, 288, 0, 289, 290, 291, 0, 0, 292,
293, 294, 295, 296, 0, 297, 298, 299, 0, 300,
301, 302, 0, 303, 304, 305, 306, 307, 308, 309,
310, 311, 0, 312, 0, 313, 314, 315, 316, 0,
317, 0, 318, 0, 0, 0, 319, 320, 321, 0,
322, 323, 0, 324, 325, 0, 326, 327, 328, 329,
330, 0, 331, 332, 333, 334, 0, 335, 336, 337,
338, 339, 340, 0, 341, 0, 342, 343, 344, 345,
346, 347, 348, 0, 349, 0, 350, 0, 0, 351,
0, 352, 353, 354, 355, 356, 0, 0, 357, 358,
0, 359, 0, 0, 360, 361, 362, 0, 0, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, 378, 0, 379, 380, 381, 382,
0, 383, 384, 0, 385, 0, 386, 387, 388, 389,
390, 391, 0, 392, 0, 0, 393, 394, 395, 0,
0, 396, 397, 0, 398, 0, 399, 400, 401, 402,
403, 404, 405, 406, 0, 407, 408, 409, 410, 411,
412, 413, 414, 0, 415, 416, 417, 418, 419, 420,
421, 422, 423, 424, 425, 747, 427, 0, 428, 429,
430, 431, 432, 433, 434, 435, 436, 437, 438, 0,
439, 440, 0, 441, 442, 443, 444, 445, 446, 447,
448, 449, 450, 451, 452, 0, 453, 454, 455, 456,
457, 0, 458, 459, 460, 461, 462, 0, 463, 464,
465, 466, 0, 467, 468, 469, 470, 471, 472, 473,
474, 475, 476, 477, 478, 0, 479, 480, 0, 481,
0, 482, 483, 484, 485, 486, 0, 487, 488, 0,
0, 489, 490, 491, 492, 493, 0, 494, 495, 496,
497, 498, 499, 500, 0, 0, 501, 502, 503, 504,
505, 0, 0, 506, 507, 508, 509, 510, 511, 512,
0, 513, 0, 514, 515, 516, 517, 0, 0, 518,
0, 0, 519, 520, 521, 522, 523, 524, 525, 526,
527, 528, 529, 530, 531, 532, 533, 534, 535, 536,
219, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 220, 221, 222, 223, 224,
225, 226, 227, 0, 229, 230, 231, 0, 0, 0,
0, 0, 0, 0, 232, 233, 0, 234, 235, 0,
236, 237, 238, 239, 240, 0, 241, 242, 0, 243,
244, 245, 246, 247, 0, 0, 248, 249, 250, 251,
252, 0, 253, 254, 255, 256, 257, 0, 0, 0,
258, 259, 260, 261, 0, 262, 263, 264, 0, 265,
266, 267, 268, 269, 270, 0, 0, 271, 272, 273,
0, 0, 0, 0, 0, 0, 0, 274, 275, 276,
277, 278, 279, 280, 281, 282, 0, 283, 0, 284,
285, 286, 287, 288, 0, 289, 290, 291, 0, 0,
292, 293, 294, 295, 296, 0, 297, 298, 299, 0,
300, 301, 302, 0, 303, 304, 305, 306, 307, 308,
309, 310, 311, 0, 312, 0, 313, 314, 315, 316,
0, 317, 0, 318, 0, 0, 0, 319, 320, 321,
0, 322, 323, 0, 324, 325, 0, 326, 327, 328,
329, 849, 0, 331, 332, 333, 334, 0, 335, 336,
337, 338, 339, 340, 0, 341, 0, 342, 343, 344,
345, 346, 347, 348, 0, 349, 0, 350, 0, 0,
351, 0, 352, 353, 354, 355, 356, 0, 0, 357,
358, 0, 359, 0, 0, 360, 361, 362, 0, 0,
363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
373, 374, 375, 376, 377, 378, 0, 379, 380, 381,
382, 0, 383, 384, 0, 385, 0, 386, 387, 388,
389, 390, 391, 0, 392, 0, 0, 393, 394, 395,
0, 0, 396, 397, 0, 398, 0, 399, 400, 401,
402, 403, 404, 405, 406, 0, 407, 408, 409, 410,
411, 412, 413, 414, 0, 415, 416, 417, 418, 419,
420, 421, 422, 423, 424, 425, 426, 427, 0, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
0, 439, 440, 0, 441, 442, 443, 444, 445, 446,
447, 448, 449, 450, 451, 452, 0, 453, 454, 455,
456, 457, 0, 458, 459, 460, 461, 462, 0, 463,
464, 465, 466, 0, 467, 468, 469, 470, 471, 472,
473, 474, 475, 476, 477, 478, 0, 479, 480, 0,
481, 0, 482, 483, 484, 485, 486, 0, 487, 488,
0, 0, 489, 490, 491, 492, 493, 0, 494, 495,
496, 497, 498, 499, 500, 0, 0, 501, 502, 503,
504, 505, 0, 0, 506, 507, 508, 509, 510, 511,
512, 0, 513, 0, 514, 515, 516, 517, 0, 0,
518, 0, 0, 519, 520, 521, 522, 523, 524, 525,
526, 527, 528, 529, 530, 531, 532, 533, 534, 535,
536, 219, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 220, 221, 222, 223,
224, 225, 226, 227, 0, 229, 230, 231, 0, 0,
0, 0, 0, 0, 0, 232, 233, 0, 234, 235,
0, 236, 237, 238, 239, 240, 0, 241, 242, 0,
243, 244, 245, 246, 247, 0, 0, 248, 249, 250,
251, 252, 0, 253, 254, 255, 256, 257, 0, 0,
0, 258, 259, 260, 261, 0, 262, 263, 264, 0,
265, 266, 267, 268, 269, 270, 0, 0, 271, 272,
273, 0, 0, 0, 0, 0, 0, 0, 274, 275,
276, 277, 278, 279, 280, 281, 282, 0, 283, 0,
284, 285, 286, 287, 288, 0, 289, 290, 291, 0,
0, 292, 293, 294, 295, 296, 0, 297, 298, 299,
0, 300, 301, 302, 0, 303, 304, 305, 306, 307,
308, 309, 310, 311, 0, 312, 0, 313, 314, 315,
316, 0, 317, 0, 318, 0, 0, 0, 319, 320,
321, 0, 322, 323, 0, 324, 325, 0, 326, 327,
328, 329, 856, 0, 331, 332, 333, 334, 0, 335,
336, 337, 338, 339, 340, 0, 341, 0, 342, 343,
344, 345, 346, 347, 348, 0, 349, 0, 350, 0,
0, 351, 0, 352, 353, 354, 355, 356, 0, 0,
357, 358, 0, 359, 0, 0, 360, 361, 362, 0,
0, 363, 364, 365, 366, 367, 368, 369, 370, 371,
372, 373, 374, 375, 376, 377, 378, 0, 379, 380,
381, 382, 0, 383, 384, 0, 385, 0, 386, 387,
388, 389, 390, 391, 0, 392, 0, 0, 393, 394,
395, 0, 0, 396, 397, 0, 398, 0, 399, 400,
401, 402, 403, 404, 405, 406, 0, 407, 408, 409,
410, 411, 412, 413, 414, 0, 415, 416, 417, 418,
419, 420, 421, 422, 423, 424, 425, 426, 427, 0,
428, 429, 430, 431, 432, 433, 434, 435, 436, 437,
438, 0, 439, 440, 0, 441, 442, 443, 444, 445,
446, 447, 448, 449, 450, 451, 452, 0, 453, 454,
455, 456, 457, 0, 458, 459, 460, 461, 462, 0,
463, 464, 465, 466, 0, 467, 468, 469, 470, 471,
472, 473, 474, 475, 476, 477, 478, 0, 479, 480,
0, 481, 0, 482, 483, 484, 485, 486, 0, 487,
488, 0, 0, 489, 490, 491, 492, 493, 0, 494,
495, 496, 497, 498, 499, 500, 0, 0, 501, 502,
503, 504, 505, 0, 0, 506, 507, 508, 509, 510,
511, 512, 0, 513, 0, 514, 515, 516, 517, 0,
0, 518, 0, 0, 519, 520, 521, 522, 523, 524,
525, 526, 527, 528, 529, 530, 531, 532, 533, 534,
535, 536, 219, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 220, 221, 222,
223, 224, 225, 226, 227, 0, 229, 230, 231, 0,
0, 0, 0, 0, 0, 0, 232, 233, 0, 234,
235, 0, 236, 237, 238, 239, 240, 0, 241, 242,
0, 243, 244, 245, 246, 247, 0, 0, 248, 249,
250, 251, 252, 0, 253, 254, 255, 256, 257, 0,
0, 0, 258, 259, 260, 261, 0, 262, 263, 264,
0, 265, 266, 267, 268, 269, 270, 0, 0, 271,
272, 273, 0, 0, 0, 0, 0, 0, 0, 274,
275, 276, 277, 278, 279, 280, 281, 282, 0, 283,
0, 284, 285, 286, 287, 288, 0, 289, 290, 291,
0, 0, 292, 293, 294, 295, 296, 0, 297, 298,
299, 0, 300, 301, 302, 0, 303, 304, 305, 306,
307, 308, 309, 310, 311, 0, 312, 0, 313, 314,
315, 316, 0, 317, 0, 318, 0, 0, 0, 319,
320, 321, 0, 322, 323, 0, 324, 325, 0, 326,
327, 328, 329, 871, 0, 331, 332, 333, 334, 0,
335, 336, 337, 338, 339, 340, 0, 341, 0, 342,
343, 344, 345, 346, 347, 348, 0, 349, 0, 350,
0, 0, 351, 0, 352, 353, 354, 355, 356, 0,
0, 357, 358, 0, 359, 0, 0, 360, 361, 362,
0, 0, 363, 364, 365, 366, 367, 368, 369, 370,
371, 372, 373, 374, 375, 376, 377, 378, 0, 379,
380, 381, 382, 0, 383, 384, 0, 385, 0, 386,
387, 388, 389, 390, 391, 0, 392, 0, 0, 393,
394, 395, 0, 0, 396, 397, 0, 398, 0, 399,
400, 401, 402, 403, 404, 405, 406, 0, 407, 408,
409, 410, 411, 412, 413, 414, 0, 415, 416, 417,
418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
0, 428, 429, 430, 431, 432, 433, 434, 435, 436,
437, 438, 0, 439, 440, 0, 441, 442, 443, 444,
445, 446, 447, 448, 449, 450, 451, 452, 0, 453,
454, 455, 456, 457, 0, 458, 459, 460, 461, 462,
0, 463, 464, 465, 466, 0, 467, 468, 469, 470,
471, 472, 473, 474, 475, 476, 477, 478, 0, 479,
480, 0, 481, 0, 482, 483, 484, 485, 486, 0,
487, 488, 0, 0, 489, 490, 491, 492, 493, 0,
494, 495, 496, 497, 498, 499, 500, 0, 0, 501,
502, 503, 504, 505, 0, 0, 506, 507, 508, 509,
510, 511, 512, 0, 513, 0, 514, 515, 516, 517,
0, 0, 518, 0, 0, 519, 520, 521, 522, 523,
524, 525, 526, 527, 528, 529, 530, 531, 532, 533,
534, 535, 536, 219, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 220, 221,
222, 223, 224, 225, 226, 227, 0, 229, 230, 231,
0, 0, 0, 0, 0, 0, 0, 232, 233, 0,
234, 235, 0, 236, 237, 238, 239, 240, 0, 241,
242, 0, 243, 244, 245, 246, 247, 0, 0, 248,
249, 250, 251, 252, 0, 253, 254, 255, 256, 257,
0, 0, 0, 258, 259, 260, 261, 0, 262, 263,
264, 0, 265, 266, 267, 268, 269, 270, 0, 0,
271, 272, 273, 0, 0, 0, 0, 0, 0, 0,
274, 275, 276, 277, 278, 279, 280, 281, 282, 0,
283, 0, 284, 285, 286, 287, 288, 0, 289, 290,
291, 0, 0, 292, 293, 294, 295, 296, 0, 297,
298, 299, 0, 300, 301, 302, 0, 303, 304, 305,
306, 307, 308, 309, 310, 311, 0, 312, 0, 313,
314, 315, 316, 0, 317, 0, 318, 0, 0, 0,
319, 320, 321, 0, 322, 323, 0, 324, 325, 0,
326, 327, 328, 329, 926, 0, 331, 332, 333, 334,
0, 335, 336, 337, 338, 339, 340, 0, 341, 0,
342, 343, 344, 345, 346, 347, 348, 0, 349, 0,
350, 0, 0, 351, 0, 352, 353, 354, 355, 356,
0, 0, 357, 358, 0, 359, 0, 0, 360, 361,
362, 0, 0, 363, 364, 365, 366, 367, 368, 369,
370, 371, 372, 373, 374, 375, 376, 377, 378, 0,
379, 380, 381, 382, 0, 383, 384, 0, 385, 0,
386, 387, 388, 389, 390, 391, 0, 392, 0, 0,
393, 394, 395, 0, 0, 396, 397, 0, 398, 0,
399, 400, 401, 402, 403, 404, 405, 406, 0, 407,
408, 409, 410, 411, 412, 413, 414, 0, 415, 416,
417, 418, 419, 420, 421, 422, 423, 424, 425, 426,
427, 0, 428, 429, 430, 431, 432, 433, 434, 435,
436, 437, 438, 0, 439, 440, 0, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 0,
453, 454, 455, 456, 457, 0, 458, 459, 460, 461,
462, 0, 463, 464, 465, 466, 0, 467, 468, 469,
470, 471, 472, 473, 474, 475, 476, 477, 478, 0,
479, 480, 0, 481, 0, 482, 483, 484, 485, 486,
0, 487, 488, 0, 0, 489, 490, 491, 492, 493,
0, 494, 495, 496, 497, 498, 499, 500, 0, 0,
501, 502, 503, 504, 505, 0, 0, 506, 507, 508,
509, 510, 511, 512, 0, 513, 0, 514, 515, 516,
517, 0, 0, 518, 0, 0, 519, 520, 521, 522,
523, 524, 525, 526, 527, 528, 529, 530, 531, 532,
533, 534, 535, 536, 219, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 220,
221, 222, 223, 224, 225, 226, 227, 0, 229, 230,
231, 0, 0, 0, 0, 0, 0, 0, 232, 233,
0, 234, 235, 0, 236, 237, 238, 239, 240, 0,
241, 242, 0, 243, 244, 245, 246, 247, 0, 0,
248, 249, 250, 251, 252, 0, 253, 254, 255, 256,
257, 0, 0, 0, 258, 259, 260, 261, 0, 262,
263, 264, 0, 265, 266, 267, 268, 269, 270, 0,
0, 271, 272, 273, 0, 0, 0, 0, 0, 0,
0, 274, 275, 276, 277, 278, 279, 280, 281, 282,
0, 283, 0, 284, 285, 286, 287, 288, 0, 289,
290, 291, 0, 0, 292, 293, 294, 295, 296, 0,
297, 298, 299, 0, 300, 301, 302, 0, 303, 304,
305, 306, 307, 308, 309, 310, 311, 0, 312, 0,
313, 314, 315, 316, 0, 317, 0, 318, 0, 0,
0, 319, 320, 321, 0, 322, 323, 0, 324, 325,
0, 326, 327, 328, 329, 942, 0, 331, 332, 333,
334, 0, 335, 336, 337, 338, 339, 340, 0, 341,
0, 342, 343, 344, 345, 346, 347, 348, 0, 349,
0, 350, 0, 0, 351, 0, 352, 353, 354, 355,
356, 0, 0, 357, 358, 0, 359, 0, 0, 360,
361, 362, 0, 0, 363, 364, 365, 366, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
0, 379, 380, 381, 382, 0, 383, 384, 0, 385,
0, 386, 387, 388, 389, 390, 391, 0, 392, 0,
0, 393, 394, 395, 0, 0, 396, 397, 0, 398,
0, 399, 400, 401, 402, 403, 404, 405, 406, 0,
407, 408, 409, 410, 411, 412, 413, 414, 0, 415,
416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
426, 427, 0, 428, 429, 430, 431, 432, 433, 434,
435, 436, 437, 438, 0, 439, 440, 0, 441, 442,
443, 444, 445, 446, 447, 448, 449, 450, 451, 452,
0, 453, 454, 455, 456, 457, 0, 458, 459, 460,
461, 462, 0, 463, 464, 465, 466, 0, 467, 468,
469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
0, 479, 480, 0, 481, 0, 482, 483, 484, 485,
486, 0, 487, 488, 0, 0, 489, 490, 491, 492,
493, 0, 494, 495, 496, 497, 498, 499, 500, 0,
0, 501, 502, 503, 504, 505, 0, 0, 506, 507,
508, 509, 510, 511, 512, 0, 513, 0, 514, 515,
516, 517, 0, 0, 518, 0, 0, 519, 520, 521,
522, 523, 524, 525, 526, 527, 528, 529, 530, 531,
532, 533, 534, 535, 536, 219, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
220, 221, 222, 223, 224, 225, 226, 227, 0, 229,
230, 231, 0, 0, 0, 0, 0, 0, 0, 232,
233, 0, 234, 235, 0, 236, 237, 238, 239, 240,
0, 241, 242, 0, 243, 244, 245, 246, 247, 0,
0, 248, 249, 250, 251, 252, 0, 253, 254, 255,
256, 257, 0, 0, 0, 258, 259, 260, 261, 0,
262, 263, 264, 0, 265, 266, 267, 268, 269, 270,
0, 0, 271, 272, 273, 0, 0, 0, 0, 0,
0, 0, 274, 275, 276, 277, 278, 279, 280, 281,
282, 0, 283, 0, 284, 285, 286, 287, 288, 0,
289, 290, 291, 0, 0, 292, 293, 294, 295, 296,
0, 297, 298, 299, 0, 300, 301, 302, 0, 303,
304, 305, 306, 307, 308, 309, 310, 311, 0, 312,
0, 313, 314, 315, 316, 0, 317, 0, 318, 0,
0, 0, 319, 320, 321, 0, 322, 323, 0, 324,
325, 0, 326, 327, 328, 329, 976, 0, 331, 332,
333, 334, 0, 335, 336, 337, 338, 339, 340, 0,
341, 0, 342, 343, 344, 345, 346, 347, 348, 0,
349, 0, 350, 0, 0, 351, 0, 352, 353, 354,
355, 356, 0, 0, 357, 358, 0, 359, 0, 0,
360, 361, 362, 0, 0, 363, 364, 365, 366, 367,
368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
378, 0, 379, 380, 381, 382, 0, 383, 384, 0,
385, 0, 386, 387, 388, 389, 390, 391, 0, 392,
0, 0, 393, 394, 395, 0, 0, 396, 397, 0,
398, 0, 399, 400, 401, 402, 403, 404, 405, 406,
0, 407, 408, 409, 410, 411, 412, 413, 414, 0,
415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
425, 426, 427, 0, 428, 429, 430, 431, 432, 433,
434, 435, 436, 437, 438, 0, 439, 440, 0, 441,
442, 443, 444, 445, 446, 447, 448, 449, 450, 451,
452, 0, 453, 454, 455, 456, 457, 0, 458, 459,
460, 461, 462, 0, 463, 464, 465, 466, 0, 467,
468, 469, 470, 471, 472, 473, 474, 475, 476, 477,
478, 0, 479, 480, 0, 481, 0, 482, 483, 484,
485, 486, 0, 487, 488, 0, 0, 489, 490, 491,
492, 493, 0, 494, 495, 496, 497, 498, 499, 500,
0, 0, 501, 502, 503, 504, 505, 0, 0, 506,
507, 508, 509, 510, 511, 512, 0, 513, 0, 514,
515, 516, 517, 0, 0, 518, 0, 0, 519, 520,
521, 522, 523, 524, 525, 526, 527, 528, 529, 530,
531, 532, 533, 534, 535, 536, 219, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 220, 221, 222, 223, 224, 225, 226, 227, 0,
229, 230, 231, 0, 0, 0, 0, 0, 0, 0,
232, 233, 0, 234, 235, 0, 236, 237, 238, 239,
240, 0, 241, 242, 0, 243, 244, 245, 246, 247,
0, 0, 248, 249, 250, 251, 252, 0, 253, 254,
255, 256, 257, 0, 0, 0, 258, 259, 260, 261,
0, 262, 263, 264, 0, 265, 266, 267, 268, 269,
270, 0, 0, 271, 272, 273, 0, 0, 0, 0,
0, 0, 0, 274, 275, 276, 277, 278, 279, 280,
281, 282, 0, 283, 0, 284, 285, 286, 287, 288,
0, 289, 290, 291, 0, 0, 292, 293, 294, 295,
296, 0, 297, 298, 299, 0, 300, 301, 302, 0,
303, 304, 305, 306, 307, 308, 309, 310, 311, 0,
312, 0, 313, 314, 315, 316, 0, 317, 0, 318,
0, 0, 0, 319, 320, 321, 0, 322, 323, 0,
324, 325, 0, 326, 327, 328, 329, 1032, 0, 331,
332, 333, 334, 0, 335, 336, 337, 338, 339, 340,
0, 341, 0, 342, 343, 344, 345, 346, 347, 348,
0, 349, 0, 350, 0, 0, 351, 0, 352, 353,
354, 355, 356, 0, 0, 357, 358, 0, 359, 0,
0, 360, 361, 362, 0, 0, 363, 364, 365, 366,
367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
377, 378, 0, 379, 380, 381, 382, 0, 383, 384,
0, 385, 0, 386, 387, 388, 389, 390, 391, 0,
392, 0, 0, 393, 394, 395, 0, 0, 396, 397,
0, 398, 0, 399, 400, 401, 402, 403, 404, 405,
406, 0, 407, 408, 409, 410, 411, 412, 413, 414,
0, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 0, 428, 429, 430, 431, 432,
433, 434, 435, 436, 437, 438, 0, 439, 440, 0,
441, 442, 443, 444, 445, 446, 447, 448, 449, 450,
451, 452, 0, 453, 454, 455, 456, 457, 0, 458,
459, 460, 461, 462, 0, 463, 464, 465, 466, 0,
467, 468, 469, 470, 471, 472, 473, 474, 475, 476,
477, 478, 0, 479, 480, 0, 481, 0, 482, 483,
484, 485, 486, 0, 487, 488, 0, 0, 489, 490,
491, 492, 493, 0, 494, 495, 496, 497, 498, 499,
500, 0, 0, 501, 502, 503, 504, 505, 0, 0,
506, 507, 508, 509, 510, 511, 512, 0, 513, 0,
514, 515, 516, 517, 0, 0, 518, 0, 0, 519,
520, 521, 522, 523, 524, 525, 526, 527, 528, 529,
530, 531, 532, 533, 534, 535, 536, 219, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 220, 221, 222, 223, 224, 225, 226, 227,
0, 229, 230, 231, 0, 0, 0, 0, 0, 0,
0, 232, 233, 0, 234, 235, 0, 236, 237, 238,
239, 240, 0, 241, 242, 0, 243, 244, 245, 246,
247, 0, 0, 248, 249, 250, 251, 252, 0, 253,
254, 255, 256, 257, 0, 0, 0, 258, 259, 260,
261, 0, 262, 263, 264, 0, 265, 266, 267, 268,
269, 270, 0, 0, 271, 272, 273, 0, 0, 0,
0, 0, 0, 0, 274, 275, 276, 277, 278, 279,
280, 281, 282, 0, 283, 0, 284, 285, 286, 287,
288, 0, 289, 290, 291, 0, 0, 292, 293, 294,
295, 296, 0, 297, 298, 299, 0, 300, 301, 302,
0, 303, 304, 305, 306, 307, 308, 309, 310, 311,
0, 312, 0, 313, 314, 315, 316, 0, 317, 0,
318, 0, 0, 0, 319, 320, 321, 0, 322, 323,
0, 324, 325, 0, 326, 327, 328, 329, 1036, 0,
331, 332, 333, 334, 0, 335, 336, 337, 338, 339,
340, 0, 341, 0, 342, 343, 344, 345, 346, 347,
348, 0, 349, 0, 350, 0, 0, 351, 0, 352,
353, 354, 355, 356, 0, 0, 357, 358, 0, 359,
0, 0, 360, 361, 362, 0, 0, 363, 364, 365,
366, 367, 368, 369, 370, 371, 372, 373, 374, 375,
376, 377, 378, 0, 379, 380, 381, 382, 0, 383,
384, 0, 385, 0, 386, 387, 388, 389, 390, 391,
0, 392, 0, 0, 393, 394, 395, 0, 0, 396,
397, 0, 398, 0, 399, 400, 401, 402, 403, 404,
405, 406, 0, 407, 408, 409, 410, 411, 412, 413,
414, 0, 415, 416, 417, 418, 419, 420, 421, 422,
423, 424, 425, 426, 427, 0, 428, 429, 430, 431,
432, 433, 434, 435, 436, 437, 438, 0, 439, 440,
0, 441, 442, 443, 444, 445, 446, 447, 448, 449,
450, 451, 452, 0, 453, 454, 455, 456, 457, 0,
458, 459, 460, 461, 462, 0, 463, 464, 465, 466,
0, 467, 468, 469, 470, 471, 472, 473, 474, 475,
476, 477, 478, 0, 479, 480, 0, 481, 0, 482,
483, 484, 485, 486, 0, 487, 488, 0, 0, 489,
490, 491, 492, 493, 0, 494, 495, 496, 497, 498,
499, 500, 0, 0, 501, 502, 503, 504, 505, 0,
0, 506, 507, 508, 509, 510, 511, 512, 0, 513,
0, 514, 515, 516, 517, 0, 0, 518, 0, 0,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 531, 532, 533, 534, 535, 536, 219, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 220, 221, 222, 223, 224, 225, 226,
227, 0, 229, 230, 231, 0, 0, 0, 0, 0,
0, 0, 232, 233, 0, 234, 235, 0, 236, 237,
238, 239, 240, 0, 241, 242, 0, 243, 244, 245,
246, 247, 0, 0, 248, 249, 250, 251, 252, 0,
253, 254, 255, 256, 257, 0, 0, 0, 258, 259,
260, 261, 0, 262, 263, 264, 0, 265, 266, 267,
268, 269, 270, 0, 0, 271, 272, 273, 0, 0,
0, 0, 0, 0, 0, 274, 275, 276, 277, 278,
279, 280, 281, 282, 0, 283, 0, 284, 285, 286,
287, 288, 0, 289, 290, 291, 0, 0, 292, 293,
294, 295, 296, 0, 297, 298, 299, 0, 300, 301,
302, 0, 303, 304, 305, 306, 307, 308, 309, 310,
311, 0, 312, 0, 313, 314, 315, 316, 0, 317,
0, 318, 0, 0, 0, 319, 320, 321, 0, 322,
323, 0, 324, 325, 0, 326, 327, 328, 329, 1038,
0, 331, 332, 333, 334, 0, 335, 336, 337, 338,
339, 340, 0, 341, 0, 342, 343, 344, 345, 346,
347, 348, 0, 349, 0, 350, 0, 0, 351, 0,
352, 353, 354, 355, 356, 0, 0, 357, 358, 0,
359, 0, 0, 360, 361, 362, 0, 0, 363, 364,
365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
375, 376, 377, 378, 0, 379, 380, 381, 382, 0,
383, 384, 0, 385, 0, 386, 387, 388, 389, 390,
391, 0, 392, 0, 0, 393, 394, 395, 0, 0,
396, 397, 0, 398, 0, 399, 400, 401, 402, 403,
404, 405, 406, 0, 407, 408, 409, 410, 411, 412,
413, 414, 0, 415, 416, 417, 418, 419, 420, 421,
422, 423, 424, 425, 426, 427, 0, 428, 429, 430,
431, 432, 433, 434, 435, 436, 437, 438, 0, 439,
440, 0, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 0, 453, 454, 455, 456, 457,
0, 458, 459, 460, 461, 462, 0, 463, 464, 465,
466, 0, 467, 468, 469, 470, 471, 472, 473, 474,
475, 476, 477, 478, 0, 479, 480, 0, 481, 0,
482, 483, 484, 485, 486, 0, 487, 488, 0, 0,
489, 490, 491, 492, 493, 0, 494, 495, 496, 497,
498, 499, 500, 0, 0, 501, 502, 503, 504, 505,
0, 0, 506, 507, 508, 509, 510, 511, 512, 0,
513, 0, 514, 515, 516, 517, 0, 0, 518, 0,
0, 519, 520, 521, 522, 523, 524, 525, 526, 527,
528, 529, 530, 531, 532, 533, 534, 535, 536, 219,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 220, 221, 222, 223, 224, 225,
226, 227, 0, 229, 230, 231, 0, 0, 0, 0,
0, 0, 0, 232, 233, 0, 234, 235, 0, 236,
237, 238, 239, 240, 0, 241, 242, 0, 243, 244,
245, 246, 247, 0, 0, 248, 249, 250, 251, 252,
0, 253, 254, 255, 256, 257, 0, 0, 0, 258,
259, 260, 261, 0, 262, 263, 264, 0, 265, 266,
267, 268, 269, 270, 0, 0, 271, 272, 273, 0,
0, 0, 0, 0, 0, 0, 274, 275, 276, 277,
278, 279, 280, 281, 282, 0, 283, 0, 284, 285,
286, 287, 288, 0, 289, 290, 291, 0, 0, 292,
293, 294, 295, 296, 0, 297, 298, 299, 0, 300,
301, 302, 0, 303, 304, 305, 306, 307, 308, 309,
310, 311, 0, 312, 0, 313, 314, 315, 316, 0,
317, 0, 318, 0, 0, 0, 319, 320, 321, 0,
322, 323, 0, 324, 325, 0, 326, 327, 328, 329,
1040, 0, 331, 332, 333, 334, 0, 335, 336, 337,
338, 339, 340, 0, 341, 0, 342, 343, 344, 345,
346, 347, 348, 0, 349, 0, 350, 0, 0, 351,
0, 352, 353, 354, 355, 356, 0, 0, 357, 358,
0, 359, 0, 0, 360, 361, 362, 0, 0, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, 378, 0, 379, 380, 381, 382,
0, 383, 384, 0, 385, 0, 386, 387, 388, 389,
390, 391, 0, 392, 0, 0, 393, 394, 395, 0,
0, 396, 397, 0, 398, 0, 399, 400, 401, 402,
403, 404, 405, 406, 0, 407, 408, 409, 410, 411,
412, 413, 414, 0, 415, 416, 417, 418, 419, 420,
421, 422, 423, 424, 425, 426, 427, 0, 428, 429,
430, 431, 432, 433, 434, 435, 436, 437, 438, 0,
439, 440, 0, 441, 442, 443, 444, 445, 446, 447,
448, 449, 450, 451, 452, 0, 453, 454, 455, 456,
457, 0, 458, 459, 460, 461, 462, 0, 463, 464,
465, 466, 0, 467, 468, 469, 470, 471, 472, 473,
474, 475, 476, 477, 478, 0, 479, 480, 0, 481,
0, 482, 483, 484, 485, 486, 0, 487, 488, 0,
0, 489, 490, 491, 492, 493, 0, 494, 495, 496,
497, 498, 499, 500, 0, 0, 501, 502, 503, 504,
505, 0, 0, 506, 507, 508, 509, 510, 511, 512,
0, 513, 0, 514, 515, 516, 517, 0, 0, 518,
0, 0, 519, 520, 521, 522, 523, 524, 525, 526,
527, 528, 529, 530, 531, 532, 533, 534, 535, 536,
219, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 220, 221, 222, 223, 224,
225, 226, 227, 0, 229, 230, 231, 0, 0, 0,
0, 0, 0, 0, 232, 233, 0, 234, 235, 0,
236, 237, 238, 239, 240, 0, 241, 242, 0, 243,
244, 245, 246, 247, 0, 0, 248, 249, 250, 251,
252, 0, 253, 254, 255, 256, 257, 0, 0, 0,
258, 259, 260, 261, 0, 262, 263, 264, 0, 265,
266, 267, 268, 269, 270, 0, 0, 271, 272, 273,
0, 0, 0, 0, 0, 0, 0, 274, 275, 276,
277, 278, 279, 280, 281, 282, 0, 283, 0, 284,
285, 286, 287, 288, 0, 289, 290, 291, 0, 0,
292, 293, 294, 295, 296, 0, 297, 298, 299, 0,
300, 301, 302, 0, 303, 304, 305, 306, 307, 308,
309, 310, 311, 0, 312, 0, 313, 314, 315, 316,
0, 317, 0, 318, 0, 0, 0, 319, 320, 321,
0, 322, 323, 0, 324, 325, 0, 326, 327, 328,
329, 1044, 0, 331, 332, 333, 334, 0, 335, 336,
337, 338, 339, 340, 0, 341, 0, 342, 343, 344,
345, 346, 347, 348, 0, 349, 0, 350, 0, 0,
351, 0, 352, 353, 354, 355, 356, 0, 0, 357,
358, 0, 359, 0, 0, 360, 361, 362, 0, 0,
363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
373, 374, 375, 376, 377, 378, 0, 379, 380, 381,
382, 0, 383, 384, 0, 385, 0, 386, 387, 388,
389, 390, 391, 0, 392, 0, 0, 393, 394, 395,
0, 0, 396, 397, 0, 398, 0, 399, 400, 401,
402, 403, 404, 405, 406, 0, 407, 408, 409, 410,
411, 412, 413, 414, 0, 415, 416, 417, 418, 419,
420, 421, 422, 423, 424, 425, 426, 427, 0, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
0, 439, 440, 0, 441, 442, 443, 444, 445, 446,
447, 448, 449, 450, 451, 452, 0, 453, 454, 455,
456, 457, 0, 458, 459, 460, 461, 462, 0, 463,
464, 465, 466, 0, 467, 468, 469, 470, 471, 472,
473, 474, 475, 476, 477, 478, 0, 479, 480, 0,
481, 0, 482, 483, 484, 485, 486, 0, 487, 488,
0, 0, 489, 490, 491, 492, 493, 0, 494, 495,
496, 497, 498, 499, 500, 0, 0, 501, 502, 503,
504, 505, 0, 0, 506, 507, 508, 509, 510, 511,
512, 0, 513, 0, 514, 515, 516, 517, 0, 0,
518, 0, 0, 519, 520, 521, 522, 523, 524, 525,
526, 527, 528, 529, 530, 531, 532, 533, 534, 535,
536, 219, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 220, 221, 222, 223,
224, 225, 226, 227, 0, 229, 230, 231, 0, 0,
0, 0, 0, 0, 0, 232, 233, 0, 234, 235,
0, 236, 237, 238, 239, 240, 0, 241, 242, 0,
243, 244, 245, 246, 247, 0, 0, 248, 249, 250,
251, 252, 0, 253, 254, 255, 256, 257, 0, 0,
0, 258, 259, 260, 261, 0, 262, 263, 264, 0,
265, 266, 267, 268, 269, 270, 0, 0, 271, 272,
273, 0, 0, 0, 0, 0, 0, 0, 274, 275,
276, 277, 278, 279, 280, 281, 282, 0, 283, 0,
284, 285, 286, 287, 288, 0, 289, 290, 291, 0,
0, 292, 293, 294, 295, 296, 0, 297, 298, 299,
0, 300, 301, 302, 0, 303, 304, 305, 306, 307,
308, 309, 310, 311, 0, 312, 0, 313, 314, 315,
316, 0, 317, 0, 318, 0, 0, 0, 319, 320,
321, 0, 322, 323, 0, 324, 325, 0, 326, 327,
328, 329, 1052, 0, 331, 332, 333, 334, 0, 335,
336, 337, 338, 339, 340, 0, 341, 0, 342, 343,
344, 345, 346, 347, 348, 0, 349, 0, 350, 0,
0, 351, 0, 352, 353, 354, 355, 356, 0, 0,
357, 358, 0, 359, 0, 0, 360, 361, 362, 0,
0, 363, 364, 365, 366, 367, 368, 369, 370, 371,
372, 373, 374, 375, 376, 377, 378, 0, 379, 380,
381, 382, 0, 383, 384, 0, 385, 0, 386, 387,
388, 389, 390, 391, 0, 392, 0, 0, 393, 394,
395, 0, 0, 396, 397, 0, 398, 0, 399, 400,
401, 402, 403, 404, 405, 406, 0, 407, 408, 409,
410, 411, 412, 413, 414, 0, 415, 416, 417, 418,
419, 420, 421, 422, 423, 424, 425, 426, 427, 0,
428, 429, 430, 431, 432, 433, 434, 435, 436, 437,
438, 0, 439, 440, 0, 441, 442, 443, 444, 445,
446, 447, 448, 449, 450, 451, 452, 0, 453, 454,
455, 456, 457, 0, 458, 459, 460, 461, 462, 0,
463, 464, 465, 466, 0, 467, 468, 469, 470, 471,
472, 473, 474, 475, 476, 477, 478, 0, 479, 480,
0, 481, 0, 482, 483, 484, 485, 486, 0, 487,
488, 0, 0, 489, 490, 491, 492, 493, 0, 494,
495, 496, 497, 498, 499, 500, 0, 0, 501, 502,
503, 504, 505, 0, 0, 506, 507, 508, 509, 510,
511, 512, 0, 513, 0, 514, 515, 516, 517, 0,
0, 518, 0, 0, 519, 520, 521, 522, 523, 524,
525, 526, 527, 528, 529, 530, 531, 532, 533, 534,
535, 536, 219, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 220, 221, 222,
223, 224, 225, 226, 227, 0, 229, 230, 231, 0,
0, 0, 0, 0, 0, 0, 232, 233, 0, 234,
235, 0, 236, 237, 238, 239, 240, 0, 241, 242,
0, 243, 244, 245, 246, 247, 0, 0, 715, 249,
250, 251, 252, 0, 253, 254, 255, 256, 257, 0,
0, 0, 258, 259, 260, 261, 0, 262, 263, 264,
0, 265, 266, 267, 268, 269, 270, 0, 0, 271,
272, 273, 0, 0, 0, 0, 0, 0, 0, 274,
275, 276, 277, 278, 279, 280, 281, 282, 0, 283,
0, 284, 285, 286, 287, 288, 0, 289, 290, 291,
0, 0, 292, 293, 294, 295, 296, 0, 297, 298,
299, 0, 300, 301, 302, 0, 303, 304, 305, 306,
307, 308, 309, 310, 311, 0, 312, 0, 313, 314,
315, 316, 0, 317, 0, 318, 0, 0, 0, 319,
320, 321, 0, 322, 323, 0, 324, 325, 0, 326,
327, 328, 329, 330, 0, 331, 332, 333, 334, 0,
335, 336, 337, 338, 339, 340, 0, 341, 0, 342,
343, 344, 345, 346, 347, 348, 0, 349, 0, 350,
0, 0, 351, 0, 352, 353, 354, 355, 356, 0,
0, 357, 358, 0, 359, 0, 0, 360, 361, 362,
0, 0, 363, 364, 365, 366, 367, 368, 369, 370,
371, 372, 373, 374, 375, 376, 718, 378, 0, 379,
380, 381, 382, 0, 383, 384, 0, 385, 0, 386,
387, 388, 389, 390, 391, 0, 392, 0, 0, 393,
394, 395, 0, 0, 396, 397, 0, 398, 0, 399,
400, 401, 402, 403, 404, 405, 406, 0, 407, 408,
409, 410, 411, 412, 413, 414, 0, 415, 416, 417,
418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
0, 428, 429, 430, 431, 432, 433, 434, 435, 436,
437, 438, 0, 439, 440, 0, 719, 442, 443, 444,
445, 446, 447, 720, 449, 450, 451, 452, 0, 453,
454, 455, 456, 1231, 0, 458, 459, 460, 461, 462,
0, 463, 464, 465, 466, 0, 467, 468, 469, 470,
471, 472, 473, 474, 475, 476, 477, 478, 0, 479,
480, 0, 481, 0, 482, 483, 484, 485, 486, 0,
722, 488, 0, 0, 723, 490, 491, 492, 493, 0,
494, 495, 496, 497, 498, 499, 500, 0, 0, 501,
502, 503, 504, 505, 0, 0, 506, 507, 508, 509,
510, 511, 512, 0, 513, 0, 514, 515, 516, 517,
0, 0, 518, 0, 0, 519, 520, 521, 522, 523,
724, 525, 526, 527, 528, 529, 530, 531, 532, 533,
534, 535, 536, 219, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 220, 221,
222, 223, 224, 225, 226, 227, 0, 229, 230, 231,
0, 0, 0, 0, 0, 0, 0, 232, 233, 0,
234, 235, 0, 236, 237, 238, 239, 240, 0, 241,
242, 0, 243, 244, 245, 246, 247, 0, 0, 248,
249, 250, 251, 252, 0, 253, 254, 255, 256, 257,
0, 0, 0, 258, 259, 260, 261, 0, 262, 263,
264, 0, 265, 266, 267, 268, 269, 270, 0, 0,
271, 272, 273, 0, 0, 0, 0, 0, 0, 0,
274, 275, 276, 277, 278, 279, 280, 281, 282, 0,
283, 0, 284, 285, 286, 287, 288, 0, 289, 290,
291, 0, 0, 292, 293, 294, 295, 296, 0, 297,
298, 299, 0, 300, 301, 302, 0, 303, 304, 305,
306, 307, 308, 309, 310, 311, 0, 312, 0, 313,
314, 315, 316, 0, 317, 0, 318, 0, 0, 0,
319, 320, 321, 0, 322, 323, 0, 324, 325, 0,
326, 327, 328, 329, 1526, 0, 331, 332, 333, 334,
0, 335, 336, 337, 338, 339, 340, 0, 341, 0,
342, 343, 344, 345, 346, 347, 348, 0, 349, 0,
350, 0, 0, 351, 0, 352, 353, 354, 355, 356,
0, 0, 357, 358, 0, 359, 0, 0, 360, 361,
362, 0, 0, 363, 364, 365, 366, 367, 368, 369,
370, 371, 372, 373, 374, 375, 376, 377, 378, 0,
379, 380, 381, 382, 0, 383, 384, 0, 385, 0,
386, 387, 388, 389, 390, 391, 0, 392, 0, 0,
393, 394, 395, 0, 0, 396, 397, 0, 398, 0,
399, 400, 401, 402, 403, 404, 405, 406, 0, 407,
408, 409, 410, 411, 412, 413, 414, 0, 415, 416,
417, 418, 419, 420, 421, 422, 423, 424, 425, 426,
427, 0, 428, 429, 430, 431, 432, 433, 434, 435,
436, 437, 438, 0, 439, 440, 0, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 0,
453, 454, 455, 456, 457, 0, 458, 459, 460, 461,
462, 0, 463, 464, 465, 466, 0, 467, 468, 469,
470, 471, 472, 473, 474, 475, 476, 477, 478, 0,
479, 480, 0, 481, 0, 482, 483, 484, 485, 486,
0, 487, 488, 0, 0, 489, 490, 491, 492, 493,
0, 494, 495, 496, 497, 498, 499, 500, 0, 0,
501, 502, 503, 504, 505, 0, 0, 506, 507, 508,
509, 510, 511, 512, 0, 513, 0, 514, 515, 516,
517, 0, 0, 518, 0, 0, 519, 520, 521, 522,
523, 524, 525, 526, 527, 528, 529, 530, 531, 532,
533, 534, 535, 536, 219, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 220,
221, 222, 223, 224, 225, 226, 227, 0, 229, 230,
231, 0, 0, 0, 0, 0, 0, 0, 232, 233,
0, 234, 235, 0, 236, 237, 238, 239, 240, 0,
241, 242, 0, 243, 244, 245, 246, 247, 0, 0,
248, 249, 250, 251, 252, 0, 253, 254, 255, 256,
257, 0, 0, 0, 258, 259, 260, 261, 0, 262,
263, 264, 0, 265, 266, 267, 268, 269, 270, 0,
0, 271, 272, 273, 0, 0, 0, 0, 0, 0,
0, 274, 275, 276, 277, 278, 279, 280, 281, 282,
0, 283, 0, 284, 285, 286, 287, 288, 0, 289,
290, 291, 0, 0, 292, 293, 294, 295, 296, 0,
297, 298, 299, 0, 300, 301, 302, 0, 303, 304,
305, 306, 307, 308, 309, 310, 311, 0, 312, 0,
313, 314, 315, 316, 0, 317, 0, 318, 0, 0,
0, 319, 320, 321, 0, 322, 323, 0, 324, 325,
0, 326, 327, 328, 329, 1556, 0, 331, 332, 333,
334, 0, 335, 336, 337, 338, 339, 340, 0, 341,
0, 342, 343, 344, 345, 346, 347, 348, 0, 349,
0, 350, 0, 0, 351, 0, 352, 353, 354, 355,
356, 0, 0, 357, 358, 0, 359, 0, 0, 360,
361, 362, 0, 0, 363, 364, 365, 366, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
0, 379, 380, 381, 382, 0, 383, 384, 0, 385,
0, 386, 387, 388, 389, 390, 391, 0, 392, 0,
0, 393, 394, 395, 0, 0, 396, 397, 0, 398,
0, 399, 400, 401, 402, 403, 404, 405, 406, 0,
407, 408, 409, 410, 411, 412, 413, 414, 0, 415,
416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
426, 427, 0, 428, 429, 430, 431, 432, 433, 434,
435, 436, 437, 438, 0, 439, 440, 0, 441, 442,
443, 444, 445, 446, 447, 448, 449, 450, 451, 452,
0, 453, 454, 455, 456, 457, 0, 458, 459, 460,
461, 462, 0, 463, 464, 465, 466, 0, 467, 468,
469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
0, 479, 480, 0, 481, 0, 482, 483, 484, 485,
486, 0, 487, 488, 0, 0, 489, 490, 491, 492,
493, 0, 494, 495, 496, 497, 498, 499, 500, 0,
0, 501, 502, 503, 504, 505, 0, 0, 506, 507,
508, 509, 510, 511, 512, 0, 513, 0, 514, 515,
516, 517, 0, 0, 518, 0, 0, 519, 520, 521,
522, 523, 524, 525, 526, 527, 528, 529, 530, 531,
532, 533, 534, 535, 536, 219, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
220, 221, 222, 223, 224, 225, 226, 227, 0, 229,
230, 231, 0, 0, 0, 0, 0, 0, 0, 232,
233, 0, 234, 235, 0, 236, 237, 238, 239, 240,
0, 241, 242, 0, 243, 244, 245, 246, 247, 0,
0, 248, 249, 250, 251, 252, 0, 253, 254, 255,
256, 257, 0, 0, 0, 258, 259, 260, 261, 0,
262, 263, 264, 0, 265, 266, 267, 268, 269, 270,
0, 0, 271, 272, 273, 0, 0, 0, 0, 0,
0, 0, 274, 275, 276, 277, 278, 279, 280, 281,
282, 0, 283, 0, 284, 285, 286, 287, 288, 0,
289, 290, 291, 0, 0, 292, 293, 294, 295, 296,
0, 297, 298, 299, 0, 300, 301, 302, 0, 303,
304, 305, 306, 307, 308, 309, 310, 311, 0, 312,
0, 313, 314, 315, 316, 0, 317, 0, 318, 0,
0, 0, 319, 320, 321, 0, 322, 323, 0, 324,
325, 0, 326, 327, 328, 329, 1558, 0, 331, 332,
333, 334, 0, 335, 336, 337, 338, 339, 340, 0,
341, 0, 342, 343, 344, 345, 346, 347, 348, 0,
349, 0, 350, 0, 0, 351, 0, 352, 353, 354,
355, 356, 0, 0, 357, 358, 0, 359, 0, 0,
360, 361, 362, 0, 0, 363, 364, 365, 366, 367,
368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
378, 0, 379, 380, 381, 382, 0, 383, 384, 0,
385, 0, 386, 387, 388, 389, 390, 391, 0, 392,
0, 0, 393, 394, 395, 0, 0, 396, 397, 0,
398, 0, 399, 400, 401, 402, 403, 404, 405, 406,
0, 407, 408, 409, 410, 411, 412, 413, 414, 0,
415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
425, 426, 427, 0, 428, 429, 430, 431, 432, 433,
434, 435, 436, 437, 438, 0, 439, 440, 0, 441,
442, 443, 444, 445, 446, 447, 448, 449, 450, 451,
452, 0, 453, 454, 455, 456, 457, 0, 458, 459,
460, 461, 462, 0, 463, 464, 465, 466, 0, 467,
468, 469, 470, 471, 472, 473, 474, 475, 476, 477,
478, 0, 479, 480, 0, 481, 0, 482, 483, 484,
485, 486, 0, 487, 488, 0, 0, 489, 490, 491,
492, 493, 0, 494, 495, 496, 497, 498, 499, 500,
0, 0, 501, 502, 503, 504, 505, 0, 0, 506,
507, 508, 509, 510, 511, 512, 0, 513, 0, 514,
515, 516, 517, 0, 0, 518, 0, 0, 519, 520,
521, 522, 523, 524, 525, 526, 527, 528, 529, 530,
531, 532, 533, 534, 535, 536, 219, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 220, 221, 222, 223, 224, 225, 226, 227, 0,
229, 230, 231, 0, 0, 0, 0, 0, 0, 0,
232, 233, 0, 234, 235, 0, 236, 237, 238, 239,
240, 0, 241, 242, 0, 243, 244, 245, 246, 247,
0, 0, 248, 249, 250, 251, 252, 0, 253, 254,
255, 256, 257, 0, 0, 0, 258, 259, 260, 261,
0, 262, 263, 264, 0, 265, 266, 267, 268, 269,
270, 0, 0, 271, 272, 273, 0, 0, 0, 0,
0, 0, 0, 274, 275, 276, 277, 278, 279, 280,
281, 282, 0, 283, 0, 284, 285, 286, 287, 288,
0, 289, 290, 291, 0, 0, 292, 293, 294, 295,
296, 0, 297, 298, 299, 0, 300, 301, 302, 0,
303, 304, 305, 306, 307, 308, 309, 310, 311, 0,
312, 0, 313, 314, 315, 316, 0, 317, 0, 318,
0, 0, 0, 319, 320, 321, 0, 322, 323, 0,
324, 325, 0, 326, 327, 328, 329, 1628, 0, 331,
332, 333, 334, 0, 335, 336, 337, 338, 339, 340,
0, 341, 0, 342, 343, 344, 345, 346, 347, 348,
0, 349, 0, 350, 0, 0, 351, 0, 352, 353,
354, 355, 356, 0, 0, 357, 358, 0, 359, 0,
0, 360, 361, 362, 0, 0, 363, 364, 365, 366,
367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
377, 378, 0, 379, 380, 381, 382, 0, 383, 384,
0, 385, 0, 386, 387, 388, 389, 390, 391, 0,
392, 0, 0, 393, 394, 395, 0, 0, 396, 397,
0, 398, 0, 399, 400, 401, 402, 403, 404, 405,
406, 0, 407, 408, 409, 410, 411, 412, 413, 414,
0, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 0, 428, 429, 430, 431, 432,
433, 434, 435, 436, 437, 438, 0, 439, 440, 0,
441, 442, 443, 444, 445, 446, 447, 448, 449, 450,
451, 452, 0, 453, 454, 455, 456, 457, 0, 458,
459, 460, 461, 462, 0, 463, 464, 465, 466, 0,
467, 468, 469, 470, 471, 472, 473, 474, 475, 476,
477, 478, 0, 479, 480, 0, 481, 0, 482, 483,
484, 485, 486, 0, 487, 488, 0, 0, 489, 490,
491, 492, 493, 0, 494, 495, 496, 497, 498, 499,
500, 0, 0, 501, 502, 503, 504, 505, 0, 0,
506, 507, 508, 509, 510, 511, 512, 0, 513, 0,
514, 515, 516, 517, 0, 0, 518, 0, 0, 519,
520, 521, 522, 523, 524, 525, 526, 527, 528, 529,
530, 531, 532, 533, 534, 535, 536, 219, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 220, 221, 222, 223, 224, 225, 226, 227,
0, 229, 230, 231, 0, 0, 0, 0, 0, 0,
0, 232, 233, 0, 234, 235, 0, 236, 237, 238,
239, 240, 0, 241, 242, 0, 243, 244, 245, 246,
247, 0, 0, 248, 249, 250, 251, 252, 0, 253,
254, 255, 256, 257, 0, 0, 0, 258, 259, 260,
261, 0, 262, 263, 264, 0, 265, 266, 267, 268,
269, 270, 0, 0, 271, 272, 273, 0, 0, 0,
0, 0, 0, 0, 274, 275, 276, 277, 278, 279,
280, 281, 282, 0, 283, 0, 284, 285, 286, 287,
288, 0, 289, 290, 291, 0, 0, 292, 293, 294,
295, 296, 0, 297, 298, 299, 0, 300, 301, 302,
0, 303, 304, 305, 306, 307, 308, 309, 310, 311,
0, 312, 0, 313, 314, 315, 316, 0, 317, 0,
318, 0, 0, 0, 319, 320, 321, 0, 322, 323,
0, 324, 325, 0, 326, 327, 328, 329, 1630, 0,
331, 332, 333, 334, 0, 335, 336, 337, 338, 339,
340, 0, 341, 0, 342, 343, 344, 345, 346, 347,
348, 0, 349, 0, 350, 0, 0, 351, 0, 352,
353, 354, 355, 356, 0, 0, 357, 358, 0, 359,
0, 0, 360, 361, 362, 0, 0, 363, 364, 365,
366, 367, 368, 369, 370, 371, 372, 373, 374, 375,
376, 377, 378, 0, 379, 380, 381, 382, 0, 383,
384, 0, 385, 0, 386, 387, 388, 389, 390, 391,
0, 392, 0, 0, 393, 394, 395, 0, 0, 396,
397, 0, 398, 0, 399, 400, 401, 402, 403, 404,
405, 406, 0, 407, 408, 409, 410, 411, 412, 413,
414, 0, 415, 416, 417, 418, 419, 420, 421, 422,
423, 424, 425, 426, 427, 0, 428, 429, 430, 431,
432, 433, 434, 435, 436, 437, 438, 0, 439, 440,
0, 441, 442, 443, 444, 445, 446, 447, 448, 449,
450, 451, 452, 0, 453, 454, 455, 456, 457, 0,
458, 459, 460, 461, 462, 0, 463, 464, 465, 466,
0, 467, 468, 469, 470, 471, 472, 473, 474, 475,
476, 477, 478, 0, 479, 480, 0, 481, 0, 482,
483, 484, 485, 486, 0, 487, 488, 0, 0, 489,
490, 491, 492, 493, 0, 494, 495, 496, 497, 498,
499, 500, 0, 0, 501, 502, 503, 504, 505, 0,
0, 506, 507, 508, 509, 510, 511, 512, 0, 513,
0, 514, 515, 516, 517, 0, 0, 518, 0, 0,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 531, 532, 533, 534, 535, 536, 219, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 220, 221, 222, 223, 224, 225, 226,
227, 0, 229, 230, 231, 0, 0, 0, 0, 0,
0, 0, 232, 233, 0, 234, 235, 0, 236, 237,
238, 239, 240, 0, 241, 242, 0, 243, 244, 245,
246, 247, 0, 0, 248, 249, 250, 251, 252, 0,
253, 254, 255, 256, 257, 0, 0, 0, 258, 259,
260, 261, 0, 262, 263, 264, 0, 265, 266, 267,
268, 269, 270, 0, 0, 271, 272, 273, 0, 0,
0, 0, 0, 0, 0, 274, 275, 276, 277, 278,
279, 280, 281, 282, 0, 283, 0, 284, 285, 286,
287, 288, 0, 289, 290, 291, 0, 0, 292, 293,
294, 295, 296, 0, 297, 298, 299, 0, 300, 301,
302, 0, 303, 304, 305, 306, 307, 308, 309, 310,
311, 0, 312, 0, 313, 314, 315, 316, 0, 317,
0, 318, 0, 0, 0, 319, 320, 321, 0, 322,
323, 0, 324, 325, 0, 326, 327, 328, 329, 1632,
0, 331, 332, 333, 334, 0, 335, 336, 337, 338,
339, 340, 0, 341, 0, 342, 343, 344, 345, 346,
347, 348, 0, 349, 0, 350, 0, 0, 351, 0,
352, 353, 354, 355, 356, 0, 0, 357, 358, 0,
359, 0, 0, 360, 361, 362, 0, 0, 363, 364,
365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
375, 376, 377, 378, 0, 379, 380, 381, 382, 0,
383, 384, 0, 385, 0, 386, 387, 388, 389, 390,
391, 0, 392, 0, 0, 393, 394, 395, 0, 0,
396, 397, 0, 398, 0, 399, 400, 401, 402, 403,
404, 405, 406, 0, 407, 408, 409, 410, 411, 412,
413, 414, 0, 415, 416, 417, 418, 419, 420, 421,
422, 423, 424, 425, 426, 427, 0, 428, 429, 430,
431, 432, 433, 434, 435, 436, 437, 438, 0, 439,
440, 0, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 0, 453, 454, 455, 456, 457,
0, 458, 459, 460, 461, 462, 0, 463, 464, 465,
466, 0, 467, 468, 469, 470, 471, 472, 473, 474,
475, 476, 477, 478, 0, 479, 480, 0, 481, 0,
482, 483, 484, 485, 486, 0, 487, 488, 0, 0,
489, 490, 491, 492, 493, 0, 494, 495, 496, 497,
498, 499, 500, 0, 0, 501, 502, 503, 504, 505,
0, 0, 506, 507, 508, 509, 510, 511, 512, 0,
513, 0, 514, 515, 516, 517, 0, 0, 518, 0,
0, 519, 520, 521, 522, 523, 524, 525, 526, 527,
528, 529, 530, 531, 532, 533, 534, 535, 536, 219,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 220, 221, 222, 223, 224, 225,
226, 227, 0, 229, 230, 231, 0, 0, 0, 0,
0, 0, 0, 232, 233, 0, 234, 235, 0, 236,
237, 238, 239, 240, 0, 241, 242, 0, 243, 244,
245, 246, 247, 0, 0, 248, 249, 250, 251, 252,
0, 253, 254, 255, 256, 257, 0, 0, 0, 258,
259, 260, 261, 0, 262, 263, 264, 0, 265, 266,
267, 268, 269, 270, 0, 0, 271, 272, 273, 0,
0, 0, 0, 0, 0, 0, 274, 275, 276, 277,
278, 279, 280, 281, 282, 0, 283, 0, 284, 285,
286, 287, 288, 0, 289, 290, 291, 0, 0, 292,
293, 294, 295, 296, 0, 297, 298, 299, 0, 300,
301, 302, 0, 303, 304, 305, 306, 307, 308, 309,
310, 311, 0, 312, 0, 313, 314, 315, 316, 0,
317, 0, 318, 0, 0, 0, 319, 320, 321, 0,
322, 323, 0, 324, 325, 0, 326, 327, 328, 329,
330, 0, 331, 332, 333, 334, 0, 335, 336, 337,
338, 339, 340, 0, 341, 0, 342, 343, 344, 345,
346, 347, 348, 0, 349, 0, 350, 0, 0, 351,
0, 352, 353, 354, 355, 356, 0, 0, 357, 358,
0, 359, 0, 0, 360, 361, 362, 0, 0, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, 378, 0, 379, 380, 381, 382,
0, 383, 384, 0, 385, 0, 386, 387, 388, 389,
390, 391, 0, 392, 0, 0, 393, 394, 395, 0,
0, 396, 397, 0, 398, 0, 399, 400, 401, 402,
403, 404, 405, 406, 0, 407, 408, 409, 410, 411,
412, 413, 414, 0, 415, 416, 417, 418, 419, 420,
421, 422, 423, 424, 425, 426, 427, 0, 428, 429,
430, 431, 432, 433, 434, 435, 436, 437, 438, 0,
439, 440, 0, 441, 442, 443, 444, 445, 446, 1728,
448, 449, 450, 451, 452, 0, 453, 454, 455, 456,
457, 0, 458, 459, 460, 461, 462, 0, 463, 464,
465, 466, 0, 467, 468, 469, 470, 471, 472, 473,
474, 475, 476, 477, 478, 0, 479, 480, 0, 481,
0, 482, 483, 484, 485, 486, 0, 487, 488, 0,
0, 489, 490, 491, 492, 493, 0, 494, 495, 496,
497, 498, 499, 500, 0, 0, 501, 502, 503, 504,
505, 0, 0, 506, 507, 508, 509, 510, 511, 512,
0, 513, 0, 514, 515, 516, 517, 0, 0, 518,
0, 0, 519, 520, 521, 522, 523, 524, 525, 526,
527, 528, 529, 530, 531, 532, 533, 534, 535, 536,
219, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 220, 221, 222, 223, 224,
225, 226, 227, 0, 229, 230, 231, 0, 0, 0,
0, 0, 1991, 0, 232, 233, 0, 234, 235, 0,
236, 237, 238, 239, 240, 0, 241, 242, 0, 243,
244, 245, 246, 247, 0, 0, 248, 249, 250, 251,
252, 0, 253, 254, 255, 256, 257, 0, 0, 0,
258, 259, 260, 261, 0, 262, 263, 264, 0, 265,
266, 267, 268, 269, 270, 0, 0, 271, 272, 273,
0, 0, 0, 0, 0, 0, 0, 274, 275, 276,
277, 278, 279, 280, 281, 282, 0, 283, 0, 284,
285, 286, 287, 288, 0, 289, 290, 291, 0, 0,
292, 293, 294, 295, 296, 0, 297, 298, 299, 0,
300, 301, 302, 0, 303, 304, 305, 306, 307, 308,
309, 310, 311, 0, 312, 0, 313, 314, 315, 316,
0, 317, 0, 318, 0, 0, 0, 319, 320, 321,
0, 322, 323, 0, 324, 325, 0, 326, 327, 328,
329, 330, 0, 331, 332, 333, 334, 0, 335, 336,
337, 338, 339, 340, 0, 341, 0, 342, 343, 344,
345, 346, 347, 348, 0, 349, 0, 350, 0, 0,
351, 0, 352, 353, 354, 355, 356, 0, 0, 357,
358, 0, 359, 0, 0, 360, 361, 362, 0, 0,
363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
373, 374, 375, 376, 377, 378, 0, 379, 380, 381,
382, 0, 383, 384, 0, 385, 0, 386, 387, 388,
389, 390, 391, 0, 392, 0, 0, 393, 394, 395,
0, 0, 396, 397, 0, 398, 0, 399, 400, 401,
402, 403, 404, 405, 406, 0, 407, 408, 409, 410,
411, 412, 413, 414, 0, 415, 416, 417, 418, 419,
420, 421, 422, 423, 424, 425, 426, 427, 0, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
0, 439, 440, 0, 441, 442, 443, 444, 445, 446,
447, 448, 449, 450, 451, 452, 0, 453, 454, 455,
456, 457, 0, 0, 459, 460, 461, 462, 0, 463,
464, 465, 466, 0, 467, 468, 469, 470, 471, 472,
473, 474, 475, 476, 477, 478, 0, 479, 480, 0,
481, 0, 482, 483, 484, 485, 486, 0, 487, 488,
0, 0, 489, 490, 491, 492, 493, 0, 494, 495,
496, 497, 498, 499, 500, 0, 0, 501, 502, 503,
504, 505, 0, 0, 506, 507, 508, 509, 510, 511,
512, 0, 513, 0, 514, 515, 516, 517, 0, 0,
518, 0, 0, 519, 520, 521, 522, 523, 524, 525,
526, 527, 528, 529, 530, 531, 532, 533, 534, 535,
536, 219, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 220, 221, 222, 223,
224, 225, 226, 227, 0, 229, 230, 231, 0, 0,
0, 0, 0, 0, 0, 232, 233, 0, 234, 235,
0, 236, 237, 238, 239, 240, 0, 241, 242, 0,
243, 244, 245, 246, 247, 0, 0, 715, 249, 250,
251, 252, 0, 253, 254, 255, 256, 257, 0, 0,
0, 258, 259, 260, 261, 0, 262, 263, 264, 0,
265, 266, 267, 268, 269, 270, 0, 0, 271, 272,
273, 0, 0, 0, 0, 0, 0, 0, 274, 275,
276, 277, 278, 279, 280, 281, 282, 0, 283, 0,
284, 285, 286, 287, 288, 0, 289, 290, 291, 0,
0, 292, 293, 294, 295, 296, 0, 297, 298, 299,
0, 300, 301, 302, 0, 303, 304, 305, 306, 307,
308, 309, 310, 311, 0, 312, 0, 313, 314, 315,
316, 0, 317, 0, 318, 0, 0, 0, 319, 320,
321, 0, 322, 323, 0, 324, 325, 0, 326, 327,
328, 329, 330, 0, 331, 332, 333, 334, 0, 335,
336, 337, 338, 339, 340, 0, 341, 0, 342, 343,
344, 345, 346, 347, 348, 0, 349, 0, 350, 0,
0, 351, 0, 352, 353, 354, 355, 356, 0, 0,
357, 358, 0, 359, 0, 0, 360, 361, 362, 0,
0, 363, 364, 365, 366, 367, 368, 369, 370, 371,
372, 373, 374, 375, 376, 718, 378, 0, 379, 380,
381, 382, 0, 383, 384, 0, 385, 0, 386, 387,
388, 389, 390, 391, 0, 392, 0, 0, 393, 394,
395, 0, 0, 396, 397, 0, 398, 0, 399, 400,
401, 402, 403, 404, 405, 406, 0, 407, 408, 409,
410, 411, 412, 413, 414, 0, 415, 416, 417, 418,
419, 420, 421, 422, 423, 424, 425, 426, 427, 0,
428, 429, 430, 431, 432, 433, 434, 435, 436, 437,
438, 0, 439, 440, 0, 719, 442, 443, 444, 445,
446, 447, 720, 449, 450, 451, 452, 0, 453, 454,
455, 456, 1231, 0, 458, 459, 460, 461, 462, 0,
463, 464, 465, 466, 0, 467, 468, 469, 470, 471,
472, 473, 474, 475, 476, 477, 478, 0, 479, 480,
0, 481, 0, 2023, 483, 484, 485, 486, 0, 722,
488, 0, 0, 723, 490, 491, 492, 493, 0, 494,
495, 496, 497, 498, 499, 500, 0, 0, 501, 502,
503, 504, 505, 0, 0, 506, 507, 508, 509, 510,
511, 512, 0, 513, 0, 514, 515, 516, 517, 0,
0, 518, 0, 0, 519, 520, 521, 522, 523, 724,
525, 526, 527, 528, 529, 530, 531, 532, 533, 534,
535, 536, 219, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 220, 221, 222,
223, 224, 225, 226, 227, 0, 229, 230, 231, 0,
0, 0, 0, 0, 0, 0, 232, 233, 0, 234,
235, 0, 236, 237, 238, 239, 240, 0, 241, 242,
0, 243, 244, 245, 246, 247, 0, 0, 715, 249,
250, 251, 252, 0, 253, 254, 255, 256, 257, 0,
0, 0, 258, 259, 260, 261, 0, 262, 263, 264,
0, 265, 266, 267, 268, 269, 270, 0, 0, 271,
272, 273, 0, 0, 0, 0, 0, 0, 0, 274,
275, 276, 277, 278, 279, 280, 281, 282, 0, 283,
0, 284, 285, 286, 287, 288, 0, 289, 290, 291,
0, 0, 292, 293, 294, 295, 296, 0, 297, 298,
299, 0, 300, 301, 302, 0, 303, 304, 305, 306,
307, 308, 309, 310, 311, 0, 312, 0, 313, 314,
315, 316, 0, 317, 0, 318, 0, 0, 0, 319,
320, 321, 0, 322, 323, 0, 324, 325, 0, 326,
327, 328, 329, 330, 0, 331, 332, 333, 334, 0,
335, 336, 337, 338, 339, 340, 0, 341, 0, 342,
343, 344, 345, 346, 347, 348, 0, 349, 0, 350,
0, 0, 351, 0, 352, 353, 354, 355, 356, 0,
0, 357, 358, 0, 359, 0, 0, 360, 361, 362,
0, 0, 363, 364, 365, 366, 367, 368, 369, 370,
371, 372, 373, 374, 375, 376, 718, 378, 0, 379,
380, 381, 382, 0, 383, 384, 0, 385, 0, 386,
387, 388, 389, 390, 391, 0, 392, 0, 0, 393,
394, 395, 0, 0, 396, 397, 0, 398, 0, 399,
400, 401, 402, 403, 404, 405, 406, 0, 407, 408,
409, 410, 411, 412, 413, 414, 0, 415, 416, 417,
418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
0, 428, 429, 430, 431, 432, 433, 434, 435, 436,
437, 438, 0, 439, 440, 0, 719, 442, 443, 444,
445, 446, 447, 2095, 449, 450, 451, 452, 0, 453,
454, 455, 456, 2096, 0, 458, 459, 460, 461, 462,
0, 463, 464, 465, 466, 0, 467, 468, 469, 470,
471, 472, 473, 474, 475, 476, 477, 478, 0, 479,
480, 0, 481, 0, 482, 483, 484, 485, 486, 0,
722, 488, 0, 0, 2097, 490, 491, 492, 493, 0,
494, 495, 496, 497, 498, 499, 500, 0, 0, 501,
502, 503, 504, 505, 0, 0, 506, 507, 508, 509,
510, 511, 512, 0, 513, 0, 514, 515, 516, 517,
0, 0, 518, 0, 0, 519, 520, 521, 522, 523,
724, 525, 526, 527, 528, 529, 530, 531, 532, 533,
534, 535, 536, 219, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 220, 221,
222, 223, 224, 225, 226, 227, 0, 229, 230, 231,
0, 0, 0, 0, 0, 0, 0, 232, 233, 0,
234, 235, 0, 236, 237, 238, 239, 240, 0, 241,
242, 0, 243, 244, 245, 246, 247, 0, 0, 248,
249, 250, 251, 252, 0, 253, 254, 255, 256, 257,
0, 0, 0, 258, 259, 260, 261, 0, 262, 263,
264, 0, 265, 266, 267, 268, 269, 270, 0, 0,
271, 272, 273, 0, 0, 0, 0, 0, 0, 0,
274, 275, 276, 277, 278, 279, 280, 281, 282, 0,
283, 0, 284, 285, 286, 287, 288, 0, 289, 290,
291, 0, 0, 292, 293, 294, 295, 296, 0, 297,
298, 299, 0, 300, 301, 302, 0, 303, 304, 305,
306, 307, 308, 309, 310, 311, 0, 312, 0, 313,
314, 315, 316, 0, 317, 0, 318, 0, 0, 0,
319, 320, 321, 0, 322, 323, 0, 324, 325, 0,
326, 327, 328, 329, 2332, 0, 331, 332, 333, 334,
0, 335, 336, 337, 338, 339, 340, 0, 341, 0,
342, 343, 344, 345, 346, 347, 348, 0, 349, 0,
350, 0, 0, 351, 0, 352, 353, 354, 355, 356,
0, 0, 357, 358, 0, 359, 0, 0, 360, 361,
362, 0, 0, 363, 364, 365, 366, 367, 368, 369,
370, 371, 372, 373, 374, 375, 376, 377, 378, 0,
379, 380, 381, 382, 0, 383, 384, 0, 385, 0,
386, 387, 388, 389, 390, 391, 0, 392, 0, 0,
393, 394, 395, 0, 0, 396, 397, 0, 398, 0,
399, 400, 401, 402, 403, 404, 405, 406, 0, 407,
408, 409, 410, 411, 412, 413, 414, 0, 415, 416,
417, 418, 419, 420, 421, 422, 423, 424, 425, 426,
427, 0, 428, 429, 430, 431, 432, 433, 434, 435,
436, 437, 438, 0, 439, 440, 0, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 0,
453, 454, 455, 456, 457, 0, 458, 459, 460, 461,
462, 0, 463, 464, 465, 466, 0, 467, 468, 469,
470, 471, 472, 473, 474, 475, 476, 477, 478, 0,
479, 480, 0, 481, 0, 482, 483, 484, 485, 486,
0, 487, 488, 0, 0, 489, 490, 491, 492, 493,
0, 494, 495, 496, 497, 498, 499, 500, 0, 0,
501, 502, 503, 504, 505, 0, 0, 506, 507, 508,
509, 510, 511, 512, 0, 513, 0, 514, 515, 516,
517, 0, 0, 518, 0, 0, 519, 520, 521, 522,
523, 524, 525, 526, 527, 528, 529, 530, 531, 532,
533, 534, 535, 536, 219, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 220,
221, 222, 223, 224, 225, 226, 227, 0, 229, 230,
231, 0, 0, 0, 0, 0, 0, 0, 232, 233,
0, 234, 235, 0, 236, 237, 238, 239, 240, 0,
241, 242, 0, 243, 244, 245, 246, 247, 0, 0,
248, 249, 250, 251, 252, 0, 253, 254, 255, 256,
257, 0, 0, 0, 258, 259, 260, 261, 0, 262,
263, 264, 0, 265, 266, 267, 268, 269, 270, 0,
0, 271, 272, 273, 0, 0, 0, 0, 0, 0,
0, 274, 275, 276, 277, 278, 279, 280, 281, 282,
0, 283, 0, 284, 285, 286, 287, 288, 0, 289,
290, 291, 0, 0, 292, 293, 294, 295, 296, 0,
297, 298, 299, 0, 300, 301, 302, 0, 303, 304,
305, 306, 307, 308, 309, 310, 311, 0, 312, 0,
313, 314, 315, 316, 0, 317, 0, 318, 0, 0,
0, 319, 320, 321, 0, 322, 323, 0, 324, 325,
0, 326, 327, 328, 329, 2336, 0, 331, 332, 333,
334, 0, 335, 336, 337, 338, 339, 340, 0, 341,
0, 342, 343, 344, 345, 346, 347, 348, 0, 349,
0, 350, 0, 0, 351, 0, 352, 353, 354, 355,
356, 0, 0, 357, 358, 0, 359, 0, 0, 360,
361, 362, 0, 0, 363, 364, 365, 366, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
0, 379, 380, 381, 382, 0, 383, 384, 0, 385,
0, 386, 387, 388, 389, 390, 391, 0, 392, 0,
0, 393, 394, 395, 0, 0, 396, 397, 0, 398,
0, 399, 400, 401, 402, 403, 404, 405, 406, 0,
407, 408, 409, 410, 411, 412, 413, 414, 0, 415,
416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
426, 427, 0, 428, 429, 430, 431, 432, 433, 434,
435, 436, 437, 438, 0, 439, 440, 0, 441, 442,
443, 444, 445, 446, 447, 448, 449, 450, 451, 452,
0, 453, 454, 455, 456, 457, 0, 458, 459, 460,
461, 462, 0, 463, 464, 465, 466, 0, 467, 468,
469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
0, 479, 480, 0, 481, 0, 482, 483, 484, 485,
486, 0, 487, 488, 0, 0, 489, 490, 491, 492,
493, 0, 494, 495, 496, 497, 498, 499, 500, 0,
0, 501, 502, 503, 504, 505, 0, 0, 506, 507,
508, 509, 510, 511, 512, 0, 513, 0, 514, 515,
516, 517, 0, 0, 518, 0, 0, 519, 520, 521,
522, 523, 524, 525, 526, 527, 528, 529, 530, 531,
532, 533, 534, 535, 536, 219, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
220, 221, 222, 223, 224, 225, 226, 227, 0, 229,
230, 231, 0, 0, 0, 0, 0, 0, 0, 232,
233, 0, 234, 235, 0, 236, 237, 238, 239, 240,
0, 241, 242, 0, 243, 244, 245, 246, 247, 0,
0, 248, 249, 250, 251, 252, 0, 253, 254, 255,
256, 257, 0, 0, 0, 258, 259, 260, 261, 0,
262, 263, 264, 0, 265, 266, 267, 268, 269, 270,
0, 0, 271, 272, 273, 0, 0, 0, 0, 0,
0, 0, 274, 275, 276, 277, 278, 279, 280, 281,
282, 0, 283, 0, 284, 285, 286, 287, 288, 0,
289, 290, 291, 0, 0, 292, 293, 294, 295, 296,
0, 297, 298, 299, 0, 300, 301, 302, 0, 303,
304, 305, 306, 307, 308, 309, 310, 311, 0, 312,
0, 313, 314, 315, 316, 0, 317, 0, 318, 0,
0, 0, 319, 320, 321, 0, 322, 323, 0, 324,
325, 0, 326, 327, 328, 329, 2378, 0, 331, 332,
333, 334, 0, 335, 336, 337, 338, 339, 340, 0,
341, 0, 342, 343, 344, 345, 346, 347, 348, 0,
349, 0, 350, 0, 0, 351, 0, 352, 353, 354,
355, 356, 0, 0, 357, 358, 0, 359, 0, 0,
360, 361, 362, 0, 0, 363, 364, 365, 366, 367,
368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
378, 0, 379, 380, 381, 382, 0, 383, 384, 0,
385, 0, 386, 387, 388, 389, 390, 391, 0, 392,
0, 0, 393, 394, 395, 0, 0, 396, 397, 0,
398, 0, 399, 400, 401, 402, 403, 404, 405, 406,
0, 407, 408, 409, 410, 411, 412, 413, 414, 0,
415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
425, 426, 427, 0, 428, 429, 430, 431, 432, 433,
434, 435, 436, 437, 438, 0, 439, 440, 0, 441,
442, 443, 444, 445, 446, 447, 448, 449, 450, 451,
452, 0, 453, 454, 455, 456, 457, 0, 458, 459,
460, 461, 462, 0, 463, 464, 465, 466, 0, 467,
468, 469, 470, 471, 472, 473, 474, 475, 476, 477,
478, 0, 479, 480, 0, 481, 0, 482, 483, 484,
485, 486, 0, 487, 488, 0, 0, 489, 490, 491,
492, 493, 0, 494, 495, 496, 497, 498, 499, 500,
0, 0, 501, 502, 503, 504, 505, 0, 0, 506,
507, 508, 509, 510, 511, 512, 0, 513, 0, 514,
515, 516, 517, 0, 0, 518, 0, 0, 519, 520,
521, 522, 523, 524, 525, 526, 527, 528, 529, 530,
531, 532, 533, 534, 535, 536, 219, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 220, 221, 222, 223, 224, 225, 226, 227, 0,
229, 230, 231, 0, 0, 0, 0, 0, 0, 0,
232, 233, 0, 234, 235, 0, 236, 237, 238, 239,
240, 0, 241, 242, 0, 243, 244, 245, 246, 247,
0, 0, 248, 249, 250, 251, 252, 0, 253, 254,
255, 256, 257, 0, 0, 0, 258, 259, 260, 261,
0, 262, 263, 264, 0, 265, 266, 267, 268, 269,
270, 0, 0, 271, 272, 273, 0, 0, 0, 0,
0, 0, 0, 274, 275, 276, 277, 278, 279, 280,
281, 282, 0, 283, 0, 284, 285, 286, 287, 288,
0, 289, 290, 291, 0, 0, 292, 293, 294, 295,
296, 0, 297, 298, 299, 0, 300, 301, 302, 0,
303, 304, 305, 306, 307, 308, 309, 310, 311, 0,
312, 0, 313, 314, 315, 316, 0, 317, 0, 318,
0, 0, 0, 319, 320, 321, 0, 322, 323, 0,
324, 325, 0, 326, 327, 328, 329, 2413, 0, 331,
332, 333, 334, 0, 335, 336, 337, 338, 339, 340,
0, 341, 0, 342, 343, 344, 345, 346, 347, 348,
0, 349, 0, 350, 0, 0, 351, 0, 352, 353,
354, 355, 356, 0, 0, 357, 358, 0, 359, 0,
0, 360, 361, 362, 0, 0, 363, 364, 365, 366,
367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
377, 378, 0, 379, 380, 381, 382, 0, 383, 384,
0, 385, 0, 386, 387, 388, 389, 390, 391, 0,
392, 0, 0, 393, 394, 395, 0, 0, 396, 397,
0, 398, 0, 399, 400, 401, 402, 403, 404, 405,
406, 0, 407, 408, 409, 410, 411, 412, 413, 414,
0, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 0, 428, 429, 430, 431, 432,
433, 434, 435, 436, 437, 438, 0, 439, 440, 0,
441, 442, 443, 444, 445, 446, 447, 448, 449, 450,
451, 452, 0, 453, 454, 455, 456, 457, 0, 458,
459, 460, 461, 462, 0, 463, 464, 465, 466, 0,
467, 468, 469, 470, 471, 472, 473, 474, 475, 476,
477, 478, 0, 479, 480, 0, 481, 0, 482, 483,
484, 485, 486, 0, 487, 488, 0, 0, 489, 490,
491, 492, 493, 0, 494, 495, 496, 497, 498, 499,
500, 0, 0, 501, 502, 503, 504, 505, 0, 0,
506, 507, 508, 509, 510, 511, 512, 0, 513, 0,
514, 515, 516, 517, 0, 0, 518, 0, 0, 519,
520, 521, 522, 523, 524, 525, 526, 527, 528, 529,
530, 531, 532, 533, 534, 535, 536, 219, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 220, 221, 222, 223, 224, 225, 226, 227,
0, 229, 230, 231, 0, 0, 0, 0, 0, 0,
0, 232, 233, 0, 234, 235, 0, 236, 237, 238,
239, 240, 0, 241, 242, 0, 243, 244, 245, 246,
247, 0, 0, 248, 249, 250, 251, 252, 0, 253,
254, 255, 256, 257, 0, 0, 0, 258, 259, 260,
261, 0, 262, 263, 264, 0, 265, 266, 267, 268,
269, 270, 0, 0, 271, 272, 273, 0, 0, 0,
0, 0, 0, 0, 274, 275, 276, 277, 278, 279,
280, 281, 282, 0, 283, 0, 284, 285, 286, 287,
288, 0, 289, 290, 291, 0, 0, 292, 293, 294,
295, 296, 0, 297, 298, 299, 0, 300, 301, 302,
0, 303, 304, 305, 306, 307, 308, 309, 310, 311,
0, 312, 0, 313, 314, 315, 316, 0, 317, 0,
318, 0, 0, 0, 319, 320, 321, 0, 322, 323,
0, 324, 325, 0, 326, 327, 328, 329, 2739, 0,
331, 332, 333, 334, 0, 335, 336, 337, 338, 339,
340, 0, 341, 0, 342, 343, 344, 345, 346, 347,
348, 0, 349, 0, 350, 0, 0, 351, 0, 352,
353, 354, 355, 356, 0, 0, 357, 358, 0, 359,
0, 0, 360, 361, 362, 0, 0, 363, 364, 365,
366, 367, 368, 369, 370, 371, 372, 373, 374, 375,
376, 377, 378, 0, 379, 380, 381, 382, 0, 383,
384, 0, 385, 0, 386, 387, 388, 389, 390, 391,
0, 392, 0, 0, 393, 394, 395, 0, 0, 396,
397, 0, 398, 0, 399, 400, 401, 402, 403, 404,
405, 406, 0, 407, 408, 409, 410, 411, 412, 413,
414, 0, 415, 416, 417, 418, 419, 420, 421, 422,
423, 424, 425, 426, 427, 0, 428, 429, 430, 431,
432, 433, 434, 435, 436, 437, 438, 0, 439, 440,
0, 441, 442, 443, 444, 445, 446, 447, 448, 449,
450, 451, 452, 0, 453, 454, 455, 456, 457, 0,
458, 459, 460, 461, 462, 0, 463, 464, 465, 466,
0, 467, 468, 469, 470, 471, 472, 473, 474, 475,
476, 477, 478, 0, 479, 480, 0, 481, 0, 482,
483, 484, 485, 486, 0, 487, 488, 0, 0, 489,
490, 491, 492, 493, 0, 494, 495, 496, 497, 498,
499, 500, 0, 0, 501, 502, 503, 504, 505, 0,
0, 506, 507, 508, 509, 510, 511, 512, 0, 513,
0, 514, 515, 516, 517, 0, 0, 518, 0, 0,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 531, 532, 533, 534, 535, 536, 219, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 220, 221, 222, 223, 224, 225, 226,
227, 0, 229, 230, 231, 0, 0, 0, 0, 0,
0, 0, 232, 233, 0, 234, 235, 0, 236, 237,
238, 239, 240, 0, 241, 242, 0, 243, 244, 245,
246, 247, 0, 0, 715, 249, 250, 251, 252, 0,
253, 254, 255, 256, 257, 0, 0, 0, 258, 259,
260, 261, 0, 262, 263, 264, 0, 265, 266, 267,
268, 269, 270, 0, 0, 271, 272, 273, 0, 0,
0, 0, 0, 0, 0, 274, 275, 276, 277, 278,
279, 280, 281, 282, 0, 283, 0, 284, 285, 286,
287, 288, 0, 289, 290, 291, 0, 0, 292, 293,
294, 295, 296, 0, 297, 298, 299, 0, 300, 301,
302, 0, 303, 304, 305, 306, 307, 308, 309, 310,
311, 0, 312, 0, 313, 314, 315, 316, 0, 317,
0, 318, 0, 0, 0, 319, 320, 321, 0, 322,
323, 0, 324, 325, 0, 326, 327, 328, 329, 330,
0, 331, 332, 333, 334, 0, 335, 336, 337, 338,
339, 340, 0, 341, 0, 342, 343, 344, 345, 346,
347, 348, 0, 349, 0, 350, 0, 0, 351, 0,
352, 353, 354, 355, 356, 0, 0, 357, 358, 0,
359, 0, 0, 360, 361, 362, 0, 0, 363, 364,
365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
375, 376, 718, 378, 0, 379, 380, 381, 382, 0,
383, 384, 0, 385, 0, 386, 387, 388, 389, 390,
391, 0, 392, 0, 0, 393, 394, 395, 0, 0,
396, 397, 0, 398, 0, 399, 400, 401, 402, 403,
404, 405, 406, 0, 407, 408, 409, 410, 411, 412,
413, 414, 0, 415, 416, 417, 418, 419, 420, 421,
422, 423, 424, 425, 426, 427, 0, 428, 429, 430,
431, 432, 433, 434, 435, 436, 437, 438, 0, 439,
440, 0, 719, 442, 443, 444, 445, 446, 447, 720,
449, 450, 451, 452, 0, 453, 454, 455, 456, 2096,
0, 458, 459, 460, 461, 462, 0, 463, 464, 465,
466, 0, 467, 468, 469, 470, 471, 472, 473, 474,
475, 476, 477, 478, 0, 479, 480, 0, 481, 0,
482, 483, 484, 485, 486, 0, 722, 488, 0, 0,
2097, 490, 491, 492, 493, 0, 494, 495, 496, 497,
498, 499, 500, 0, 0, 501, 502, 503, 504, 505,
0, 0, 506, 507, 508, 509, 510, 511, 512, 0,
513, 0, 514, 515, 516, 517, 0, 0, 518, 0,
0, 519, 520, 521, 522, 523, 724, 525, 526, 527,
528, 529, 530, 531, 532, 533, 534, 535, 536, 219,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 220, 221, 222, 223, 224, 225,
226, 227, 0, 229, 230, 231, 0, 0, 0, 0,
0, 0, 0, 232, 233, 0, 234, 235, 0, 236,
237, 238, 239, 240, 0, 241, 242, 0, 243, 244,
245, 246, 247, 0, 0, 248, 249, 250, 251, 252,
0, 253, 254, 255, 256, 257, 0, 0, 0, 258,
259, 260, 261, 0, 262, 263, 264, 0, 265, 266,
267, 268, 269, 270, 0, 0, 271, 272, 273, 0,
0, 0, 0, 0, 0, 0, 274, 275, 276, 277,
278, 279, 280, 281, 282, 0, 283, 0, 284, 285,
286, 287, 288, 0, 289, 290, 291, 0, 0, 292,
293, 294, 295, 296, 0, 297, 298, 299, 0, 300,
301, 302, 0, 303, 304, 305, 306, 307, 308, 309,
310, 311, 0, 312, 0, 313, 314, 315, 316, 0,
317, 0, 318, 0, 0, 0, 319, 320, 321, 0,
322, 323, 0, 324, 325, 0, 326, 327, 328, 329,
2814, 0, 331, 332, 333, 334, 0, 335, 336, 337,
338, 339, 340, 0, 341, 0, 342, 343, 344, 345,
346, 347, 348, 0, 349, 0, 350, 0, 0, 351,
0, 352, 353, 354, 355, 356, 0, 0, 357, 358,
0, 359, 0, 0, 360, 361, 362, 0, 0, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, 378, 0, 379, 380, 381, 382,
0, 383, 384, 0, 385, 0, 386, 387, 388, 389,
390, 391, 0, 392, 0, 0, 393, 394, 395, 0,
0, 396, 397, 0, 398, 0, 399, 400, 401, 402,
403, 404, 405, 406, 0, 407, 408, 409, 410, 411,
412, 413, 414, 0, 415, 416, 417, 418, 419, 420,
421, 422, 423, 424, 425, 426, 427, 0, 428, 429,
430, 431, 432, 433, 434, 435, 436, 437, 438, 0,
439, 440, 0, 441, 442, 443, 444, 445, 446, 447,
448, 449, 450, 451, 452, 0, 453, 454, 455, 456,
457, 0, 458, 459, 460, 461, 462, 0, 463, 464,
465, 466, 0, 467, 468, 469, 470, 471, 472, 473,
474, 475, 476, 477, 478, 0, 479, 480, 0, 481,
0, 482, 483, 484, 485, 486, 0, 487, 488, 0,
0, 489, 490, 491, 492, 493, 0, 494, 495, 496,
497, 498, 499, 500, 0, 0, 501, 502, 503, 504,
505, 0, 0, 506, 507, 508, 509, 510, 511, 512,
0, 513, 0, 514, 515, 516, 517, 0, 0, 518,
0, 0, 519, 520, 521, 522, 523, 524, 525, 526,
527, 528, 529, 530, 531, 532, 533, 534, 535, 536,
219, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 220, 221, 222, 223, 224,
225, 226, 227, 0, 229, 230, 231, 0, 0, 0,
0, 0, 0, 0, 232, 233, 0, 234, 235, 0,
236, 237, 238, 239, 240, 0, 241, 242, 0, 243,
244, 245, 246, 247, 0, 0, 248, 249, 250, 251,
252, 0, 253, 254, 255, 256, 257, 0, 0, 0,
258, 259, 260, 261, 0, 262, 263, 264, 0, 265,
266, 267, 268, 269, 270, 0, 0, 271, 272, 273,
0, 0, 0, 0, 0, 0, 0, 274, 275, 276,
277, 278, 279, 280, 281, 282, 0, 283, 0, 284,
285, 286, 287, 288, 0, 289, 290, 291, 0, 0,
292, 293, 294, 295, 296, 0, 297, 298, 299, 0,
300, 301, 302, 0, 303, 304, 305, 306, 307, 308,
309, 310, 311, 0, 312, 0, 313, 314, 315, 316,
0, 317, 0, 318, 0, 0, 0, 319, 320, 321,
0, 322, 323, 0, 324, 325, 0, 326, 327, 328,
329, 2816, 0, 331, 332, 333, 334, 0, 335, 336,
337, 338, 339, 340, 0, 341, 0, 342, 343, 344,
345, 346, 347, 348, 0, 349, 0, 350, 0, 0,
351, 0, 352, 353, 354, 355, 356, 0, 0, 357,
358, 0, 359, 0, 0, 360, 361, 362, 0, 0,
363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
373, 374, 375, 376, 377, 378, 0, 379, 380, 381,
382, 0, 383, 384, 0, 385, 0, 386, 387, 388,
389, 390, 391, 0, 392, 0, 0, 393, 394, 395,
0, 0, 396, 397, 0, 398, 0, 399, 400, 401,
402, 403, 404, 405, 406, 0, 407, 408, 409, 410,
411, 412, 413, 414, 0, 415, 416, 417, 418, 419,
420, 421, 422, 423, 424, 425, 426, 427, 0, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
0, 439, 440, 0, 441, 442, 443, 444, 445, 446,
447, 448, 449, 450, 451, 452, 0, 453, 454, 455,
456, 457, 0, 458, 459, 460, 461, 462, 0, 463,
464, 465, 466, 0, 467, 468, 469, 470, 471, 472,
473, 474, 475, 476, 477, 478, 0, 479, 480, 0,
481, 0, 482, 483, 484, 485, 486, 0, 487, 488,
0, 0, 489, 490, 491, 492, 493, 0, 494, 495,
496, 497, 498, 499, 500, 0, 0, 501, 502, 503,
504, 505, 0, 0, 506, 507, 508, 509, 510, 511,
512, 0, 513, 0, 514, 515, 516, 517, 0, 0,
518, 0, 0, 519, 520, 521, 522, 523, 524, 525,
526, 527, 528, 529, 530, 531, 532, 533, 534, 535,
536, 219, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 220, 221, 222, 223,
224, 225, 226, 227, 0, 229, 230, 231, 0, 0,
0, 0, 0, 0, 0, 232, 233, 0, 234, 235,
0, 236, 237, 238, 239, 240, 0, 241, 242, 0,
243, 244, 245, 246, 247, 0, 0, 248, 249, 250,
251, 252, 0, 253, 254, 255, 256, 257, 0, 0,
0, 258, 259, 260, 261, 0, 262, 263, 264, 0,
265, 266, 267, 268, 269, 270, 0, 0, 271, 272,
273, 0, 0, 0, 0, 0, 0, 0, 274, 275,
276, 277, 278, 279, 280, 281, 282, 0, 283, 0,
284, 285, 286, 287, 288, 0, 289, 290, 291, 0,
0, 292, 293, 294, 295, 296, 0, 297, 298, 299,
0, 300, 301, 302, 0, 303, 304, 305, 306, 307,
308, 309, 310, 311, 0, 312, 0, 313, 314, 315,
316, 0, 317, 0, 318, 0, 0, 0, 319, 320,
321, 0, 322, 323, 0, 324, 325, 0, 326, 327,
328, 329, 2928, 0, 331, 332, 333, 334, 0, 335,
336, 337, 338, 339, 340, 0, 341, 0, 342, 343,
344, 345, 346, 347, 348, 0, 349, 0, 350, 0,
0, 351, 0, 352, 353, 354, 355, 356, 0, 0,
357, 358, 0, 359, 0, 0, 360, 361, 362, 0,
0, 363, 364, 365, 366, 367, 368, 369, 370, 371,
372, 373, 374, 375, 376, 377, 378, 0, 379, 380,
381, 382, 0, 383, 384, 0, 385, 0, 386, 387,
388, 389, 390, 391, 0, 392, 0, 0, 393, 394,
395, 0, 0, 396, 397, 0, 398, 0, 399, 400,
401, 402, 403, 404, 405, 406, 0, 407, 408, 409,
410, 411, 412, 413, 414, 0, 415, 416, 417, 418,
419, 420, 421, 422, 423, 424, 425, 426, 427, 0,
428, 429, 430, 431, 432, 433, 434, 435, 436, 437,
438, 0, 439, 440, 0, 441, 442, 443, 444, 445,
446, 447, 448, 449, 450, 451, 452, 0, 453, 454,
455, 456, 457, 0, 458, 459, 460, 461, 462, 0,
463, 464, 465, 466, 0, 467, 468, 469, 470, 471,
472, 473, 474, 475, 476, 477, 478, 0, 479, 480,
0, 481, 0, 482, 483, 484, 485, 486, 0, 487,
488, 0, 0, 489, 490, 491, 492, 493, 0, 494,
495, 496, 497, 498, 499, 500, 0, 0, 501, 502,
503, 504, 505, 0, 0, 506, 507, 508, 509, 510,
511, 512, 0, 513, 0, 514, 515, 516, 517, 0,
0, 518, 0, 0, 519, 520, 521, 522, 523, 524,
525, 526, 527, 528, 529, 530, 531, 532, 533, 534,
535, 536, 219, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 220, 221, 222,
223, 224, 225, 226, 227, 0, 229, 230, 231, 0,
0, 0, 0, 0, 0, 0, 232, 233, 0, 234,
235, 0, 236, 237, 238, 239, 240, 0, 241, 242,
0, 243, 244, 245, 246, 247, 0, 0, 248, 249,
250, 251, 252, 0, 253, 254, 255, 256, 257, 0,
0, 0, 258, 259, 260, 261, 0, 262, 263, 264,
0, 265, 266, 267, 268, 269, 270, 0, 0, 271,
272, 273, 0, 0, 0, 0, 0, 0, 0, 274,
275, 276, 277, 278, 279, 280, 281, 282, 0, 283,
0, 284, 285, 286, 287, 288, 0, 289, 290, 291,
0, 0, 292, 2950, 294, 295, 296, 0, 297, 298,
299, 0, 300, 301, 302, 0, 303, 304, 305, 306,
307, 308, 309, 310, 311, 0, 312, 0, 313, 314,
315, 316, 0, 317, 0, 318, 0, 0, 0, 319,
320, 321, 0, 322, 323, 0, 324, 325, 0, 326,
327, 328, 329, 330, 0, 331, 332, 333, 334, 0,
335, 336, 337, 338, 339, 340, 0, 341, 0, 342,
343, 344, 345, 346, 347, 348, 0, 349, 0, 350,
0, 0, 351, 0, 352, 353, 354, 355, 356, 0,
0, 357, 358, 0, 359, 0, 0, 360, 361, 362,
0, 0, 363, 364, 365, 366, 367, 368, 369, 370,
371, 372, 373, 374, 375, 376, 377, 378, 0, 379,
380, 381, 382, 0, 383, 384, 0, 385, 0, 386,
387, 388, 389, 390, 391, 0, 392, 0, 0, 393,
394, 395, 0, 0, 396, 397, 0, 398, 0, 399,
400, 401, 402, 403, 404, 405, 406, 0, 407, 408,
409, 410, 411, 412, 413, 414, 0, 415, 416, 417,
418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
0, 428, 429, 430, 431, 432, 433, 434, 435, 436,
437, 438, 0, 439, 440, 0, 441, 442, 443, 444,
445, 446, 447, 448, 449, 450, 451, 452, 0, 453,
454, 455, 456, 457, 0, 458, 459, 460, 461, 462,
0, 463, 464, 465, 466, 0, 467, 468, 469, 470,
471, 472, 473, 474, 475, 476, 477, 478, 0, 479,
480, 0, 481, 0, 482, 483, 484, 485, 486, 0,
487, 488, 0, 0, 489, 490, 491, 492, 493, 0,
494, 495, 496, 497, 498, 499, 500, 0, 0, 501,
502, 503, 504, 505, 0, 0, 506, 507, 508, 509,
510, 511, 512, 0, 513, 0, 514, 515, 516, 517,
0, 0, 518, 0, 0, 519, 520, 521, 522, 523,
524, 525, 526, 527, 528, 529, 530, 531, 532, 533,
534, 535, 536, 219, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 220, 221,
222, 223, 224, 225, 226, 227, 0, 229, 230, 231,
0, 0, 0, 0, 0, 0, 0, 232, 233, 0,
234, 235, 0, 236, 237, 238, 239, 240, 0, 241,
242, 0, 243, 244, 245, 246, 247, 0, 0, 248,
249, 250, 251, 252, 0, 253, 254, 255, 256, 257,
0, 0, 0, 258, 259, 260, 261, 0, 262, 263,
264, 0, 265, 266, 267, 268, 269, 270, 0, 0,
271, 272, 273, 0, 0, 0, 0, 0, 0, 0,
274, 275, 276, 277, 278, 279, 280, 281, 282, 0,
283, 0, 284, 285, 286, 287, 288, 0, 289, 290,
291, 0, 0, 292, 293, 294, 295, 296, 0, 297,
298, 299, 0, 300, 301, 302, 0, 303, 304, 305,
306, 307, 308, 309, 310, 311, 0, 312, 0, 313,
314, 315, 316, 0, 317, 0, 318, 0, 0, 0,
319, 320, 321, 0, 322, 323, 0, 324, 325, 0,
326, 327, 328, 329, 4061, 0, 331, 332, 333, 334,
0, 335, 336, 337, 338, 339, 340, 0, 341, 0,
342, 343, 344, 345, 346, 347, 348, 0, 349, 0,
350, 0, 0, 351, 0, 352, 353, 354, 355, 356,
0, 0, 357, 358, 0, 359, 0, 0, 360, 361,
362, 0, 0, 363, 364, 365, 366, 367, 368, 369,
370, 371, 372, 373, 374, 375, 376, 377, 378, 0,
379, 380, 381, 382, 0, 383, 384, 0, 385, 0,
386, 387, 388, 389, 390, 391, 0, 392, 0, 0,
393, 394, 395, 0, 0, 396, 397, 0, 398, 0,
399, 400, 401, 402, 403, 404, 405, 406, 0, 407,
408, 409, 410, 411, 412, 413, 414, 0, 415, 416,
417, 418, 419, 420, 421, 422, 423, 424, 425, 426,
427, 0, 428, 429, 430, 431, 432, 433, 434, 435,
436, 437, 438, 0, 439, 440, 0, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 0,
453, 454, 455, 456, 457, 0, 458, 459, 460, 461,
462, 0, 463, 464, 465, 466, 0, 467, 468, 469,
470, 471, 472, 473, 474, 475, 476, 477, 478, 0,
479, 480, 0, 481, 0, 482, 483, 484, 485, 486,
0, 487, 488, 0, 0, 489, 490, 491, 492, 493,
0, 494, 495, 496, 497, 498, 499, 500, 0, 0,
501, 502, 503, 504, 505, 0, 0, 506, 507, 508,
509, 510, 511, 512, 0, 513, 0, 514, 515, 516,
517, 0, 0, 518, 0, 0, 519, 520, 521, 522,
523, 524, 525, 526, 527, 528, 529, 530, 531, 532,
533, 534, 535, 536, 978, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 220,
221, 222, 223, 224, 225, 226, 227, 0, 229, 230,
231, 0, 0, 0, 0, 0, 0, 0, 232, 233,
0, 234, 235, 772, 236, 237, 238, 0, 979, 773,
980, 981, 0, 243, 244, 245, 246, 247, 0, 0,
248, 249, 982, 983, 252, 0, 253, 254, 255, 256,
0, 0, 774, 0, 258, 259, 260, 261, 775, 262,
263, 264, 0, 265, 266, 267, 268, 269, 270, 0,
776, 271, 272, 273, 0, 0, 0, 777, 0, 0,
0, 274, 275, 276, 277, 278, 279, 984, 985, 282,
0, 283, 0, 284, 285, 286, 287, 288, 0, 289,
290, 291, 0, 0, 292, 293, 986, 295, 296, 0,
297, 298, 299, 0, 300, 301, 302, 0, 303, 304,
305, 306, 0, 308, 309, 310, 0, 0, 312, 0,
313, 314, 987, 316, 0, 317, 0, 318, 778, 0,
779, 319, 320, 321, 0, 322, 0, 0, 0, 325,
0, 326, 327, 328, 329, 330, 780, 331, 332, 333,
334, 1994, 335, 336, 337, 338, 339, 340, 0, 341,
781, 1995, 343, 344, 345, 346, 989, 990, 0, 991,
0, 350, 782, 783, 351, 784, 352, 353, 354, 355,
356, 0, 0, 357, 0, 785, 359, 786, 0, 360,
361, 362, 0, 0, 363, 364, 365, 366, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, 992,
787, 993, 380, 381, 0, 0, 383, 384, 788, 385,
0, 0, 387, 994, 389, 390, 391, 0, 392, 0,
0, 393, 394, 395, 0, 0, 396, 1997, 789, 398,
790, 0, 400, 401, 402, 403, 404, 405, 406, 0,
407, 408, 0, 410, 0, 412, 413, 414, 0, 415,
416, 417, 418, 419, 420, 421, 422, 995, 424, 425,
426, 427, 0, 428, 429, 430, 431, 432, 433, 434,
435, 436, 437, 438, 0, 439, 440, 791, 441, 442,
443, 0, 445, 446, 447, 448, 449, 450, 451, 452,
0, 453, 454, 455, 456, 457, 0, 458, 459, 1998,
461, 462, 792, 463, 464, 997, 466, 0, 467, 468,
469, 470, 471, 472, 473, 474, 475, 476, 477, 0,
0, 479, 480, 0, 481, 793, 482, 483, 484, 485,
486, 0, 998, 999, 0, 0, 489, 490, 0, 492,
0, 0, 494, 495, 496, 497, 498, 499, 500, 0,
0, 501, 502, 503, 504, 505, 0, 0, 506, 507,
508, 509, 510, 0, 1000, 1999, 513, 794, 514, 515,
516, 517, 0, 0, 518, 0, 0, 519, 520, 521,
522, 523, 524, 978, 0, 0, 0, 0, 0, 0,
0, 0, 534, 535, 536, 0, 0, 0, 220, 221,
222, 223, 224, 225, 226, 227, 0, 229, 230, 231,
0, 0, 0, 0, 0, 0, 0, 232, 233, 0,
234, 235, 772, 236, 237, 238, 0, 979, 773, 980,
981, 0, 243, 244, 245, 246, 247, 0, 0, 248,
249, 982, 983, 252, 0, 253, 254, 255, 256, 0,
0, 774, 0, 258, 259, 260, 261, 775, 262, 263,
264, 0, 265, 266, 267, 268, 269, 270, 0, 776,
271, 272, 273, 0, 0, 0, 777, 0, 0, 0,
274, 275, 276, 277, 278, 279, 984, 985, 282, 0,
283, 0, 284, 285, 286, 287, 288, 0, 289, 290,
291, 0, 0, 292, 293, 986, 295, 296, 0, 297,
298, 299, 0, 300, 301, 302, 0, 303, 304, 305,
306, 0, 308, 309, 310, 0, 0, 312, 0, 313,
314, 987, 316, 0, 317, 0, 318, 778, 0, 779,
319, 320, 321, 0, 322, 0, 0, 0, 325, 0,
326, 327, 328, 329, 330, 780, 331, 332, 333, 334,
0, 335, 336, 337, 338, 339, 340, 0, 341, 781,
0, 343, 344, 345, 346, 989, 990, 0, 991, 0,
350, 782, 783, 351, 784, 352, 353, 354, 355, 356,
0, 0, 357, 0, 785, 359, 786, 0, 360, 361,
362, 0, 0, 363, 364, 365, 366, 367, 368, 369,
370, 371, 372, 373, 374, 375, 376, 377, 992, 787,
993, 380, 381, 0, 0, 383, 384, 788, 385, 2091,
0, 387, 994, 389, 390, 391, 0, 392, 0, 0,
393, 394, 395, 0, 0, 396, 0, 789, 398, 790,
0, 400, 401, 402, 403, 404, 405, 406, 0, 407,
408, 0, 410, 0, 412, 413, 414, 0, 415, 416,
417, 418, 419, 420, 421, 422, 995, 424, 425, 426,
427, 0, 428, 429, 430, 431, 432, 433, 434, 435,
436, 437, 438, 0, 439, 440, 791, 441, 442, 443,
0, 445, 446, 447, 448, 449, 450, 451, 452, 0,
453, 454, 455, 456, 457, 0, 458, 459, 1998, 461,
462, 792, 463, 464, 997, 466, 0, 467, 468, 469,
470, 471, 472, 473, 474, 475, 476, 477, 0, 0,
479, 480, 3636, 481, 793, 482, 483, 484, 485, 486,
0, 998, 999, 0, 0, 489, 490, 0, 492, 0,
0, 494, 495, 496, 497, 498, 499, 500, 0, 0,
501, 502, 503, 504, 505, 0, 0, 506, 507, 508,
509, 510, 0, 1000, 0, 513, 794, 514, 515, 516,
517, 0, 0, 518, 0, 0, 519, 520, 521, 522,
523, 524, 219, 0, 0, 0, 0, 0, 0, 0,
0, 534, 535, 536, 0, 0, 0, 220, 221, 222,
223, 224, 225, 226, 227, 0, 229, 230, 231, 0,
0, 0, 0, 0, 0, 0, 232, 233, 0, 234,
235, 0, 236, 237, 238, 239, 240, 0, 241, 242,
0, 243, 244, 245, 246, 247, 0, 0, 248, 249,
250, 251, 252, 0, 253, 254, 255, 256, 257, 0,
0, 0, 258, 259, 260, 261, 0, 262, 263, 264,
0, 265, 266, 267, 268, 269, 270, 0, 0, 271,
272, 273, 0, 0, 0, 0, 0, 0, 0, 274,
275, 276, 277, 278, 279, 280, 281, 282, 0, 283,
0, 284, 285, 286, 287, 288, 0, 289, 290, 291,
0, 0, 292, 293, 294, 295, 296, 0, 297, 298,
299, 0, 300, 301, 302, 0, 303, 304, 305, 306,
307, 308, 309, 310, 311, 0, 312, 0, 313, 314,
315, 316, 0, 317, 0, 318, 0, 0, 0, 319,
320, 321, 0, 322, 323, 0, 324, 325, 0, 326,
327, 328, 329, 330, 0, 331, 332, 333, 334, 0,
335, 336, 337, 338, 339, 340, 0, 341, 0, 342,
343, 344, 345, 346, 347, 348, 0, 349, 0, 350,
0, 0, 351, 0, 352, 353, 354, 355, 356, 0,
0, 357, 358, 0, 359, 0, 0, 360, 361, 362,
0, 0, 363, 364, 365, 366, 367, 368, 369, 370,
371, 372, 373, 374, 375, 376, 377, 378, 0, 379,
380, 381, 382, 0, 383, 384, 0, 385, 0, 386,
387, 388, 389, 390, 391, 0, 392, 0, 0, 393,
394, 395, 0, 0, 396, 397, 0, 398, 0, 399,
400, 401, 402, 403, 0, 405, 406, 0, 407, 408,
409, 410, 411, 412, 413, 414, 0, 415, 416, 417,
418, 419, 420, 0, 422, 423, 424, 425, 426, 427,
0, 428, 429, 430, 431, 432, 433, 434, 435, 436,
437, 438, 0, 439, 440, 0, 441, 442, 443, 444,
0, 446, 447, 448, 449, 450, 451, 452, 0, 453,
454, 455, 456, 457, 0, 458, 459, 460, 461, 462,
0, 463, 464, 465, 466, 0, 467, 468, 469, 470,
471, 472, 473, 474, 475, 476, 477, 478, 0, 479,
480, 0, 481, 0, 482, 483, 484, 485, 486, 0,
487, 488, 0, 0, 489, 490, 491, 492, 493, 0,
494, 495, 496, 497, 498, 499, 500, 0, 0, 501,
502, 503, 504, 505, 0, 0, 506, 507, 508, 509,
510, 511, 512, 0, 513, 0, 514, 515, 516, 517,
0, 0, 518, 0, 0, 519, 520, 521, 522, 523,
524, 525, 526, 527, 528, 529, 530, 531, 532, 533,
534, 535, 536, 978, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 220, 221,
222, 223, 224, 225, 226, 227, 0, 229, 230, 231,
0, 0, 0, 0, 0, 0, 0, 232, 233, 0,
234, 235, 772, 236, 237, 238, 0, 979, 773, 980,
981, 0, 243, 244, 245, 246, 247, 0, 0, 248,
249, 982, 983, 252, 0, 253, 254, 255, 256, 0,
0, 774, 0, 258, 259, 260, 261, 775, 262, 263,
264, 0, 265, 266, 267, 268, 269, 270, 0, 776,
271, 272, 273, 0, 0, 0, 777, 0, 0, 0,
274, 275, 276, 277, 278, 279, 984, 985, 282, 0,
283, 0, 284, 285, 286, 287, 288, 0, 289, 290,
291, 0, 0, 292, 293, 986, 295, 296, 0, 297,
298, 299, 0, 300, 301, 302, 0, 303, 304, 305,
306, 0, 308, 309, 310, 0, 0, 312, 0, 313,
314, 987, 316, 0, 317, 0, 318, 778, 0, 779,
319, 320, 321, 0, 322, 0, 0, 0, 325, 0,
326, 327, 328, 329, 330, 780, 331, 332, 333, 334,
0, 335, 336, 337, 338, 339, 340, 0, 341, 781,
0, 343, 344, 345, 346, 989, 990, 0, 991, 0,
350, 782, 783, 351, 784, 352, 353, 354, 355, 356,
0, 0, 357, 0, 785, 359, 786, 0, 360, 361,
362, 0, 0, 363, 364, 365, 366, 367, 368, 369,
370, 371, 372, 373, 374, 375, 376, 377, 992, 787,
993, 380, 381, 2158, 0, 383, 384, 788, 385, 0,
0, 387, 994, 389, 390, 391, 0, 392, 0, 0,
393, 394, 395, 0, 0, 396, 0, 789, 398, 790,
0, 400, 401, 402, 403, 404, 405, 406, 0, 407,
408, 0, 410, 0, 412, 413, 414, 0, 415, 416,
417, 418, 419, 420, 421, 422, 995, 424, 425, 426,
427, 0, 428, 429, 430, 431, 432, 433, 434, 435,
436, 437, 438, 0, 439, 440, 791, 441, 442, 443,
0, 445, 446, 447, 448, 449, 450, 451, 452, 0,
453, 454, 455, 456, 457, 0, 458, 459, 996, 461,
462, 792, 463, 464, 997, 466, 0, 467, 468, 469,
470, 471, 472, 473, 474, 475, 476, 477, 0, 0,
479, 480, 0, 481, 793, 482, 483, 484, 485, 486,
0, 998, 999, 0, 0, 489, 490, 0, 492, 0,
0, 494, 495, 496, 497, 498, 499, 500, 0, 0,
501, 502, 503, 504, 505, 0, 0, 506, 507, 508,
509, 510, 0, 1000, 0, 513, 794, 514, 515, 516,
517, 0, 0, 518, 0, 0, 519, 520, 521, 522,
523, 524, 978, 0, 0, 0, 0, 0, 0, 0,
0, 534, 535, 536, 0, 0, 0, 220, 221, 222,
223, 224, 225, 226, 227, 0, 229, 230, 231, 0,
0, 0, 0, 0, 0, 0, 232, 233, 0, 234,
235, 772, 236, 237, 238, 0, 979, 773, 980, 981,
0, 243, 244, 245, 246, 247, 0, 0, 248, 249,
982, 983, 252, 0, 253, 254, 255, 256, 0, 0,
774, 0, 258, 259, 260, 261, 775, 262, 263, 264,
0, 265, 266, 267, 268, 269, 270, 0, 776, 271,
272, 273, 0, 0, 0, 777, 0, 0, 0, 274,
275, 276, 277, 278, 279, 984, 985, 282, 0, 283,
0, 284, 285, 286, 287, 288, 0, 289, 290, 291,
0, 0, 292, 293, 986, 295, 296, 0, 297, 298,
299, 0, 300, 301, 302, 0, 303, 304, 305, 306,
0, 308, 309, 310, 0, 0, 312, 0, 313, 314,
987, 316, 0, 317, 0, 318, 778, 0, 779, 319,
320, 321, 0, 322, 0, 0, 0, 325, 0, 326,
327, 328, 329, 330, 780, 331, 332, 333, 334, 0,
335, 336, 337, 338, 339, 340, 0, 341, 781, 0,
343, 344, 345, 346, 989, 990, 0, 991, 0, 350,
782, 783, 351, 784, 352, 353, 354, 355, 356, 0,
0, 357, 0, 785, 359, 786, 0, 360, 361, 362,
0, 0, 363, 364, 365, 366, 367, 368, 369, 370,
371, 372, 373, 374, 375, 376, 377, 992, 787, 993,
380, 381, 3460, 0, 383, 384, 788, 385, 0, 0,
387, 994, 389, 390, 391, 0, 392, 0, 0, 393,
394, 395, 0, 0, 396, 0, 789, 398, 790, 0,
400, 401, 402, 403, 404, 405, 406, 0, 407, 408,
0, 410, 0, 412, 413, 414, 0, 415, 416, 417,
418, 419, 420, 421, 422, 995, 424, 425, 426, 427,
0, 428, 429, 430, 431, 432, 433, 434, 435, 436,
437, 438, 0, 439, 440, 791, 441, 442, 443, 0,
445, 446, 447, 448, 449, 450, 451, 452, 0, 453,
454, 455, 456, 457, 0, 458, 459, 996, 461, 462,
792, 463, 464, 997, 466, 0, 467, 468, 469, 470,
471, 472, 473, 474, 475, 476, 477, 0, 0, 479,
480, 0, 481, 793, 482, 483, 484, 485, 486, 0,
998, 999, 0, 0, 489, 490, 0, 492, 0, 0,
494, 495, 496, 497, 498, 499, 500, 0, 0, 501,
502, 503, 504, 505, 0, 0, 506, 507, 508, 509,
510, 0, 1000, 0, 513, 794, 514, 515, 516, 517,
0, 0, 518, 0, 0, 519, 520, 521, 522, 523,
524, 978, 0, 0, 0, 0, 0, 0, 0, 0,
534, 535, 536, 0, 0, 0, 220, 221, 222, 223,
224, 225, 226, 227, 0, 229, 230, 231, 0, 0,
0, 0, 0, 0, 0, 232, 233, 0, 234, 235,
772, 236, 237, 238, 0, 979, 773, 980, 981, 0,
243, 244, 245, 246, 247, 0, 0, 248, 249, 982,
983, 252, 0, 253, 254, 255, 256, 0, 0, 774,
0, 258, 259, 260, 261, 775, 262, 263, 264, 0,
265, 266, 267, 268, 269, 270, 0, 776, 271, 272,
273, 0, 0, 0, 777, 0, 0, 0, 274, 275,
276, 277, 278, 279, 984, 985, 282, 0, 283, 0,
284, 285, 286, 287, 288, 0, 289, 290, 291, 0,
0, 292, 293, 986, 295, 296, 0, 297, 298, 299,
0, 300, 301, 302, 0, 303, 304, 305, 306, 0,
308, 309, 310, 0, 0, 312, 0, 313, 314, 987,
316, 0, 317, 0, 318, 778, 0, 779, 319, 320,
321, 0, 322, 0, 0, 0, 325, 0, 326, 327,
328, 329, 988, 780, 331, 332, 333, 334, 0, 335,
336, 337, 338, 339, 340, 0, 341, 781, 0, 343,
344, 345, 346, 989, 990, 0, 991, 0, 350, 782,
783, 351, 784, 352, 353, 354, 355, 356, 0, 0,
357, 0, 785, 359, 786, 0, 360, 361, 362, 0,
0, 363, 364, 365, 366, 367, 368, 369, 370, 371,
372, 373, 374, 375, 376, 377, 992, 787, 993, 380,
381, 0, 0, 383, 384, 788, 385, 0, 0, 387,
994, 389, 390, 391, 0, 392, 0, 0, 393, 394,
395, 0, 0, 396, 0, 789, 398, 790, 0, 400,
401, 402, 403, 404, 405, 406, 0, 407, 408, 0,
410, 0, 412, 413, 414, 0, 415, 416, 417, 418,
419, 420, 421, 422, 995, 424, 425, 426, 427, 0,
428, 429, 430, 431, 432, 433, 434, 435, 436, 437,
438, 0, 439, 440, 791, 441, 442, 443, 0, 445,
446, 447, 448, 449, 450, 451, 452, 0, 453, 454,
455, 456, 457, 0, 458, 459, 996, 461, 462, 792,
463, 464, 997, 466, 0, 467, 468, 469, 470, 471,
472, 473, 474, 475, 476, 477, 0, 0, 479, 480,
0, 481, 793, 482, 483, 484, 485, 486, 0, 998,
999, 0, 0, 489, 490, 0, 492, 0, 0, 494,
495, 496, 497, 498, 499, 500, 0, 0, 501, 502,
503, 504, 505, 0, 0, 506, 507, 508, 509, 510,
0, 1000, 0, 513, 794, 514, 515, 516, 517, 0,
0, 518, 0, 0, 519, 520, 521, 522, 523, 524,
978, 0, 0, 0, 0, 0, 0, 0, 0, 534,
535, 536, 0, 0, 0, 220, 221, 222, 223, 224,
225, 226, 227, 0, 229, 230, 231, 0, 0, 0,
0, 0, 0, 0, 232, 233, 0, 234, 235, 772,
236, 237, 238, 0, 979, 773, 980, 981, 0, 243,
244, 245, 246, 247, 0, 0, 248, 249, 982, 983,
252, 0, 253, 254, 255, 256, 0, 0, 774, 0,
258, 259, 260, 261, 775, 262, 263, 264, 0, 265,
266, 267, 268, 269, 270, 0, 776, 271, 272, 273,
0, 0, 0, 777, 0, 0, 0, 274, 275, 276,
277, 278, 279, 984, 985, 282, 0, 283, 0, 284,
285, 286, 287, 288, 0, 289, 290, 291, 0, 0,
292, 293, 986, 295, 296, 0, 297, 298, 299, 0,
300, 301, 302, 0, 303, 304, 305, 306, 0, 308,
309, 310, 0, 0, 312, 0, 313, 314, 987, 316,
0, 317, 0, 318, 778, 0, 779, 319, 320, 321,
0, 322, 0, 0, 0, 325, 0, 326, 327, 328,
329, 1046, 780, 331, 332, 333, 334, 0, 335, 336,
337, 338, 339, 340, 0, 341, 781, 0, 343, 344,
345, 346, 989, 990, 0, 991, 0, 350, 782, 783,
351, 784, 352, 353, 354, 355, 356, 0, 0, 357,
0, 785, 359, 786, 0, 360, 361, 362, 0, 0,
363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
373, 374, 375, 376, 377, 992, 787, 993, 380, 381,
0, 0, 383, 384, 788, 385, 0, 0, 387, 994,
389, 390, 391, 0, 392, 0, 0, 393, 394, 395,
0, 0, 396, 0, 789, 398, 790, 0, 400, 401,
402, 403, 404, 405, 406, 0, 407, 408, 0, 410,
0, 412, 413, 414, 0, 415, 416, 417, 418, 419,
420, 421, 422, 995, 424, 425, 426, 427, 0, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
0, 439, 440, 791, 441, 442, 443, 0, 445, 446,
447, 448, 449, 450, 451, 452, 0, 453, 454, 455,
456, 457, 0, 458, 459, 996, 461, 462, 792, 463,
464, 997, 466, 0, 467, 468, 469, 470, 471, 472,
473, 474, 475, 476, 477, 0, 0, 479, 480, 0,
481, 793, 482, 483, 484, 485, 486, 0, 998, 999,
0, 0, 489, 490, 0, 492, 0, 0, 494, 495,
496, 497, 498, 499, 500, 0, 0, 501, 502, 503,
504, 505, 0, 0, 506, 507, 508, 509, 510, 0,
1000, 0, 513, 794, 514, 515, 516, 517, 0, 0,
518, 0, 0, 519, 520, 521, 522, 523, 524, 978,
0, 0, 0, 0, 0, 0, 0, 0, 534, 535,
536, 0, 0, 0, 220, 221, 222, 223, 224, 225,
226, 227, 0, 229, 230, 231, 0, 0, 0, 0,
0, 0, 0, 232, 233, 0, 234, 235, 772, 236,
237, 238, 0, 979, 773, 980, 981, 0, 243, 244,
245, 246, 247, 0, 0, 248, 249, 982, 983, 252,
0, 253, 254, 255, 256, 0, 0, 774, 0, 258,
259, 260, 261, 775, 262, 263, 264, 0, 265, 266,
267, 268, 269, 270, 0, 776, 271, 272, 273, 0,
0, 0, 777, 0, 0, 0, 274, 275, 276, 277,
278, 279, 984, 985, 282, 0, 283, 0, 284, 285,
286, 287, 288, 0, 289, 290, 291, 0, 0, 292,
293, 986, 295, 296, 0, 297, 298, 299, 0, 300,
301, 302, 0, 303, 304, 305, 306, 0, 308, 309,
310, 0, 0, 312, 0, 313, 314, 987, 316, 0,
317, 0, 318, 778, 0, 779, 319, 320, 321, 0,
322, 0, 0, 0, 325, 0, 326, 327, 328, 329,
330, 780, 331, 332, 333, 334, 0, 335, 336, 337,
338, 339, 340, 0, 341, 781, 0, 343, 344, 345,
346, 989, 990, 0, 991, 0, 350, 782, 783, 351,
784, 352, 353, 354, 355, 356, 0, 0, 357, 0,
785, 359, 786, 0, 360, 361, 362, 0, 0, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, 992, 787, 993, 380, 381, 0,
0, 383, 384, 788, 385, 0, 0, 387, 994, 389,
390, 391, 0, 392, 0, 0, 393, 394, 395, 0,
0, 396, 0, 789, 398, 790, 0, 400, 401, 402,
403, 404, 405, 406, 0, 407, 408, 0, 410, 0,
412, 413, 414, 0, 415, 416, 417, 418, 419, 420,
421, 422, 995, 424, 425, 426, 427, 0, 428, 429,
430, 431, 432, 433, 434, 435, 436, 437, 438, 0,
439, 440, 791, 441, 442, 443, 0, 445, 446, 447,
448, 449, 450, 451, 452, 0, 453, 454, 455, 456,
457, 0, 458, 459, 996, 461, 462, 792, 463, 464,
997, 466, 0, 467, 468, 469, 470, 471, 472, 473,
474, 475, 476, 477, 0, 0, 479, 480, 0, 481,
793, 482, 483, 484, 485, 486, 0, 998, 999, 0,
0, 489, 490, 0, 492, 0, 0, 494, 495, 496,
497, 498, 499, 500, 0, 0, 501, 502, 503, 504,
505, 0, 0, 506, 507, 508, 509, 510, 0, 1000,
0, 513, 794, 514, 515, 516, 517, 0, 0, 518,
0, 0, 519, 520, 521, 522, 523, 524, 978, 0,
0, 0, 0, 0, 0, 0, 0, 534, 535, 536,
0, 0, 0, 220, 221, 222, 223, 224, 225, 226,
227, 0, 229, 230, 231, 0, 0, 0, 0, 0,
0, 0, 232, 233, 0, 234, 235, 772, 236, 237,
238, 0, 979, 773, 980, 981, 0, 243, 244, 245,
246, 247, 0, 0, 248, 249, 982, 983, 252, 0,
253, 254, 255, 256, 0, 0, 774, 0, 258, 259,
260, 261, 775, 262, 263, 264, 0, 265, 266, 267,
268, 269, 270, 0, 776, 271, 272, 273, 0, 0,
0, 777, 0, 0, 0, 274, 275, 276, 277, 278,
279, 984, 985, 282, 0, 283, 0, 284, 285, 286,
287, 288, 0, 289, 290, 291, 0, 0, 292, 293,
986, 295, 296, 0, 297, 298, 299, 0, 300, 301,
302, 0, 303, 304, 305, 306, 0, 308, 309, 310,
0, 0, 312, 0, 313, 314, 987, 316, 0, 317,
0, 318, 778, 0, 779, 319, 320, 321, 0, 322,
0, 0, 0, 325, 0, 326, 327, 328, 329, 330,
780, 331, 332, 333, 334, 0, 335, 336, 337, 338,
339, 340, 0, 341, 781, 0, 343, 344, 345, 346,
989, 990, 0, 991, 0, 350, 782, 783, 351, 784,
352, 353, 354, 355, 356, 0, 0, 357, 0, 785,
359, 786, 0, 360, 361, 362, 0, 0, 363, 364,
365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
375, 376, 377, 992, 787, 993, 380, 381, 0, 0,
383, 384, 788, 385, 0, 0, 387, 994, 389, 390,
391, 0, 392, 0, 0, 393, 394, 395, 0, 0,
396, 0, 789, 398, 790, 0, 400, 401, 402, 403,
404, 405, 406, 0, 407, 408, 0, 410, 0, 412,
413, 414, 0, 415, 416, 417, 418, 419, 420, 421,
422, 995, 424, 425, 426, 427, 0, 428, 429, 430,
431, 432, 433, 434, 435, 436, 437, 438, 0, 439,
440, 791, 441, 442, 443, 0, 445, 446, 447, 448,
449, 450, 451, 452, 0, 453, 454, 455, 456, 457,
0, 458, 459, 1998, 461, 462, 792, 463, 464, 997,
466, 0, 467, 468, 469, 470, 471, 472, 473, 474,
475, 476, 477, 0, 0, 479, 480, 0, 481, 793,
482, 483, 484, 485, 486, 0, 998, 999, 0, 0,
489, 490, 0, 492, 0, 0, 494, 495, 496, 497,
498, 499, 500, 0, 0, 501, 502, 503, 504, 505,
0, 0, 506, 507, 508, 509, 510, 0, 1000, 0,
513, 794, 514, 515, 516, 517, 0, 0, 518, 0,
0, 519, 520, 521, 522, 523, 524, 978, 0, 0,
0, 0, 0, 0, 0, 0, 534, 535, 536, 0,
0, 0, 220, 221, 222, 223, 224, 225, 226, 227,
0, 229, 230, 231, 0, 0, 0, 0, 0, 0,
0, 232, 233, 0, 234, 235, 772, 236, 237, 238,
0, 979, 773, 980, 981, 0, 243, 244, 245, 246,
247, 0, 0, 248, 249, 982, 983, 252, 0, 253,
254, 255, 256, 0, 0, 774, 0, 258, 259, 260,
261, 775, 262, 263, 264, 0, 265, 266, 267, 268,
269, 270, 0, 776, 271, 272, 273, 0, 0, 0,
777, 0, 0, 0, 274, 275, 276, 277, 278, 279,
984, 985, 282, 0, 283, 0, 284, 285, 286, 287,
288, 0, 289, 290, 291, 0, 0, 292, 293, 986,
295, 296, 0, 297, 298, 299, 0, 300, 301, 302,
0, 303, 304, 305, 306, 0, 308, 309, 310, 0,
0, 312, 0, 313, 314, 987, 316, 0, 317, 0,
318, 778, 0, 779, 319, 320, 321, 0, 322, 0,
0, 0, 325, 0, 326, 327, 328, 329, 330, 780,
331, 332, 333, 334, 0, 335, 336, 337, 338, 339,
340, 0, 341, 781, 0, 343, 344, 345, 346, 989,
990, 0, 991, 0, 350, 782, 783, 351, 784, 352,
353, 354, 355, 356, 0, 0, 357, 0, 785, 359,
786, 0, 360, 361, 362, 0, 0, 363, 364, 365,
366, 367, 368, 369, 370, 371, 372, 373, 374, 375,
376, 377, 992, 787, 993, 380, 381, 0, 0, 383,
384, 788, 385, 0, 0, 387, 994, 389, 390, 391,
0, 392, 0, 0, 393, 394, 395, 0, 0, 396,
0, 789, 398, 790, 0, 400, 401, 402, 403, 404,
405, 406, 0, 407, 408, 0, 410, 0, 412, 413,
414, 0, 415, 416, 417, 418, 419, 420, 421, 422,
995, 424, 425, 426, 427, 0, 428, 429, 430, 431,
432, 433, 434, 435, 436, 437, 438, 0, 439, 440,
791, 441, 442, 443, 0, 445, 446, 447, 448, 449,
450, 451, 452, 0, 453, 454, 455, 456, 457, 0,
458, 459, 0, 461, 462, 792, 463, 464, 997, 466,
0, 467, 468, 469, 470, 471, 472, 473, 474, 475,
476, 477, 0, 0, 479, 480, 0, 481, 793, 482,
483, 484, 485, 486, 0, 998, 999, 0, 0, 489,
490, 0, 492, 0, 0, 494, 495, 496, 497, 498,
499, 500, 0, 0, 501, 502, 503, 504, 505, 0,
0, 506, 507, 508, 509, 510, 0, 1000, 0, 513,
794, 514, 515, 516, 517, 0, 0, 518, 0, 0,
519, 520, 521, 522, 523, 524, 978, 0, 0, 0,
0, 0, 0, 0, 0, 534, 535, 536, 0, 0,
0, 220, 221, 222, 223, 224, 225, 226, 227, 0,
229, 230, 231, 0, 0, 0, 0, 0, 0, 0,
232, 233, 0, 234, 235, 772, 236, 237, 238, 0,
0, 773, 0, 0, 0, 243, 244, 245, 246, 247,
0, 0, 248, 249, 0, 0, 252, 0, 253, 254,
255, 256, 0, 0, 774, 0, 258, 259, 260, 261,
775, 262, 263, 264, 0, 265, 266, 267, 268, 269,
270, 0, 776, 271, 272, 273, 0, 0, 0, 777,
0, 0, 0, 274, 275, 276, 277, 278, 279, 0,
0, 282, 0, 283, 0, 284, 285, 286, 287, 288,
0, 289, 290, 291, 0, 0, 292, 293, 294, 295,
296, 0, 297, 298, 299, 0, 300, 301, 302, 0,
303, 304, 305, 306, 0, 308, 309, 310, 0, 0,
312, 0, 313, 314, 0, 316, 0, 317, 0, 318,
778, 0, 779, 319, 320, 321, 0, 322, 0, 0,
0, 325, 0, 326, 327, 328, 329, 330, 780, 331,
332, 333, 334, 0, 335, 336, 337, 338, 339, 340,
0, 341, 781, 0, 343, 344, 345, 346, 0, 0,
0, 0, 0, 350, 782, 783, 351, 784, 352, 353,
354, 355, 356, 0, 0, 357, 0, 785, 359, 786,
0, 360, 361, 362, 0, 0, 363, 364, 365, 366,
367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
377, 0, 787, 0, 380, 381, 0, 0, 383, 384,
788, 385, 0, 0, 387, 0, 389, 390, 391, 0,
392, 0, 0, 393, 394, 395, 0, 0, 396, 0,
789, 398, 790, 0, 400, 401, 402, 403, 404, 405,
406, 0, 407, 408, 0, 410, 0, 412, 413, 414,
0, 415, 416, 417, 418, 419, 420, 421, 422, 0,
424, 425, 426, 427, 0, 428, 429, 430, 431, 432,
433, 434, 435, 436, 437, 438, 0, 439, 440, 791,
441, 442, 443, 0, 445, 446, 447, 448, 449, 450,
451, 452, 0, 453, 454, 455, 456, 457, 0, 458,
459, 0, 461, 462, 792, 463, 464, 0, 466, 0,
467, 468, 469, 470, 471, 472, 473, 474, 475, 476,
477, 0, 0, 479, 480, 0, 481, 793, 482, 483,
484, 485, 486, 0, 0, 0, 0, 0, 489, 490,
0, 492, 0, 0, 494, 495, 496, 497, 498, 499,
500, 0, 0, 501, 502, 503, 504, 505, 0, 0,
506, 507, 508, 509, 510, 0, 0, 0, 513, 794,
514, 515, 516, 517, 0, 0, 518, 0, 0, 519,
520, 521, 522, 523, 524, 0, 0, 0, 0, 0,
0, 0, 0, 0, 534, 535, 536
};
static const yytype_int16 yycheck[] =
{
16, 1030, 0, 0, 0, 0, 0, 0, 35, 25,
187, 1021, 50, 716, 11, 1085, 666, 667, 668, 196,
21, 7, 672, 20, 1063, 20, 27, 770, 14, 765,
201, 714, 564, 796, 179, 2282, 21, 594, 1698, 996,
1336, 1278, 27, 870, 44, 1821, 858, 879, 197, 1025,
938, 739, 999, 50, 1371, 204, 1260, 2473, 12, 1015,
594, 949, 1779, 1116, 1193, 723, 215, 918, 1483, 188,
189, 2782, 2291, 192, 43, 194, 3059, 634, 2002, 2003,
612, 1377, 2990, 1392, 1262, 17, 2639, 1381, 984, 985,
1553, 204, 2157, 555, 2806, 214, 923, 615, 994, 1435,
927, 2830, 215, 2832, 1734, 932, 22, 20, 626, 2209,
1314, 3017, 3361, 0, 941, 1283, 3318, 827, 857, 35,
1949, 972, 3035, 857, 951, 2631, 2980, 3361, 3357, 863,
2445, 1055, 1310, 3411, 3625, 3255, 2629, 2630, 872, 2688,
3046, 603, 166, 1452, 1453, 633, 181, 3561, 3628, 625,
1565, 3637, 1824, 1447, 0, 1377, 3289, 3614, 0, 3283,
2973, 3615, 719, 0, 2247, 0, 0, 2980, 181, 34,
1363, 0, 2255, 0, 2257, 0, 41, 0, 0, 40,
0, 49, 0, 1314, 181, 719, 2696, 3033, 813, 4081,
3881, 762, 1655, 762, 982, 983, 870, 4202, 4259, 4204,
3288, 3217, 5, 3334, 0, 993, 0, 0, 9, 9,
4240, 62, 9, 5, 35, 5, 55, 0, 48, 29,
2285, 5, 70, 55, 41, 41, 2002, 1174, 4297, 4298,
5, 55, 4293, 5, 5, 5, 5, 109, 13, 14,
133, 210, 13, 14, 13, 14, 5, 5, 153, 1145,
1146, 5, 159, 72, 39, 5, 158, 9, 72, 5,
5, 39, 81, 72, 72, 76, 916, 81, 1164, 4383,
1194, 84, 158, 158, 128, 111, 2530, 2531, 5, 26,
5, 2535, 4332, 158, 158, 158, 5, 11, 20, 5,
62, 72, 62, 160, 254, 604, 5, 102, 26, 81,
5, 139, 168, 5, 1328, 33, 164, 254, 3, 27,
5, 168, 1516, 4, 26, 286, 625, 2784, 9, 2573,
2574, 33, 2387, 114, 2389, 109, 3703, 74, 3705, 257,
11, 0, 68, 166, 5, 82, 9, 2627, 55, 102,
9, 4489, 4490, 1293, 258, 0, 1134, 1135, 152, 111,
38, 254, 5, 1063, 9, 22, 336, 26, 109, 40,
337, 160, 158, 110, 158, 158, 11, 899, 11, 336,
113, 26, 1160, 550, 158, 158, 3, 4, 5, 102,
271, 22, 9, 148, 180, 242, 180, 180, 56, 70,
2680, 30, 31, 564, 150, 40, 64, 180, 4266, 5,
375, 294, 193, 160, 375, 262, 201, 139, 2068, 104,
322, 83, 180, 562, 4, 1247, 1535, 2168, 567, 9,
24, 598, 310, 4, 2543, 70, 2545, 2546, 9, 578,
72, 608, 1195, 190, 553, 1554, 4304, 184, 557, 81,
44, 612, 4503, 418, 4449, 336, 249, 418, 336, 562,
324, 123, 217, 209, 567, 322, 575, 200, 1695, 126,
1223, 260, 1699, 258, 1701, 578, 378, 1704, 11, 1498,
72, 2222, 3886, 312, 451, 455, 194, 172, 282, 242,
312, 4373, 109, 1493, 317, 126, 453, 249, 312, 158,
178, 451, 4542, 244, 1051, 1519, 29, 40, 311, 309,
373, 339, 207, 158, 451, 22, 1063, 26, 140, 376,
320, 180, 322, 1031, 33, 382, 116, 1051, 157, 2627,
159, 257, 2989, 451, 249, 180, 11, 70, 333, 545,
249, 11, 102, 407, 400, 1245, 231, 451, 329, 234,
1250, 1251, 8, 400, 451, 11, 451, 249, 451, 15,
16, 17, 220, 455, 373, 1733, 373, 411, 451, 373,
40, 114, 398, 1120, 373, 373, 439, 439, 378, 455,
455, 198, 2680, 1091, 359, 386, 451, 1065, 594, 595,
453, 359, 891, 1787, 1102, 401, 1120, 3441, 320, 373,
70, 373, 373, 220, 1772, 312, 634, 455, 1776, 1117,
451, 449, 911, 394, 1431, 453, 1433, 339, 355, 126,
4679, 920, 544, 405, 638, 4763, 455, 1351, 346, 1689,
765, 451, 4652, 455, 1512, 4082, 4040, 11, 3441, 1441,
451, 455, 327, 405, 346, 1486, 633, 634, 633, 362,
441, 442, 455, 1353, 447, 1823, 647, 447, 649, 1481,
651, 1361, 3364, 450, 3774, 439, 657, 447, 454, 451,
454, 454, 647, 1587, 649, 681, 651, 2732, 3801, 453,
1404, 454, 657, 658, 659, 661, 451, 3583, 632, 451,
451, 451, 451, 1659, 4098, 1242, 3810, 455, 1001, 447,
3814, 707, 451, 1250, 1251, 447, 4810, 451, 3606, 715,
3716, 451, 718, 719, 720, 451, 451, 884, 1242, 678,
4771, 3624, 3800, 1423, 833, 834, 1426, 1427, 895, 754,
1696, 634, 4783, 447, 451, 1621, 1039, 394, 899, 1705,
1301, 3862, 1301, 449, 1047, 451, 431, 453, 455, 1413,
1053, 754, 451, 4748, 1418, 1370, 417, 353, 354, 4126,
441, 442, 447, 4130, 4131, 272, 4133, 754, 756, 756,
756, 756, 756, 756, 417, 436, 447, 406, 441, 442,
739, 373, 441, 442, 26, 2699, 309, 2701, 451, 411,
451, 4842, 959, 436, 1494, 454, 441, 442, 2082, 306,
4481, 1100, 362, 3012, 260, 914, 396, 3303, 451, 454,
769, 446, 447, 446, 447, 1755, 1594, 1595, 1732, 102,
1734, 158, 2016, 1763, 441, 442, 1740, 936, 937, 336,
447, 4235, 1746, 1747, 1748, 415, 4718, 346, 4242, 102,
743, 3677, 1756, 1757, 3546, 78, 3346, 1761, 957, 4570,
26, 394, 827, 812, 199, 254, 436, 102, 161, 78,
242, 441, 442, 2629, 2630, 2631, 717, 289, 153, 2153,
721, 112, 55, 46, 24, 2948, 114, 245, 21, 756,
320, 406, 2955, 2956, 27, 118, 2959, 1409, 126, 747,
48, 4372, 399, 2966, 44, 2016, 4818, 102, 2110, 118,
78, 114, 2957, 2958, 109, 139, 158, 109, 441, 442,
443, 444, 445, 446, 447, 3, 78, 2100, 1027, 1028,
756, 1561, 111, 109, 756, 4807, 803, 22, 258, 756,
109, 756, 756, 28, 336, 176, 2643, 756, 114, 756,
118, 756, 100, 756, 756, 2139, 756, 4186, 756, 3650,
103, 3195, 3196, 3197, 3198, 317, 118, 3201, 3202, 3203,
3204, 3205, 3206, 3207, 3208, 3209, 3210, 3211, 443, 444,
445, 446, 447, 443, 444, 445, 446, 447, 55, 259,
193, 437, 438, 439, 4223, 441, 442, 443, 444, 445,
446, 447, 80, 870, 4916, 136, 4717, 4236, 78, 2325,
2029, 3281, 175, 3283, 859, 860, 121, 180, 123, 1702,
1703, 451, 4236, 264, 203, 3259, 3260, 193, 126, 168,
1773, 264, 242, 308, 64, 109, 394, 2689, 331, 451,
183, 126, 2339, 395, 192, 4145, 373, 279, 118, 244,
273, 963, 130, 216, 194, 1051, 284, 249, 104, 159,
432, 1998, 451, 455, 273, 244, 155, 1063, 64, 2973,
363, 258, 2008, 264, 4187, 244, 2980, 441, 442, 443,
444, 445, 446, 447, 4243, 159, 217, 4191, 1065, 362,
1065, 3361, 4196, 2277, 242, 4199, 3, 34, 1063, 331,
22, 1097, 1068, 242, 1070, 273, 1072, 137, 1074, 362,
1076, 1077, 1078, 109, 4585, 339, 295, 1083, 1407, 136,
455, 273, 1634, 4557, 1120, 155, 172, 362, 1626, 1666,
4596, 373, 32, 4593, 366, 4098, 368, 1593, 104, 312,
1582, 1639, 113, 4580, 367, 223, 114, 4581, 4859, 254,
420, 1128, 3056, 329, 4383, 324, 1654, 352, 367, 8,
355, 81, 11, 329, 262, 336, 15, 16, 17, 320,
1147, 245, 109, 80, 274, 242, 1194, 325, 341, 4338,
197, 324, 4075, 3875, 4070, 231, 362, 272, 234, 109,
400, 394, 161, 3281, 272, 3283, 1652, 1665, 1487, 367,
1196, 1178, 299, 273, 126, 3914, 172, 160, 26, 1205,
103, 452, 310, 1502, 455, 367, 2433, 1194, 361, 362,
26, 306, 455, 1219, 131, 193, 402, 8, 394, 200,
11, 272, 1521, 248, 15, 16, 17, 81, 336, 415,
140, 1753, 342, 394, 373, 312, 1242, 264, 244, 1245,
1246, 336, 231, 249, 1250, 1251, 451, 287, 1409, 264,
436, 400, 449, 322, 455, 231, 453, 1271, 234, 336,
4479, 1286, 1287, 3361, 1289, 451, 455, 5, 185, 1568,
1245, 327, 4719, 1576, 455, 1250, 1251, 365, 1387, 367,
183, 287, 1581, 1286, 1287, 336, 1289, 367, 150, 36,
22, 1984, 88, 121, 1593, 301, 28, 260, 451, 1286,
1287, 408, 1289, 4413, 271, 121, 1605, 271, 162, 378,
3554, 326, 396, 4482, 244, 4583, 455, 264, 343, 162,
64, 3860, 1625, 4492, 4728, 4806, 1629, 2205, 1467, 183,
4811, 4445, 1635, 1636, 299, 3831, 452, 81, 327, 455,
272, 3837, 201, 3826, 1303, 1454, 1455, 1456, 1457, 389,
1649, 327, 331, 1652, 258, 1658, 306, 2551, 119, 263,
277, 388, 121, 2557, 123, 330, 220, 163, 129, 336,
117, 2390, 336, 172, 306, 431, 205, 220, 1353, 241,
2380, 4862, 4621, 389, 363, 2109, 1361, 1496, 1497, 180,
3695, 101, 355, 137, 126, 4505, 1505, 362, 1537, 4509,
4510, 260, 1541, 381, 336, 384, 1515, 4646, 1575, 263,
201, 155, 272, 242, 1553, 373, 394, 3, 2384, 162,
286, 324, 4646, 373, 1399, 4269, 1348, 362, 2306, 2307,
2308, 2309, 231, 1439, 1543, 1544, 1545, 1546, 2352, 271,
2318, 2560, 4923, 408, 2173, 2262, 306, 3520, 1423, 2173,
229, 1426, 1427, 3526, 3527, 431, 3529, 1624, 361, 362,
4358, 308, 4365, 396, 4656, 4657, 4269, 11, 306, 260,
387, 2195, 310, 1634, 3124, 451, 2176, 220, 395, 158,
329, 398, 2029, 1782, 2184, 244, 2186, 1446, 1627, 148,
294, 2798, 439, 2651, 80, 254, 140, 455, 336, 2223,
2727, 180, 449, 1509, 451, 452, 453, 2348, 455, 375,
339, 272, 366, 362, 368, 3605, 1655, 321, 451, 1494,
230, 3340, 232, 366, 378, 368, 70, 3441, 327, 1638,
3810, 1698, 1641, 1539, 3814, 389, 1413, 3303, 392, 272,
272, 1418, 1651, 287, 130, 306, 206, 3167, 2070, 392,
396, 1660, 418, 402, 22, 439, 299, 138, 217, 366,
28, 368, 396, 2889, 159, 394, 168, 272, 415, 453,
2022, 4810, 89, 306, 306, 2694, 154, 415, 437, 438,
439, 412, 441, 442, 443, 444, 445, 446, 447, 436,
2530, 2531, 1753, 112, 189, 2535, 373, 256, 436, 2107,
181, 306, 451, 336, 336, 451, 148, 185, 455, 204,
3665, 153, 3667, 30, 31, 2899, 1591, 451, 2532, 214,
72, 64, 375, 366, 455, 368, 1601, 70, 1603, 81,
2544, 336, 4334, 2573, 2574, 1610, 112, 223, 81, 415,
242, 1944, 159, 1618, 4836, 389, 437, 438, 439, 392,
441, 442, 443, 444, 445, 446, 447, 176, 126, 3112,
436, 226, 439, 2577, 272, 408, 109, 451, 111, 4567,
272, 88, 189, 4569, 0, 217, 453, 2737, 1665, 455,
1665, 1790, 180, 262, 111, 329, 272, 204, 4591, 111,
320, 108, 322, 272, 2334, 4396, 454, 214, 306, 1675,
176, 1677, 2616, 1679, 306, 1681, 455, 1683, 1725, 310,
4608, 1687, 3810, 2165, 256, 153, 3814, 306, 362, 4125,
306, 316, 239, 140, 310, 163, 272, 306, 336, 1717,
1717, 1717, 1717, 1717, 1717, 336, 226, 2437, 111, 1745,
3039, 258, 180, 3042, 187, 378, 451, 336, 378, 2768,
336, 2697, 136, 1712, 289, 4728, 148, 2703, 402, 324,
306, 153, 415, 1666, 148, 187, 2065, 1742, 1743, 153,
121, 415, 123, 320, 1749, 1750, 203, 408, 2077, 365,
4499, 367, 649, 650, 651, 2979, 205, 654, 655, 656,
336, 4493, 436, 111, 88, 146, 2343, 664, 400, 316,
365, 244, 455, 1778, 351, 1792, 249, 451, 306, 1731,
207, 4048, 310, 197, 108, 2114, 253, 244, 1724, 2343,
242, 2707, 244, 242, 4230, 217, 4232, 392, 407, 415,
203, 4727, 1838, 217, 324, 153, 3, 4074, 336, 449,
244, 3896, 3897, 453, 287, 249, 140, 162, 415, 4392,
415, 4060, 417, 415, 295, 326, 23, 306, 301, 366,
2407, 368, 417, 153, 256, 272, 307, 373, 295, 187,
3188, 244, 256, 2012, 436, 365, 295, 315, 2017, 396,
264, 436, 2021, 2407, 174, 302, 451, 336, 455, 293,
299, 332, 451, 244, 2061, 3122, 451, 4141, 249, 306,
3218, 2068, 392, 254, 4605, 220, 4186, 272, 2047, 2070,
2636, 4191, 329, 80, 229, 2756, 4196, 415, 345, 4199,
339, 330, 295, 417, 242, 415, 244, 417, 42, 336,
450, 4004, 417, 4006, 4007, 455, 452, 4010, 436, 455,
308, 306, 436, 4223, 2644, 362, 389, 153, 378, 63,
2089, 436, 378, 362, 2063, 2064, 4236, 4659, 415, 4857,
3365, 451, 3022, 2072, 131, 2074, 451, 2106, 174, 2078,
2269, 3031, 1963, 8, 246, 394, 11, 61, 62, 436,
15, 16, 17, 2785, 121, 402, 123, 8, 1963, 406,
320, 321, 272, 2641, 15, 16, 17, 2136, 415, 408,
183, 1989, 1989, 2106, 388, 2807, 326, 258, 302, 146,
450, 4907, 263, 180, 2031, 455, 2033, 229, 185, 436,
449, 174, 451, 2029, 453, 4018, 306, 4020, 2167, 380,
310, 4024, 2171, 4026, 451, 329, 3470, 3231, 2029, 390,
445, 3475, 452, 1946, 452, 455, 451, 455, 453, 229,
2189, 366, 2355, 368, 2029, 85, 336, 329, 3765, 378,
3826, 2200, 2786, 4765, 2167, 3831, 136, 2589, 362, 452,
3238, 3837, 455, 2182, 2213, 77, 2379, 392, 148, 320,
321, 452, 2221, 153, 455, 89, 13, 14, 4186, 2095,
362, 2394, 52, 4191, 2397, 2398, 408, 2644, 4196, 2402,
2403, 4199, 4645, 4383, 326, 445, 2409, 3150, 402, 207,
277, 451, 249, 453, 3398, 3414, 3415, 254, 2221, 451,
9, 415, 2081, 5, 451, 4223, 453, 197, 10, 2238,
402, 452, 2856, 449, 455, 451, 18, 2246, 4236, 2248,
3077, 3078, 436, 415, 451, 2254, 452, 217, 452, 455,
317, 455, 101, 452, 36, 159, 455, 451, 3158, 258,
2459, 3445, 226, 324, 436, 4445, 201, 2984, 4412, 226,
408, 452, 2475, 3341, 455, 452, 455, 451, 455, 451,
452, 2480, 454, 52, 452, 189, 256, 455, 4890, 245,
246, 42, 2491, 360, 264, 452, 406, 433, 455, 1066,
204, 2176, 1069, 203, 1071, 154, 1073, 2754, 1075, 2184,
214, 2186, 1079, 3332, 453, 452, 2724, 2725, 455, 2328,
387, 452, 3627, 452, 455, 260, 455, 261, 395, 452,
2754, 398, 455, 2239, 4307, 239, 185, 452, 261, 260,
455, 2247, 54, 380, 452, 258, 3440, 455, 3442, 2255,
415, 2257, 417, 390, 373, 3195, 3196, 3197, 3198, 153,
324, 3201, 3202, 3203, 3204, 3205, 3206, 3207, 3208, 3209,
3210, 3211, 451, 329, 453, 87, 3190, 2386, 258, 2388,
415, 230, 417, 232, 452, 4383, 366, 455, 368, 3229,
452, 4834, 452, 455, 452, 455, 4351, 455, 366, 2305,
368, 365, 3362, 3363, 2443, 433, 362, 415, 365, 417,
2477, 3225, 316, 3154, 452, 261, 2483, 455, 388, 3259,
3260, 4864, 452, 3630, 433, 455, 2465, 3613, 392, 2335,
452, 4097, 144, 455, 2473, 392, 42, 2343, 3532, 2327,
2327, 4621, 452, 203, 157, 455, 402, 4445, 2292, 443,
53, 415, 136, 417, 455, 4269, 4762, 3271, 415, 415,
417, 452, 2870, 454, 148, 177, 4646, 452, 3008, 153,
455, 226, 2880, 452, 452, 452, 455, 455, 455, 449,
436, 329, 452, 453, 451, 2494, 226, 451, 52, 4932,
2365, 2366, 452, 452, 451, 451, 455, 452, 101, 2374,
212, 2407, 437, 438, 439, 199, 441, 442, 443, 444,
445, 446, 447, 197, 362, 158, 437, 438, 439, 451,
441, 442, 443, 444, 445, 446, 447, 452, 2589, 453,
455, 1765, 244, 217, 1768, 419, 452, 2740, 2985, 455,
2987, 336, 452, 452, 3390, 455, 455, 0, 2371, 2372,
2373, 3678, 3679, 3680, 402, 451, 3134, 3343, 2757, 3159,
2627, 2985, 2437, 2987, 452, 136, 454, 415, 306, 324,
452, 4385, 256, 455, 759, 2774, 761, 148, 452, 182,
264, 455, 153, 452, 324, 3307, 455, 452, 436, 452,
455, 2999, 455, 3001, 452, 180, 226, 455, 310, 141,
312, 2662, 314, 451, 2532, 3815, 451, 3817, 3055, 321,
365, 453, 2815, 2680, 2817, 452, 328, 452, 455, 452,
455, 141, 455, 4621, 336, 365, 197, 230, 180, 232,
4810, 3055, 258, 306, 258, 88, 348, 392, 141, 242,
452, 3294, 180, 455, 356, 2532, 217, 452, 4646, 2577,
455, 452, 392, 226, 455, 452, 452, 141, 455, 455,
415, 258, 417, 153, 2863, 4802, 2865, 452, 271, 2708,
455, 3297, 3298, 3299, 306, 415, 452, 417, 452, 455,
141, 455, 215, 136, 452, 256, 452, 455, 452, 455,
2577, 455, 111, 264, 324, 148, 451, 396, 410, 452,
153, 258, 455, 452, 388, 158, 455, 2594, 311, 451,
163, 451, 2751, 166, 3554, 452, 169, 253, 455, 452,
2923, 378, 455, 408, 2611, 2924, 2929, 452, 326, 153,
455, 2621, 2622, 2623, 452, 365, 452, 455, 2644, 455,
2627, 3149, 452, 452, 197, 455, 455, 350, 0, 452,
2949, 324, 455, 207, 2763, 2683, 2765, 2766, 2767, 3827,
292, 451, 392, 226, 217, 452, 226, 2642, 455, 2644,
2658, 2658, 2658, 2658, 2658, 2658, 452, 64, 452, 455,
4330, 455, 35, 452, 419, 415, 455, 417, 3856, 244,
258, 452, 365, 2680, 455, 54, 2683, 452, 244, 452,
455, 226, 455, 256, 452, 258, 452, 455, 42, 455,
3512, 264, 4810, 452, 451, 2854, 455, 388, 42, 392,
383, 451, 272, 8, 153, 408, 11, 2866, 87, 408,
15, 16, 17, 77, 452, 153, 88, 455, 290, 3038,
141, 141, 415, 451, 417, 141, 405, 32, 2754, 3976,
3977, 451, 3979, 283, 34, 451, 141, 419, 141, 141,
313, 324, 455, 3641, 324, 3068, 141, 25, 141, 258,
3069, 141, 141, 258, 141, 0, 141, 153, 451, 141,
258, 141, 362, 141, 136, 144, 141, 35, 215, 153,
451, 258, 3095, 3096, 5, 3098, 148, 3100, 3101, 324,
58, 153, 365, 153, 2943, 365, 158, 451, 5, 362,
3113, 163, 2973, 71, 166, 153, 3763, 169, 177, 2980,
451, 451, 451, 451, 451, 451, 451, 85, 451, 392,
2836, 4597, 392, 5, 5, 388, 3750, 451, 451, 451,
365, 2950, 451, 451, 451, 197, 451, 5, 3151, 451,
5, 451, 415, 212, 417, 415, 451, 417, 451, 412,
451, 414, 415, 88, 451, 217, 124, 392, 451, 451,
451, 416, 2878, 3172, 451, 451, 451, 135, 269, 199,
92, 455, 455, 22, 35, 244, 215, 35, 451, 28,
415, 451, 417, 153, 153, 3194, 449, 155, 254, 452,
453, 454, 160, 336, 256, 256, 258, 373, 373, 324,
453, 136, 264, 272, 373, 373, 201, 324, 217, 373,
2926, 3220, 373, 148, 439, 373, 451, 81, 153, 68,
324, 141, 258, 158, 212, 328, 373, 373, 163, 249,
395, 166, 2948, 373, 169, 365, 258, 306, 320, 2955,
2956, 310, 254, 2959, 451, 314, 3255, 3124, 173, 373,
2966, 313, 321, 373, 451, 81, 272, 2973, 141, 328,
396, 229, 197, 3112, 2980, 260, 455, 336, 180, 2985,
119, 2987, 103, 3683, 396, 373, 4015, 126, 3127, 348,
129, 52, 217, 3102, 373, 3104, 4056, 356, 2973, 3108,
52, 262, 260, 41, 41, 2980, 324, 373, 455, 258,
362, 365, 373, 3152, 201, 154, 373, 419, 258, 3025,
258, 201, 201, 415, 373, 373, 373, 3002, 373, 451,
373, 256, 290, 258, 373, 35, 388, 24, 258, 264,
141, 244, 451, 109, 141, 223, 185, 254, 3054, 3055,
396, 410, 244, 3162, 244, 35, 451, 3045, 3045, 153,
412, 35, 414, 415, 207, 407, 324, 451, 325, 3577,
3578, 34, 330, 371, 371, 333, 141, 373, 449, 3067,
3067, 449, 3590, 336, 4370, 373, 373, 373, 313, 396,
141, 141, 396, 141, 141, 248, 253, 449, 373, 3074,
452, 453, 454, 242, 362, 244, 411, 236, 236, 158,
451, 369, 11, 166, 3281, 254, 3283, 371, 376, 451,
455, 25, 4316, 262, 451, 383, 451, 373, 3881, 149,
158, 375, 3267, 272, 455, 452, 451, 362, 173, 173,
8, 197, 455, 11, 339, 205, 259, 15, 16, 17,
408, 396, 437, 438, 439, 455, 441, 442, 443, 444,
445, 446, 447, 388, 32, 35, 4816, 4817, 72, 52,
309, 310, 40, 266, 373, 3134, 452, 8, 46, 3852,
11, 451, 373, 324, 3159, 249, 324, 412, 396, 414,
415, 205, 205, 378, 3361, 249, 373, 336, 373, 103,
451, 4141, 70, 373, 408, 153, 326, 249, 207, 40,
4150, 4438, 258, 42, 345, 46, 320, 215, 215, 215,
124, 257, 4449, 373, 449, 365, 455, 452, 453, 454,
306, 135, 324, 258, 306, 3241, 373, 3265, 174, 70,
373, 373, 333, 201, 35, 201, 201, 396, 201, 396,
295, 155, 201, 207, 3393, 3283, 160, 439, 439, 141,
399, 153, 257, 408, 153, 155, 4326, 4327, 254, 141,
333, 415, 141, 244, 3383, 3384, 3385, 3386, 3265, 35,
3441, 258, 3581, 3273, 3274, 3275, 3276, 451, 451, 4318,
258, 207, 4942, 4943, 3281, 171, 3283, 244, 4525, 153,
171, 35, 234, 134, 208, 327, 452, 175, 433, 433,
452, 141, 180, 449, 22, 4015, 258, 452, 452, 258,
28, 207, 3844, 258, 333, 229, 452, 153, 180, 244,
180, 180, 455, 201, 202, 419, 455, 455, 23, 164,
373, 451, 158, 455, 175, 233, 415, 258, 216, 180,
52, 378, 362, 3492, 207, 8, 3495, 253, 11, 3662,
68, 158, 15, 16, 17, 408, 452, 3670, 3671, 3672,
3673, 452, 452, 158, 452, 452, 269, 452, 452, 247,
451, 276, 452, 158, 452, 216, 290, 40, 455, 433,
452, 373, 260, 46, 452, 263, 412, 452, 225, 402,
4627, 4041, 268, 3911, 435, 394, 412, 258, 52, 439,
451, 119, 451, 317, 258, 261, 258, 70, 126, 451,
324, 129, 451, 183, 8, 451, 330, 11, 452, 260,
451, 15, 16, 17, 451, 3441, 141, 191, 419, 373,
373, 249, 373, 3552, 373, 262, 154, 328, 32, 141,
141, 328, 215, 3592, 328, 183, 40, 277, 362, 373,
3968, 365, 46, 277, 3470, 217, 3441, 373, 4015, 3475,
396, 3477, 4412, 341, 393, 3774, 4536, 185, 3469, 383,
4206, 227, 373, 227, 227, 324, 70, 4213, 4507, 373,
324, 324, 4225, 373, 3469, 373, 4313, 8, 373, 244,
11, 324, 141, 4417, 408, 41, 4506, 201, 373, 373,
341, 373, 373, 373, 3520, 336, 373, 373, 201, 201,
3526, 3527, 175, 3529, 201, 3531, 451, 180, 3, 40,
452, 452, 455, 373, 242, 46, 244, 42, 383, 308,
102, 257, 4456, 452, 451, 455, 254, 3686, 201, 202,
452, 258, 35, 141, 262, 4521, 141, 4523, 373, 70,
153, 3536, 3537, 216, 272, 168, 434, 62, 396, 437,
438, 439, 396, 441, 442, 443, 444, 445, 446, 447,
141, 261, 450, 450, 324, 324, 324, 450, 456, 3892,
139, 175, 333, 452, 247, 3894, 180, 455, 306, 139,
201, 309, 310, 434, 201, 201, 449, 260, 132, 11,
441, 442, 443, 444, 445, 446, 447, 201, 202, 158,
3626, 3924, 3925, 134, 3923, 153, 269, 407, 336, 447,
264, 158, 216, 455, 3622, 3622, 412, 158, 436, 452,
452, 452, 452, 3810, 3943, 451, 455, 3814, 452, 451,
455, 166, 452, 452, 259, 451, 4349, 452, 4687, 313,
79, 383, 153, 247, 175, 35, 4860, 396, 191, 180,
396, 52, 207, 373, 451, 365, 260, 383, 328, 263,
373, 452, 324, 3844, 373, 373, 373, 373, 341, 324,
452, 399, 306, 452, 3700, 3998, 3999, 3703, 3997, 3705,
451, 415, 52, 365, 4618, 216, 4432, 153, 3683, 70,
141, 102, 383, 201, 201, 4237, 4630, 452, 451, 201,
201, 4635, 291, 4637, 451, 205, 186, 22, 4922, 24,
451, 415, 455, 28, 452, 153, 455, 35, 33, 34,
35, 419, 37, 75, 365, 40, 41, 4941, 43, 260,
45, 455, 451, 383, 455, 373, 8, 341, 4280, 11,
333, 102, 4270, 15, 16, 17, 163, 201, 158, 201,
451, 4318, 201, 452, 450, 201, 158, 452, 451, 52,
32, 434, 452, 300, 437, 438, 439, 413, 441, 442,
443, 444, 445, 446, 447, 452, 413, 455, 48, 3938,
4099, 269, 4105, 452, 451, 4108, 4109, 452, 204, 267,
451, 3950, 204, 364, 451, 265, 52, 169, 254, 452,
452, 4124, 158, 3810, 452, 383, 439, 3814, 373, 415,
341, 70, 185, 3839, 249, 3841, 249, 439, 52, 365,
90, 373, 64, 4843, 455, 455, 4145, 141, 373, 8,
434, 373, 11, 437, 438, 439, 3873, 441, 442, 443,
444, 445, 446, 447, 201, 115, 3854, 3854, 160, 3978,
158, 455, 180, 451, 333, 35, 4043, 396, 396, 244,
130, 40, 127, 3992, 134, 415, 415, 46, 35, 158,
258, 411, 187, 188, 189, 190, 451, 192, 153, 194,
199, 196, 188, 198, 154, 261, 201, 157, 451, 158,
451, 70, 207, 300, 349, 210, 401, 275, 452, 214,
170, 216, 204, 434, 414, 81, 122, 258, 301, 3920,
441, 442, 443, 444, 445, 446, 447, 153, 452, 451,
373, 451, 116, 452, 451, 3920, 452, 451, 373, 201,
451, 451, 249, 35, 228, 183, 249, 451, 291, 451,
141, 140, 35, 452, 4073, 451, 3941, 3942, 452, 383,
321, 3946, 3947, 262, 321, 134, 347, 52, 347, 452,
52, 35, 451, 455, 451, 451, 4125, 452, 451, 3995,
3996, 452, 396, 365, 451, 242, 258, 452, 4004, 249,
4006, 4007, 365, 365, 4010, 5, 147, 257, 260, 4015,
291, 64, 64, 4019, 122, 261, 175, 415, 4658, 4186,
415, 180, 400, 300, 4191, 401, 35, 451, 451, 4196,
336, 158, 4199, 4200, 455, 412, 365, 298, 153, 127,
4015, 185, 451, 293, 35, 258, 258, 35, 333, 160,
261, 261, 451, 160, 52, 320, 4223, 216, 452, 452,
394, 4067, 451, 451, 114, 5, 452, 451, 21, 4236,
307, 32, 8, 140, 158, 11, 4237, 320, 860, 15,
16, 17, 373, 291, 4072, 4072, 160, 451, 455, 455,
4096, 4230, 415, 4232, 347, 415, 32, 451, 160, 347,
756, 260, 4405, 853, 819, 2290, 2644, 1470, 4269, 2148,
859, 2807, 4279, 3440, 4413, 2217, 2971, 3531, 4528, 4280,
4126, 1251, 4316, 4687, 4130, 4131, 4366, 4133, 3575, 4238,
4239, 4240, 4654, 4370, 4034, 8, 4348, 2731, 11, 2425,
4687, 4769, 4236, 4840, 4701, 4700, 4789, 2735, 3608, 3623,
3567, 2280, 4451, 2280, 3435, 2831, 3591, 2274, 4059, 1540,
3024, 4848, 4941, 4330, 4922, 4343, 2979, 40, 4800, 2975,
4282, 4673, 4779, 46, 4285, 27, 3686, 4480, 4478, 1092,
2003, 3630, 341, 1103, 2706, 437, 438, 439, 4597, 441,
442, 443, 444, 445, 446, 447, 1529, 70, 1720, 1720,
2927, 623, 4815, 1721, 4191, 4925, 4505, 1947, 1946, 4196,
4509, 4510, 4199, 1666, 2658, 595, 4383, 1332, 734, 3611,
4761, 3855, 1224, 4526, 3338, 2659, 2665, 1987, 2670, 4754,
3306, 4639, 3840, 2680, 1986, 3283, 1295, 1277, 4225, 1296,
3801, 3816, 4218, 4446, 3281, 4621, 4620, 3339, 543, 4415,
3083, 3233, 4215, 548, 4757, 550, 4744, 4758, 553, 1816,
555, 134, 557, 4269, 2662, 201, 2594, 1598, 2502, 564,
2592, 1819, 4381, 568, -1, 434, 1245, 1242, 4445, 1298,
575, -1, 441, 442, 443, 444, 445, 446, 447, -1,
-1, 1303, -1, -1, 4269, -1, -1, -1, -1, 4598,
-1, 4307, 175, 598, -1, -1, -1, 180, 603, -1,
-1, -1, 4318, 608, -1, -1, 4322, 612, 4324, -1,
-1, -1, 4328, 4329, 260, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 629, -1, -1, -1, -1, -1,
-1, -1, -1, 216, -1, -1, -1, 8, -1, -1,
11, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 4353, 4353, -1, -1, -1,
-1, -1, -1, 8, -1, -1, 11, -1, 4487, 40,
15, 16, 17, 678, -1, 46, -1, 260, 4555, -1,
-1, -1, 4380, 4380, -1, -1, 691, 32, 693, -1,
-1, -1, -1, -1, -1, 40, -1, -1, -1, 70,
-1, 46, -1, 4522, -1, 4524, -1, -1, 713, 714,
-1, 716, 717, -1, -1, -1, 721, -1, 4456, -1,
-1, -1, -1, -1, -1, 70, -1, -1, -1, -1,
735, -1, -1, -1, 739, -1, -1, 4475, -1, -1,
745, -1, -1, -1, 4621, -1, -1, -1, 4445, -1,
-1, -1, 757, -1, -1, -1, -1, -1, 341, 4456,
-1, -1, -1, 134, 769, -1, -1, -1, -1, 4646,
-1, -1, -1, -1, -1, -1, -1, -1, 4475, 8,
-1, -1, 11, 4654, -1, -1, -1, -1, -1, -1,
-1, 437, 438, 439, -1, 441, 442, 443, 444, 445,
446, 447, -1, -1, 175, -1, -1, 812, -1, 180,
-1, 40, -1, 4529, -1, -1, -1, 46, -1, -1,
-1, -1, 4835, 828, -1, -1, -1, -1, 833, 834,
175, -1, -1, 4652, -1, 180, -1, -1, -1, 4716,
-1, 70, -1, -1, -1, 216, -1, -1, -1, -1,
-1, 434, -1, -1, 859, 860, 201, 202, 441, 442,
443, 444, 445, 446, 447, -1, -1, -1, -1, -1,
-1, 216, -1, -1, -1, -1, -1, -1, -1, 884,
4578, 4578, -1, -1, -1, -1, -1, -1, -1, 260,
895, 4710, -1, -1, 899, -1, -1, 4774, -1, -1,
-1, -1, 247, -1, -1, 134, -1, -1, -1, 914,
-1, -1, -1, 4762, -1, 260, -1, -1, 263, -1,
-1, -1, -1, -1, 929, -1, -1, -1, -1, -1,
-1, 936, 937, 4810, -1, -1, -1, -1, -1, 4816,
4817, -1, -1, -1, -1, -1, 175, -1, 953, 954,
955, 180, 957, -1, 959, 8, -1, -1, 11, -1,
-1, -1, 15, 16, 17, 4784, -1, -1, -1, -1,
341, 4687, -1, -1, 8, -1, -1, 11, -1, 32,
-1, -1, -1, -1, -1, -1, -1, 216, -1, 3,
-1, -1, -1, -1, 8, -1, 341, 11, -1, -1,
-1, 15, 16, 17, -1, -1, 40, -1, -1, -1,
-1, -1, 46, -1, -1, -1, -1, -1, 32, -1,
1025, 35, 1027, 1028, -1, 4844, 40, -1, -1, -1,
-1, 260, 46, -1, -1, -1, 70, -1, -1, -1,
-1, -1, -1, -1, -1, 22, -1, -1, -1, -1,
1055, 28, -1, 4930, -1, -1, 70, -1, -1, -1,
-1, -1, -1, 434, -1, 4942, 4943, -1, -1, -1,
441, 442, 443, 444, 445, 446, 447, -1, -1, -1,
1085, 1086, -1, -1, -1, 1090, -1, 1092, -1, 434,
-1, 68, 437, 438, 439, -1, 441, 442, 443, 444,
445, 446, 447, 4801, 4801, -1, -1, -1, 1113, -1,
455, 1116, 341, -1, 1119, -1, -1, 4815, 4815, 4815,
4815, 4815, 4815, -1, -1, -1, -1, 1132, 4866, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 175, 119, -1, 4860, -1, 180, -1, 201, 126,
-1, -1, 129, -1, -1, -1, 1161, -1, -1, -1,
-1, 175, -1, -1, -1, -1, 180, -1, 4866, 4866,
4866, 4866, 4866, 4866, -1, 4860, -1, 154, -1, -1,
-1, -1, 216, -1, 1189, 1190, 1191, 201, 202, 1194,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 216, -1, -1, 434, 4922, 260, 185, 1214,
-1, -1, 441, 442, 443, 444, 445, 446, 447, -1,
-1, -1, -1, -1, -1, 4941, 260, 4925, 4925, 4925,
4925, 4925, 4925, 247, -1, -1, -1, 4922, -1, -1,
-1, -1, -1, -1, -1, -1, 260, -1, -1, 263,
-1, 1256, -1, -1, 1259, -1, 4941, -1, -1, -1,
-1, -1, -1, -1, -1, 242, -1, 244, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 254, -1, -1,
-1, -1, -1, 1288, -1, 262, -1, 1292, 1293, -1,
-1, -1, -1, -1, -1, 272, -1, -1, 1303, 1304,
1305, -1, -1, -1, -1, -1, -1, 341, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1325, -1, -1, -1, -1, -1, -1, 341, -1, 306,
-1, -1, 309, 310, -1, -1, -1, 8, -1, -1,
11, -1, -1, -1, 15, 16, 17, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 1363, 336,
-1, 32, -1, -1, -1, 36, -1, -1, -1, 40,
-1, 1376, 1377, -1, -1, 46, -1, -1, -1, 1384,
-1, -1, 1387, -1, 437, 438, 439, -1, 441, 442,
443, 444, 445, 446, 447, -1, -1, -1, -1, 70,
434, -1, -1, -1, 1409, -1, 1411, 441, 442, 443,
444, 445, 446, 447, 1419, -1, -1, 1422, -1, -1,
434, -1, 399, 437, 438, 439, -1, 441, 442, 443,
444, 445, 446, 447, -1, -1, -1, -1, -1, -1,
-1, 1446, -1, -1, -1, -1, 117, -1, -1, 1454,
1455, 1456, 1457, 1458, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 1469, -1, -1, 1472, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 1483, -1,
1485, -1, -1, -1, -1, -1, 8, -1, -1, 11,
-1, 1496, 1497, 15, 16, 17, -1, -1, -1, -1,
1505, -1, -1, -1, 175, -1, -1, -1, -1, 180,
1515, -1, -1, -1, -1, -1, -1, -1, 40, -1,
-1, -1, -1, -1, 46, -1, -1, -1, -1, 1534,
201, 202, -1, -1, -1, -1, -1, -1, 1543, 1544,
1545, 1546, -1, -1, -1, 216, -1, -1, 70, -1,
1555, -1, -1, -1, -1, -1, -1, 1562, -1, -1,
1565, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1575, -1, -1, -1, -1, -1, 247, 1582, -1, -1,
-1, -1, 1587, -1, -1, -1, -1, -1, -1, 260,
-1, -1, 263, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 1624,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 1634,
-1, -1, -1, 1638, -1, -1, 1641, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 1651, -1, -1, -1,
-1, -1, -1, 175, 1659, 1660, -1, -1, 180, 1664,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
341, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 1689, -1, -1, -1, -1, -1,
-1, 1696, -1, 1698, 216, -1, -1, 1702, 1703, -1,
1705, -1, -1, -1, -1, -1, -1, 1712, -1, -1,
-1, -1, -1, -1, 1719, -1, -1, -1, -1, 1724,
1725, -1, -1, 1728, -1, 396, -1, 1732, -1, 1734,
-1, -1, -1, -1, 1739, 1740, -1, -1, 260, -1,
-1, 1746, 1747, 1748, -1, -1, -1, 1752, 1753, 1754,
1755, 1756, 1757, 1758, 1759, -1, 1761, -1, 1763, 1764,
-1, -1, 1767, 434, -1, -1, 437, 438, 439, -1,
441, 442, 443, 444, 445, 446, 447, -1, 1783, 1784,
1785, 1786, -1, -1, -1, 1790, 1791, -1, -1, -1,
1795, -1, -1, 1798, -1, -1, 1801, 1802, 1803, 1804,
1805, 1806, 1807, 1808, 1809, 1810, 0, 1812, -1, -1,
-1, -1, -1, 1818, 1819, -1, 1821, -1, -1, 341,
-1, -1, -1, 1828, 18, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 28, -1, 30, 31, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 45, -1, -1, -1, -1, -1, 35, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 65, -1, 67, 68, -1, 54, -1, -1, 73,
-1, 75, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 86, -1, 88, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 87,
-1, 105, 434, -1, 108, 437, 438, 439, -1, 441,
442, 443, 444, 445, 446, 447, 120, -1, 122, -1,
-1, -1, 126, -1, -1, -1, -1, -1, 132, -1,
1945, -1, 1947, -1, 1949, -1, 140, -1, 142, -1,
-1, -1, -1, -1, 148, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 144, -1, -1, 163,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 1984,
-1, -1, -1, -1, -1, 179, 1991, -1, 1993, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 177,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 2022, -1, 35,
-1, -1, -1, -1, 218, 219, 2031, -1, 2033, 207,
224, -1, -1, -1, 212, -1, -1, -1, 54, -1,
-1, 235, -1, -1, -1, 2050, -1, -1, -1, -1,
-1, -1, 246, -1, -1, -1, 2061, -1, 2063, 2064,
-1, -1, -1, 2068, -1, 2070, 244, 2072, -1, 2074,
-1, 87, -1, 2078, -1, -1, 2081, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 285, -1, -1, -1, 2100, -1, -1, -1, -1,
-1, -1, -1, 297, -1, 2110, -1, -1, 302, 303,
-1, 305, 2117, -1, -1, -1, 310, -1, 2123, -1,
-1, 315, -1, -1, 318, -1, -1, 2132, 144, 323,
-1, -1, 310, -1, 328, 329, 314, -1, -1, -1,
-1, -1, 336, 321, -1, -1, 340, 2152, -1, -1,
328, 2156, 2157, -1, -1, -1, 350, -1, 336, -1,
2165, 177, -1, -1, 198, -1, -1, -1, 362, -1,
348, -1, -1, 207, -1, -1, -1, 2182, 356, -1,
-1, -1, 216, -1, -1, -1, -1, 381, -1, -1,
-1, 207, -1, -1, -1, -1, 212, 391, 376, -1,
-1, -1, 8, 397, 2209, 11, 2211, 2212, 402, 15,
16, 17, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 415, -1, -1, -1, -1, 32, -1, 244, 22,
-1, -1, 410, 2238, 40, 28, 414, 415, -1, -1,
46, 2246, 436, 2248, -1, -1, -1, -1, -1, 2254,
-1, -1, -1, -1, -1, -1, -1, 451, -1, 8,
454, -1, 11, 2268, 70, -1, 15, 16, 17, -1,
-1, -1, -1, -1, -1, 68, -1, 2282, -1, -1,
2285, -1, 2287, 32, -1, 2290, -1, -1, 2293, -1,
-1, 40, -1, -1, 310, -1, -1, 46, 314, -1,
-1, -1, -1, -1, -1, 321, -1, -1, -1, -1,
8, -1, 328, 11, 2319, -1, -1, 15, 16, 17,
336, 70, -1, 2328, 2329, -1, 119, -1, -1, -1,
-1, -1, 348, 126, 32, -1, 129, -1, -1, -1,
356, -1, 40, -1, -1, -1, -1, 2352, 46, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
376, 154, 2367, -1, -1, -1, -1, -1, -1, 175,
-1, -1, 70, -1, 180, -1, -1, -1, -1, 2384,
-1, 2386, 2387, 2388, 2389, -1, -1, -1, -1, -1,
-1, -1, 185, -1, 410, 201, 202, -1, 414, -1,
-1, -1, -1, -1, -1, -1, -1, 2412, -1, -1,
216, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2425, -1, -1, -1, -1, -1, 175, -1, -1, -1,
-1, 180, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 247, -1, -1, -1, -1, -1, -1, -1, 242,
-1, 244, 201, 202, 260, -1, -1, 263, -1, -1,
-1, 254, 2467, -1, -1, -1, -1, 216, -1, 262,
-1, -1, 2477, -1, -1, -1, -1, 175, 2483, 272,
-1, -1, 180, -1, -1, -1, -1, -1, -1, 2494,
-1, -1, -1, -1, -1, -1, 2501, -1, 247, -1,
-1, 2506, -1, 201, 202, -1, -1, -1, -1, 543,
-1, 260, -1, 306, 548, -1, 309, 310, 216, -1,
-1, -1, -1, -1, -1, 2530, 2531, 2532, -1, -1,
2535, -1, -1, -1, -1, 341, -1, -1, 2543, 2544,
2545, 2546, -1, 336, -1, -1, -1, -1, -1, 247,
-1, 2556, -1, -1, 2559, -1, 2561, -1, -1, -1,
-1, -1, 260, -1, -1, 263, -1, 22, 2573, 2574,
-1, -1, 2577, 28, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 2589, -1, 2591, -1, 2593, -1,
2595, -1, 341, 35, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 399, -1, -1, -1,
-1, 2616, 54, 68, -1, 2620, -1, -1, -1, -1,
-1, -1, 2627, -1, 2629, 2630, 2631, -1, 434, -1,
-1, 437, 438, 439, -1, 441, 442, 443, 444, 445,
446, 447, 2647, 341, -1, 87, 452, -1, -1, -1,
-1, -1, -1, -1, 2659, -1, -1, 691, -1, 2664,
-1, -1, -1, -1, 119, 2670, -1, -1, -1, -1,
-1, 126, -1, -1, 129, 2680, -1, -1, 2683, -1,
-1, 2686, 716, 2688, -1, 434, -1, -1, 437, 438,
439, -1, 441, 442, 443, 444, 445, 446, 447, 154,
-1, 735, 144, -1, -1, -1, -1, -1, -1, -1,
-1, 22, -1, -1, -1, -1, -1, 28, -1, -1,
-1, -1, -1, 757, -1, 2730, -1, 2732, -1, -1,
185, -1, 2737, -1, -1, 177, 434, -1, -1, 437,
438, 439, -1, 441, 442, 443, 444, 445, 446, 447,
-1, -1, -1, -1, 452, -1, -1, 68, 2763, -1,
2765, 2766, 2767, -1, -1, 207, -1, -1, -1, -1,
212, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 242, -1, 244,
-1, -1, -1, -1, 828, -1, -1, -1, -1, 254,
-1, -1, 244, -1, -1, -1, -1, 262, 119, -1,
-1, -1, -1, -1, -1, 126, -1, 272, 129, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 154, -1, -1, -1, -1, -1, -1,
-1, 306, -1, -1, 309, 310, -1, -1, -1, -1,
-1, -1, -1, 2868, -1, -1, -1, -1, 310, -1,
-1, -1, 314, -1, 185, 8, -1, -1, 11, 321,
-1, 336, 15, 16, 17, -1, 328, -1, -1, -1,
-1, -1, -1, -1, 336, 929, -1, -1, -1, 32,
-1, -1, -1, -1, -1, -1, 348, 40, -1, -1,
-1, -1, -1, 46, 356, -1, -1, -1, -1, 953,
954, 955, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 242, -1, 244, 376, -1, -1, 70, -1, -1,
-1, -1, -1, 254, 399, 2950, -1, -1, -1, -1,
-1, 262, 2957, 2958, -1, -1, -1, -1, -1, -1,
-1, 272, -1, -1, -1, -1, -1, -1, 410, -1,
-1, -1, 414, -1, -1, -1, -1, -1, 13, -1,
-1, -1, -1, -1, 19, -1, 2991, 2992, -1, -1,
-1, -1, -1, -1, 29, 306, -1, -1, 309, 310,
-1, -1, 3007, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 48, 49, -1, -1, 3022, 3023, -1,
-1, -1, -1, -1, -1, 336, 3031, 3032, 3033, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 175, -1, 3049, -1, -1, 180, -1, -1,
-1, -1, -1, -1, -1, -1, 1090, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 201, 202,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 1116, 216, -1, -1, -1, -1, 399, -1,
-1, -1, -1, -1, -1, -1, -1, 3102, -1, 3104,
-1, -1, -1, 3108, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 247, -1, -1, -1, -1, 3124,
-1, -1, -1, -1, -1, -1, -1, 260, -1, 3134,
263, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 3150, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 3162, -1, 194,
-1, -1, -1, -1, 3169, -1, -1, 202, -1, -1,
205, 206, 3177, 208, 3179, -1, 211, -1, 213, -1,
3185, -1, 3187, -1, -1, 3190, -1, -1, -1, -1,
3195, 3196, 3197, 3198, -1, -1, 3201, 3202, 3203, 3204,
3205, 3206, 3207, 3208, 3209, 3210, 3211, -1, 341, -1,
3215, 3216, -1, -1, -1, -1, -1, -1, -1, -1,
3225, -1, 1256, -1, 3229, -1, -1, -1, 3233, -1,
-1, -1, -1, -1, -1, -1, -1, 3242, -1, -1,
3245, -1, 3247, -1, -1, -1, -1, -1, -1, -1,
-1, 3256, -1, -1, 3259, 3260, -1, -1, -1, 3264,
3265, -1, -1, -1, 3269, -1, 3271, -1, -1, -1,
1304, -1, -1, 3278, 3279, 3280, 3281, -1, 3283, 3284,
-1, -1, -1, 3288, 3289, -1, -1, -1, -1, -1,
3295, -1, -1, -1, -1, -1, 3301, 3302, 3303, -1,
-1, 434, -1, -1, 437, 438, 439, -1, 441, 442,
443, 444, 445, 446, 447, -1, -1, -1, -1, 452,
-1, -1, 3327, -1, -1, -1, 22, -1, -1, -1,
-1, -1, 28, 3338, -1, 3340, -1, -1, -1, -1,
-1, -1, 1376, -1, -1, -1, -1, -1, -1, -1,
1384, -1, -1, -1, -1, -1, 3361, 3362, 3363, -1,
3365, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 68, -1, -1, -1, -1, 1411, 3383, 3384,
3385, 3386, -1, -1, -1, 1419, -1, -1, 1422, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 3422, -1, -1,
-1, -1, -1, 119, 1458, -1, -1, -1, -1, -1,
126, -1, -1, 129, -1, -1, -1, -1, 1472, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 1485, -1, -1, -1, -1, -1, -1, 154, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
8, -1, -1, 11, -1, -1, -1, 15, 16, 17,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 185,
-1, -1, -1, -1, 32, -1, -1, -1, 8, -1,
1534, 11, 40, -1, 3509, 15, 16, 17, 46, -1,
-1, -1, -1, -1, -1, -1, 551, -1, -1, -1,
-1, 1555, 32, -1, 559, -1, -1, -1, 1562, -1,
40, 566, 70, -1, 569, 570, 46, -1, -1, 574,
-1, -1, -1, -1, -1, 3550, 242, 3552, 244, 3554,
585, -1, -1, -1, -1, 3560, -1, -1, 254, -1,
70, 3566, -1, -1, 599, -1, 262, -1, -1, -1,
3575, -1, -1, -1, -1, -1, 272, -1, -1, 614,
-1, 616, -1, -1, 619, 8, 621, -1, 11, 624,
3595, -1, 15, 16, 17, -1, -1, -1, -1, -1,
3605, -1, -1, -1, -1, -1, -1, -1, 3613, 32,
306, -1, -1, 309, 310, -1, -1, 40, 3623, -1,
-1, -1, 3627, 46, -1, -1, 3631, 3632, -1, -1,
1664, -1, -1, -1, -1, -1, -1, 175, -1, -1,
336, -1, 180, -1, -1, -1, -1, 70, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 692, -1, -1,
3665, -1, 3667, 201, 202, 175, -1, -1, 1702, 1703,
180, -1, 3677, -1, -1, -1, -1, -1, 216, -1,
-1, -1, -1, -1, -1, 1719, -1, -1, -1, -1,
-1, 201, 202, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 3707, 399, -1, -1, 216, -1, -1, 247,
-1, -1, 747, -1, 3719, -1, -1, -1, -1, -1,
-1, -1, 260, -1, -1, 263, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 247, -1, -1,
-1, -1, -1, -1, -1, 3750, -1, -1, -1, -1,
260, -1, 175, 263, -1, 3760, 3761, 180, -1, -1,
-1, -1, -1, 3768, 3769, -1, -1, -1, 3773, -1,
-1, -1, 807, 3778, -1, -1, 3781, 3782, 201, 202,
-1, 3786, 3787, -1, 1818, -1, -1, 3792, 3793, 3794,
3795, 3796, -1, 216, 1828, 3800, 3801, -1, 3803, -1,
-1, 3806, -1, 341, -1, 3810, -1, -1, -1, 3814,
-1, -1, -1, -1, -1, 3820, -1, -1, -1, -1,
-1, 3826, -1, -1, 247, -1, 3831, -1, -1, -1,
-1, 341, 3837, -1, -1, -1, -1, 260, 873, 3844,
263, -1, -1, -1, -1, -1, -1, 3852, -1, -1,
3855, -1, -1, 888, -1, 3860, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 900, -1, 902, 3873, -1,
-1, 3876, -1, 22, -1, 910, -1, -1, -1, 28,
-1, -1, -1, -1, -1, -1, -1, 922, -1, -1,
925, 3896, 3897, -1, -1, -1, 434, -1, -1, 437,
438, 439, -1, 441, 442, 443, 444, 445, 446, 447,
-1, 1945, -1, 1947, 452, -1, 3921, -1, 341, 68,
-1, -1, -1, -1, 434, 960, -1, 437, 438, 439,
-1, 441, 442, 443, 444, 445, 446, 447, -1, -1,
-1, -1, 452, -1, -1, -1, -1, -1, -1, -1,
1984, -1, -1, 3958, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
119, 25, -1, 3978, -1, -1, -1, 126, -1, -1,
129, -1, -1, -1, -1, -1, -1, 3992, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 154, -1, -1, -1, -1,
-1, 434, -1, -1, 437, 438, 439, 71, 441, 442,
443, 444, 445, 446, 447, -1, -1, 4032, -1, 452,
-1, 85, -1, -1, -1, -1, 185, -1, 4043, -1,
-1, -1, -1, 4048, -1, -1, -1, -1, -1, 103,
-1, 4056, -1, -1, -1, 109, -1, -1, 8, 1094,
-1, 11, -1, -1, -1, 15, 16, 17, 4073, 4074,
124, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 135, 32, -1, -1, -1, -1, -1, -1, 143,
40, -1, -1, 242, -1, 244, 46, 4102, 2132, -1,
-1, 155, -1, -1, -1, 254, 160, -1, -1, -1,
-1, -1, 166, 262, -1, -1, -1, -1, 2152, -1,
70, -1, -1, 272, -1, -1, -1, -1, -1, 183,
-1, -1, -1, -1, -1, -1, 4141, -1, -1, -1,
-1, -1, -1, -1, -1, 4150, -1, -1, -1, -1,
-1, -1, -1, -1, 208, -1, -1, 306, -1, -1,
309, 310, -1, 4168, 4169, -1, -1, 4172, -1, -1,
-1, -1, -1, -1, -1, 229, -1, -1, -1, -1,
-1, 4186, 4187, -1, -1, -1, 4191, 336, -1, -1,
-1, 4196, -1, -1, 4199, 4200, -1, 4202, -1, 4204,
-1, -1, 4207, 4208, -1, -1, 260, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 4223, -1,
-1, -1, -1, 22, -1, 175, 280, -1, -1, 28,
180, 4236, 4237, 4238, 4239, 4240, 290, -1, -1, -1,
-1, -1, 1277, 1278, -1, -1, -1, -1, -1, -1,
399, 201, 202, 2287, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 317, -1, -1, 216, -1, 322, 68,
324, -1, -1, -1, 4279, 4280, 330, -1, -1, 333,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 247, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 361, 362, -1,
260, 365, -1, 263, 1349, 369, -1, -1, -1, -1,
119, 4326, 4327, -1, 378, 4330, -1, 126, 4333, 383,
129, -1, -1, -1, -1, -1, -1, -1, 4343, -1,
-1, 395, -1, -1, 4349, -1, 4351, -1, -1, -1,
-1, -1, 4357, -1, 408, 154, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 4370, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 1410, 4381, 4382, 4383, -1,
-1, -1, -1, -1, -1, -1, 185, -1, -1, -1,
8, 341, -1, 11, -1, -1, -1, 15, 16, 17,
-1, -1, -1, -1, -1, -1, -1, 4412, -1, -1,
4415, -1, 4417, -1, 32, -1, -1, -1, 8, -1,
-1, 11, 40, -1, -1, 15, 16, 17, 46, -1,
-1, -1, -1, 2467, -1, -1, 4441, -1, -1, -1,
4445, -1, 32, 242, 4449, 244, -1, -1, -1, -1,
40, 4456, 70, -1, -1, 254, 46, -1, -1, -1,
4465, -1, -1, 262, -1, -1, -1, -1, 8, -1,
4475, 11, -1, 272, -1, 15, 16, 17, -1, -1,
70, -1, 4487, -1, 434, -1, 4491, 437, 438, 439,
1525, 441, 442, 443, 444, 445, 446, 447, -1, -1,
40, -1, 452, -1, -1, -1, 46, 306, -1, 4514,
309, 310, -1, -1, -1, -1, 4521, 4522, 4523, 4524,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
70, 4536, -1, -1, -1, 153, -1, 336, -1, -1,
158, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4555, -1, -1, -1, -1, -1, -1, 175, -1, -1,
-1, -1, 180, -1, -1, -1, 4571, -1, -1, -1,
-1, 4576, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 201, 202, 175, 2620, -1, 1623, -1,
180, -1, -1, -1, -1, -1, -1, -1, 216, -1,
399, -1, 1637, -1, -1, 1640, -1, 1642, -1, 1644,
-1, 201, 202, 4618, -1, 1650, 4621, -1, -1, -1,
-1, -1, -1, -1, -1, 4630, 216, -1, -1, 247,
4635, -1, 4637, -1, 4639, 175, -1, -1, -1, -1,
180, 4646, 260, -1, -1, 263, -1, 4652, -1, 4654,
-1, -1, -1, -1, -1, -1, -1, 247, -1, 4664,
1695, 201, 202, -1, 1699, -1, 1701, -1, -1, 1704,
260, -1, -1, 263, -1, -1, 216, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 8, -1, -1, 11, -1, -1, -1, 15,
16, 17, -1, -1, -1, 4710, -1, 247, -1, -1,
-1, 4716, -1, -1, -1, -1, 32, -1, -1, -1,
260, -1, -1, 341, 40, -1, -1, -1, -1, -1,
46, -1, -1, -1, -1, -1, -1, -1, 4743, 4744,
-1, -1, -1, 4748, -1, -1, -1, -1, -1, 4754,
-1, 341, 4757, -1, 70, -1, 4761, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 8, 4774,
-1, 11, -1, -1, -1, 15, 16, 17, -1, 4784,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 32, -1, -1, -1, -1, 4802, -1, -1,
40, 341, -1, -1, -1, 4810, 46, -1, -1, -1,
-1, 4816, 4817, 4818, -1, -1, 434, -1, -1, 437,
438, 439, -1, 441, 442, 443, 444, 445, 446, 447,
70, -1, 4837, -1, 2868, -1, -1, -1, -1, 4844,
-1, -1, -1, -1, 434, -1, -1, 437, 438, 439,
-1, 441, 442, 443, 444, 445, 446, 447, -1, 175,
-1, -1, 452, -1, 180, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 201, 202, -1, -1, -1,
-1, -1, -1, -1, 434, -1, -1, 437, 438, 439,
216, 441, 442, 443, 444, 445, 446, 447, -1, -1,
-1, 4916, 4917, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 4930, -1, -1, -1, -1,
-1, 247, -1, -1, -1, 175, -1, 4942, 4943, -1,
180, -1, -1, -1, 260, 22, -1, 263, -1, -1,
-1, 28, -1, -1, -1, -1, -1, 2991, 2992, -1,
-1, 201, 202, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 3007, -1, -1, 216, -1, 2013, 2014,
-1, -1, -1, 2018, 2019, -1, -1, -1, 2023, 3023,
-1, 68, -1, -1, -1, -1, -1, -1, 3032, 3033,
-1, -1, 2037, -1, -1, -1, -1, 247, -1, 2044,
-1, -1, -1, 2048, 2049, 3049, -1, 2052, 2053, -1,
260, -1, -1, 263, 2059, 341, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 2071, -1, 2073, -1,
-1, -1, 119, -1, -1, -1, -1, -1, -1, 126,
-1, -1, 129, -1, -1, 2090, -1, -1, 8, -1,
2095, 11, -1, -1, -1, 15, 16, 17, -1, -1,
-1, -1, -1, 2108, -1, -1, -1, 154, -1, -1,
-1, 2116, 32, 2118, -1, 2120, 2121, 2122, 604, -1,
40, -1, 2127, 2128, -1, -1, 46, -1, -1, -1,
-1, 341, 2137, -1, -1, -1, -1, 2142, 185, 625,
-1, -1, 2147, -1, -1, -1, 3150, -1, 434, -1,
70, 437, 438, 439, -1, 441, 442, 443, 444, 445,
446, 447, -1, -1, -1, -1, 452, 2172, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 2183, -1,
2185, -1, -1, -1, -1, 2190, -1, -1, -1, 2194,
-1, 2196, 2197, 2198, 2199, 242, 2201, 244, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 254, -1, 2214,
2215, 2216, -1, -1, -1, 262, -1, -1, -1, 2224,
2225, -1, -1, -1, 434, 272, -1, 437, 438, 439,
-1, 441, 442, 443, 444, 445, 446, 447, -1, -1,
-1, -1, 452, -1, -1, 8, -1, -1, 11, -1,
-1, -1, 15, 16, 17, 175, -1, -1, -1, 306,
180, -1, 309, 310, -1, -1, -1, -1, -1, 32,
-1, -1, -1, 2278, 3278, 3279, 3280, 40, -1, -1,
-1, 201, 202, 46, -1, -1, -1, -1, -1, 336,
-1, -1, -1, -1, -1, -1, 216, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 70, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 247, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
260, -1, -1, 263, -1, -1, -1, -1, 22, -1,
-1, -1, 399, -1, 28, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 8, -1,
-1, 11, -1, -1, -1, 15, 16, 17, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 32, -1, 68, -1, -1, -1, -1, -1,
40, -1, -1, -1, -1, 891, 46, -1, -1, -1,
-1, -1, 175, -1, -1, -1, -1, 180, -1, -1,
-1, 341, -1, -1, -1, 911, -1, -1, 2433, -1,
70, -1, -1, -1, 920, -1, -1, -1, 201, 202,
-1, -1, -1, -1, -1, 119, -1, -1, -1, -1,
-1, -1, 126, 216, -1, 129, -1, -1, -1, -1,
-1, -1, -1, 2468, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
154, -1, -1, -1, 247, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 260, -1, -1,
263, -1, -1, -1, -1, -1, -1, -1, -1, -1,
996, 185, -1, -1, 434, -1, -1, 437, 438, 439,
-1, 441, 442, 443, 444, 445, 446, 447, -1, -1,
-1, -1, 452, -1, -1, 175, -1, -1, -1, -1,
180, 8, -1, -1, 11, -1, 3550, -1, 15, 16,
17, -1, -1, -1, -1, -1, 3560, -1, -1, -1,
-1, 201, 202, -1, -1, 32, -1, -1, 242, -1,
244, -1, -1, 40, -1, -1, 216, -1, 341, 46,
254, -1, -1, -1, -1, -1, -1, -1, 262, -1,
-1, 3595, -1, -1, -1, -1, -1, -1, 272, -1,
-1, -1, -1, 70, -1, -1, -1, 247, -1, -1,
-1, -1, -1, -1, 1100, -1, -1, -1, -1, 3623,
260, -1, -1, 263, -1, -1, -1, -1, -1, -1,
-1, -1, 306, -1, -1, 309, 310, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 2657, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 336, -1, -1, -1, -1, -1, -1, -1,
-1, 434, -1, 3677, 437, 438, 439, -1, 441, 442,
443, 444, 445, 446, 447, -1, -1, -1, -1, 452,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 341, -1, -1, 2709, 2710, -1, -1, 175, -1,
-1, -1, -1, 180, -1, -1, -1, -1, -1, -1,
-1, -1, 2727, -1, -1, 399, -1, -1, -1, -1,
-1, -1, -1, 187, 201, 202, -1, -1, -1, -1,
-1, -1, 196, 197, -1, -1, -1, 2752, -1, 216,
204, -1, -1, -1, -1, -1, 2761, -1, -1, -1,
-1, 215, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 2777, 2778, -1, -1, -1, 2782, -1, -1,
247, -1, 2787, 2788, 2789, -1, -1, -1, -1, 3793,
3794, 3795, 3796, 260, 434, -1, 263, 437, 438, 439,
-1, 441, 442, 443, 444, 445, 446, 447, -1, -1,
-1, -1, 452, 2818, 2819, 2820, 2821, -1, -1, -1,
-1, -1, 1308, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 8, -1, -1,
11, -1, -1, -1, 15, 16, 17, -1, -1, -1,
2855, -1, 2857, 2858, 2859, -1, -1, -1, -1, -1,
-1, 32, 2867, -1, -1, -1, -1, -1, -1, 40,
-1, -1, -1, -1, 341, 46, -1, -1, -1, 8,
-1, -1, 11, -1, -1, 1371, 15, 16, 17, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 70,
-1, -1, -1, 32, -1, -1, -1, -1, -1, -1,
-1, 40, -1, -1, -1, -1, -1, 46, -1, -1,
-1, 1407, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 2936, -1, -1, -1, -1, -1, -1, -1, 2944,
-1, 70, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 2963, -1,
-1, -1, -1, -1, -1, -1, -1, 434, -1, -1,
437, 438, 439, -1, 441, 442, 443, 444, 445, 446,
447, 2986, -1, -1, -1, 452, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 1487, -1, -1, 175, -1, -1, -1, -1, 180,
-1, -1, -1, -1, -1, -1, 1502, -1, -1, -1,
-1, -1, -1, -1, 1510, 3030, -1, -1, -1, 3034,
201, 202, -1, -1, -1, 1521, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 216, 175, -1, -1, -1,
-1, 180, -1, -1, -1, -1, -1, -1, 3063, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 201, 202, -1, -1, 247, -1, -1, -1,
-1, -1, 1568, -1, -1, -1, -1, 216, 3093, 260,
-1, -1, 263, -1, -1, 1581, 550, -1, 4102, -1,
-1, -1, 3107, -1, -1, -1, 3111, 1593, 562, -1,
-1, -1, -1, 567, -1, -1, -1, 3122, 247, 1605,
-1, -1, -1, -1, 578, -1, -1, -1, -1, -1,
-1, 260, -1, -1, 263, -1, -1, -1, -1, -1,
594, -1, -1, -1, 598, -1, -1, -1, -1, -1,
604, -1, -1, -1, 608, 609, -1, -1, -1, -1,
-1, 615, -1, 1649, -1, -1, 1652, -1, -1, -1,
341, 625, 626, -1, -1, -1, -1, -1, -1, -1,
634, -1, -1, -1, -1, -1, -1, 8, -1, -1,
11, -1, -1, -1, 15, 16, 17, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 32, 341, -1, -1, -1, -1, -1, -1, 40,
-1, -1, -1, -1, -1, 46, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 70,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 713,
714, -1, -1, 434, -1, 719, 437, 438, 439, -1,
441, 442, 443, 444, 445, 446, 447, -1, -1, -1,
-1, 452, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 745, -1, -1, -1, -1, 1782, -1, -1, -1,
-1, -1, -1, -1, -1, 434, -1, -1, 437, 438,
439, -1, 441, 442, 443, 444, 445, 446, 447, -1,
-1, -1, -1, 452, -1, -1, -1, -1, -1, 4333,
-1, -1, -1, -1, -1, 1821, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 4349, -1, -1, -1, -1,
-1, -1, -1, -1, 175, -1, -1, -1, -1, 180,
-1, -1, -1, 3368, -1, 3370, -1, -1, -1, -1,
-1, -1, 3377, -1, -1, -1, -1, -1, 4382, -1,
201, 202, -1, -1, -1, -1, -1, -1, -1, 3394,
-1, -1, -1, -1, -1, 216, -1, -1, -1, -1,
-1, -1, -1, -1, 3409, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 3420, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 247, -1, -1, -1,
884, -1, -1, 3438, -1, -1, -1, 891, -1, 260,
-1, 895, 263, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 911, -1, -1,
3465, -1, -1, -1, -1, -1, 920, -1, -1, -1,
-1, -1, -1, 3478, 3479, 3480, -1, -1, 3483, 3484,
3485, 3486, 3487, 3488, -1, -1, -1, 4491, 3493, 3494,
-1, 3496, 3497, 3498, 3499, 3500, 3501, 3502, -1, -1,
-1, -1, -1, -1, -1, 959, 3511, -1, 3513, 3514,
-1, -1, 1998, -1, -1, -1, 2002, 2003, -1, -1,
341, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 996, -1, -1, -1, -1, -1, 3553, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 4571, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 1031, -1, 2065,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 2077, -1, -1, -1, -1, -1, 1051, -1, -1,
-1, 1055, -1, -1, -1, -1, -1, -1, -1, 1063,
-1, -1, -1, 434, -1, -1, 437, 438, 439, -1,
441, 442, 443, 444, 445, 446, 447, -1, 2114, -1,
-1, 452, -1, -1, -1, -1, -1, 1091, -1, -1,
-1, -1, -1, -1, -1, 3650, 1100, -1, 1102, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 1117, -1, -1, 1120, -1, -1, -1,
-1, -1, -1, 3678, 3679, 3680, -1, -1, 1132, -1,
-1, -1, -1, -1, -1, 3690, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 1161, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 1189, 1190, 1191, -1, -1,
1194, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1214, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 2269, -1, -1, -1, -1, 1242, -1,
-1, -1, -1, -1, -1, 8, 1250, 1251, 11, -1,
-1, -1, 15, 16, 17, 1259, 1260, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 32,
-1, -1, -1, -1, -1, -1, -1, 40, -1, -1,
-1, -1, -1, 46, 1288, -1, -1, -1, 1292, 1293,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 2339, 1308, -1, -1, 70, -1, -1,
1314, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
22, -1, -1, -1, -1, -1, 28, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 3902, -1, -1,
-1, 3906, 3907, 3908, 3909, -1, -1, 3912, -1, -1,
-1, 53, -1, -1, -1, -1, -1, 1371, -1, -1,
-1, -1, -1, -1, -1, -1, 68, -1, -1, 3934,
3935, 3936, 3937, -1, 3939, 3940, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 3951, 3952, -1, -1,
-1, -1, -1, 1407, -1, -1, -1, -1, -1, 101,
-1, -1, 175, -1, 3969, -1, -1, 180, -1, -1,
-1, 3976, 3977, 2459, 3979, -1, -1, 119, -1, -1,
-1, -1, -1, 8, 126, -1, 11, 129, 201, 202,
15, 16, 17, -1, 2480, -1, -1, -1, -1, -1,
-1, -1, -1, 216, -1, 2491, -1, 32, -1, -1,
-1, -1, 154, 1467, -1, 40, -1, -1, -1, -1,
-1, 46, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 1487, 247, -1, -1, -1, -1, -1,
182, -1, -1, 185, -1, 70, -1, 260, 1502, -1,
263, -1, -1, -1, -1, -1, 1510, -1, 4063, -1,
-1, -1, 1516, -1, -1, -1, -1, 1521, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 4084,
-1, -1, -1, 1537, -1, -1, -1, 1541, 230, -1,
232, -1, -1, -1, -1, -1, -1, -1, -1, 1553,
242, -1, 244, -1, -1, -1, -1, -1, -1, 4114,
-1, -1, 254, -1, 1568, -1, -1, -1, -1, -1,
262, 1575, -1, -1, -1, -1, -1, 1581, 341, 271,
272, -1, -1, 1587, -1, -1, -1, -1, -1, 1593,
-1, -1, -1, 2629, 2630, 2631, -1, -1, -1, -1,
175, 1605, -1, -1, -1, 180, -1, -1, -1, -1,
-1, -1, -1, -1, 306, -1, -1, 309, 310, 311,
1624, -1, 1626, 1627, -1, -1, 201, 202, -1, -1,
-1, -1, -1, -1, 4189, 1639, -1, -1, -1, -1,
-1, 216, -1, -1, 336, 1649, -1, -1, 1652, 4204,
1654, 1655, -1, -1, -1, -1, -1, -1, 350, -1,
2696, -1, 1666, 2699, -1, 2701, -1, -1, -1, -1,
2706, 434, 247, -1, 437, 438, 439, -1, 441, 442,
443, 444, 445, 446, 447, 260, -1, -1, 263, 452,
-1, -1, -1, -1, 1698, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 399, -1, -1,
-1, -1, -1, -1, -1, -1, 4271, -1, -1, -1,
-1, 2757, -1, -1, -1, -1, -1, -1, 1732, -1,
1734, -1, -1, -1, 4289, 1739, 1740, -1, 2774, 4294,
4295, -1, 1746, 1747, 1748, -1, -1, -1, 1752, -1,
1754, 1755, 1756, 1757, 1758, 1759, -1, 1761, -1, 1763,
1764, -1, 2798, 1767, -1, -1, 341, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 1782, 1783,
1784, 1785, 1786, 1787, -1, -1, -1, 1791, -1, -1,
-1, 1795, -1, -1, 1798, 4350, -1, 1801, 1802, 1803,
1804, 1805, 1806, 1807, 1808, 1809, 1810, -1, 1812, -1,
-1, -1, -1, -1, -1, 1819, -1, 1821, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 2863, -1, 2865,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 4396, -1, -1, -1, -1, -1, -1, 4403, 25,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 434,
-1, -1, 437, 438, 439, -1, 441, 442, 443, 444,
445, 446, 447, -1, -1, -1, -1, 452, -1, -1,
-1, -1, 58, 4438, -1, -1, -1, -1, 2924, -1,
-1, -1, -1, -1, 4449, 71, 72, -1, -1, -1,
-1, -1, -1, -1, -1, 81, -1, -1, -1, 85,
-1, -1, -1, 2949, -1, -1, 4471, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 8, 103, -1, 11,
-1, -1, -1, 15, 16, 17, -1, 2973, -1, -1,
4495, -1, -1, -1, 2980, 1949, -1, -1, 124, 4504,
32, -1, -1, -1, -1, -1, -1, -1, 40, 135,
-1, -1, -1, -1, 46, -1, -1, 143, -1, -1,
4525, -1, -1, -1, -1, -1, -1, -1, -1, 155,
-1, -1, -1, -1, 160, -1, -1, -1, 70, -1,
-1, -1, -1, -1, 1998, -1, -1, -1, 2002, 2003,
-1, -1, 3038, -1, -1, -1, -1, 183, 2012, -1,
-1, -1, 2016, 2017, -1, -1, -1, 2021, -1, -1,
3056, -1, -1, -1, -1, 2029, -1, -1, -1, -1,
-1, -1, 208, 3069, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 2047, -1, -1, 2050, -1, -1, -1,
4605, -1, -1, 229, -1, -1, -1, 2061, -1, -1,
-1, 2065, -1, -1, 2068, -1, -1, -1, -1, -1,
-1, -1, 4627, 2077, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 260, 2089, -1, -1, -1, -1,
-1, -1, -1, 175, -1, -1, -1, -1, 180, -1,
-1, -1, 2106, 2107, 280, -1, -1, 4662, -1, -1,
2114, -1, -1, -1, 290, -1, -1, -1, -1, 201,
202, -1, 4677, -1, -1, -1, -1, -1, -1, -1,
-1, 2135, 2136, -1, 216, 2139, 3172, -1, -1, -1,
-1, 317, -1, -1, -1, -1, 322, 4702, 324, -1,
-1, -1, -1, -1, 330, -1, -1, 333, 3194, -1,
-1, -1, -1, 2167, -1, 247, -1, 2171, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 260, -1,
-1, 263, -1, -1, 3220, 2189, 362, -1, -1, 365,
-1, -1, -1, 369, -1, -1, 2200, -1, -1, -1,
376, -1, 378, -1, -1, -1, -1, 383, -1, 2213,
-1, -1, -1, -1, -1, -1, -1, 2221, 4773, 3255,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 408, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 4798, 8, -1, -1, 11, -1, -1,
-1, 15, 16, 17, -1, -1, -1, -1, -1, 341,
-1, -1, -1, -1, 2268, 2269, -1, 3303, 32, -1,
-1, -1, -1, 2277, -1, -1, 40, -1, -1, -1,
-1, -1, 46, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 70, -1, -1, -1,
3346, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 2339, -1, -1, -1, 2343,
-1, -1, -1, -1, -1, -1, -1, -1, 2352, -1,
-1, -1, 434, -1, -1, 437, 438, 439, -1, 441,
442, 443, 444, 445, 446, 447, -1, -1, 450, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 8, -1, -1, 11, -1, -1, -1, 15,
16, 17, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 2407, -1, 3441, 32, -1, 2412, 35,
-1, 175, -1, -1, 40, -1, 180, -1, -1, -1,
46, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 201, 202, 2443,
-1, -1, -1, -1, 70, -1, -1, -1, -1, -1,
-1, -1, 216, -1, -1, 2459, -1, -1, -1, -1,
-1, 2465, -1, -1, -1, -1, -1, -1, -1, 2473,
-1, -1, -1, 2477, -1, -1, 2480, -1, -1, 2483,
-1, -1, -1, 247, -1, -1, -1, 2491, -1, -1,
-1, -1, -1, -1, -1, -1, 260, 2501, -1, 263,
-1, -1, 2506, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
284, -1, -1, -1, -1, -1, 2530, 2531, 2532, -1,
-1, 2535, -1, -1, -1, -1, -1, -1, -1, 2543,
2544, 2545, 2546, -1, -1, 3581, -1, 2551, -1, 175,
-1, -1, 2556, 2557, 180, 2559, -1, 2561, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 2573,
2574, -1, -1, 2577, -1, 201, 202, 341, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 2591, -1, 2593,
216, 2595, -1, 357, 3630, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 2616, -1, -1, -1, -1, -1, -1, -1,
-1, 247, -1, 2627, -1, 2629, 2630, 2631, -1, -1,
-1, 197, -1, -1, 260, -1, -1, 263, 204, -1,
2644, -1, -1, 2647, -1, -1, -1, -1, -1, 215,
-1, -1, -1, -1, -1, 2659, -1, -1, -1, -1,
2664, -1, -1, -1, -1, -1, 2670, -1, -1, -1,
434, -1, -1, 437, 438, 439, 2680, 441, 442, 443,
444, 445, 446, 447, -1, -1, -1, -1, -1, -1,
-1, -1, 2696, -1, -1, 2699, -1, 2701, 8, -1,
-1, 11, 2706, -1, 2708, 15, 16, 17, -1, -1,
-1, -1, -1, -1, -1, 341, -1, -1, -1, -1,
2724, 2725, 32, -1, -1, -1, 2730, 3763, -1, -1,
40, -1, -1, -1, -1, -1, 46, -1, 3774, -1,
-1, -1, -1, -1, -1, -1, -1, 2751, -1, -1,
2754, -1, -1, 2757, -1, -1, -1, -1, -1, -1,
70, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2774, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3826, -1, -1, -1, 2798, 3831, -1, -1, -1, -1,
-1, 3837, -1, -1, -1, -1, -1, -1, 434, -1,
-1, 437, 438, 439, -1, 441, 442, 443, 444, 445,
446, 447, -1, -1, -1, -1, 2830, 2831, 2832, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 152, -1, -1, -1, -1, -1, -1, -1,
2854, -1, -1, -1, -1, -1, -1, -1, 3894, 2863,
-1, 2865, 2866, -1, -1, 175, 2870, -1, -1, -1,
180, -1, -1, -1, -1, -1, 2880, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 3923, -1, -1,
-1, 201, 202, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 216, 3943, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2924, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 247, -1, 2943,
-1, -1, -1, -1, -1, 2949, -1, -1, -1, -1,
260, -1, -1, 263, -1, -1, -1, -1, -1, -1,
-1, 3997, -1, -1, -1, -1, -1, -1, -1, 2973,
-1, -1, 282, -1, -1, 2979, 2980, -1, -1, -1,
-1, 2985, -1, 2987, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 2999, 562, 3001, -1, -1,
-1, 567, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 578, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 594, -1,
-1, 341, -1, -1, 3038, -1, -1, -1, -1, -1,
-1, -1, -1, 609, -1, -1, -1, -1, -1, 615,
-1, 3055, 3056, -1, -1, -1, -1, -1, -1, -1,
626, 4097, -1, 4099, -1, 3069, -1, -1, 634, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 8, -1,
-1, 11, -1, -1, -1, 15, 16, 17, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 32, -1, -1, -1, -1, -1, 3112, 4145,
40, -1, -1, -1, -1, -1, 46, -1, -1, -1,
3124, -1, -1, 3127, 434, -1, -1, 437, 438, 439,
-1, 441, 442, 443, 444, 445, 446, 447, -1, -1,
70, -1, -1, -1, -1, 3149, -1, -1, 3152, -1,
-1, -1, -1, 719, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 3169, -1, -1, 3172, -1,
-1, -1, -1, 3177, -1, 3179, -1, -1, -1, -1,
-1, 3185, -1, 3187, -1, -1, 3190, -1, -1, -1,
3194, 3195, 3196, 3197, 3198, -1, -1, 3201, 3202, 3203,
3204, 3205, 3206, 3207, 3208, 3209, 3210, 3211, -1, -1,
-1, 3215, 3216, -1, -1, -1, 3220, -1, -1, -1,
-1, 3225, -1, -1, -1, 3229, -1, 3231, -1, 3233,
-1, -1, -1, 4269, -1, -1, -1, -1, 3242, -1,
-1, 3245, -1, 3247, -1, 175, -1, -1, -1, -1,
180, 3255, 3256, -1, -1, 3259, 3260, -1, -1, -1,
3264, 3265, -1, -1, -1, -1, -1, 3271, -1, -1,
-1, 201, 202, -1, -1, -1, -1, 3281, -1, 3283,
-1, -1, -1, -1, -1, -1, 216, -1, -1, -1,
-1, 3295, -1, -1, -1, -1, -1, 3301, 3302, 3303,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 247, -1, -1,
-1, -1, -1, 3327, -1, -1, -1, -1, -1, -1,
260, -1, -1, 263, -1, -1, 3340, -1, -1, -1,
-1, -1, 3346, -1, -1, -1, -1, -1, 278, 4385,
-1, -1, -1, -1, -1, -1, -1, 3361, -1, -1,
-1, -1, -1, 8, -1, -1, 11, -1, -1, -1,
15, 16, 17, -1, -1, -1, -1, 4413, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 32, -1, 3393,
35, -1, -1, -1, -1, 40, -1, -1, -1, -1,
-1, 46, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 341, -1, -1, -1, 4451, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 70, -1, -1, -1, -1,
-1, 3435, -1, -1, -1, -1, 3440, 3441, 3442, -1,
8, -1, -1, 11, -1, -1, -1, 15, 16, 17,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 32, 1031, -1, -1, -1, 4505,
-1, -1, 40, 4509, 4510, -1, -1, -1, 46, -1,
-1, -1, -1, -1, -1, 1051, -1, -1, 3492, -1,
-1, 3495, -1, -1, -1, -1, -1, 1063, -1, -1,
-1, -1, 70, -1, 434, -1, -1, 437, 438, 439,
-1, 441, 442, 443, 444, 445, 446, 447, -1, -1,
-1, -1, -1, -1, -1, 1091, -1, -1, 3532, -1,
175, -1, -1, -1, -1, 180, 1102, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3554, 1117, -1, -1, 1120, -1, 201, 202, -1, -1,
-1, 4597, 4598, -1, -1, -1, -1, -1, -1, -1,
-1, 216, -1, 3577, 3578, -1, -1, 3581, -1, -1,
-1, -1, -1, -1, -1, -1, 3590, -1, 3592, -1,
158, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 247, -1, -1, -1, -1, 175, -1, -1,
-1, -1, 180, -1, -1, 260, -1, -1, 263, -1,
-1, -1, -1, -1, -1, 197, 3630, 3631, 3632, -1,
-1, -1, 204, 201, 202, -1, -1, -1, -1, -1,
-1, -1, -1, 215, -1, -1, -1, -1, 216, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 1242, -1, -1, 247,
-1, -1, 3686, -1, 1250, 1251, -1, -1, -1, -1,
-1, -1, 260, -1, 1260, 263, 341, -1, -1, -1,
-1, -1, -1, 3707, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 3719, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 3750, -1, 1314, -1,
-1, -1, -1, -1, -1, -1, 3760, 3761, -1, 3763,
-1, -1, -1, -1, 3768, 3769, -1, -1, -1, 3773,
3774, -1, -1, 341, 3778, -1, -1, 3781, 3782, -1,
-1, -1, 3786, -1, -1, -1, -1, -1, 3792, 434,
-1, -1, 437, 438, 439, -1, 441, 442, 443, 444,
445, 446, 447, -1, -1, -1, 3810, -1, -1, -1,
3814, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 3826, -1, -1, -1, -1, 3831, -1, -1,
-1, -1, -1, 3837, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 3852, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 434, -1, -1, 437,
438, 439, 3876, 441, 442, 443, 444, 445, 446, 447,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3894, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 1467, -1, -1, -1, -1, -1, 3911, -1, -1,
3914, -1, -1, -1, -1, -1, -1, -1, -1, 3923,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 3938, -1, -1, -1, -1, 3943,
-1, -1, -1, -1, -1, -1, 3950, -1, -1, -1,
1516, -1, -1, -1, 3958, -1, -1, 604, -1, 8,
-1, -1, 11, -1, 3968, -1, 15, 16, 17, -1,
-1, 1537, -1, -1, -1, 1541, -1, -1, 625, -1,
-1, -1, -1, 32, -1, -1, 35, 1553, -1, -1,
562, 40, -1, 3997, -1, 567, -1, 46, -1, -1,
-1, -1, -1, -1, -1, -1, 578, -1, -1, -1,
-1, 4015, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 70, 594, -1, -1, -1, -1, -1, 4032, -1,
-1, -1, -1, -1, -1, -1, -1, 609, -1, 4043,
-1, -1, -1, 615, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 626, -1, -1, -1, -1, -1,
1626, 1627, 634, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 1639, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 1654, 1655,
-1, -1, -1, 4097, -1, 4099, -1, -1, -1, -1,
1666, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 4125, -1, -1, -1, -1, 175, -1, -1, -1,
-1, 180, -1, -1, -1, -1, -1, 4141, -1, -1,
-1, 4145, -1, -1, -1, -1, 4150, 719, -1, -1,
-1, -1, 201, 202, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 4168, 4169, -1, 216, 4172, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 4186, -1, -1, -1, -1, 4191, -1, -1,
-1, -1, 4196, -1, -1, 4199, 4200, -1, 247, -1,
-1, -1, -1, 4207, 4208, -1, -1, -1, -1, -1,
-1, 260, -1, -1, 263, -1, -1, -1, -1, 4223,
-1, 1787, -1, -1, -1, -1, 4230, -1, 4232, -1,
-1, -1, 4236, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 891, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 911, 4269, 4270, -1, -1, -1,
-1, -1, -1, 920, -1, 4279, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 341, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 4316, -1, 4318, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 4330, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 604, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 996,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 625,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 4383,
-1, 4385, -1, -1, -1, 434, -1, -1, 437, 438,
439, -1, 441, 442, 443, 444, 445, 446, 447, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 4412, 4413,
-1, 4415, -1, 4417, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 4441, -1, -1,
-1, 4445, -1, -1, -1, -1, 2012, 4451, -1, -1,
2016, 2017, 4456, 1100, -1, 2021, -1, -1, -1, 1031,
-1, -1, -1, 2029, -1, -1, -1, 22, -1, -1,
-1, 4475, -1, 28, -1, -1, -1, -1, -1, 1051,
-1, 2047, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 1063, -1, -1, -1, 4499, -1, -1, 53, -1,
-1, 4505, -1, -1, -1, 4509, 4510, -1, -1, -1,
4514, -1, -1, 68, -1, -1, -1, -1, -1, 1091,
-1, -1, -1, 2089, -1, -1, -1, -1, -1, -1,
1102, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2106, 2107, -1, -1, -1, 1117, 101, -1, 1120, -1,
-1, 4555, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 119, -1, -1, -1, -1, 2135,
2136, 126, 4576, 2139, 129, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 4597, 4598, -1, -1, -1, 1245, 154,
-1, 2167, -1, -1, -1, 2171, -1, -1, -1, -1,
-1, -1, -1, -1, 4618, -1, -1, 4621, -1, -1,
-1, -1, -1, 2189, -1, 891, 4630, 182, -1, -1,
185, 4635, -1, 4637, 2200, 4639, -1, -1, -1, -1,
-1, -1, 4646, -1, -1, 911, -1, 2213, -1, -1,
-1, -1, -1, -1, 920, 2221, -1, -1, -1, -1,
4664, 1308, -1, -1, -1, -1, -1, -1, 713, 714,
1242, -1, -1, -1, -1, 230, -1, 232, 1250, 1251,
-1, 25, -1, 4687, -1, -1, -1, 242, 1260, 244,
-1, -1, -1, 37, -1, -1, -1, -1, -1, 254,
745, -1, -1, -1, -1, -1, -1, 262, -1, -1,
-1, 2277, 4716, -1, 58, -1, 271, 272, -1, -1,
-1, -1, -1, -1, 1371, -1, -1, 71, -1, -1,
996, -1, -1, -1, -1, -1, -1, 81, -1, 4743,
4744, 85, 1314, -1, -1, -1, -1, -1, -1, -1,
4754, 306, -1, -1, 309, 310, 311, -1, 4762, 103,
1407, -1, -1, -1, -1, 109, -1, -1, -1, -1,
4774, -1, -1, -1, -1, -1, -1, 2343, -1, -1,
124, 336, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 135, -1, -1, -1, 350, -1, -1, -1, 143,
-1, -1, -1, -1, -1, -1, 4810, -1, -1, -1,
-1, 155, 4816, 4817, 4818, -1, -1, -1, 162, -1,
-1, -1, 166, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 4837, 1100, -1, -1, -1, -1, 183,
1487, 2407, -1, -1, 399, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 1502, 4860, -1, -1, -1,
-1, -1, -1, 1510, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 1521, -1, 220, 2443, -1, -1,
-1, -1, -1, -1, -1, 229, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 1467, -1, -1, -1, 2465,
-1, -1, -1, -1, -1, -1, -1, 2473, -1, -1,
-1, -1, 4916, 4917, -1, -1, 260, -1, 4922, 263,
-1, 1568, -1, -1, -1, -1, 4930, -1, -1, -1,
-1, -1, -1, -1, 1581, -1, 280, 4941, 4942, 4943,
-1, -1, -1, -1, 1516, -1, 1593, -1, -1, -1,
-1, -1, -1, -1, -1, 299, -1, -1, 1605, -1,
-1, -1, -1, -1, -1, 1537, -1, -1, -1, 1541,
-1, -1, -1, 317, -1, -1, -1, -1, -1, -1,
324, 1553, -1, -1, -1, 2551, 330, -1, -1, 333,
-1, 2557, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 1649, -1, -1, 1652, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 362, -1,
-1, 365, 366, -1, 368, 369, -1, -1, -1, -1,
-1, -1, -1, -1, 378, -1, -1, -1, -1, 383,
-1, -1, 1308, -1, -1, 389, -1, -1, 392, -1,
-1, 395, -1, -1, 1626, 1627, -1, -1, -1, -1,
-1, -1, -1, -1, 408, -1, 8, 1639, -1, 11,
-1, -1, -1, 15, 16, 17, -1, -1, 2644, -1,
-1, -1, 1654, 1655, -1, -1, -1, 1132, -1, -1,
32, -1, -1, -1, 1666, -1, -1, -1, 40, -1,
-1, -1, -1, -1, 46, 1371, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 1161, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 70, -1,
-1, -1, -1, -1, -1, 1782, -1, -1, -1, -1,
-1, 1407, 2708, -1, 1189, 1190, 1191, -1, -1, 1194,
-1, -1, -1, -1, -1, -1, -1, -1, 2724, 2725,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 1214,
-1, 25, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 37, -1, 2751, -1, -1, 2754, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 58, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 1259, 1787, -1, 71, -1, -1,
-1, 1487, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 85, -1, 175, -1, -1, 1502, -1, 180, -1,
-1, -1, -1, 1288, 1510, -1, -1, 1292, 1293, 103,
-1, -1, -1, -1, -1, 1521, -1, -1, -1, 201,
202, -1, -1, -1, 2830, 2831, 2832, -1, -1, -1,
124, -1, -1, -1, 216, -1, -1, -1, -1, -1,
-1, 135, -1, -1, -1, -1, -1, -1, 2854, 143,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2866, 155, 1568, -1, 2870, 247, 160, -1, -1, -1,
-1, -1, 166, -1, 2880, 1581, -1, -1, 260, -1,
-1, 263, -1, -1, -1, -1, -1, 1593, -1, 183,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 1605,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 1998, -1, -1, -1, 2002, 2003, -1, 8, -1,
-1, 11, -1, -1, -1, 15, 16, 17, -1, -1,
-1, -1, -1, -1, -1, 229, -1, 2943, -1, -1,
-1, -1, 32, 1649, -1, 35, 1652, -1, -1, -1,
40, -1, -1, -1, -1, -1, 46, -1, -1, 341,
-1, -1, -1, -1, -1, -1, 260, -1, -1, -1,
-1, -1, -1, 2979, -1, -1, -1, 271, 2065, 2985,
70, 2987, -1, -1, -1, -1, 280, -1, 370, -1,
2077, -1, -1, 2999, -1, 3001, 290, -1, -1, -1,
2012, -1, -1, -1, 2016, 2017, -1, -1, -1, 2021,
-1, -1, -1, -1, -1, -1, -1, 2029, -1, -1,
-1, -1, -1, 317, -1, -1, -1, 2114, 322, -1,
324, -1, -1, -1, -1, 2047, 330, -1, -1, 333,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 3055,
-1, -1, 434, -1, -1, 437, 438, 439, -1, 441,
442, 443, 444, 445, 446, 447, -1, -1, 362, -1,
-1, 365, -1, -1, -1, 369, 1782, 2089, -1, -1,
-1, -1, 376, -1, 378, 175, -1, -1, -1, 383,
180, -1, -1, -1, 2106, 2107, -1, -1, -1, -1,
-1, 395, -1, -1, -1, -1, 3112, -1, -1, -1,
-1, 201, 202, -1, 408, -1, -1, -1, -1, -1,
-1, 3127, -1, 2135, 2136, -1, 216, 2139, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 3149, -1, -1, 3152, -1, -1, -1,
-1, -1, -1, -1, -1, 2167, -1, 247, -1, 2171,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
260, -1, -1, 263, -1, -1, -1, 2189, -1, -1,
-1, -1, 2269, -1, -1, -1, -1, -1, 2200, -1,
-1, 8, -1, -1, 11, -1, -1, -1, 15, 16,
17, 2213, -1, -1, -1, -1, -1, -1, -1, 2221,
-1, -1, -1, -1, -1, 32, -1, -1, -1, -1,
-1, -1, -1, 40, -1, 3231, -1, -1, -1, 46,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 341, 2339, 70, 1739, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 2277, -1, 1752, -1, 1754,
-1, -1, 1757, 1758, 1759, -1, -1, -1, -1, 1764,
-1, -1, 1767, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 1998, -1, -1, -1, 2002, 2003, 1783, 1784,
1785, 1786, -1, -1, -1, -1, 1791, -1, -1, -1,
1795, -1, -1, 1798, -1, -1, 1801, 1802, 1803, 1804,
1805, 1806, 1807, 1808, 1809, 1810, -1, 1812, -1, 604,
-1, 2343, -1, -1, 1819, -1, 1821, -1, -1, -1,
-1, -1, -1, -1, 434, -1, -1, 437, 438, 439,
625, 441, 442, 443, 444, 445, 446, 447, 175, 2065,
-1, -1, -1, 180, -1, -1, -1, -1, -1, -1,
-1, 2077, 2459, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 201, 202, -1, 3393, -1, -1,
-1, -1, -1, 2480, -1, 2407, -1, -1, 604, 216,
-1, -1, -1, -1, 2491, -1, -1, -1, 2114, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 625,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 3435,
247, 2443, -1, -1, 3440, -1, 3442, -1, -1, -1,
-1, -1, -1, 260, -1, -1, 263, -1, -1, -1,
-1, -1, -1, 2465, -1, -1, -1, -1, -1, -1,
-1, 2473, -1, -1, 1949, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 3492, -1, -1, 3495,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 341, -1, 3532, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 2551,
-1, -1, -1, -1, -1, 2557, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 2269, -1, 2050, -1, -1, -1, -1,
-1, 3577, 3578, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 3590, -1, 3592, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 2696,
-1, -1, 2699, -1, 2701, -1, 891, 434, -1, 2706,
437, 438, 439, -1, 441, 442, 443, 444, 445, 446,
447, -1, 2644, 2339, -1, -1, 911, -1, -1, -1,
-1, -1, -1, -1, -1, 920, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2757, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3686, -1, -1, -1, -1, 891, -1, 2774, -1, -1,
-1, -1, -1, -1, -1, -1, 2708, -1, -1, -1,
-1, -1, -1, -1, -1, 911, -1, -1, -1, -1,
-1, 2798, 2724, 2725, 920, -1, -1, -1, -1, -1,
-1, 996, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 2751,
-1, -1, 2754, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 2459, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 2480, -1, 2863, -1, 2865, -1,
-1, -1, -1, 2268, -1, 2491, -1, -1, -1, -1,
996, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 2830, 2831,
2832, -1, -1, -1, -1, 1100, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 2924, -1, -1,
-1, -1, 2854, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 2866, -1, -1, -1, 2870, -1,
-1, -1, 2949, -1, -1, -1, -1, -1, 2880, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 2973, -1, -1, -1,
-1, -1, -1, 2980, 1100, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 3911, -1, -1, 3914, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 2412, -1, -1,
-1, 2943, 3938, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 3950, -1, -1, -1, -1, -1,
-1, 3038, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 3968, -1, -1, -1, -1, 2979, -1, 3056,
-1, -1, -1, 2985, -1, 2987, -1, -1, -1, -1,
-1, -1, 3069, -1, -1, -1, -1, 2999, -1, 3001,
2696, -1, -1, 2699, -1, 2701, -1, -1, -1, -1,
2706, -1, -1, -1, -1, -1, -1, -1, -1, 4015,
-1, -1, -1, -1, -1, -1, 2501, -1, -1, -1,
-1, 2506, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 1308, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 3055, -1, -1, -1, 2532, -1, -1,
-1, 2757, -1, -1, -1, -1, -1, -1, 2543, -1,
2545, 2546, -1, -1, -1, -1, -1, -1, 2774, -1,
-1, 2556, -1, -1, 2559, -1, 2561, -1, -1, -1,
-1, -1, -1, -1, -1, 3172, -1, -1, -1, -1,
-1, -1, 2798, -1, -1, -1, 1371, -1, -1, -1,
3112, -1, 1308, -1, -1, -1, 2591, 3194, 2593, -1,
2595, -1, -1, -1, -1, 3127, -1, -1, -1, 4125,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 1407, 3220, -1, -1, -1, 3149, -1, -1,
3152, -1, -1, -1, 2629, 2630, 2631, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 2863, -1, 2865,
-1, -1, 2647, -1, -1, 1371, -1, -1, 3255, -1,
-1, -1, -1, -1, 2659, -1, -1, -1, -1, 2664,
-1, -1, -1, -1, -1, 2670, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 1407, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 1487, -1, -1, -1, -1, -1, 2924, 3231,
-1, -1, -1, -1, 4230, -1, 4232, 1502, -1, -1,
-1, -1, -1, -1, -1, 1510, -1, -1, -1, -1,
-1, -1, -1, 2949, -1, 2730, 1521, 604, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 3346,
-1, -1, -1, -1, 4270, -1, -1, 2973, 625, -1,
-1, -1, -1, -1, 2980, -1, -1, -1, -1, -1,
-1, 1487, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 1568, -1, -1, 1502, -1, -1, -1,
-1, -1, -1, -1, 1510, -1, 1581, -1, -1, -1,
4316, -1, 4318, -1, -1, 1521, -1, -1, 1593, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1605, -1, 3038, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3056, -1, -1, -1, 3441, -1, -1, -1, -1, -1,
-1, -1, 1568, 3069, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 1649, 1581, -1, 1652, -1, -1,
-1, 3393, -1, -1, -1, -1, -1, 1593, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 1605,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 3435, -1, -1, -1, -1, 3440, -1,
3442, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 1649, -1, -1, 1652, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 3172, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 604, -1, -1,
3492, -1, -1, 3495, -1, -1, -1, -1, 3194, -1,
-1, -1, -1, 4499, 3581, -1, -1, -1, 625, -1,
-1, -1, -1, -1, -1, -1, -1, 1782, -1, -1,
-1, -1, -1, -1, 3220, -1, -1, -1, -1, -1,
3532, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 891, -1, -1, -1, -1, -1,
-1, -1, -1, 3630, -1, -1, -1, -1, -1, 3255,
-1, -1, -1, -1, 911, -1, -1, -1, -1, -1,
-1, -1, -1, 920, -1, 3577, 3578, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 1782, -1, 3590, -1,
3592, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 996,
3346, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 3686, -1, 3763, -1, -1, -1,
-1, 4687, -1, -1, 3169, -1, -1, 3774, -1, -1,
-1, -1, 3177, -1, 3179, -1, -1, -1, -1, -1,
3185, -1, 3187, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 1998, -1, -1, -1, 2002, 2003, -1,
3215, 3216, -1, -1, -1, 3441, -1, -1, -1, -1,
-1, -1, -1, 1100, -1, -1, -1, -1, 3233, -1,
-1, -1, -1, -1, -1, -1, 4762, 3242, -1, -1,
3245, -1, 3247, -1, 891, -1, -1, -1, -1, -1,
-1, 3256, -1, -1, -1, -1, -1, -1, -1, 3264,
3265, -1, -1, -1, 911, -1, -1, -1, -1, -1,
2065, -1, 1998, 920, -1, -1, 2002, 2003, -1, -1,
-1, -1, 2077, -1, -1, -1, -1, 3894, -1, -1,
3295, -1, -1, -1, -1, -1, 3301, 3302, 3303, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 3923, -1, -1, 2114,
-1, -1, 3327, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 604, 4860, 3340, 3943, -1, -1, 2065,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 996,
-1, 2077, -1, -1, 625, 3581, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 3911,
-1, -1, 3914, -1, -1, -1, -1, -1, 2114, -1,
3997, -1, -1, -1, -1, -1, 4922, -1, -1, -1,
-1, -1, -1, -1, 3630, -1, 3938, -1, -1, -1,
-1, -1, -1, -1, -1, 4941, -1, -1, 3950, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 1308, -1, -1, -1, -1, 3968, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 1100, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 2269, -1, -1, -1, -1, -1,
-1, -1, -1, 4015, -1, -1, -1, -1, -1, -1,
-1, -1, 4099, -1, 1371, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1407, -1, -1, -1, -1, -1, -1, 3763, 4145, -1,
-1, -1, -1, 2269, 2339, -1, -1, -1, 3774, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 4125, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1487, -1, -1, 2339, -1, -1, -1, -1, -1, -1,
891, -1, -1, -1, -1, 1502, 3631, 3632, -1, -1,
-1, -1, -1, 1510, -1, -1, -1, -1, -1, -1,
911, -1, -1, -1, 1521, -1, -1, -1, -1, 920,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 1308, 4269, -1, 2459, -1, -1, -1, 3894, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 2480, -1, -1, -1, -1,
-1, 1568, -1, -1, -1, -1, 2491, 3923, 4230, -1,
4232, -1, 3707, -1, 1581, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 3719, -1, 1593, 3943, -1, -1,
-1, -1, -1, -1, 1371, 996, -1, -1, 1605, -1,
-1, -1, -1, 2459, -1, -1, -1, -1, 4270, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 2480, 3760, 3761, -1, -1, -1,
1407, -1, -1, 3768, 3769, 2491, -1, -1, 3773, -1,
-1, 3997, 1649, 3778, -1, 1652, 3781, 3782, 4385, -1,
-1, 3786, -1, -1, 4316, -1, 4318, 3792, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 4413, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 3826, -1, -1, -1, -1, 3831, -1, -1, 1100,
-1, -1, 3837, -1, -1, -1, -1, -1, -1, -1,
1487, -1, -1, -1, 4451, -1, -1, 3852, -1, -1,
-1, -1, -1, -1, -1, 1502, -1, -1, -1, -1,
-1, -1, -1, 1510, -1, -1, -1, -1, -1, -1,
-1, 3876, -1, 4099, 1521, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 4505, -1,
-1, 2696, 4509, 4510, 2699, 1782, 2701, -1, -1, -1,
-1, 2706, -1, -1, -1, -1, -1, -1, -1, 4145,
-1, 1568, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 1581, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 1593, -1, -1, -1,
-1, -1, -1, 3958, -1, -1, -1, -1, 1605, -1,
-1, -1, 2757, -1, -1, -1, -1, 4499, -1, -1,
2696, -1, -1, 2699, -1, 2701, -1, -1, -1, 2774,
2706, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 4598, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 1649, 2798, -1, 1652, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 4032, -1, -1,
-1, 2757, -1, -1, -1, -1, -1, 1308, -1, -1,
-1, -1, -1, 4269, -1, -1, -1, -1, 2774, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 2863, -1,
2865, -1, 2798, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1371, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 1998, -1, -1, -1, 2002, 2003, -1, -1, 2924,
-1, -1, -1, -1, -1, 1782, 1407, 2863, -1, 2865,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 2949, 4687, -1, -1, -1, 4385,
-1, -1, -1, 4168, 4169, -1, -1, 4172, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 2973, -1,
-1, -1, -1, -1, -1, 2980, -1, 4413, 2065, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 2924, -1,
2077, -1, 4207, 4208, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 1487, -1, -1, -1,
-1, -1, -1, 2949, -1, 4451, -1, -1, -1, -1,
4762, 1502, -1, -1, -1, -1, -1, 2114, -1, 1510,
-1, -1, -1, 3038, -1, -1, -1, 2973, -1, -1,
1521, -1, -1, -1, 2980, -1, -1, -1, -1, -1,
-1, 3056, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 3069, -1, -1, -1, -1, 4505,
-1, -1, -1, 4509, 4510, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 1568, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1581, -1, 3038, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 1593, -1, -1, -1, -1, -1, 4860, -1,
3056, -1, -1, -1, 1605, -1, -1, -1, -1, -1,
-1, -1, -1, 3069, -1, -1, -1, -1, -1, -1,
-1, 1998, -1, -1, -1, 2002, 2003, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 4598, -1, -1, -1, -1, 3172, 1649, -1,
-1, 1652, -1, -1, -1, -1, -1, -1, -1, -1,
4922, -1, 2269, -1, -1, -1, -1, -1, -1, 3194,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 4941,
4415, -1, -1, -1, -1, -1, -1, -1, 2065, -1,
-1, -1, -1, -1, -1, 3220, -1, -1, -1, -1,
2077, -1, -1, -1, -1, -1, 4441, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 3172, -1, -1, -1,
-1, 4456, -1, -1, -1, -1, -1, -1, -1, -1,
3255, -1, 2339, -1, -1, -1, -1, 2114, 3194, -1,
4475, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 3220, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 4514,
-1, 1782, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 3255,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 3346, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 4576, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 2459, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 2480, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 2491, -1, -1, -1, -1, -1,
3346, -1, 2269, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 4639, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 3441, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 4664,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 2339, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 3441, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 1998, -1, -1,
-1, 2002, 2003, -1, -1, -1, -1, -1, 4743, 4744,
-1, -1, -1, -1, 1206, -1, -1, -1, -1, 4754,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 3581, -1, -1, -1,
-1, -1, -1, -1, 2065, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 2077, -1, -1, -1,
-1, 1273, 2459, 4818, -1, -1, -1, -1, -1, 2696,
-1, -1, 2699, -1, 2701, -1, -1, -1, -1, 2706,
-1, -1, 4837, 2480, -1, 3630, -1, -1, -1, -1,
-1, -1, -1, 2114, 2491, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 3581, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2757, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 2774, -1, -1,
-1, -1, -1, -1, 3630, -1, -1, -1, -1, -1,
-1, 4916, 4917, -1, -1, -1, -1, -1, -1, -1,
-1, 2798, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 3763, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 3774,
-1, -1, -1, -1, -1, -1, 2863, -1, 2865, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 2269, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 3763, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 2924, 3774, 2696,
-1, -1, 2699, -1, 2701, -1, -1, -1, -1, 2706,
-1, -1, -1, -1, -1, -1, -1, -1, 2339, -1,
-1, -1, 2949, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 2973, -1, -1, 3894,
-1, -1, -1, 2980, -1, -1, -1, -1, -1, -1,
2757, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 2774, 3923, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 3943, -1,
-1, 2798, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 3038, -1, -1, -1, -1, -1, -1, 3894, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 3056,
-1, -1, -1, -1, -1, -1, -1, -1, 2459, -1,
-1, -1, 3069, -1, -1, -1, -1, 3923, -1, -1,
1662, -1, 3997, -1, -1, -1, -1, -1, -1, 2480,
-1, -1, -1, -1, -1, -1, 2863, 3943, 2865, -1,
2491, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 3997, -1, -1, -1, 1737, -1, 2924, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 1751,
-1, -1, -1, 1755, -1, 3172, -1, -1, -1, -1,
-1, -1, 2949, -1, 4099, -1, -1, 1769, 1770, 1771,
-1, -1, 1774, -1, -1, -1, -1, 3194, -1, -1,
-1, -1, -1, -1, -1, -1, 2973, -1, -1, -1,
-1, -1, -1, 2980, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 3220, -1, -1, -1, -1, -1, -1,
4145, -1, -1, -1, -1, 1817, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 4099, -1, -1, -1, -1, 3255, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 3038, -1, 1855, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 3056,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 4145,
-1, -1, 3069, -1, -1, 2696, -1, -1, 2699, -1,
2701, -1, -1, -1, -1, 2706, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 3346,
-1, -1, -1, -1, 4269, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 2757, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 1959, -1, -1,
-1, -1, -1, 2774, -1, -1, -1, -1, -1, 1971,
-1, -1, 1974, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 3172, -1, 2798, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 4269, -1, -1, -1, 3194, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 3441, -1, -1, -1, -1, -1,
-1, -1, -1, 3220, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4385, -1, 2863, -1, 2865, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 3255, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 4413, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 2924, -1, -1, 4451, -1, -1, 4385,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 2949, -1,
-1, -1, -1, -1, -1, -1, -1, 4413, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 3346,
-1, -1, 2973, -1, 3581, -1, -1, -1, -1, 2980,
4505, -1, -1, -1, 4509, 4510, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 4451, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 3630, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 3038, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 4505,
-1, -1, -1, 4509, 4510, 3056, -1, -1, -1, -1,
-1, -1, -1, -1, 3441, -1, -1, -1, 3069, -1,
-1, -1, -1, 4598, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 4598, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 3763, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 3774, -1, -1,
-1, 3172, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 3194, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 3581, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 3220,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 3630, 3255, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 3894, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 2504, -1, -1, -1, 3923, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 2525, -1, 2527, 3943, -1, 2530, 2531,
-1, 2533, -1, 2535, -1, 3346, -1, 2539, -1, -1,
2542, -1, -1, -1, -1, 2547, -1, -1, -1, -1,
-1, 2553, -1, -1, -1, -1, 2558, -1, -1, -1,
-1, -1, -1, -1, 2566, 2567, 2568, 2569, -1, -1,
-1, 2573, 2574, -1, 2576, -1, 3763, -1, -1, -1,
3997, -1, -1, -1, -1, -1, 2588, 3774, 2590, -1,
-1, -1, -1, -1, -1, 2597, 2598, 2599, 2600, 2601,
2602, 2603, 2604, 2605, 2606, 2607, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3441, -1, -1, 2635, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 4099, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 3894, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 4145, -1,
-1, -1, -1, -1, -1, -1, 3923, -1, -1, -1,
-1, -1, -1, 2745, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 3943, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3581, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3997, -1, -1, -1, -1, -1, -1, -1, -1, 3630,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 4269, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 4099, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 3763, -1, -1, -1, -1, -1, 4145, -1,
-1, -1, -1, 3774, -1, -1, -1, -1, 4385, -1,
-1, -1, -1, -1, 2976, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 4413, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 4451, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 4269, 3894, -1, -1, -1, -1, 4505, -1,
-1, -1, 4509, 4510, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 3923, 3115, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 3943, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 3168, -1, -1, -1,
-1, -1, 3174, -1, -1, -1, -1, -1, -1, -1,
-1, 4598, -1, -1, -1, -1, 3997, -1, -1, 3191,
3192, -1, -1, 3195, 3196, 3197, 3198, -1, 4385, 3201,
3202, 3203, 3204, 3205, 3206, 3207, 3208, 3209, 3210, 3211,
3212, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 4413, -1, -1, -1,
-1, -1, 3234, -1, -1, 3237, -1, 3239, -1, -1,
-1, 3243, 3244, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 3258, 3259, 3260, 3261,
-1, 3263, -1, -1, 4451, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 4099, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 3311,
-1, -1, -1, -1, -1, -1, -1, -1, 4505, 3321,
-1, -1, 4509, 4510, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 4145, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 3358, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 4598, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 4269, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 3554, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 4385, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 4413, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4451, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 4505, -1, -1, -1, 4509, 4510,
-1, -1, -1, -1, -1, -1, 3708, -1, -1, -1,
3712, 3713, 3714, 3715, -1, -1, -1, -1, -1, 3721,
3722, 3723, 3724, -1, -1, -1, -1, 3729, 3730, 3731,
3732, 3733, 3734, 3735, 3736, 3737, 3738, 3739, 3740, 3741,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 3767, -1, -1, 3770, -1,
3772, -1, -1, -1, 3776, -1, -1, 3779, 3780, -1,
-1, 3783, 3784, -1, -1, -1, -1, 4598, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 3828, -1, -1, -1,
-1, -1, -1, 3835, 3836, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 3851,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 4035, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 4094, 4095, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 4135, -1, -1, -1, -1, 4140, 4141,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 4155, -1, 4157, -1, -1, -1, -1,
4162, 4163, 4164, -1, -1, 4167, -1, -1, 4170, 4171,
-1, -1, -1, 4175, -1, -1, -1, 4179, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 4234, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 4290, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 4335, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 4411,
4412, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 4427, 4428, 4429, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 4463, 4464, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 4610, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 4626, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 4676, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 4715, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4772, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 4821,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 3, 4,
5, 6, 7, 8, 9, 10, -1, -1, -1, -1,
-1, -1, -1, 18, 19, 20, 21, 22, 23, 24,
25, 26, 27, 28, 29, -1, -1, 4889, -1, 34,
-1, -1, 37, 38, -1, 40, 41, 42, 43, 44,
45, 46, 47, 48, 49, 50, -1, 52, 53, 54,
55, 56, 57, 58, 59, 60, 61, 62, 63, -1,
65, 66, 67, 68, 69, -1, 71, 4929, 73, 74,
75, 76, 77, 78, 79, 80, -1, 82, 83, 84,
85, 86, 87, -1, 89, 90, 91, 92, 93, 94,
95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
105, 106, 107, 108, -1, 110, -1, 112, 113, 114,
115, 116, -1, 118, 119, 120, 121, -1, 123, 124,
125, 126, 127, -1, 129, 130, 131, -1, 133, 134,
135, -1, 137, 138, 139, 140, 141, 142, 143, 144,
145, 146, 147, -1, 149, 150, 151, 152, -1, 154,
-1, 156, 157, -1, 159, 160, 161, 162, -1, 164,
165, -1, 167, 168, -1, 170, 171, 172, 173, 174,
175, 176, 177, 178, 179, -1, 181, 182, 183, 184,
185, 186, -1, 188, 189, 190, 191, 192, 193, 194,
195, 196, -1, 198, -1, 200, 201, 202, 203, 204,
205, 206, 207, 208, 209, -1, -1, 212, 213, 214,
215, 216, -1, 218, 219, 220, 221, 222, 223, 224,
225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
255, -1, 257, -1, -1, 260, 261, 262, -1, -1,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, 277, -1, 279, 280, 281, 282, 283, 284,
285, 286, -1, 288, 289, 290, 291, 292, 293, 294,
295, 296, 297, 298, 299, 300, -1, 302, 303, 304,
305, 306, 307, 308, 309, 310, 311, 312, -1, 314,
315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
325, 326, 327, 328, -1, 330, 331, 332, 333, 334,
335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
345, -1, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, -1, 360, 361, -1, 363, 364,
365, 366, 367, 368, 369, -1, 371, 372, -1, -1,
375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
385, 386, 387, -1, 389, 390, 391, 392, 393, 394,
395, -1, 397, 398, 399, 400, 401, 402, 403, 404,
405, 406, 407, 408, 409, 410, -1, -1, 413, -1,
-1, 416, 417, 418, 419, 420, 421, 422, 423, 424,
425, 426, 427, 428, 429, 430, 431, 432, 433, 434,
-1, -1, -1, -1, -1, -1, 441, 442, 443, -1,
-1, -1, 447, -1, -1, -1, 451, 452, 3, 4,
5, 6, 7, 8, 9, 10, -1, -1, -1, -1,
-1, -1, -1, 18, 19, 20, 21, 22, 23, 24,
25, -1, 27, 28, 29, -1, -1, -1, -1, 34,
-1, -1, 37, 38, -1, 40, 41, 42, 43, 44,
45, 46, 47, 48, 49, 50, -1, 52, 53, 54,
55, 56, 57, 58, 59, 60, 61, 62, 63, -1,
65, 66, 67, 68, 69, -1, 71, -1, 73, 74,
75, 76, 77, 78, 79, 80, -1, 82, 83, 84,
85, 86, 87, -1, 89, 90, 91, 92, 93, 94,
95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
105, 106, 107, 108, -1, 110, -1, 112, 113, 114,
115, 116, -1, 118, 119, 120, -1, -1, 123, 124,
125, 126, 127, -1, 129, 130, 131, -1, 133, 134,
135, -1, 137, 138, 139, 140, 141, 142, 143, 144,
145, 146, 147, -1, 149, 150, 151, 152, -1, 154,
-1, 156, 157, -1, 159, 160, 161, 162, -1, 164,
165, -1, 167, 168, -1, 170, 171, 172, 173, 174,
175, 176, 177, 178, 179, -1, 181, 182, 183, 184,
185, 186, -1, 188, 189, 190, 191, 192, 193, 194,
195, 196, -1, 198, -1, 200, 201, 202, 203, 204,
205, 206, 207, 208, 209, -1, -1, 212, 213, 214,
215, 216, -1, 218, 219, 220, 221, 222, 223, 224,
225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
255, -1, 257, -1, -1, 260, 261, 262, -1, -1,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, 277, -1, 279, 280, 281, 282, 283, 284,
285, 286, -1, 288, 289, 290, 291, 292, 293, 294,
295, 296, 297, 298, 299, 300, -1, 302, 303, 304,
305, 306, 307, 308, 309, 310, 311, 312, -1, 314,
315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
345, -1, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, -1, 360, 361, 362, 363, 364,
365, 366, 367, 368, 369, -1, 371, 372, -1, -1,
375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
385, 386, 387, -1, 389, 390, 391, 392, 393, 394,
395, -1, 397, 398, 399, 400, 401, 402, 403, -1,
405, 406, 407, 408, 409, 410, -1, -1, 413, -1,
415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
425, 426, 427, 428, 429, 430, 431, 432, 433, 434,
-1, 436, -1, -1, -1, -1, 441, 442, -1, -1,
-1, -1, 447, -1, -1, -1, 451, 452, 3, 4,
5, 6, 7, 8, 9, 10, -1, -1, -1, -1,
-1, -1, -1, 18, 19, 20, 21, 22, 23, 24,
25, -1, 27, 28, 29, -1, -1, -1, -1, 34,
-1, -1, 37, 38, -1, 40, 41, 42, 43, 44,
45, 46, 47, 48, 49, 50, -1, 52, 53, 54,
55, 56, 57, 58, 59, 60, 61, 62, 63, -1,
65, 66, 67, 68, 69, -1, 71, -1, 73, 74,
75, 76, 77, 78, 79, 80, -1, 82, 83, 84,
85, 86, 87, -1, 89, 90, 91, 92, 93, 94,
95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
105, 106, 107, 108, -1, 110, -1, 112, 113, 114,
115, 116, -1, 118, 119, 120, -1, -1, 123, 124,
125, 126, 127, -1, 129, 130, 131, -1, 133, 134,
135, -1, 137, 138, 139, 140, 141, 142, 143, 144,
145, 146, 147, -1, 149, 150, 151, 152, -1, 154,
-1, 156, 157, -1, 159, 160, 161, 162, -1, 164,
165, -1, 167, 168, -1, 170, 171, 172, 173, 174,
175, 176, 177, 178, 179, -1, 181, 182, 183, 184,
185, 186, -1, 188, 189, 190, 191, 192, 193, 194,
195, 196, -1, 198, -1, 200, 201, 202, 203, 204,
205, 206, 207, 208, 209, -1, -1, 212, 213, 214,
215, 216, -1, 218, 219, 220, 221, 222, 223, 224,
225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
255, -1, 257, -1, -1, 260, 261, 262, -1, -1,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, 277, -1, 279, 280, 281, 282, 283, 284,
285, 286, -1, 288, 289, 290, 291, 292, 293, 294,
295, 296, 297, 298, 299, 300, -1, 302, 303, 304,
305, 306, 307, 308, 309, 310, 311, 312, -1, 314,
315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
325, 326, 327, 328, -1, 330, 331, 332, 333, 334,
335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
345, -1, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, -1, 360, 361, -1, 363, 364,
365, 366, 367, 368, 369, -1, 371, 372, -1, -1,
375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
385, 386, 387, -1, 389, 390, 391, 392, 393, 394,
395, -1, 397, 398, 399, 400, 401, 402, 403, -1,
405, 406, 407, 408, 409, 410, -1, -1, 413, -1,
-1, 416, 417, 418, 419, 420, 421, 422, 423, 424,
425, 426, 427, 428, 429, 430, 431, 432, 433, 434,
-1, -1, -1, -1, -1, -1, 441, 442, -1, -1,
-1, -1, 447, -1, -1, -1, 451, 452, 3, 4,
5, 6, 7, 8, 9, 10, -1, -1, -1, -1,
-1, -1, -1, 18, 19, 20, 21, 22, 23, 24,
25, -1, 27, 28, 29, -1, -1, -1, -1, 34,
-1, -1, 37, 38, -1, 40, 41, 42, 43, 44,
45, 46, 47, 48, 49, 50, -1, 52, 53, 54,
55, 56, 57, 58, 59, 60, 61, 62, 63, -1,
65, 66, 67, 68, 69, -1, 71, -1, 73, 74,
75, 76, 77, 78, 79, 80, -1, 82, 83, 84,
85, 86, 87, -1, 89, 90, 91, 92, 93, 94,
95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
105, 106, 107, 108, -1, 110, -1, 112, 113, 114,
115, 116, -1, 118, 119, 120, -1, -1, 123, 124,
125, 126, 127, -1, 129, 130, 131, -1, 133, 134,
135, -1, 137, 138, 139, 140, 141, 142, 143, 144,
145, 146, 147, -1, 149, 150, 151, 152, -1, 154,
-1, 156, 157, -1, 159, 160, 161, 162, -1, 164,
165, -1, 167, 168, -1, 170, 171, 172, 173, 174,
175, 176, 177, 178, 179, -1, 181, 182, 183, 184,
185, 186, -1, 188, 189, 190, 191, 192, 193, 194,
195, 196, -1, 198, -1, 200, 201, 202, 203, 204,
205, 206, 207, 208, 209, -1, -1, 212, 213, 214,
215, 216, -1, 218, 219, 220, 221, 222, 223, 224,
225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
255, -1, 257, -1, -1, 260, 261, 262, -1, -1,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, 277, -1, 279, 280, 281, 282, 283, 284,
285, 286, -1, 288, 289, 290, 291, 292, 293, 294,
295, 296, 297, 298, 299, 300, -1, 302, 303, 304,
305, 306, 307, 308, 309, 310, 311, 312, -1, 314,
315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
325, 326, 327, 328, -1, 330, 331, 332, 333, 334,
335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
345, -1, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, -1, 360, 361, -1, 363, 364,
365, 366, 367, 368, 369, -1, 371, 372, -1, -1,
375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
385, 386, 387, -1, 389, 390, 391, 392, 393, 394,
395, -1, 397, 398, 399, 400, 401, 402, 403, -1,
405, 406, 407, 408, 409, 410, -1, -1, 413, -1,
-1, 416, 417, 418, 419, 420, 421, 422, 423, 424,
425, 426, 427, 428, 429, 430, 431, 432, 433, 434,
-1, -1, -1, -1, -1, -1, 441, 442, -1, -1,
-1, -1, 447, -1, -1, -1, 451, 452, 3, 4,
5, 6, 7, 8, 9, 10, -1, -1, -1, -1,
-1, -1, -1, 18, 19, 20, 21, 22, 23, 24,
25, -1, 27, 28, 29, -1, -1, -1, -1, 34,
-1, -1, 37, 38, -1, 40, 41, 42, 43, 44,
45, 46, 47, 48, 49, 50, -1, 52, 53, 54,
55, 56, 57, 58, 59, 60, 61, 62, 63, -1,
65, 66, 67, 68, 69, -1, 71, -1, 73, 74,
75, 76, 77, 78, 79, 80, -1, 82, 83, 84,
85, 86, 87, -1, 89, 90, 91, 92, 93, 94,
95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
105, 106, 107, 108, -1, 110, -1, 112, 113, 114,
115, 116, -1, 118, 119, 120, -1, -1, 123, 124,
125, 126, 127, -1, 129, 130, 131, -1, 133, 134,
135, -1, 137, 138, 139, 140, 141, 142, 143, 144,
145, 146, 147, -1, 149, 150, 151, 152, -1, 154,
-1, 156, 157, -1, 159, 160, 161, 162, -1, 164,
165, -1, 167, 168, -1, 170, 171, 172, 173, 174,
175, 176, 177, 178, 179, -1, 181, 182, 183, 184,
185, 186, -1, 188, 189, 190, 191, 192, 193, 194,
195, 196, -1, 198, -1, 200, 201, 202, 203, 204,
205, 206, 207, 208, 209, -1, -1, 212, 213, 214,
215, 216, -1, 218, 219, 220, 221, 222, 223, 224,
225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
255, -1, 257, -1, -1, 260, 261, 262, -1, -1,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, 277, -1, 279, 280, 281, 282, 283, 284,
285, 286, -1, 288, 289, 290, 291, 292, 293, 294,
295, 296, 297, 298, 299, 300, -1, 302, 303, 304,
305, 306, 307, 308, 309, 310, 311, 312, -1, 314,
315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
325, 326, 327, 328, -1, 330, 331, 332, 333, 334,
335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
345, -1, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, -1, 360, 361, -1, 363, 364,
365, 366, 367, 368, 369, -1, 371, 372, -1, -1,
375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
385, 386, 387, -1, 389, 390, 391, 392, 393, 394,
395, -1, 397, 398, 399, 400, 401, 402, 403, -1,
405, 406, 407, 408, 409, 410, -1, -1, 413, -1,
-1, 416, 417, 418, 419, 420, 421, 422, 423, 424,
425, 426, 427, 428, 429, 430, 431, 432, 433, 434,
-1, -1, -1, 3, -1, -1, 441, 442, -1, -1,
-1, -1, 447, -1, -1, -1, 451, 452, 18, 19,
20, 21, 22, 23, 24, 25, -1, 27, 28, 29,
-1, -1, -1, -1, -1, 35, -1, 37, 38, -1,
40, 41, -1, 43, 44, 45, 46, 47, -1, 49,
50, -1, 52, 53, 54, 55, 56, -1, -1, 59,
60, 61, 62, 63, -1, 65, 66, 67, 68, 69,
-1, -1, -1, 73, 74, 75, 76, -1, 78, 79,
80, -1, 82, 83, 84, 85, 86, 87, -1, 89,
90, 91, 92, -1, -1, -1, -1, -1, -1, -1,
100, 101, 102, 103, 104, 105, 106, 107, 108, -1,
110, -1, 112, 113, 114, 115, 116, -1, 118, 119,
120, -1, -1, 123, 124, 125, 126, 127, -1, 129,
130, 131, -1, 133, 134, 135, -1, 137, 138, 139,
140, 141, 142, 143, 144, 145, -1, 147, -1, 149,
150, 151, 152, -1, 154, -1, 156, -1, -1, 159,
160, 161, 162, -1, 164, 165, -1, 167, 168, -1,
170, 171, 172, 173, 174, -1, 176, 177, 178, 179,
-1, 181, 182, 183, 184, 185, 186, -1, 188, 189,
190, 191, 192, 193, 194, 195, 196, -1, 198, -1,
200, -1, -1, 203, 204, 205, 206, 207, 208, 209,
-1, -1, 212, 213, 214, 215, -1, -1, 218, 219,
220, -1, -1, 223, 224, 225, 226, 227, 228, 229,
230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
240, 241, 242, 243, -1, 245, 246, -1, 248, -1,
250, 251, 252, 253, 254, 255, -1, 257, -1, -1,
260, 261, 262, -1, -1, 265, 266, -1, 268, -1,
270, 271, 272, 273, 274, 275, 276, 277, -1, 279,
280, 281, 282, 283, 284, 285, 286, -1, 288, 289,
290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
300, -1, 302, 303, 304, 305, 306, 307, 308, 309,
310, 311, 312, -1, 314, 315, 316, 317, 318, 319,
320, 321, 322, 323, 324, 325, 326, 327, 328, -1,
330, 331, 332, 333, 334, -1, 336, 337, 338, 339,
340, -1, 342, 343, 344, 345, -1, 347, 348, 349,
350, 351, 352, 353, 354, 355, 356, 357, 358, -1,
360, 361, -1, 363, -1, 365, 366, 367, 368, 369,
-1, 371, 372, -1, -1, 375, 376, 377, 378, 379,
-1, 381, 382, 383, 384, 385, 386, 387, -1, -1,
390, 391, 392, 393, 394, -1, -1, 397, 398, 399,
400, 401, 402, 403, -1, 405, -1, 407, 408, 409,
410, -1, -1, 413, -1, -1, 416, 417, 418, 419,
420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
430, 431, 432, 433, -1, -1, -1, -1, 3, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 452, 18, 19, 20, 21, 22, 23, 24,
25, -1, 27, 28, 29, -1, -1, -1, -1, -1,
-1, -1, 37, 38, -1, 40, 41, 42, 43, 44,
45, -1, 47, 48, 49, 50, -1, 52, 53, 54,
55, 56, -1, -1, 59, 60, 61, 62, 63, -1,
65, 66, 67, 68, -1, -1, 71, -1, 73, 74,
75, 76, 77, 78, 79, 80, -1, 82, 83, 84,
85, 86, 87, -1, 89, 90, 91, 92, -1, -1,
-1, 96, -1, -1, -1, 100, 101, 102, 103, 104,
105, 106, 107, 108, -1, 110, -1, 112, 113, 114,
115, 116, -1, 118, 119, 120, -1, -1, 123, 124,
125, 126, 127, -1, 129, 130, 131, -1, 133, 134,
135, -1, 137, 138, 139, 140, -1, 142, 143, 144,
-1, -1, 147, -1, 149, 150, 151, 152, -1, 154,
-1, 156, 157, -1, 159, 160, 161, 162, -1, 164,
-1, -1, -1, 168, -1, 170, 171, 172, 173, 174,
175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
185, 186, -1, 188, 189, 190, 191, 192, 193, 194,
195, 196, -1, 198, -1, 200, 201, 202, 203, 204,
205, 206, 207, 208, 209, -1, -1, 212, -1, 214,
215, 216, -1, 218, 219, 220, -1, -1, 223, 224,
225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 242, -1, -1,
245, 246, 247, 248, -1, -1, 251, 252, 253, 254,
255, -1, 257, -1, -1, 260, 261, 262, -1, -1,
265, 266, 267, 268, 269, -1, 271, 272, 273, 274,
275, 276, 277, -1, 279, 280, -1, 282, -1, 284,
285, 286, -1, 288, 289, 290, 291, 292, 293, 294,
295, 296, 297, 298, 299, 300, -1, 302, 303, 304,
305, 306, 307, 308, 309, 310, 311, 312, -1, 314,
315, 316, 317, 318, 319, -1, 321, 322, 323, 324,
325, 326, 327, 328, -1, 330, 331, 332, 333, 334,
-1, 336, 337, 338, 339, 340, 341, 342, 343, 344,
345, -1, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, -1, -1, 360, 361, -1, 363, 364,
365, 366, 367, 368, 369, -1, 371, 372, -1, -1,
375, 376, -1, 378, -1, -1, 381, 382, 383, 384,
385, 386, 387, -1, -1, 390, 391, 392, 393, 394,
-1, -1, 397, 398, 399, 400, 401, -1, 403, 404,
405, 406, 407, 408, 409, 410, -1, -1, 413, -1,
-1, 416, 417, 418, 419, 420, 421, 3, -1, -1,
-1, -1, -1, -1, -1, -1, 431, 432, 433, -1,
-1, -1, 18, 19, 20, 21, 22, 23, 24, 25,
-1, 27, 28, 29, -1, -1, -1, 452, -1, -1,
-1, 37, 38, -1, 40, 41, 42, 43, 44, 45,
-1, 47, 48, 49, 50, -1, 52, 53, 54, 55,
56, -1, -1, 59, 60, 61, 62, 63, -1, 65,
66, 67, 68, -1, -1, 71, -1, 73, 74, 75,
76, 77, 78, 79, 80, -1, 82, 83, 84, 85,
86, 87, -1, 89, 90, 91, 92, -1, -1, -1,
96, -1, -1, -1, 100, 101, 102, 103, 104, 105,
106, 107, 108, -1, 110, -1, 112, 113, 114, 115,
116, -1, 118, 119, 120, -1, -1, 123, 124, 125,
126, 127, -1, 129, 130, 131, -1, 133, 134, 135,
-1, 137, 138, 139, 140, -1, 142, 143, 144, -1,
-1, 147, -1, 149, 150, 151, 152, -1, 154, -1,
156, 157, -1, 159, 160, 161, 162, -1, 164, -1,
-1, -1, 168, -1, 170, 171, 172, 173, 174, 175,
176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
186, -1, 188, 189, 190, 191, 192, 193, 194, 195,
196, -1, 198, -1, 200, 201, 202, 203, 204, 205,
206, 207, 208, 209, -1, -1, 212, -1, 214, 215,
216, -1, 218, 219, 220, -1, -1, 223, 224, 225,
226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
236, 237, 238, 239, 240, 241, 242, -1, -1, 245,
246, 247, 248, -1, -1, 251, 252, 253, 254, 255,
-1, 257, -1, -1, 260, 261, 262, -1, -1, 265,
266, 267, 268, 269, -1, 271, 272, 273, 274, 275,
276, 277, -1, 279, 280, -1, 282, -1, 284, 285,
286, -1, 288, 289, 290, 291, 292, 293, 294, 295,
296, 297, 298, 299, 300, -1, 302, 303, 304, 305,
306, 307, 308, 309, 310, 311, 312, -1, 314, 315,
316, 317, 318, 319, -1, 321, 322, 323, 324, 325,
326, 327, 328, -1, 330, 331, 332, 333, 334, -1,
336, 337, 338, 339, 340, 341, 342, 343, 344, 345,
-1, 347, 348, 349, 350, 351, 352, 353, 354, 355,
356, 357, -1, -1, 360, 361, -1, 363, 364, 365,
366, 367, 368, 369, -1, 371, 372, -1, -1, 375,
376, -1, 378, -1, -1, 381, 382, 383, 384, 385,
386, 387, -1, -1, 390, 391, 392, 393, 394, -1,
-1, 397, 398, 399, 400, 401, -1, 403, 404, 405,
406, 407, 408, 409, 410, -1, -1, 413, -1, -1,
416, 417, 418, 419, 420, 421, 3, 4, 5, 6,
7, 8, 9, 10, -1, 431, 432, 433, -1, -1,
-1, 18, 19, 20, 21, 22, 23, 24, 25, -1,
27, 28, 29, -1, -1, -1, 452, 34, -1, -1,
37, 38, -1, 40, 41, 42, 43, 44, 45, 46,
47, 48, 49, 50, -1, 52, 53, 54, 55, 56,
57, 58, 59, 60, 61, 62, 63, -1, 65, 66,
67, 68, 69, -1, 71, -1, 73, 74, 75, 76,
77, 78, 79, 80, -1, 82, 83, 84, 85, 86,
87, -1, 89, 90, 91, 92, 93, 94, 95, 96,
97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
107, 108, 109, 110, -1, 112, 113, 114, 115, 116,
-1, 118, 119, 120, -1, -1, 123, 124, 125, 126,
127, -1, 129, 130, 131, -1, 133, 134, 135, -1,
137, 138, 139, 140, 141, 142, 143, 144, 145, 146,
147, -1, 149, 150, 151, 152, -1, 154, -1, 156,
157, -1, 159, 160, 161, 162, -1, 164, 165, -1,
167, 168, -1, 170, 171, 172, 173, 174, 175, 176,
177, 178, 179, -1, 181, 182, 183, 184, 185, 186,
-1, 188, 189, 190, 191, 192, 193, 194, 195, 196,
-1, 198, -1, 200, 201, 202, 203, 204, 205, 206,
207, 208, 209, -1, -1, 212, 213, 214, 215, 216,
-1, 218, 219, 220, 221, 222, 223, 224, 225, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 252, 253, 254, 255, -1,
257, -1, -1, 260, 261, 262, -1, -1, 265, 266,
267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
277, -1, 279, 280, 281, 282, 283, 284, 285, 286,
-1, 288, 289, 290, 291, 292, 293, 294, 295, 296,
297, 298, 299, 300, -1, 302, 303, 304, 305, 306,
307, 308, 309, 310, 311, 312, -1, 314, 315, 316,
317, 318, 319, 320, 321, 322, 323, 324, 325, 326,
327, 328, 329, 330, 331, 332, 333, 334, 335, 336,
337, 338, 339, 340, 341, 342, 343, 344, 345, -1,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, -1, 360, 361, 362, 363, 364, 365, 366,
367, 368, 369, -1, 371, 372, -1, -1, 375, 376,
377, 378, 379, 380, 381, 382, 383, 384, 385, 386,
387, -1, 389, 390, 391, 392, 393, 394, 395, -1,
397, 398, 399, 400, 401, 402, 403, -1, 405, 406,
407, 408, 409, 410, -1, -1, 413, -1, 415, 416,
417, 418, 419, 420, 421, 422, 423, 424, 425, 426,
427, 428, 429, 430, 431, 432, 433, 434, -1, 436,
-1, -1, -1, -1, 441, 442, -1, -1, -1, -1,
447, -1, -1, -1, 451, 3, 4, 5, 6, 7,
8, 9, 10, -1, -1, -1, -1, -1, -1, -1,
18, 19, 20, 21, 22, 23, 24, 25, -1, 27,
28, 29, -1, -1, -1, -1, 34, -1, -1, 37,
38, -1, 40, 41, 42, 43, 44, 45, 46, 47,
48, 49, 50, -1, 52, 53, 54, 55, 56, 57,
58, 59, 60, 61, 62, 63, -1, 65, 66, 67,
68, 69, -1, 71, -1, 73, 74, 75, 76, 77,
78, 79, 80, -1, 82, 83, 84, 85, 86, 87,
-1, 89, 90, 91, 92, 93, 94, 95, 96, 97,
98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
108, -1, 110, -1, 112, 113, 114, 115, 116, -1,
118, 119, 120, -1, -1, 123, 124, 125, 126, 127,
-1, 129, 130, 131, -1, 133, 134, 135, -1, 137,
138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
-1, 149, 150, 151, 152, -1, 154, -1, 156, 157,
-1, 159, 160, 161, 162, -1, 164, 165, -1, 167,
168, -1, 170, 171, 172, 173, 174, 175, 176, 177,
178, 179, -1, 181, 182, 183, 184, 185, 186, -1,
188, 189, 190, 191, 192, 193, 194, 195, 196, -1,
198, -1, 200, 201, 202, 203, 204, 205, 206, 207,
208, 209, -1, -1, 212, 213, 214, 215, 216, -1,
218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
248, 249, 250, 251, 252, 253, 254, 255, -1, 257,
-1, -1, 260, 261, 262, -1, -1, 265, 266, 267,
268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
-1, 279, 280, 281, 282, 283, 284, 285, 286, -1,
288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
298, 299, 300, -1, 302, 303, 304, 305, 306, 307,
308, 309, 310, 311, 312, -1, 314, 315, 316, 317,
318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
328, 329, 330, 331, 332, 333, 334, 335, 336, 337,
338, 339, 340, 341, 342, 343, 344, 345, -1, 347,
348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
358, -1, 360, 361, 362, 363, 364, 365, 366, 367,
368, 369, -1, 371, 372, -1, -1, 375, 376, 377,
378, 379, 380, 381, 382, 383, 384, 385, 386, 387,
-1, 389, 390, 391, 392, 393, 394, 395, -1, 397,
398, 399, 400, 401, 402, 403, -1, 405, 406, 407,
408, 409, 410, -1, -1, 413, -1, 415, 416, 417,
418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
428, 429, 430, 431, 432, 433, 434, -1, 436, -1,
-1, -1, -1, 441, 442, -1, -1, -1, -1, 447,
-1, -1, -1, 451, 3, 4, 5, 6, 7, 8,
9, 10, -1, -1, -1, -1, -1, -1, -1, 18,
19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
29, -1, -1, -1, -1, 34, -1, -1, 37, 38,
-1, 40, 41, 42, 43, 44, 45, 46, 47, 48,
49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
59, 60, 61, 62, 63, -1, 65, 66, 67, 68,
69, -1, 71, -1, 73, 74, 75, 76, 77, 78,
79, 80, -1, 82, 83, 84, 85, 86, 87, -1,
89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
-1, 110, -1, 112, 113, 114, 115, 116, -1, 118,
119, 120, -1, -1, 123, 124, 125, 126, 127, -1,
129, 130, 131, -1, 133, 134, 135, -1, 137, 138,
139, 140, 141, 142, 143, 144, 145, 146, 147, -1,
149, 150, 151, 152, -1, 154, -1, 156, 157, 158,
159, 160, 161, 162, -1, 164, 165, -1, 167, 168,
-1, 170, 171, 172, 173, 174, 175, 176, 177, 178,
179, -1, 181, 182, 183, 184, 185, 186, -1, 188,
189, 190, 191, 192, 193, 194, 195, 196, -1, 198,
-1, 200, 201, 202, 203, 204, 205, 206, 207, 208,
209, -1, 211, 212, 213, 214, 215, 216, -1, 218,
219, 220, 221, 222, 223, 224, 225, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, 254, 255, -1, 257, -1,
-1, 260, 261, 262, -1, -1, 265, 266, 267, 268,
269, 270, 271, 272, 273, 274, 275, 276, 277, -1,
279, 280, 281, 282, 283, 284, 285, 286, -1, 288,
289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, -1, 314, 315, 316, 317, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
-1, 330, 331, 332, 333, 334, 335, 336, 337, 338,
339, 340, 341, 342, 343, 344, 345, -1, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
-1, 360, 361, -1, 363, 364, 365, 366, 367, 368,
369, -1, 371, 372, -1, 374, 375, 376, 377, 378,
379, 380, 381, 382, 383, 384, 385, 386, 387, -1,
389, 390, 391, 392, 393, 394, 395, -1, 397, 398,
399, 400, 401, 402, 403, -1, 405, 406, 407, 408,
409, 410, -1, -1, 413, -1, -1, 416, 417, 418,
419, 420, 421, 422, 423, 424, 425, 426, 427, 428,
429, 430, 431, 432, 433, 434, -1, -1, -1, -1,
-1, -1, 441, 442, -1, -1, -1, -1, 447, -1,
-1, -1, 451, 3, 4, 5, 6, 7, 8, 9,
10, -1, -1, -1, -1, -1, -1, -1, 18, 19,
20, 21, 22, 23, 24, 25, -1, 27, 28, 29,
-1, -1, -1, -1, 34, -1, -1, 37, 38, -1,
40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
50, -1, 52, 53, 54, 55, 56, 57, 58, 59,
60, 61, 62, 63, -1, 65, 66, 67, 68, 69,
-1, 71, -1, 73, 74, 75, 76, 77, 78, 79,
80, -1, 82, 83, 84, 85, 86, 87, -1, 89,
90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
100, 101, 102, 103, 104, 105, 106, 107, 108, -1,
110, -1, 112, 113, 114, 115, 116, -1, 118, 119,
120, -1, -1, 123, 124, 125, 126, 127, -1, 129,
130, 131, -1, 133, 134, 135, -1, 137, 138, 139,
140, 141, 142, 143, 144, 145, 146, 147, -1, 149,
150, 151, 152, -1, 154, -1, 156, 157, -1, 159,
160, 161, 162, -1, 164, 165, -1, 167, 168, -1,
170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
-1, 181, 182, 183, 184, 185, 186, -1, 188, 189,
190, 191, 192, 193, 194, 195, 196, -1, 198, -1,
200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
-1, -1, 212, 213, 214, 215, 216, -1, 218, 219,
220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
250, 251, 252, 253, 254, 255, -1, 257, -1, -1,
260, 261, 262, -1, -1, 265, 266, 267, 268, 269,
270, 271, 272, 273, 274, 275, 276, 277, -1, 279,
280, 281, 282, 283, 284, 285, 286, -1, 288, 289,
290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
300, -1, 302, 303, 304, 305, 306, 307, 308, 309,
310, 311, 312, -1, 314, 315, 316, 317, 318, 319,
320, 321, 322, 323, 324, 325, 326, 327, 328, -1,
330, 331, 332, 333, 334, 335, 336, 337, 338, 339,
340, 341, 342, 343, 344, 345, -1, 347, 348, 349,
350, 351, 352, 353, 354, 355, 356, 357, 358, -1,
360, 361, -1, 363, 364, 365, 366, 367, 368, 369,
-1, 371, 372, -1, -1, 375, 376, 377, 378, 379,
380, 381, 382, 383, 384, 385, 386, 387, -1, 389,
390, 391, 392, 393, 394, 395, -1, 397, 398, 399,
400, 401, 402, 403, -1, 405, 406, 407, 408, 409,
410, -1, -1, 413, -1, -1, 416, 417, 418, 419,
420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
430, 431, 432, 433, 434, -1, -1, -1, -1, -1,
-1, 441, 442, -1, -1, -1, -1, 447, -1, 449,
450, 451, 3, 4, 5, 6, 7, 8, 9, 10,
-1, -1, -1, -1, -1, -1, -1, 18, 19, 20,
21, 22, 23, 24, 25, -1, 27, 28, 29, -1,
-1, -1, -1, 34, -1, -1, 37, 38, -1, 40,
41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
-1, 52, 53, 54, 55, 56, 57, 58, 59, 60,
61, 62, 63, -1, 65, 66, 67, 68, 69, -1,
71, -1, 73, 74, 75, 76, 77, 78, 79, 80,
-1, 82, 83, 84, 85, 86, 87, -1, 89, 90,
91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
101, 102, 103, 104, 105, 106, 107, 108, -1, 110,
-1, 112, 113, 114, 115, 116, -1, 118, 119, 120,
-1, -1, 123, 124, 125, 126, 127, -1, 129, 130,
131, -1, 133, 134, 135, -1, 137, 138, 139, 140,
141, 142, 143, 144, 145, 146, 147, -1, 149, 150,
151, 152, -1, 154, -1, 156, 157, -1, 159, 160,
161, 162, -1, 164, 165, -1, 167, 168, -1, 170,
171, 172, 173, 174, 175, 176, 177, 178, 179, -1,
181, 182, 183, 184, 185, 186, -1, 188, 189, 190,
191, 192, 193, 194, 195, 196, -1, 198, -1, 200,
201, 202, 203, 204, 205, 206, 207, 208, 209, -1,
-1, 212, 213, 214, 215, 216, -1, 218, 219, 220,
221, 222, 223, 224, 225, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
251, 252, 253, 254, 255, -1, 257, -1, -1, 260,
261, 262, -1, -1, 265, 266, 267, 268, 269, 270,
271, 272, 273, 274, 275, 276, 277, -1, 279, 280,
281, 282, 283, 284, 285, 286, -1, 288, 289, 290,
291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
-1, 302, 303, 304, 305, 306, 307, 308, 309, 310,
311, 312, -1, 314, 315, 316, 317, 318, 319, 320,
321, 322, 323, 324, 325, 326, 327, 328, -1, 330,
331, 332, 333, 334, 335, 336, 337, 338, 339, 340,
341, 342, 343, 344, 345, -1, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, -1, 360,
361, -1, 363, 364, 365, 366, 367, 368, 369, -1,
371, 372, -1, -1, 375, 376, 377, 378, 379, 380,
381, 382, 383, 384, 385, 386, 387, -1, 389, 390,
391, 392, 393, 394, 395, -1, 397, 398, 399, 400,
401, 402, 403, -1, 405, 406, 407, 408, 409, 410,
-1, -1, 413, -1, -1, 416, 417, 418, 419, 420,
421, 422, 423, 424, 425, 426, 427, 428, 429, 430,
431, 432, 433, 434, -1, -1, -1, -1, -1, -1,
441, 442, 443, -1, -1, -1, 447, -1, -1, -1,
451, 3, 4, 5, 6, 7, 8, 9, 10, -1,
-1, -1, -1, -1, -1, -1, 18, 19, 20, 21,
22, 23, 24, 25, -1, 27, 28, 29, -1, -1,
-1, -1, 34, -1, -1, 37, 38, -1, 40, 41,
42, 43, 44, 45, 46, 47, 48, 49, 50, -1,
52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
62, 63, -1, 65, 66, 67, 68, 69, -1, 71,
-1, 73, 74, 75, 76, 77, 78, 79, 80, -1,
82, 83, 84, 85, 86, 87, -1, 89, 90, 91,
92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
102, 103, 104, 105, 106, 107, 108, 109, 110, -1,
112, 113, 114, 115, 116, -1, 118, 119, 120, -1,
-1, 123, 124, 125, 126, 127, -1, 129, 130, 131,
-1, 133, 134, 135, -1, 137, 138, 139, 140, 141,
142, 143, 144, 145, 146, 147, -1, 149, 150, 151,
152, -1, 154, -1, 156, 157, -1, 159, 160, 161,
162, -1, 164, 165, -1, 167, 168, -1, 170, 171,
172, 173, 174, 175, 176, 177, 178, 179, -1, 181,
182, 183, 184, 185, 186, -1, 188, 189, 190, 191,
192, 193, 194, 195, 196, -1, 198, -1, 200, 201,
202, 203, 204, 205, 206, 207, 208, 209, -1, -1,
212, 213, 214, 215, 216, -1, 218, 219, 220, 221,
222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
252, 253, 254, 255, -1, 257, -1, -1, 260, 261,
262, -1, -1, 265, 266, 267, 268, 269, 270, 271,
272, 273, 274, 275, 276, 277, -1, 279, 280, 281,
282, 283, 284, 285, 286, -1, 288, 289, 290, 291,
292, 293, 294, 295, 296, 297, 298, 299, 300, -1,
302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
312, -1, 314, 315, 316, 317, 318, 319, 320, 321,
322, 323, 324, 325, 326, 327, 328, -1, 330, 331,
332, 333, 334, 335, 336, 337, 338, 339, 340, 341,
342, 343, 344, 345, -1, 347, 348, 349, 350, 351,
352, 353, 354, 355, 356, 357, 358, -1, 360, 361,
-1, 363, 364, 365, 366, 367, 368, 369, -1, 371,
372, -1, -1, 375, 376, 377, 378, 379, 380, 381,
382, 383, 384, 385, 386, 387, -1, 389, 390, 391,
392, 393, 394, 395, -1, 397, 398, 399, 400, 401,
402, 403, -1, 405, 406, 407, 408, 409, 410, -1,
-1, 413, -1, -1, 416, 417, 418, 419, 420, 421,
422, 423, 424, 425, 426, 427, 428, 429, 430, 431,
432, 433, 434, -1, -1, -1, -1, -1, -1, 441,
442, -1, -1, -1, -1, 447, -1, -1, -1, 451,
3, 4, 5, 6, 7, 8, 9, 10, -1, -1,
-1, -1, -1, -1, -1, 18, 19, 20, 21, 22,
23, 24, 25, 26, 27, 28, 29, -1, -1, -1,
-1, 34, -1, -1, 37, 38, -1, 40, 41, 42,
43, 44, 45, 46, 47, 48, 49, 50, -1, 52,
53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
63, -1, 65, 66, 67, 68, 69, -1, 71, -1,
73, 74, 75, 76, 77, 78, 79, 80, -1, 82,
83, 84, 85, 86, 87, -1, 89, 90, 91, 92,
93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
103, 104, 105, 106, 107, 108, -1, 110, -1, 112,
113, 114, 115, 116, -1, 118, 119, 120, -1, -1,
123, 124, 125, 126, 127, -1, 129, 130, 131, -1,
133, 134, 135, -1, 137, 138, 139, 140, 141, 142,
143, 144, 145, 146, 147, -1, 149, 150, 151, 152,
-1, 154, -1, 156, 157, -1, 159, 160, 161, 162,
-1, 164, 165, -1, 167, 168, -1, 170, 171, 172,
173, 174, 175, 176, 177, 178, 179, -1, 181, 182,
183, 184, 185, 186, -1, 188, 189, 190, 191, 192,
193, 194, 195, 196, -1, 198, -1, 200, 201, 202,
203, 204, 205, 206, 207, 208, 209, -1, -1, 212,
213, 214, 215, 216, -1, 218, 219, 220, 221, 222,
223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
253, 254, 255, -1, 257, -1, -1, 260, 261, 262,
-1, -1, 265, 266, 267, 268, 269, 270, 271, 272,
273, 274, 275, 276, 277, -1, 279, 280, 281, 282,
283, 284, 285, 286, -1, 288, 289, 290, 291, 292,
293, 294, 295, 296, 297, 298, 299, 300, -1, 302,
303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
-1, 314, 315, 316, 317, 318, 319, 320, 321, 322,
323, 324, 325, 326, 327, 328, -1, 330, 331, 332,
333, 334, 335, 336, 337, 338, 339, 340, 341, 342,
343, 344, 345, -1, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, -1, 360, 361, -1,
363, 364, 365, 366, 367, 368, 369, -1, 371, 372,
-1, -1, 375, 376, 377, 378, 379, 380, 381, 382,
383, 384, 385, 386, 387, -1, 389, 390, 391, 392,
393, 394, 395, -1, 397, 398, 399, 400, 401, 402,
403, -1, 405, 406, 407, 408, 409, 410, -1, -1,
413, -1, -1, 416, 417, 418, 419, 420, 421, 422,
423, 424, 425, 426, 427, 428, 429, 430, 431, 432,
433, 434, -1, -1, -1, -1, -1, -1, 441, 442,
-1, -1, -1, -1, 447, -1, -1, -1, 451, 3,
4, 5, 6, 7, 8, 9, 10, -1, -1, -1,
-1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
34, -1, -1, 37, 38, -1, 40, 41, 42, 43,
44, 45, 46, 47, 48, 49, 50, -1, 52, 53,
54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
-1, 65, 66, 67, 68, 69, -1, 71, -1, 73,
74, 75, 76, 77, 78, 79, 80, -1, 82, 83,
84, 85, 86, 87, -1, 89, 90, 91, 92, 93,
94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
104, 105, 106, 107, 108, -1, 110, -1, 112, 113,
114, 115, 116, -1, 118, 119, 120, -1, -1, 123,
124, 125, 126, 127, -1, 129, 130, 131, -1, 133,
134, 135, -1, 137, 138, 139, 140, 141, 142, 143,
144, 145, 146, 147, -1, 149, 150, 151, 152, -1,
154, -1, 156, 157, 158, 159, 160, 161, 162, -1,
164, 165, -1, 167, 168, -1, 170, 171, 172, 173,
174, 175, 176, 177, 178, 179, -1, 181, 182, 183,
184, 185, 186, -1, 188, 189, 190, 191, 192, 193,
194, 195, 196, -1, 198, -1, 200, 201, 202, 203,
204, 205, 206, 207, 208, 209, -1, -1, 212, 213,
214, 215, 216, -1, 218, 219, 220, 221, 222, 223,
224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
254, 255, -1, 257, -1, -1, 260, 261, 262, -1,
-1, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, -1, 279, 280, 281, 282, 283,
284, 285, 286, -1, 288, 289, 290, 291, 292, 293,
294, 295, 296, 297, 298, 299, 300, -1, 302, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, -1,
314, 315, 316, 317, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, -1, 330, 331, 332, 333,
334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
344, 345, -1, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, -1, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, -1, 371, 372, -1,
-1, 375, 376, 377, 378, 379, 380, 381, 382, 383,
384, 385, 386, 387, -1, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, 402, 403,
-1, 405, 406, 407, 408, 409, 410, -1, -1, 413,
-1, -1, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, 431, 432, 433,
434, -1, -1, -1, -1, -1, -1, 441, 442, -1,
-1, -1, -1, 447, -1, -1, -1, 451, 3, 4,
5, 6, 7, 8, 9, 10, -1, -1, -1, -1,
-1, -1, -1, 18, 19, 20, 21, 22, 23, 24,
25, -1, 27, 28, 29, -1, -1, -1, -1, 34,
-1, -1, 37, 38, -1, 40, 41, 42, 43, 44,
45, 46, 47, 48, 49, 50, -1, 52, 53, 54,
55, 56, 57, 58, 59, 60, 61, 62, 63, -1,
65, 66, 67, 68, 69, -1, 71, -1, 73, 74,
75, 76, 77, 78, 79, 80, -1, 82, 83, 84,
85, 86, 87, -1, 89, 90, 91, 92, 93, 94,
95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
105, 106, 107, 108, -1, 110, -1, 112, 113, 114,
115, 116, -1, 118, 119, 120, -1, -1, 123, 124,
125, 126, 127, -1, 129, 130, 131, -1, 133, 134,
135, -1, 137, 138, 139, 140, 141, 142, 143, 144,
145, 146, 147, -1, 149, 150, 151, 152, -1, 154,
-1, 156, 157, -1, 159, 160, 161, 162, -1, 164,
165, -1, 167, 168, -1, 170, 171, 172, 173, 174,
175, 176, 177, 178, 179, -1, 181, 182, 183, 184,
185, 186, -1, 188, 189, 190, 191, 192, 193, 194,
195, 196, -1, 198, -1, 200, 201, 202, 203, 204,
205, 206, 207, 208, 209, -1, -1, 212, 213, 214,
215, 216, -1, 218, 219, 220, 221, 222, 223, 224,
225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
255, -1, 257, -1, -1, 260, 261, 262, -1, -1,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, 277, -1, 279, 280, 281, 282, 283, 284,
285, 286, -1, 288, 289, 290, 291, 292, 293, 294,
295, 296, 297, 298, 299, 300, -1, 302, 303, 304,
305, 306, 307, 308, 309, 310, 311, 312, -1, 314,
315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
325, 326, 327, 328, -1, 330, 331, 332, 333, 334,
335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
345, -1, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, -1, 360, 361, -1, 363, 364,
365, 366, 367, 368, 369, -1, 371, 372, -1, -1,
375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
385, 386, 387, -1, 389, 390, 391, 392, 393, 394,
395, -1, 397, 398, 399, 400, 401, 402, 403, 404,
405, 406, 407, 408, 409, 410, -1, -1, 413, -1,
-1, 416, 417, 418, 419, 420, 421, 422, 423, 424,
425, 426, 427, 428, 429, 430, 431, 432, 433, 434,
-1, -1, -1, -1, -1, -1, 441, 442, -1, -1,
-1, -1, 447, -1, -1, -1, 451, 3, 4, 5,
6, 7, 8, 9, 10, -1, -1, -1, -1, -1,
-1, -1, 18, 19, 20, 21, 22, 23, 24, 25,
-1, 27, 28, 29, -1, -1, -1, -1, 34, -1,
-1, 37, 38, -1, 40, 41, 42, 43, 44, 45,
46, 47, 48, 49, 50, -1, 52, 53, 54, 55,
56, 57, 58, 59, 60, 61, 62, 63, -1, 65,
66, 67, 68, 69, -1, 71, -1, 73, 74, 75,
76, 77, 78, 79, 80, -1, 82, 83, 84, 85,
86, 87, -1, 89, 90, 91, 92, 93, 94, 95,
96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
106, 107, 108, -1, 110, -1, 112, 113, 114, 115,
116, -1, 118, 119, 120, -1, -1, 123, 124, 125,
126, 127, -1, 129, 130, 131, -1, 133, 134, 135,
-1, 137, 138, 139, 140, 141, 142, 143, 144, 145,
146, 147, -1, 149, 150, 151, 152, -1, 154, -1,
156, 157, -1, 159, 160, 161, 162, -1, 164, 165,
-1, 167, 168, -1, 170, 171, 172, 173, 174, 175,
176, 177, 178, 179, -1, 181, 182, 183, 184, 185,
186, -1, 188, 189, 190, 191, 192, 193, 194, 195,
196, -1, 198, -1, 200, 201, 202, 203, 204, 205,
206, 207, 208, 209, -1, -1, 212, 213, 214, 215,
216, -1, 218, 219, 220, 221, 222, 223, 224, 225,
226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
246, 247, 248, 249, 250, 251, 252, 253, 254, 255,
-1, 257, -1, -1, 260, 261, 262, -1, -1, 265,
266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
276, 277, -1, 279, 280, 281, 282, 283, 284, 285,
286, -1, 288, 289, 290, 291, 292, 293, 294, 295,
296, 297, 298, 299, 300, -1, 302, 303, 304, 305,
306, 307, 308, 309, 310, 311, 312, -1, 314, 315,
316, 317, 318, 319, 320, 321, 322, 323, 324, 325,
326, 327, 328, -1, 330, 331, 332, 333, 334, 335,
336, 337, 338, 339, 340, 341, 342, 343, 344, 345,
-1, 347, 348, 349, 350, 351, 352, 353, 354, 355,
356, 357, 358, -1, 360, 361, -1, 363, 364, 365,
366, 367, 368, 369, -1, 371, 372, -1, -1, 375,
376, 377, 378, 379, 380, 381, 382, 383, 384, 385,
386, 387, -1, 389, 390, 391, 392, 393, 394, 395,
-1, 397, 398, 399, 400, 401, 402, 403, -1, 405,
406, 407, 408, 409, 410, -1, -1, 413, -1, -1,
416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
426, 427, 428, 429, 430, 431, 432, 433, 434, -1,
-1, -1, -1, -1, -1, 441, 442, -1, -1, -1,
-1, 447, -1, -1, -1, 451, 3, 4, 5, 6,
7, 8, 9, 10, -1, -1, -1, -1, -1, -1,
-1, 18, 19, 20, 21, 22, 23, 24, 25, -1,
27, 28, 29, -1, -1, -1, -1, 34, -1, -1,
37, 38, -1, 40, 41, 42, 43, 44, 45, 46,
47, 48, 49, 50, -1, 52, 53, 54, 55, 56,
57, 58, 59, 60, 61, 62, 63, -1, 65, 66,
67, 68, 69, -1, 71, -1, 73, 74, 75, 76,
77, 78, 79, 80, -1, 82, 83, 84, 85, 86,
87, -1, 89, 90, 91, 92, 93, 94, 95, 96,
97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
107, 108, -1, 110, -1, 112, 113, 114, 115, 116,
-1, 118, 119, 120, -1, -1, 123, 124, 125, 126,
127, -1, 129, 130, 131, -1, 133, 134, 135, -1,
137, 138, 139, 140, 141, 142, 143, 144, 145, 146,
147, -1, 149, 150, 151, 152, -1, 154, -1, 156,
157, -1, 159, 160, 161, 162, -1, 164, 165, -1,
167, 168, -1, 170, 171, 172, 173, 174, 175, 176,
177, 178, 179, -1, 181, 182, 183, 184, 185, 186,
-1, 188, 189, 190, 191, 192, 193, 194, 195, 196,
-1, 198, -1, 200, 201, 202, 203, 204, 205, 206,
207, 208, 209, -1, -1, 212, 213, 214, 215, 216,
-1, 218, 219, 220, 221, 222, 223, 224, 225, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 252, 253, 254, 255, -1,
257, -1, -1, 260, 261, 262, -1, -1, 265, 266,
267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
277, -1, 279, 280, 281, 282, 283, 284, 285, 286,
-1, 288, 289, 290, 291, 292, 293, 294, 295, 296,
297, 298, 299, 300, -1, 302, 303, 304, 305, 306,
307, 308, 309, 310, 311, 312, -1, 314, 315, 316,
317, 318, 319, 320, 321, 322, 323, 324, 325, 326,
327, 328, -1, 330, 331, 332, 333, 334, 335, 336,
337, 338, 339, 340, 341, 342, 343, 344, 345, -1,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, -1, 360, 361, -1, 363, 364, 365, 366,
367, 368, 369, -1, 371, 372, -1, -1, 375, 376,
377, 378, 379, 380, 381, 382, 383, 384, 385, 386,
387, -1, 389, 390, 391, 392, 393, 394, 395, -1,
397, 398, 399, 400, 401, 402, 403, -1, 405, 406,
407, 408, 409, 410, -1, -1, 413, -1, -1, 416,
417, 418, 419, 420, 421, 422, 423, 424, 425, 426,
427, 428, 429, 430, 431, 432, 433, 434, -1, -1,
-1, -1, -1, -1, 441, 442, -1, -1, -1, -1,
447, -1, -1, -1, 451, 3, 4, 5, 6, 7,
8, 9, 10, -1, -1, -1, -1, -1, -1, -1,
18, 19, 20, 21, 22, 23, 24, 25, -1, 27,
28, 29, -1, -1, -1, -1, 34, -1, -1, 37,
38, -1, 40, 41, 42, 43, 44, 45, 46, 47,
48, 49, 50, -1, 52, 53, 54, 55, 56, 57,
58, 59, 60, 61, 62, 63, -1, 65, 66, 67,
68, 69, -1, 71, -1, 73, 74, 75, 76, 77,
78, 79, 80, -1, 82, 83, 84, 85, 86, 87,
-1, 89, 90, 91, 92, 93, 94, 95, 96, 97,
98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
108, -1, 110, -1, 112, 113, 114, 115, 116, -1,
118, 119, 120, -1, -1, 123, 124, 125, 126, 127,
-1, 129, 130, 131, -1, 133, 134, 135, -1, 137,
138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
-1, 149, 150, 151, 152, -1, 154, -1, 156, 157,
-1, 159, 160, 161, 162, -1, 164, 165, -1, 167,
168, -1, 170, 171, 172, 173, 174, 175, 176, 177,
178, 179, -1, 181, 182, 183, 184, 185, 186, -1,
188, 189, 190, 191, 192, 193, 194, 195, 196, -1,
198, -1, 200, 201, 202, 203, 204, 205, 206, 207,
208, 209, -1, -1, 212, 213, 214, 215, 216, -1,
218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
248, 249, 250, 251, 252, 253, 254, 255, -1, 257,
-1, -1, 260, 261, 262, -1, -1, 265, 266, 267,
268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
-1, 279, 280, 281, 282, 283, 284, 285, 286, -1,
288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
298, 299, 300, -1, 302, 303, 304, 305, 306, 307,
308, 309, 310, 311, 312, -1, 314, 315, 316, 317,
318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
328, -1, 330, 331, 332, 333, 334, 335, 336, 337,
338, 339, 340, 341, 342, 343, 344, 345, -1, 347,
348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
358, -1, 360, 361, -1, 363, 364, 365, 366, 367,
368, 369, -1, 371, 372, -1, -1, 375, 376, 377,
378, 379, 380, 381, 382, 383, 384, 385, 386, 387,
-1, 389, 390, 391, 392, 393, 394, 395, -1, 397,
398, 399, 400, 401, 402, 403, -1, 405, 406, 407,
408, 409, 410, -1, -1, 413, -1, -1, 416, 417,
418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
428, 429, 430, 431, 432, 433, 434, -1, -1, -1,
-1, -1, -1, 441, 442, -1, -1, -1, -1, 447,
-1, -1, -1, 451, 3, 4, 5, 6, 7, 8,
9, 10, -1, -1, -1, -1, -1, -1, -1, 18,
19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
29, -1, -1, -1, -1, 34, -1, -1, 37, 38,
-1, 40, 41, 42, 43, 44, 45, 46, 47, 48,
49, 50, -1, 52, 53, 54, 55, 56, 57, 58,
59, 60, 61, 62, 63, -1, 65, 66, 67, 68,
69, -1, 71, -1, 73, 74, 75, 76, 77, 78,
79, 80, -1, 82, 83, 84, 85, 86, 87, -1,
89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
-1, 110, -1, 112, 113, 114, 115, 116, -1, 118,
119, 120, -1, -1, 123, 124, 125, 126, 127, -1,
129, 130, 131, -1, 133, 134, 135, -1, 137, 138,
139, 140, 141, 142, 143, 144, 145, 146, 147, -1,
149, 150, 151, 152, -1, 154, -1, 156, 157, -1,
159, 160, 161, 162, -1, 164, 165, -1, 167, 168,
-1, 170, 171, 172, 173, 174, 175, 176, 177, 178,
179, -1, 181, 182, 183, 184, 185, 186, -1, 188,
189, 190, 191, 192, 193, 194, 195, 196, -1, 198,
-1, 200, 201, 202, 203, 204, 205, 206, 207, 208,
209, -1, -1, 212, 213, 214, 215, 216, -1, 218,
219, 220, 221, 222, 223, 224, 225, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, 254, 255, -1, 257, -1,
-1, 260, 261, 262, -1, -1, 265, 266, 267, 268,
269, 270, 271, 272, 273, 274, 275, 276, 277, -1,
279, 280, 281, 282, 283, 284, 285, 286, -1, 288,
289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, -1, 314, 315, 316, 317, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
-1, 330, 331, 332, 333, 334, 335, 336, 337, 338,
339, 340, 341, 342, 343, 344, 345, -1, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
-1, 360, 361, -1, 363, 364, 365, 366, 367, 368,
369, -1, 371, 372, -1, -1, 375, 376, 377, 378,
379, 380, 381, 382, 383, 384, 385, 386, 387, -1,
389, 390, 391, 392, 393, 394, 395, -1, 397, 398,
399, 400, 401, 402, 403, -1, 405, 406, 407, 408,
409, 410, -1, -1, 413, -1, -1, 416, 417, 418,
419, 420, 421, 422, 423, 424, 425, 426, 427, 428,
429, 430, 431, 432, 433, 434, -1, -1, -1, -1,
-1, -1, 441, 442, -1, -1, -1, -1, 447, -1,
-1, -1, 451, 3, 4, 5, 6, 7, 8, 9,
10, -1, -1, -1, -1, -1, -1, -1, 18, 19,
20, 21, 22, 23, 24, 25, -1, 27, 28, 29,
-1, -1, -1, -1, 34, -1, -1, 37, 38, -1,
40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
50, -1, 52, 53, 54, 55, 56, 57, 58, 59,
60, 61, 62, 63, -1, 65, 66, 67, 68, 69,
-1, 71, -1, 73, 74, 75, 76, 77, 78, 79,
80, -1, 82, 83, 84, 85, 86, 87, -1, 89,
90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
100, 101, 102, 103, 104, 105, 106, 107, 108, -1,
110, -1, 112, 113, 114, 115, 116, -1, 118, 119,
120, -1, -1, 123, 124, 125, 126, 127, -1, 129,
130, 131, -1, 133, 134, 135, -1, 137, 138, 139,
140, 141, 142, 143, 144, 145, 146, 147, -1, 149,
150, 151, 152, -1, 154, -1, 156, 157, -1, 159,
160, 161, 162, -1, 164, 165, -1, 167, 168, -1,
170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
-1, 181, 182, 183, 184, 185, 186, -1, 188, 189,
190, 191, 192, 193, 194, 195, 196, -1, 198, -1,
200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
-1, -1, 212, 213, 214, 215, 216, -1, 218, 219,
220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
250, 251, 252, 253, 254, 255, -1, 257, -1, -1,
260, 261, 262, -1, -1, 265, 266, 267, 268, 269,
270, 271, 272, 273, 274, 275, 276, 277, -1, 279,
280, 281, 282, 283, 284, 285, 286, -1, 288, 289,
290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
300, -1, 302, 303, 304, 305, 306, 307, 308, 309,
310, 311, 312, -1, 314, 315, 316, 317, 318, 319,
320, 321, 322, 323, 324, 325, 326, 327, 328, -1,
330, 331, 332, 333, 334, 335, 336, 337, 338, 339,
340, 341, 342, 343, 344, 345, -1, 347, 348, 349,
350, 351, 352, 353, 354, 355, 356, 357, 358, -1,
360, 361, -1, 363, 364, 365, 366, 367, 368, 369,
-1, 371, 372, -1, -1, 375, 376, 377, 378, 379,
380, 381, 382, 383, 384, 385, 386, 387, -1, 389,
390, 391, 392, 393, 394, 395, -1, 397, 398, 399,
400, 401, 402, 403, -1, 405, 406, 407, 408, 409,
410, -1, -1, 413, -1, -1, 416, 417, 418, 419,
420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
430, 431, 432, 433, 434, -1, -1, -1, -1, -1,
-1, 441, 442, -1, -1, -1, -1, 447, -1, -1,
-1, 451, 3, 4, 5, 6, 7, 8, 9, 10,
-1, -1, -1, -1, -1, -1, -1, 18, 19, 20,
21, 22, 23, 24, 25, -1, 27, 28, 29, -1,
-1, -1, -1, 34, -1, -1, 37, 38, -1, 40,
41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
-1, 52, 53, 54, 55, 56, 57, 58, 59, 60,
61, 62, 63, -1, 65, 66, 67, 68, 69, -1,
71, -1, 73, 74, 75, 76, 77, 78, 79, 80,
-1, 82, 83, 84, 85, 86, 87, -1, 89, 90,
91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
101, 102, 103, 104, 105, 106, 107, 108, -1, 110,
-1, 112, 113, 114, 115, 116, -1, 118, 119, 120,
-1, -1, 123, 124, 125, 126, 127, -1, 129, 130,
131, -1, 133, 134, 135, -1, 137, 138, 139, 140,
141, 142, 143, 144, 145, 146, 147, -1, 149, 150,
151, 152, -1, 154, -1, 156, 157, -1, 159, 160,
161, 162, -1, 164, 165, -1, 167, 168, -1, 170,
171, 172, 173, 174, 175, 176, 177, 178, 179, -1,
181, 182, 183, 184, 185, 186, -1, 188, 189, 190,
191, 192, 193, 194, 195, 196, -1, 198, -1, 200,
201, 202, 203, 204, 205, 206, 207, 208, 209, -1,
-1, 212, 213, 214, 215, 216, -1, 218, 219, 220,
221, 222, 223, 224, 225, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
251, 252, 253, 254, 255, -1, 257, -1, -1, 260,
261, 262, -1, -1, 265, 266, 267, 268, 269, 270,
271, 272, 273, 274, 275, 276, 277, -1, 279, 280,
281, 282, 283, 284, 285, 286, -1, 288, 289, 290,
291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
-1, 302, 303, 304, 305, 306, 307, 308, 309, 310,
311, 312, -1, 314, 315, 316, 317, 318, 319, 320,
321, 322, 323, 324, 325, 326, 327, 328, -1, 330,
331, 332, 333, 334, 335, 336, 337, 338, 339, 340,
341, 342, 343, 344, 345, -1, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, -1, 360,
361, -1, 363, 364, 365, 366, 367, 368, 369, -1,
371, 372, -1, -1, 375, 376, 377, 378, 379, 380,
381, 382, 383, 384, 385, 386, 387, -1, 389, 390,
391, 392, 393, 394, 395, -1, 397, 398, 399, 400,
401, 402, 403, -1, 405, 406, 407, 408, 409, 410,
-1, -1, 413, -1, -1, 416, 417, 418, 419, 420,
421, 422, 423, 424, 425, 426, 427, 428, 429, 430,
431, 432, 433, 434, -1, -1, -1, -1, -1, -1,
441, 442, -1, -1, -1, -1, 447, -1, -1, -1,
451, 3, 4, 5, 6, 7, 8, 9, 10, -1,
-1, -1, -1, -1, -1, -1, 18, 19, 20, 21,
22, 23, 24, 25, -1, 27, 28, 29, -1, -1,
-1, -1, 34, -1, -1, 37, 38, -1, 40, 41,
42, 43, 44, 45, 46, 47, 48, 49, 50, -1,
52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
62, 63, -1, 65, 66, 67, 68, 69, -1, 71,
-1, 73, 74, 75, 76, 77, 78, 79, 80, -1,
82, 83, 84, 85, 86, 87, -1, 89, 90, 91,
92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
102, 103, 104, 105, 106, 107, 108, -1, 110, -1,
112, 113, 114, 115, 116, -1, 118, 119, 120, -1,
-1, 123, 124, 125, 126, 127, -1, 129, 130, 131,
-1, 133, 134, 135, -1, 137, 138, 139, 140, 141,
142, 143, 144, 145, 146, 147, -1, 149, 150, 151,
152, -1, 154, -1, 156, 157, -1, 159, 160, 161,
162, -1, 164, 165, -1, 167, 168, -1, 170, 171,
172, 173, 174, 175, 176, 177, 178, 179, -1, 181,
182, 183, 184, 185, 186, -1, 188, 189, 190, 191,
192, 193, 194, 195, 196, -1, 198, -1, 200, 201,
202, 203, 204, 205, 206, 207, 208, 209, -1, -1,
212, 213, 214, 215, 216, -1, 218, 219, 220, 221,
222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
252, 253, 254, 255, -1, 257, -1, -1, 260, 261,
262, -1, -1, 265, 266, 267, 268, 269, 270, 271,
272, 273, 274, 275, 276, 277, -1, 279, 280, 281,
282, 283, 284, 285, 286, -1, 288, 289, 290, 291,
292, 293, 294, 295, 296, 297, 298, 299, 300, -1,
302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
312, -1, 314, 315, 316, 317, 318, 319, 320, 321,
322, 323, 324, 325, 326, 327, 328, -1, 330, 331,
332, 333, 334, 335, 336, 337, 338, 339, 340, 341,
342, 343, 344, 345, -1, 347, 348, 349, 350, 351,
352, 353, 354, 355, 356, 357, 358, -1, 360, 361,
-1, 363, 364, 365, 366, 367, 368, 369, -1, 371,
372, -1, -1, 375, 376, 377, 378, 379, 380, 381,
382, 383, 384, 385, 386, 387, -1, 389, 390, 391,
392, 393, 394, 395, -1, 397, 398, 399, 400, 401,
402, 403, -1, 405, 406, 407, 408, 409, 410, -1,
-1, 413, -1, -1, 416, 417, 418, 419, 420, 421,
422, 423, 424, 425, 426, 427, 428, 429, 430, 431,
432, 433, 434, -1, -1, -1, -1, -1, -1, 441,
442, -1, -1, -1, -1, 447, -1, -1, -1, 451,
3, 4, 5, 6, 7, 8, 9, 10, -1, -1,
-1, -1, -1, -1, -1, 18, 19, 20, 21, 22,
23, 24, 25, -1, 27, 28, 29, -1, -1, -1,
-1, 34, -1, -1, 37, 38, -1, 40, 41, 42,
43, 44, 45, 46, 47, 48, 49, 50, -1, 52,
53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
63, -1, 65, 66, 67, 68, 69, -1, 71, -1,
73, 74, 75, 76, 77, 78, 79, 80, -1, 82,
83, 84, 85, 86, 87, -1, 89, 90, 91, 92,
93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
103, 104, 105, 106, 107, 108, -1, 110, -1, 112,
113, 114, 115, 116, -1, 118, 119, 120, -1, -1,
123, 124, 125, 126, 127, -1, 129, 130, 131, -1,
133, 134, 135, -1, 137, 138, 139, 140, 141, 142,
143, 144, 145, 146, 147, -1, 149, 150, 151, 152,
-1, 154, -1, 156, 157, -1, 159, 160, 161, 162,
-1, 164, 165, -1, 167, 168, -1, 170, 171, 172,
173, 174, 175, 176, 177, 178, 179, -1, 181, 182,
183, 184, 185, 186, -1, 188, 189, 190, 191, 192,
193, 194, 195, 196, -1, 198, -1, 200, 201, 202,
203, 204, 205, 206, 207, 208, 209, -1, -1, 212,
213, 214, 215, 216, -1, 218, 219, 220, 221, 222,
223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
243, -1, 245, 246, 247, 248, 249, 250, 251, 252,
253, 254, 255, -1, 257, -1, -1, 260, 261, 262,
-1, -1, 265, 266, 267, 268, 269, 270, 271, 272,
273, 274, 275, 276, 277, -1, 279, 280, 281, 282,
283, 284, 285, 286, -1, 288, 289, 290, 291, 292,
293, 294, 295, 296, 297, 298, 299, 300, -1, 302,
303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
-1, 314, 315, 316, 317, 318, 319, 320, 321, 322,
323, 324, 325, 326, 327, 328, -1, 330, 331, 332,
333, 334, 335, 336, 337, 338, 339, 340, 341, 342,
343, 344, 345, -1, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, -1, 360, 361, -1,
363, 364, 365, 366, 367, 368, 369, -1, 371, 372,
-1, -1, 375, 376, 377, 378, 379, 380, 381, 382,
383, 384, 385, 386, 387, -1, -1, 390, 391, 392,
393, 394, 395, -1, 397, 398, 399, 400, 401, 402,
403, -1, 405, 406, 407, 408, 409, 410, -1, -1,
413, -1, -1, 416, 417, 418, 419, 420, 421, 422,
423, 424, 425, 426, 427, 428, 429, 430, 431, 432,
433, -1, -1, -1, -1, -1, -1, -1, 441, 442,
-1, -1, -1, -1, 447, -1, -1, -1, 451, 3,
4, 5, 6, 7, 8, 9, 10, -1, -1, -1,
-1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
34, -1, -1, 37, 38, -1, 40, 41, 42, 43,
44, 45, 46, 47, 48, 49, 50, -1, 52, 53,
54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
-1, 65, 66, 67, 68, 69, -1, 71, -1, 73,
74, 75, 76, 77, 78, 79, 80, -1, 82, 83,
84, 85, 86, 87, -1, 89, 90, 91, 92, 93,
94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
104, 105, 106, 107, 108, -1, 110, -1, 112, 113,
114, 115, 116, -1, 118, 119, 120, -1, -1, 123,
124, 125, 126, 127, -1, 129, 130, 131, -1, 133,
134, 135, -1, 137, 138, 139, 140, 141, 142, 143,
144, 145, 146, 147, -1, 149, 150, 151, 152, -1,
154, -1, 156, 157, -1, 159, 160, 161, 162, -1,
164, 165, -1, 167, 168, -1, 170, 171, 172, 173,
174, 175, 176, 177, 178, 179, -1, 181, 182, 183,
184, 185, 186, -1, 188, 189, 190, 191, 192, 193,
194, 195, 196, -1, 198, -1, 200, -1, -1, 203,
204, 205, 206, 207, 208, 209, -1, -1, 212, 213,
214, 215, 216, -1, 218, 219, 220, 221, 222, 223,
224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, -1, 248, 249, 250, 251, 252, 253,
254, 255, -1, 257, -1, -1, 260, 261, 262, -1,
-1, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, -1, 279, 280, 281, 282, 283,
284, 285, 286, -1, 288, 289, 290, 291, 292, 293,
294, 295, 296, 297, 298, 299, 300, -1, 302, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, -1,
314, 315, 316, 317, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, -1, 330, 331, 332, 333,
334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
344, 345, -1, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, -1, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, -1, 371, 372, -1,
-1, 375, 376, 377, 378, 379, 380, 381, 382, 383,
384, 385, 386, 387, -1, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, 402, 403,
-1, 405, 406, 407, 408, 409, 410, -1, -1, 413,
-1, -1, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, 431, 432, 433,
434, -1, -1, -1, -1, -1, -1, 441, 442, -1,
-1, -1, -1, 447, -1, -1, -1, 451, 3, 4,
5, 6, 7, 8, 9, 10, -1, -1, -1, -1,
-1, -1, -1, 18, 19, 20, 21, 22, 23, 24,
25, -1, 27, 28, 29, -1, -1, -1, -1, 34,
-1, -1, 37, 38, -1, 40, 41, 42, 43, 44,
45, 46, 47, 48, 49, 50, -1, 52, 53, 54,
55, 56, 57, 58, 59, 60, 61, 62, 63, -1,
65, 66, 67, 68, 69, -1, 71, -1, 73, 74,
75, 76, 77, 78, 79, 80, -1, 82, 83, 84,
85, 86, 87, -1, 89, 90, 91, 92, 93, 94,
95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
105, 106, 107, 108, -1, 110, -1, 112, 113, 114,
115, 116, -1, 118, 119, 120, -1, -1, 123, 124,
125, 126, 127, -1, 129, 130, 131, -1, 133, 134,
135, -1, 137, 138, 139, 140, 141, 142, 143, 144,
145, 146, 147, -1, 149, 150, 151, 152, -1, 154,
-1, 156, 157, -1, 159, 160, 161, 162, -1, 164,
165, -1, 167, 168, -1, 170, 171, 172, 173, 174,
175, 176, 177, 178, 179, -1, 181, 182, 183, 184,
185, 186, -1, 188, 189, 190, 191, 192, 193, 194,
195, 196, -1, 198, -1, 200, -1, 202, 203, 204,
205, 206, 207, 208, 209, -1, -1, 212, 213, 214,
215, 216, -1, 218, 219, 220, 221, 222, 223, 224,
225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 242, 243, -1,
245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
255, -1, 257, -1, -1, 260, 261, 262, -1, -1,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, 277, -1, 279, 280, 281, 282, 283, 284,
285, 286, -1, 288, 289, 290, 291, 292, 293, 294,
295, 296, 297, 298, 299, 300, -1, 302, 303, 304,
305, 306, 307, 308, 309, 310, 311, 312, -1, 314,
315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
325, 326, 327, 328, -1, 330, 331, 332, 333, 334,
335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
345, -1, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, -1, 360, 361, -1, 363, 364,
365, 366, 367, 368, 369, -1, 371, 372, -1, -1,
375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
385, 386, 387, -1, -1, 390, 391, 392, 393, 394,
395, -1, 397, 398, 399, 400, 401, 402, 403, -1,
405, 406, 407, 408, 409, 410, -1, -1, 413, -1,
-1, 416, 417, 418, 419, 420, 421, 422, 423, 424,
425, 426, 427, 428, 429, 430, 431, 432, 433, -1,
-1, -1, -1, -1, -1, -1, 441, 442, -1, -1,
-1, -1, 447, -1, -1, -1, 451, 3, 4, 5,
6, 7, -1, 9, 10, -1, -1, -1, -1, -1,
-1, -1, 18, 19, 20, 21, 22, 23, 24, 25,
-1, 27, 28, 29, -1, -1, -1, -1, 34, -1,
-1, 37, 38, -1, 40, 41, 42, 43, 44, 45,
46, 47, 48, 49, 50, -1, 52, 53, 54, 55,
56, 57, 58, 59, 60, 61, 62, 63, -1, 65,
66, 67, 68, 69, -1, 71, -1, 73, 74, 75,
76, 77, 78, 79, 80, -1, 82, 83, 84, 85,
86, 87, -1, 89, 90, 91, 92, 93, 94, 95,
96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
106, 107, 108, -1, 110, -1, 112, 113, 114, 115,
116, -1, 118, 119, 120, -1, -1, 123, 124, 125,
126, 127, -1, 129, 130, 131, -1, 133, 134, 135,
-1, 137, 138, 139, 140, 141, 142, 143, 144, 145,
146, 147, -1, 149, 150, 151, 152, -1, 154, -1,
156, 157, -1, 159, 160, 161, 162, -1, 164, 165,
-1, 167, 168, -1, 170, 171, 172, 173, 174, 175,
176, 177, 178, 179, -1, 181, 182, 183, 184, 185,
186, -1, 188, 189, 190, 191, 192, 193, 194, 195,
196, -1, 198, -1, 200, 201, 202, 203, 204, 205,
206, 207, 208, 209, -1, -1, 212, 213, 214, 215,
216, -1, 218, 219, 220, 221, 222, 223, 224, 225,
226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
236, 237, 238, 239, 240, 241, 242, 243, -1, 245,
246, 247, 248, 249, 250, 251, 252, 253, 254, 255,
-1, 257, -1, -1, 260, 261, 262, -1, -1, 265,
266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
276, 277, -1, 279, 280, 281, 282, 283, 284, 285,
286, -1, 288, 289, 290, 291, 292, 293, 294, 295,
296, 297, 298, 299, 300, -1, 302, 303, 304, 305,
306, 307, 308, 309, 310, 311, 312, -1, 314, 315,
316, 317, 318, 319, 320, 321, 322, 323, 324, 325,
326, 327, 328, -1, 330, 331, 332, 333, 334, 335,
336, 337, 338, 339, 340, 341, 342, 343, 344, 345,
-1, 347, 348, 349, 350, 351, 352, 353, 354, 355,
356, 357, 358, -1, 360, 361, -1, 363, 364, 365,
366, 367, 368, 369, -1, 371, 372, -1, -1, 375,
376, 377, 378, 379, 380, 381, 382, 383, 384, 385,
386, 387, -1, -1, 390, 391, 392, 393, 394, 395,
-1, 397, 398, 399, 400, 401, 402, 403, -1, 405,
406, 407, 408, 409, 410, -1, -1, 413, -1, -1,
416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
426, 427, 428, 429, 430, 431, 432, 433, -1, -1,
-1, 3, 4, 5, 6, 7, 8, 9, 10, -1,
-1, 447, -1, -1, -1, 451, 18, 19, 20, 21,
22, 23, 24, 25, 26, 27, 28, 29, -1, -1,
-1, 33, 34, -1, -1, 37, 38, -1, 40, 41,
42, 43, 44, 45, -1, 47, 48, 49, 50, -1,
52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
62, 63, -1, 65, 66, 67, 68, 69, -1, 71,
-1, 73, 74, 75, 76, 77, 78, 79, 80, -1,
82, 83, 84, 85, 86, 87, -1, 89, 90, 91,
92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
102, 103, 104, 105, 106, 107, 108, -1, 110, -1,
112, 113, 114, 115, 116, -1, 118, 119, 120, -1,
-1, 123, 124, 125, 126, 127, -1, 129, 130, 131,
-1, 133, -1, 135, -1, 137, 138, 139, 140, 141,
142, 143, 144, 145, 146, 147, -1, 149, 150, 151,
152, -1, 154, -1, 156, 157, -1, 159, 160, 161,
162, -1, 164, 165, -1, 167, 168, -1, 170, 171,
172, 173, 174, -1, 176, 177, 178, 179, -1, 181,
182, 183, 184, 185, 186, -1, 188, 189, 190, 191,
192, 193, 194, 195, 196, -1, 198, -1, 200, -1,
-1, 203, 204, 205, 206, 207, 208, 209, -1, -1,
212, 213, 214, 215, -1, -1, 218, 219, 220, 221,
222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
242, 243, 244, 245, 246, -1, 248, 249, 250, 251,
252, 253, 254, 255, -1, 257, -1, -1, 260, 261,
262, -1, -1, 265, 266, 267, 268, 269, 270, 271,
272, 273, 274, 275, 276, 277, -1, 279, 280, 281,
282, 283, 284, 285, 286, -1, 288, 289, 290, 291,
292, 293, 294, 295, 296, 297, 298, 299, 300, -1,
302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
312, -1, 314, 315, 316, 317, 318, 319, 320, 321,
322, 323, 324, 325, 326, 327, 328, -1, 330, 331,
332, 333, 334, 335, 336, 337, 338, 339, 340, -1,
342, 343, 344, 345, 346, 347, 348, 349, 350, 351,
352, 353, 354, 355, 356, 357, 358, -1, 360, 361,
-1, 363, 364, 365, 366, 367, 368, 369, -1, 371,
372, -1, -1, 375, 376, 377, 378, 379, 380, 381,
382, 383, 384, 385, 386, 387, -1, 389, 390, 391,
392, 393, 394, 395, -1, 397, 398, 399, 400, 401,
402, 403, -1, 405, 406, 407, 408, 409, 410, -1,
-1, 413, -1, -1, 416, 417, 418, 419, 420, 421,
422, 423, 424, 425, 426, 427, 428, 429, 430, 431,
432, 433, -1, -1, -1, -1, -1, -1, -1, 441,
442, -1, -1, -1, -1, 447, -1, -1, -1, 451,
3, 4, 5, 6, 7, -1, 9, 10, -1, -1,
-1, -1, -1, -1, -1, 18, 19, 20, 21, 22,
23, 24, 25, -1, 27, 28, 29, -1, -1, -1,
-1, 34, -1, -1, 37, 38, -1, 40, 41, 42,
43, 44, 45, 46, 47, 48, 49, 50, -1, 52,
53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
63, -1, 65, 66, 67, 68, 69, -1, 71, -1,
73, 74, 75, 76, 77, 78, 79, 80, -1, 82,
83, 84, 85, 86, 87, -1, 89, 90, 91, 92,
93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
103, 104, 105, 106, 107, 108, -1, 110, -1, 112,
113, 114, 115, 116, -1, 118, 119, 120, -1, -1,
123, 124, 125, 126, 127, -1, 129, 130, 131, -1,
133, 134, 135, -1, 137, 138, 139, 140, 141, 142,
143, 144, 145, 146, 147, -1, 149, 150, 151, 152,
-1, 154, -1, 156, 157, -1, 159, 160, 161, 162,
-1, 164, 165, -1, 167, 168, -1, 170, 171, 172,
173, 174, 175, 176, 177, 178, 179, -1, 181, 182,
183, 184, 185, 186, -1, 188, 189, 190, 191, 192,
193, 194, 195, 196, -1, 198, -1, 200, 201, 202,
203, 204, 205, 206, 207, 208, 209, -1, -1, 212,
213, 214, 215, 216, -1, 218, 219, 220, 221, 222,
223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
243, -1, 245, 246, 247, 248, 249, 250, 251, 252,
253, 254, 255, -1, 257, -1, -1, 260, 261, 262,
-1, -1, 265, 266, 267, 268, 269, 270, 271, 272,
273, 274, 275, 276, 277, -1, 279, 280, 281, 282,
283, 284, 285, 286, -1, 288, 289, 290, 291, 292,
293, 294, 295, 296, 297, 298, 299, 300, -1, 302,
303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
-1, 314, 315, 316, 317, 318, 319, 320, 321, 322,
323, 324, 325, 326, 327, 328, -1, 330, 331, 332,
333, 334, 335, 336, 337, 338, 339, 340, 341, 342,
343, 344, 345, -1, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, -1, 360, 361, -1,
363, 364, 365, 366, 367, 368, 369, -1, 371, 372,
-1, -1, 375, 376, 377, 378, 379, 380, 381, 382,
383, 384, 385, 386, 387, -1, -1, 390, 391, 392,
393, 394, 395, -1, 397, 398, 399, 400, 401, 402,
403, -1, 405, 406, 407, 408, 409, 410, -1, -1,
413, -1, -1, 416, 417, 418, 419, 420, 421, 422,
423, 424, 425, 426, 427, 428, 429, 430, 431, 432,
433, -1, -1, -1, 3, 4, 5, 6, 7, 8,
9, 10, -1, -1, 447, -1, -1, -1, 451, 18,
19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
29, -1, -1, -1, -1, 34, -1, -1, 37, 38,
-1, 40, 41, 42, 43, 44, 45, -1, 47, 48,
49, 50, -1, 52, 53, 54, 55, 56, 57, 58,
59, 60, 61, 62, 63, -1, 65, 66, 67, 68,
69, -1, 71, -1, 73, 74, 75, 76, 77, 78,
79, 80, -1, 82, 83, 84, 85, 86, 87, -1,
89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
-1, 110, -1, 112, 113, 114, 115, 116, -1, 118,
119, 120, -1, -1, 123, 124, 125, 126, 127, -1,
129, 130, 131, -1, 133, -1, 135, -1, 137, 138,
139, 140, 141, 142, 143, 144, 145, 146, 147, -1,
149, 150, 151, 152, -1, 154, -1, 156, 157, -1,
159, 160, 161, 162, -1, 164, 165, -1, 167, 168,
-1, 170, 171, 172, 173, 174, -1, 176, 177, 178,
179, -1, 181, 182, 183, 184, 185, 186, -1, 188,
189, 190, 191, 192, 193, 194, 195, 196, -1, 198,
-1, 200, -1, -1, 203, 204, 205, 206, 207, 208,
209, -1, -1, 212, 213, 214, 215, -1, -1, 218,
219, 220, 221, 222, 223, 224, 225, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, -1, 248,
249, 250, 251, 252, 253, 254, 255, -1, 257, -1,
-1, 260, 261, 262, -1, -1, 265, 266, 267, 268,
269, 270, 271, 272, 273, 274, 275, 276, 277, -1,
279, 280, 281, 282, 283, 284, 285, 286, -1, 288,
289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, -1, 314, 315, 316, 317, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
-1, 330, 331, 332, 333, 334, 335, 336, 337, 338,
339, 340, -1, 342, 343, 344, 345, -1, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
-1, 360, 361, -1, 363, 364, 365, 366, 367, 368,
369, -1, 371, 372, -1, -1, 375, 376, 377, 378,
379, 380, 381, 382, 383, 384, 385, 386, 387, -1,
389, 390, 391, 392, 393, 394, 395, -1, 397, 398,
399, 400, 401, 402, 403, -1, 405, 406, 407, 408,
409, 410, -1, -1, 413, -1, -1, 416, 417, 418,
419, 420, 421, 422, 423, 424, 425, 426, 427, 428,
429, 430, 431, 432, 433, -1, -1, -1, 3, -1,
-1, -1, 441, 442, -1, -1, -1, -1, 447, -1,
-1, -1, 451, 18, 19, 20, 21, 22, 23, 24,
25, -1, 27, 28, 29, -1, -1, -1, -1, -1,
-1, -1, 37, 38, -1, 40, 41, 42, 43, 44,
45, 46, 47, 48, 49, 50, -1, 52, 53, 54,
55, 56, -1, 58, 59, 60, 61, 62, 63, -1,
65, 66, 67, 68, 69, -1, 71, -1, 73, 74,
75, 76, 77, 78, 79, 80, -1, 82, 83, 84,
85, 86, 87, -1, 89, 90, 91, 92, 93, 94,
95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
105, 106, 107, 108, -1, 110, -1, 112, 113, 114,
115, 116, -1, 118, 119, 120, -1, -1, 123, 124,
125, 126, 127, -1, 129, 130, 131, -1, 133, 134,
135, -1, 137, 138, 139, 140, 141, 142, 143, 144,
145, -1, 147, -1, 149, 150, 151, 152, -1, 154,
-1, 156, 157, -1, 159, 160, 161, 162, -1, 164,
165, -1, 167, 168, -1, 170, 171, 172, 173, 174,
175, 176, 177, 178, 179, -1, 181, 182, 183, 184,
185, 186, -1, 188, 189, 190, 191, 192, 193, 194,
195, 196, -1, 198, -1, 200, 201, 202, 203, 204,
205, 206, 207, 208, 209, 210, -1, 212, 213, 214,
215, 216, -1, 218, 219, 220, 221, 222, 223, 224,
225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 242, 243, -1,
245, 246, 247, 248, -1, 250, 251, 252, 253, 254,
255, -1, 257, -1, 259, 260, 261, 262, -1, -1,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, 277, -1, 279, 280, 281, 282, 283, 284,
285, 286, -1, 288, 289, 290, 291, 292, 293, 294,
295, 296, 297, 298, 299, 300, -1, 302, 303, 304,
305, 306, 307, 308, 309, 310, 311, 312, -1, 314,
315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
345, -1, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, -1, 360, 361, 362, 363, 364,
365, 366, 367, 368, 369, -1, 371, 372, -1, -1,
375, 376, 377, 378, 379, -1, 381, 382, 383, 384,
385, 386, 387, -1, -1, 390, 391, 392, 393, 394,
395, -1, 397, 398, 399, 400, 401, 402, 403, -1,
405, 406, 407, 408, 409, 410, -1, -1, 413, -1,
415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
425, 426, 427, 428, 429, 430, 431, 432, 433, -1,
-1, 436, 3, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 451, 18, 19, 20,
21, 22, 23, 24, 25, -1, 27, 28, 29, -1,
-1, -1, -1, -1, -1, -1, 37, 38, -1, 40,
41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
-1, 52, 53, 54, 55, 56, -1, 58, 59, 60,
61, 62, 63, -1, 65, 66, 67, 68, 69, -1,
71, -1, 73, 74, 75, 76, 77, 78, 79, 80,
-1, 82, 83, 84, 85, 86, 87, -1, 89, 90,
91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
101, 102, 103, 104, 105, 106, 107, 108, -1, 110,
-1, 112, 113, 114, 115, 116, -1, 118, 119, 120,
-1, -1, 123, 124, 125, 126, 127, -1, 129, 130,
131, -1, 133, 134, 135, -1, 137, 138, 139, 140,
141, 142, 143, 144, 145, -1, 147, -1, 149, 150,
151, 152, -1, 154, -1, 156, 157, -1, 159, 160,
161, 162, -1, 164, 165, -1, 167, 168, -1, 170,
171, 172, 173, 174, 175, 176, 177, 178, 179, -1,
181, 182, 183, 184, 185, 186, -1, 188, 189, 190,
191, 192, 193, 194, 195, 196, -1, 198, -1, 200,
201, 202, 203, 204, 205, 206, 207, 208, 209, 210,
-1, 212, 213, 214, 215, 216, -1, 218, 219, 220,
221, 222, 223, 224, 225, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 242, 243, -1, 245, 246, 247, 248, -1, 250,
251, 252, 253, 254, 255, -1, 257, -1, 259, 260,
261, 262, -1, -1, 265, 266, 267, 268, 269, 270,
271, 272, 273, 274, 275, 276, 277, -1, 279, 280,
281, 282, 283, 284, 285, 286, -1, 288, 289, 290,
291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
-1, 302, 303, 304, 305, 306, 307, 308, 309, 310,
311, 312, -1, 314, 315, 316, 317, 318, 319, 320,
321, 322, 323, 324, 325, 326, 327, 328, -1, 330,
331, 332, 333, 334, 335, 336, 337, 338, 339, 340,
341, 342, 343, 344, 345, -1, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, -1, 360,
361, -1, 363, 364, 365, 366, 367, 368, 369, -1,
371, 372, -1, -1, 375, 376, 377, 378, 379, -1,
381, 382, 383, 384, 385, 386, 387, -1, -1, 390,
391, 392, 393, 394, 395, -1, 397, 398, 399, 400,
401, 402, 403, -1, 405, 406, 407, 408, 409, 410,
-1, -1, 413, -1, -1, 416, 417, 418, 419, 420,
421, 422, 423, 424, 425, 426, 427, 428, 429, 430,
431, 432, 433, -1, -1, -1, 3, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
451, 18, 19, 20, 21, 22, 23, 24, 25, -1,
27, 28, 29, -1, -1, -1, -1, -1, -1, -1,
37, 38, -1, 40, 41, 42, 43, 44, 45, 46,
47, 48, 49, 50, -1, 52, 53, 54, 55, 56,
-1, 58, 59, 60, 61, 62, 63, -1, 65, 66,
67, 68, 69, -1, 71, -1, 73, 74, 75, 76,
77, 78, 79, 80, -1, 82, 83, 84, 85, 86,
87, -1, 89, 90, 91, 92, 93, 94, 95, 96,
97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
107, 108, -1, 110, -1, 112, 113, 114, 115, 116,
-1, 118, 119, 120, -1, -1, 123, 124, 125, 126,
127, -1, 129, 130, 131, -1, 133, 134, 135, -1,
137, 138, 139, 140, 141, 142, 143, 144, 145, -1,
147, -1, 149, 150, 151, 152, -1, 154, -1, 156,
157, -1, 159, 160, 161, 162, -1, 164, 165, -1,
167, 168, -1, 170, 171, 172, 173, 174, 175, 176,
177, 178, 179, -1, 181, 182, 183, 184, 185, 186,
-1, 188, 189, 190, 191, 192, 193, 194, 195, 196,
-1, 198, -1, 200, 201, 202, 203, 204, 205, 206,
207, 208, 209, -1, -1, 212, 213, 214, 215, 216,
-1, 218, 219, 220, 221, 222, 223, 224, 225, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 242, 243, -1, 245, 246,
247, 248, -1, 250, 251, 252, 253, 254, 255, -1,
257, -1, -1, 260, 261, 262, -1, -1, 265, 266,
267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
277, -1, 279, 280, 281, 282, 283, 284, 285, 286,
-1, 288, 289, 290, 291, 292, 293, 294, 295, 296,
297, 298, 299, 300, -1, 302, 303, 304, 305, 306,
307, 308, 309, 310, 311, 312, -1, 314, 315, 316,
317, 318, 319, 320, 321, 322, 323, 324, 325, 326,
327, 328, -1, 330, 331, 332, 333, 334, 335, 336,
337, 338, 339, 340, 341, 342, 343, 344, 345, -1,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, -1, 360, 361, -1, 363, 364, 365, 366,
367, 368, 369, -1, 371, 372, -1, -1, 375, 376,
377, 378, 379, -1, 381, 382, 383, 384, 385, 386,
387, -1, -1, 390, 391, 392, 393, 394, 395, -1,
397, 398, 399, 400, 401, 402, 403, -1, 405, 406,
407, 408, 409, 410, -1, -1, 413, -1, -1, 416,
417, 418, 419, 420, 421, 422, 423, 424, 425, 426,
427, 428, 429, 430, 431, 432, 433, -1, -1, -1,
3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 451, 18, 19, 20, 21, 22,
23, 24, 25, -1, 27, 28, 29, -1, -1, -1,
-1, -1, -1, -1, 37, 38, -1, 40, 41, 42,
43, 44, 45, 46, 47, 48, 49, 50, -1, 52,
53, 54, 55, 56, -1, 58, 59, 60, 61, 62,
63, -1, 65, 66, 67, 68, 69, -1, 71, -1,
73, 74, 75, 76, 77, 78, 79, 80, -1, 82,
83, 84, 85, 86, 87, -1, 89, 90, 91, 92,
93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
103, 104, 105, 106, 107, 108, -1, 110, -1, 112,
113, 114, 115, 116, -1, 118, 119, 120, -1, -1,
123, 124, 125, 126, 127, -1, 129, 130, 131, -1,
133, 134, 135, -1, 137, 138, 139, 140, 141, 142,
143, 144, 145, -1, 147, -1, 149, 150, 151, 152,
-1, 154, -1, 156, 157, -1, 159, 160, 161, 162,
-1, 164, 165, -1, 167, 168, -1, 170, 171, 172,
173, 174, 175, 176, 177, 178, 179, -1, 181, 182,
183, 184, 185, 186, -1, 188, 189, 190, 191, 192,
193, 194, 195, 196, -1, 198, -1, 200, 201, 202,
203, 204, 205, 206, 207, 208, 209, -1, -1, 212,
213, 214, 215, 216, -1, 218, 219, 220, 221, 222,
223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
243, -1, 245, 246, 247, 248, -1, 250, 251, 252,
253, 254, 255, -1, 257, -1, -1, 260, 261, 262,
-1, -1, 265, 266, 267, 268, 269, 270, 271, 272,
273, 274, 275, 276, 277, -1, 279, 280, 281, 282,
283, 284, 285, 286, -1, 288, 289, 290, 291, 292,
293, 294, 295, 296, 297, 298, 299, 300, -1, 302,
303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
-1, 314, 315, 316, 317, 318, 319, 320, 321, 322,
323, 324, 325, 326, 327, 328, -1, 330, 331, 332,
333, 334, 335, 336, 337, 338, 339, 340, 341, 342,
343, 344, 345, -1, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, -1, 360, 361, -1,
363, 364, 365, 366, 367, 368, 369, -1, 371, 372,
-1, -1, 375, 376, 377, 378, 379, -1, 381, 382,
383, 384, 385, 386, 387, -1, -1, 390, 391, 392,
393, 394, 395, -1, 397, 398, 399, 400, 401, 402,
403, -1, 405, 406, 407, 408, 409, 410, -1, -1,
413, -1, -1, 416, 417, 418, 419, 420, 421, 422,
423, 424, 425, 426, 427, 428, 429, 430, 431, 432,
433, -1, -1, -1, 3, 4, 5, -1, -1, -1,
9, -1, -1, -1, -1, -1, -1, -1, 451, 18,
19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
-1, 40, 41, 42, 43, 44, 45, 46, 47, 48,
49, 50, -1, 52, 53, 54, 55, 56, -1, -1,
59, 60, 61, 62, 63, -1, 65, 66, 67, 68,
69, -1, 71, -1, 73, 74, 75, 76, 77, 78,
79, 80, -1, 82, 83, 84, 85, 86, 87, -1,
89, 90, 91, 92, -1, -1, -1, 96, -1, -1,
-1, 100, 101, 102, 103, 104, 105, 106, 107, 108,
-1, 110, -1, 112, 113, 114, 115, 116, -1, 118,
119, 120, -1, -1, 123, 124, 125, 126, 127, -1,
129, 130, 131, -1, 133, 134, 135, -1, 137, 138,
139, 140, 141, 142, 143, 144, 145, 146, 147, -1,
149, 150, 151, 152, -1, 154, -1, 156, 157, -1,
159, 160, 161, 162, -1, 164, 165, -1, 167, 168,
-1, 170, 171, 172, 173, 174, 175, 176, 177, 178,
179, -1, 181, 182, 183, 184, 185, 186, -1, 188,
189, 190, 191, 192, 193, 194, 195, 196, -1, 198,
-1, 200, 201, 202, 203, 204, 205, 206, 207, 208,
209, -1, -1, 212, 213, 214, 215, 216, -1, 218,
219, 220, -1, -1, 223, 224, 225, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, -1, 245, 246, 247, 248,
-1, 250, 251, 252, 253, 254, 255, -1, 257, 258,
-1, 260, 261, 262, -1, -1, 265, 266, 267, 268,
269, 270, 271, 272, 273, 274, 275, 276, 277, -1,
279, 280, 281, 282, 283, 284, 285, 286, -1, 288,
289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, -1, 314, 315, 316, 317, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
-1, 330, 331, 332, 333, 334, -1, 336, 337, 338,
339, 340, 341, 342, 343, 344, 345, -1, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
-1, 360, 361, -1, 363, 364, 365, 366, 367, 368,
369, -1, 371, 372, -1, -1, 375, 376, 377, 378,
379, 380, 381, 382, 383, 384, 385, 386, 387, -1,
-1, 390, 391, 392, 393, 394, -1, -1, 397, 398,
399, 400, 401, 402, 403, -1, 405, 406, 407, 408,
409, 410, -1, -1, 413, -1, -1, 416, 417, 418,
419, 420, 421, 422, 423, 424, 425, 426, 427, 428,
429, 430, 431, 432, 433, -1, -1, -1, 3, -1,
-1, -1, 441, 442, 443, -1, -1, -1, -1, -1,
-1, -1, 451, 18, 19, 20, 21, 22, 23, 24,
25, -1, 27, 28, 29, 30, 31, -1, -1, -1,
-1, -1, 37, 38, -1, 40, 41, 42, 43, 44,
45, 46, 47, 48, 49, 50, -1, 52, 53, 54,
55, 56, -1, -1, 59, 60, 61, 62, 63, -1,
65, 66, 67, 68, 69, -1, 71, -1, 73, 74,
75, 76, 77, 78, 79, 80, -1, 82, 83, 84,
85, 86, 87, -1, 89, 90, 91, 92, -1, -1,
-1, 96, -1, -1, -1, 100, 101, 102, 103, 104,
105, 106, 107, 108, -1, 110, -1, 112, 113, 114,
115, 116, -1, 118, 119, 120, -1, -1, 123, 124,
125, 126, 127, -1, 129, 130, 131, -1, 133, 134,
135, -1, 137, 138, 139, 140, 141, 142, 143, 144,
145, -1, 147, -1, 149, 150, 151, 152, -1, 154,
-1, 156, 157, -1, 159, 160, 161, 162, -1, 164,
165, -1, 167, 168, -1, 170, 171, 172, 173, 174,
175, 176, 177, 178, 179, -1, 181, 182, 183, 184,
185, 186, -1, 188, 189, 190, 191, 192, 193, 194,
195, 196, -1, 198, -1, 200, 201, 202, 203, 204,
205, 206, 207, 208, 209, -1, -1, 212, 213, 214,
215, 216, -1, 218, 219, 220, -1, -1, 223, 224,
225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 242, 243, -1,
245, 246, 247, 248, -1, 250, 251, 252, 253, 254,
255, -1, 257, -1, -1, 260, 261, 262, -1, -1,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, 277, -1, 279, 280, 281, 282, 283, 284,
285, 286, -1, 288, 289, 290, 291, 292, 293, 294,
295, 296, 297, 298, 299, 300, -1, 302, 303, 304,
305, 306, 307, 308, 309, 310, 311, 312, -1, 314,
315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
-1, 336, 337, 338, 339, 340, 341, 342, 343, 344,
345, -1, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, -1, 360, 361, 362, 363, 364,
365, 366, 367, 368, 369, -1, 371, 372, -1, -1,
375, 376, 377, 378, 379, -1, 381, 382, 383, 384,
385, 386, 387, -1, -1, 390, 391, 392, 393, 394,
-1, -1, 397, 398, 399, 400, 401, 402, 403, -1,
405, 406, 407, 408, 409, 410, -1, -1, 413, -1,
415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
425, 426, 427, 428, 429, 430, 431, 432, 433, -1,
-1, 436, 3, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 451, 18, 19, 20,
21, 22, 23, 24, 25, -1, 27, 28, 29, -1,
-1, -1, -1, -1, -1, -1, 37, 38, -1, 40,
41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
-1, 52, 53, 54, 55, 56, -1, -1, 59, 60,
61, 62, 63, -1, 65, 66, 67, 68, 69, -1,
71, -1, 73, 74, 75, 76, 77, 78, 79, 80,
-1, 82, 83, 84, 85, 86, 87, -1, 89, 90,
91, 92, -1, -1, -1, 96, -1, -1, -1, 100,
101, 102, 103, 104, 105, 106, 107, 108, -1, 110,
-1, 112, 113, 114, 115, 116, -1, 118, 119, 120,
-1, -1, 123, 124, 125, 126, 127, -1, 129, 130,
131, -1, 133, 134, 135, -1, 137, 138, 139, 140,
141, 142, 143, 144, 145, -1, 147, -1, 149, 150,
151, 152, -1, 154, -1, 156, 157, -1, 159, 160,
161, 162, -1, 164, 165, -1, 167, 168, -1, 170,
171, 172, 173, 174, 175, 176, 177, 178, 179, -1,
181, 182, 183, 184, 185, 186, -1, 188, 189, 190,
191, 192, 193, 194, 195, 196, -1, 198, -1, 200,
201, 202, 203, 204, 205, 206, 207, 208, 209, -1,
-1, 212, 213, 214, 215, 216, -1, 218, 219, 220,
-1, -1, 223, 224, 225, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 242, 243, -1, 245, 246, 247, 248, -1, 250,
251, 252, 253, 254, 255, -1, 257, -1, -1, 260,
261, 262, -1, -1, 265, 266, 267, 268, 269, 270,
271, 272, 273, 274, 275, 276, 277, -1, 279, 280,
281, 282, 283, 284, 285, 286, -1, 288, 289, 290,
291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
-1, 302, 303, 304, 305, 306, 307, 308, 309, 310,
311, 312, -1, 314, 315, 316, 317, 318, 319, 320,
321, 322, 323, 324, 325, 326, 327, 328, -1, 330,
331, 332, 333, 334, -1, 336, 337, 338, 339, 340,
341, 342, 343, 344, 345, -1, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, -1, 360,
361, -1, 363, 364, 365, 366, 367, 368, 369, -1,
371, 372, -1, -1, 375, 376, 377, 378, 379, -1,
381, 382, 383, 384, 385, 386, 387, -1, -1, 390,
391, 392, 393, 394, -1, -1, 397, 398, 399, 400,
401, 402, 403, -1, 405, 406, 407, 408, 409, 410,
-1, -1, 413, -1, -1, 416, 417, 418, 419, 420,
421, 422, 423, 424, 425, 426, 427, 428, 429, 430,
431, 432, 433, -1, -1, -1, 3, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
451, 18, 19, 20, 21, 22, 23, 24, 25, -1,
27, 28, 29, -1, -1, -1, -1, -1, -1, -1,
37, 38, -1, 40, 41, -1, 43, 44, 45, 46,
47, -1, 49, 50, -1, 52, 53, 54, 55, 56,
-1, -1, 59, 60, 61, 62, 63, -1, 65, 66,
67, 68, 69, -1, -1, -1, 73, 74, 75, 76,
-1, 78, 79, 80, -1, 82, 83, 84, 85, 86,
87, -1, -1, 90, 91, 92, -1, -1, -1, -1,
-1, -1, -1, 100, 101, 102, 103, 104, 105, 106,
107, 108, -1, 110, -1, 112, 113, 114, 115, 116,
-1, 118, 119, 120, -1, -1, 123, 124, 125, 126,
127, -1, 129, 130, 131, -1, 133, 134, 135, -1,
137, 138, 139, 140, 141, 142, 143, 144, 145, -1,
147, -1, 149, 150, 151, 152, -1, 154, -1, 156,
-1, -1, -1, 160, 161, 162, -1, 164, 165, -1,
167, 168, -1, 170, 171, 172, 173, 174, -1, 176,
177, 178, 179, -1, 181, 182, 183, 184, 185, 186,
-1, 188, -1, 190, 191, 192, 193, 194, 195, 196,
-1, 198, -1, 200, -1, -1, 203, -1, 205, 206,
207, 208, 209, -1, -1, 212, 213, -1, 215, -1,
-1, 218, 219, 220, -1, -1, 223, 224, 225, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
237, 238, -1, 240, 241, 242, 243, -1, 245, 246,
-1, 248, -1, 250, 251, 252, 253, 254, 255, -1,
257, -1, -1, 260, 261, 262, -1, -1, 265, 266,
-1, 268, -1, 270, 271, 272, 273, 274, 275, 276,
277, -1, 279, 280, 281, 282, 283, 284, 285, 286,
-1, 288, 289, 290, 291, 292, 293, 294, 295, 296,
297, 298, 299, 300, -1, 302, 303, 304, 305, 306,
307, 308, 309, 310, 311, 312, -1, 314, 315, -1,
317, 318, 319, 320, 321, 322, 323, 324, 325, 326,
327, 328, 329, 330, 331, 332, 333, 334, -1, 336,
337, 338, 339, 340, -1, 342, 343, 344, 345, -1,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, -1, 360, 361, 362, 363, -1, 365, 366,
367, 368, 369, -1, 371, 372, -1, -1, 375, 376,
377, 378, 379, -1, 381, 382, 383, 384, 385, 386,
387, -1, -1, 390, 391, 392, 393, 394, -1, -1,
397, 398, 399, 400, 401, 402, 403, -1, 405, -1,
407, 408, 409, 410, -1, -1, 413, -1, 415, 416,
417, 418, 419, 420, 421, 422, 423, 424, 425, 426,
427, 428, 429, 430, 431, 432, 433, -1, -1, 436,
3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 451, 18, 19, 20, 21, 22,
23, 24, 25, -1, 27, 28, 29, -1, -1, -1,
-1, -1, -1, -1, 37, 38, -1, 40, 41, -1,
43, 44, 45, 46, 47, -1, 49, 50, -1, 52,
53, 54, 55, 56, -1, -1, 59, 60, 61, 62,
63, -1, 65, 66, 67, 68, 69, -1, -1, -1,
73, 74, 75, 76, -1, 78, 79, 80, -1, 82,
83, 84, 85, 86, 87, -1, -1, 90, 91, 92,
-1, -1, -1, -1, -1, -1, -1, 100, 101, 102,
103, 104, 105, 106, 107, 108, -1, 110, -1, 112,
113, 114, 115, 116, -1, 118, 119, 120, -1, -1,
123, 124, 125, 126, 127, -1, 129, 130, 131, -1,
133, 134, 135, -1, 137, 138, 139, 140, 141, 142,
143, 144, 145, -1, 147, -1, 149, 150, 151, 152,
-1, 154, -1, 156, -1, -1, -1, 160, 161, 162,
-1, 164, 165, -1, 167, 168, -1, 170, 171, 172,
173, 174, -1, 176, 177, 178, 179, -1, 181, 182,
183, 184, 185, 186, -1, 188, -1, 190, 191, 192,
193, 194, 195, 196, -1, 198, -1, 200, -1, -1,
203, -1, 205, 206, 207, 208, 209, -1, -1, 212,
213, -1, 215, -1, -1, 218, 219, 220, -1, -1,
223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, -1, 240, 241, 242,
243, -1, 245, 246, -1, 248, -1, 250, 251, 252,
253, 254, 255, -1, 257, -1, -1, 260, 261, 262,
-1, -1, 265, 266, -1, 268, -1, 270, 271, 272,
273, 274, 275, 276, 277, -1, 279, 280, 281, 282,
283, 284, 285, 286, -1, 288, 289, 290, 291, 292,
293, 294, 295, 296, 297, 298, 299, 300, -1, 302,
303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
-1, 314, 315, -1, 317, 318, 319, 320, 321, 322,
323, 324, 325, 326, 327, 328, -1, 330, 331, 332,
333, 334, -1, 336, 337, 338, 339, 340, -1, 342,
343, 344, 345, -1, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, -1, 360, 361, -1,
363, -1, 365, 366, 367, 368, 369, -1, 371, 372,
-1, -1, 375, 376, 377, 378, 379, -1, 381, 382,
383, 384, 385, 386, 387, -1, -1, 390, 391, 392,
393, 394, -1, -1, 397, 398, 399, 400, 401, 402,
403, -1, 405, -1, 407, 408, 409, 410, -1, -1,
413, -1, -1, 416, 417, 418, 419, 420, 421, 422,
423, 424, 425, 426, 427, 428, 429, 430, 431, 432,
433, -1, -1, -1, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 451, 18,
19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
-1, 40, 41, -1, 43, 44, 45, 46, 47, -1,
49, 50, -1, 52, 53, 54, 55, 56, -1, -1,
59, 60, 61, 62, 63, -1, 65, 66, 67, 68,
69, -1, -1, -1, 73, 74, 75, 76, -1, 78,
79, 80, -1, 82, 83, 84, 85, 86, 87, -1,
-1, 90, 91, 92, -1, -1, -1, -1, -1, -1,
-1, 100, 101, 102, 103, 104, 105, 106, 107, 108,
-1, 110, -1, 112, 113, 114, 115, 116, -1, 118,
119, 120, -1, -1, 123, 124, 125, 126, 127, -1,
129, 130, 131, -1, 133, 134, 135, -1, 137, 138,
139, 140, 141, 142, 143, 144, 145, -1, 147, -1,
149, 150, 151, 152, -1, 154, -1, 156, -1, -1,
-1, 160, 161, 162, -1, 164, 165, -1, 167, 168,
-1, 170, 171, 172, 173, 174, -1, 176, 177, 178,
179, -1, 181, 182, 183, 184, 185, 186, -1, 188,
-1, 190, 191, 192, 193, 194, 195, 196, -1, 198,
-1, 200, -1, -1, 203, -1, 205, 206, 207, 208,
209, -1, -1, 212, 213, -1, 215, -1, -1, 218,
219, 220, -1, -1, 223, 224, 225, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
-1, 240, 241, 242, 243, -1, 245, 246, -1, 248,
-1, 250, 251, 252, 253, 254, 255, -1, 257, -1,
-1, 260, 261, 262, -1, -1, 265, 266, -1, 268,
-1, 270, 271, 272, 273, 274, 275, 276, 277, -1,
279, 280, 281, 282, 283, 284, 285, 286, -1, 288,
289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, -1, 314, 315, -1, 317, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
-1, 330, 331, 332, 333, 334, -1, 336, 337, 338,
339, 340, -1, 342, 343, 344, 345, -1, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
-1, 360, 361, -1, 363, -1, 365, 366, 367, 368,
369, -1, 371, 372, -1, -1, 375, 376, 377, 378,
379, -1, 381, 382, 383, 384, 385, 386, 387, -1,
-1, 390, 391, 392, 393, 394, -1, -1, 397, 398,
399, 400, 401, 402, 403, -1, 405, -1, 407, 408,
409, 410, -1, -1, 413, -1, -1, 416, 417, 418,
419, 420, 421, 422, 423, 424, 425, 426, 427, 428,
429, 430, 431, 432, 433, -1, -1, -1, 3, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 451, 18, 19, 20, 21, 22, 23, 24,
25, -1, 27, 28, 29, -1, -1, -1, -1, -1,
-1, -1, 37, 38, -1, 40, 41, -1, 43, 44,
45, 46, 47, -1, 49, 50, -1, 52, 53, 54,
55, 56, -1, -1, 59, 60, 61, 62, 63, -1,
65, 66, 67, 68, 69, -1, -1, -1, 73, 74,
75, 76, -1, 78, 79, 80, -1, 82, 83, 84,
85, 86, 87, -1, -1, 90, 91, 92, -1, -1,
-1, -1, -1, -1, -1, 100, 101, 102, 103, 104,
105, 106, 107, 108, -1, 110, -1, 112, 113, 114,
115, 116, -1, 118, 119, 120, -1, -1, 123, 124,
125, 126, 127, -1, 129, 130, 131, -1, 133, 134,
135, -1, 137, 138, 139, 140, 141, 142, 143, 144,
145, -1, 147, -1, 149, 150, 151, 152, -1, 154,
-1, 156, -1, -1, -1, 160, 161, 162, -1, 164,
165, -1, 167, 168, -1, 170, 171, 172, 173, 174,
-1, 176, 177, 178, 179, -1, 181, 182, 183, 184,
185, 186, -1, 188, -1, 190, 191, 192, 193, 194,
195, 196, -1, 198, -1, 200, -1, -1, 203, -1,
205, 206, 207, 208, 209, -1, -1, 212, 213, -1,
215, -1, -1, 218, 219, 220, -1, -1, 223, 224,
225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, -1, 240, 241, 242, 243, -1,
245, 246, -1, 248, -1, 250, 251, 252, 253, 254,
255, -1, 257, -1, -1, 260, 261, 262, -1, -1,
265, 266, -1, 268, -1, 270, 271, 272, 273, 274,
275, 276, 277, -1, 279, 280, 281, 282, 283, 284,
285, 286, -1, 288, 289, 290, 291, 292, 293, 294,
295, 296, 297, 298, 299, 300, -1, 302, 303, 304,
305, 306, 307, 308, 309, 310, 311, 312, -1, 314,
315, -1, 317, 318, 319, 320, 321, 322, 323, 324,
325, 326, 327, 328, -1, 330, 331, 332, 333, 334,
-1, 336, 337, 338, 339, 340, -1, 342, 343, 344,
345, -1, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, -1, 360, 361, -1, 363, -1,
365, 366, 367, 368, 369, -1, 371, 372, -1, -1,
375, 376, 377, 378, 379, -1, 381, 382, 383, 384,
385, 386, 387, -1, -1, 390, 391, 392, 393, 394,
-1, -1, 397, 398, 399, 400, 401, 402, 403, -1,
405, -1, 407, 408, 409, 410, -1, -1, 413, -1,
-1, 416, 417, 418, 419, 420, 421, 422, 423, 424,
425, 426, 427, 428, 429, 430, 431, 432, 433, -1,
-1, -1, 3, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 451, 18, 19, 20,
21, 22, 23, 24, 25, -1, 27, 28, 29, -1,
-1, -1, -1, -1, -1, -1, 37, 38, -1, 40,
41, -1, 43, 44, 45, 46, 47, -1, 49, 50,
-1, 52, 53, 54, 55, 56, -1, -1, 59, 60,
61, 62, 63, -1, 65, 66, 67, 68, 69, -1,
-1, -1, 73, 74, 75, 76, -1, 78, 79, 80,
-1, 82, 83, 84, 85, 86, 87, -1, -1, 90,
91, 92, -1, -1, -1, -1, -1, -1, -1, 100,
101, 102, 103, 104, 105, 106, 107, 108, -1, 110,
-1, 112, 113, 114, 115, 116, -1, 118, 119, 120,
-1, -1, 123, 124, 125, 126, 127, -1, 129, 130,
131, -1, 133, 134, 135, -1, 137, 138, 139, 140,
141, 142, 143, 144, 145, -1, 147, -1, 149, 150,
151, 152, -1, 154, -1, 156, -1, -1, -1, 160,
161, 162, -1, 164, 165, -1, 167, 168, -1, 170,
171, 172, 173, 174, -1, 176, 177, 178, 179, -1,
181, 182, 183, 184, 185, 186, -1, 188, -1, 190,
191, 192, 193, 194, 195, 196, -1, 198, -1, 200,
-1, -1, 203, -1, 205, 206, 207, 208, 209, -1,
-1, 212, 213, -1, 215, -1, -1, 218, 219, 220,
-1, -1, 223, 224, 225, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, -1, 240,
241, 242, 243, -1, 245, 246, -1, 248, -1, 250,
251, 252, 253, 254, 255, -1, 257, -1, -1, 260,
261, 262, -1, -1, 265, 266, -1, 268, -1, 270,
271, 272, 273, 274, 275, 276, 277, -1, 279, 280,
281, 282, 283, 284, 285, 286, -1, 288, 289, 290,
291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
-1, 302, 303, 304, 305, 306, 307, 308, 309, 310,
311, 312, -1, 314, 315, -1, 317, 318, 319, 320,
321, 322, 323, 324, 325, 326, 327, 328, -1, 330,
331, 332, 333, 334, -1, 336, 337, 338, 339, 340,
-1, 342, 343, 344, 345, -1, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, -1, 360,
361, -1, 363, -1, 365, 366, 367, 368, 369, -1,
371, 372, -1, -1, 375, 376, 377, 378, 379, -1,
381, 382, 383, 384, 385, 386, 387, -1, -1, 390,
391, 392, 393, 394, -1, -1, 397, 398, 399, 400,
401, 402, 403, -1, 405, -1, 407, 408, 409, 410,
-1, -1, 413, -1, -1, 416, 417, 418, 419, 420,
421, 422, 423, 424, 425, 426, 427, 428, 429, 430,
431, 432, 433, -1, -1, -1, -1, -1, -1, 3,
4, 5, -1, -1, 8, 9, -1, -1, -1, -1,
451, 15, 16, 17, 18, 19, 20, 21, 22, 23,
24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
44, 45, -1, 47, 48, 49, 50, 51, 52, 53,
54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
64, 65, 66, 67, 68, -1, 70, 71, 72, 73,
74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
134, 135, 136, 137, 138, 139, 140, -1, 142, 143,
144, -1, 146, 147, 148, 149, 150, 151, 152, 153,
154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, 173,
174, 175, 176, 177, 178, 179, 180, 181, 182, 183,
184, 185, 186, 187, 188, 189, -1, 191, 192, 193,
194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
204, 205, 206, 207, 208, 209, 210, 211, 212, -1,
214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, -1,
244, 245, 246, 247, 248, 249, -1, 251, 252, 253,
254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
264, 265, -1, 267, 268, 269, -1, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, -1,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
294, 295, 296, 297, 298, 299, 300, 301, 302, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
314, 315, 316, 317, 318, 319, -1, 321, 322, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
344, 345, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, -1, 359, 360, 361, 362, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, -1, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, 396, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 418, 419, 420, 421, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 431, 432, 433,
3, 4, 5, 437, 438, 439, 9, 441, 442, 443,
444, 445, 446, 447, -1, 18, 19, 20, 21, 22,
23, 24, 25, -1, 27, 28, 29, -1, -1, -1,
-1, -1, -1, -1, 37, 38, -1, 40, 41, 42,
43, 44, 45, 46, 47, 48, 49, 50, -1, 52,
53, 54, 55, 56, -1, -1, 59, 60, 61, 62,
63, -1, 65, 66, 67, 68, 69, -1, 71, -1,
73, 74, 75, 76, 77, 78, 79, 80, -1, 82,
83, 84, 85, 86, 87, -1, 89, 90, 91, 92,
-1, -1, -1, 96, -1, -1, -1, 100, 101, 102,
103, 104, 105, 106, 107, 108, 109, 110, -1, 112,
113, 114, 115, 116, -1, 118, 119, 120, -1, -1,
123, 124, 125, 126, 127, -1, 129, 130, 131, -1,
133, 134, 135, -1, 137, 138, 139, 140, 141, 142,
143, 144, 145, 146, 147, -1, 149, 150, 151, 152,
-1, 154, -1, 156, 157, -1, 159, 160, 161, 162,
-1, 164, 165, -1, 167, 168, -1, 170, 171, 172,
173, 174, 175, 176, 177, 178, 179, -1, 181, 182,
183, 184, 185, 186, -1, 188, 189, 190, 191, 192,
193, 194, 195, 196, -1, 198, -1, 200, 201, 202,
203, 204, 205, 206, 207, 208, 209, -1, -1, 212,
213, 214, 215, 216, -1, 218, 219, 220, -1, -1,
223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
243, -1, 245, 246, 247, 248, -1, 250, 251, 252,
253, 254, 255, -1, 257, 258, -1, 260, 261, 262,
-1, -1, 265, 266, 267, 268, 269, 270, 271, 272,
273, 274, 275, 276, 277, -1, 279, 280, 281, 282,
283, 284, 285, 286, -1, 288, 289, 290, 291, 292,
293, 294, 295, 296, 297, 298, 299, 300, -1, 302,
303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
-1, 314, 315, 316, 317, 318, 319, 320, 321, 322,
323, 324, 325, 326, 327, 328, -1, 330, 331, 332,
333, 334, -1, 336, 337, 338, 339, 340, 341, 342,
343, 344, 345, -1, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, -1, 360, 361, -1,
363, 364, 365, 366, 367, 368, 369, -1, 371, 372,
-1, -1, 375, 376, 377, 378, 379, 380, 381, 382,
383, 384, 385, 386, 387, -1, -1, 390, 391, 392,
393, 394, -1, -1, 397, 398, 399, 400, 401, 402,
403, -1, 405, 406, 407, 408, 409, 410, -1, -1,
413, -1, -1, 416, 417, 418, 419, 420, 421, 422,
423, 424, 425, 426, 427, 428, 429, 430, 431, 432,
433, 3, 4, 5, -1, -1, -1, 9, 441, 442,
-1, -1, -1, -1, 447, -1, 18, 19, 20, 21,
22, 23, 24, 25, -1, 27, 28, 29, -1, -1,
-1, -1, -1, -1, -1, 37, 38, -1, 40, 41,
42, 43, 44, 45, 46, 47, 48, 49, 50, -1,
52, 53, 54, 55, 56, -1, -1, 59, 60, 61,
62, 63, -1, 65, 66, 67, 68, 69, -1, 71,
-1, 73, 74, 75, 76, 77, 78, 79, 80, -1,
82, 83, 84, 85, 86, 87, -1, 89, 90, 91,
92, -1, -1, -1, 96, -1, -1, -1, 100, 101,
102, 103, 104, 105, 106, 107, 108, 109, 110, -1,
112, 113, 114, 115, 116, -1, 118, 119, 120, -1,
-1, 123, 124, 125, 126, 127, -1, 129, 130, 131,
-1, 133, 134, 135, -1, 137, 138, 139, 140, 141,
142, 143, 144, 145, 146, 147, -1, 149, 150, 151,
152, -1, 154, -1, 156, 157, -1, 159, 160, 161,
162, -1, 164, 165, -1, 167, 168, -1, 170, 171,
172, 173, 174, 175, 176, 177, 178, 179, -1, 181,
182, 183, 184, 185, 186, -1, 188, 189, 190, 191,
192, 193, 194, 195, 196, -1, 198, -1, 200, 201,
202, 203, 204, 205, 206, 207, 208, 209, -1, -1,
212, 213, 214, 215, 216, -1, 218, 219, 220, -1,
-1, 223, 224, 225, 226, 227, 228, 229, 230, 231,
232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
242, 243, -1, 245, 246, 247, 248, -1, 250, 251,
252, 253, 254, 255, -1, 257, 258, -1, 260, 261,
262, -1, -1, 265, 266, 267, 268, 269, 270, 271,
272, 273, 274, 275, 276, 277, -1, 279, 280, 281,
282, 283, 284, 285, 286, -1, 288, 289, 290, 291,
292, 293, 294, 295, 296, 297, 298, 299, 300, -1,
302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
312, -1, 314, 315, 316, 317, 318, 319, 320, 321,
322, 323, 324, 325, 326, 327, 328, -1, 330, 331,
332, 333, 334, -1, 336, 337, 338, 339, 340, 341,
342, 343, 344, 345, -1, 347, 348, 349, 350, 351,
352, 353, 354, 355, 356, 357, 358, -1, 360, 361,
-1, 363, 364, 365, 366, 367, 368, 369, -1, 371,
372, -1, -1, 375, 376, 377, 378, 379, 380, 381,
382, 383, 384, 385, 386, 387, -1, -1, 390, 391,
392, 393, 394, -1, -1, 397, 398, 399, 400, 401,
402, 403, -1, 405, 406, 407, 408, 409, 410, -1,
-1, 413, -1, -1, 416, 417, 418, 419, 420, 421,
422, 423, 424, 425, 426, 427, 428, 429, 430, 431,
432, 433, 3, 4, 5, -1, -1, -1, 9, 441,
442, -1, -1, -1, -1, 447, -1, 18, 19, 20,
21, 22, 23, 24, 25, -1, 27, 28, 29, -1,
-1, -1, -1, -1, -1, -1, 37, 38, -1, 40,
41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
-1, 52, 53, 54, 55, 56, -1, -1, 59, 60,
61, 62, 63, -1, 65, 66, 67, 68, 69, -1,
71, -1, 73, 74, 75, 76, 77, 78, 79, 80,
-1, 82, 83, 84, 85, 86, 87, -1, 89, 90,
91, 92, -1, -1, -1, 96, -1, -1, -1, 100,
101, 102, 103, 104, 105, 106, 107, 108, -1, 110,
-1, 112, 113, 114, 115, 116, -1, 118, 119, 120,
-1, -1, 123, 124, 125, 126, 127, -1, 129, 130,
131, -1, 133, 134, 135, -1, 137, 138, 139, 140,
141, 142, 143, 144, 145, 146, 147, -1, 149, 150,
151, 152, -1, 154, -1, 156, 157, -1, 159, 160,
161, 162, -1, 164, 165, -1, 167, 168, -1, 170,
171, 172, 173, 174, 175, 176, 177, 178, 179, -1,
181, 182, 183, 184, 185, 186, -1, 188, 189, 190,
191, 192, 193, 194, 195, 196, -1, 198, -1, 200,
201, 202, 203, 204, 205, 206, 207, 208, 209, -1,
-1, 212, 213, 214, 215, 216, -1, 218, 219, 220,
-1, -1, 223, 224, 225, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 242, 243, -1, 245, 246, 247, 248, -1, 250,
251, 252, 253, 254, 255, -1, 257, 258, -1, 260,
261, 262, -1, -1, 265, 266, 267, 268, 269, 270,
271, 272, 273, 274, 275, 276, 277, -1, 279, 280,
281, 282, 283, 284, 285, 286, -1, 288, 289, 290,
291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
-1, 302, 303, 304, 305, 306, 307, 308, 309, 310,
311, 312, -1, 314, 315, 316, 317, 318, 319, 320,
321, 322, 323, 324, 325, 326, 327, 328, -1, 330,
331, 332, 333, 334, -1, 336, 337, 338, 339, 340,
341, 342, 343, 344, 345, -1, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, -1, 360,
361, -1, 363, 364, 365, 366, 367, 368, 369, -1,
371, 372, -1, -1, 375, 376, 377, 378, 379, 380,
381, 382, 383, 384, 385, 386, 387, -1, -1, 390,
391, 392, 393, 394, -1, -1, 397, 398, 399, 400,
401, 402, 403, -1, 405, 406, 407, 408, 409, 410,
-1, -1, 413, -1, -1, 416, 417, 418, 419, 420,
421, 422, 423, 424, 425, 426, 427, 428, 429, 430,
431, 432, 433, 3, -1, 5, -1, -1, -1, -1,
441, 442, -1, -1, -1, -1, 447, -1, 18, 19,
20, 21, 22, 23, 24, 25, -1, 27, 28, 29,
-1, -1, -1, -1, -1, -1, -1, 37, 38, -1,
40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
50, -1, 52, 53, 54, 55, 56, -1, -1, 59,
60, 61, 62, 63, -1, 65, 66, 67, 68, 69,
-1, 71, -1, 73, 74, 75, 76, 77, 78, 79,
80, -1, 82, 83, 84, 85, 86, 87, -1, 89,
90, 91, 92, -1, -1, -1, 96, -1, -1, -1,
100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
110, -1, 112, 113, 114, 115, 116, -1, 118, 119,
120, -1, -1, 123, 124, 125, 126, 127, -1, 129,
130, 131, -1, 133, 134, 135, -1, 137, 138, 139,
140, 141, 142, 143, 144, 145, -1, 147, -1, 149,
150, 151, 152, -1, 154, -1, 156, 157, -1, 159,
160, 161, 162, -1, 164, 165, -1, 167, 168, -1,
170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
-1, 181, 182, 183, 184, 185, 186, -1, 188, 189,
190, 191, 192, 193, 194, 195, 196, -1, 198, -1,
200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
-1, -1, 212, 213, 214, 215, 216, -1, 218, 219,
220, -1, -1, 223, 224, 225, 226, 227, 228, 229,
230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
240, 241, 242, 243, -1, 245, 246, 247, 248, -1,
250, 251, 252, 253, 254, 255, -1, 257, -1, -1,
260, 261, 262, -1, -1, 265, 266, 267, 268, 269,
270, 271, 272, 273, 274, 275, 276, 277, -1, 279,
280, 281, 282, 283, 284, 285, 286, -1, 288, 289,
290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
300, -1, 302, 303, 304, 305, 306, 307, 308, 309,
310, 311, 312, -1, 314, 315, 316, 317, 318, 319,
320, 321, 322, 323, 324, 325, 326, 327, 328, -1,
330, 331, 332, 333, 334, -1, 336, 337, 338, 339,
340, 341, 342, 343, 344, 345, -1, 347, 348, 349,
350, 351, 352, 353, 354, 355, 356, 357, 358, -1,
360, 361, -1, 363, 364, 365, 366, 367, 368, 369,
-1, 371, 372, -1, -1, 375, 376, 377, 378, 379,
-1, 381, 382, 383, 384, 385, 386, 387, -1, -1,
390, 391, 392, 393, 394, -1, -1, 397, 398, 399,
400, 401, 402, 403, -1, 405, 406, 407, 408, 409,
410, -1, -1, 413, -1, -1, 416, 417, 418, 419,
420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
430, 431, 432, 433, 3, -1, 5, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 447, -1, 18,
19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
-1, 40, 41, 42, 43, 44, 45, 46, 47, 48,
49, 50, -1, 52, 53, 54, 55, 56, -1, -1,
59, 60, 61, 62, 63, -1, 65, 66, 67, 68,
69, -1, 71, -1, 73, 74, 75, 76, 77, 78,
79, 80, -1, 82, 83, 84, 85, 86, 87, -1,
89, 90, 91, 92, -1, -1, -1, 96, -1, -1,
-1, 100, 101, 102, 103, 104, 105, 106, 107, 108,
-1, 110, -1, 112, 113, 114, 115, 116, -1, 118,
119, 120, -1, -1, 123, 124, 125, 126, 127, -1,
129, 130, 131, -1, 133, 134, 135, -1, 137, 138,
139, 140, 141, 142, 143, 144, 145, -1, 147, -1,
149, 150, 151, 152, -1, 154, -1, 156, 157, -1,
159, 160, 161, 162, -1, 164, 165, -1, 167, 168,
-1, 170, 171, 172, 173, 174, 175, 176, 177, 178,
179, -1, 181, 182, 183, 184, 185, 186, -1, 188,
189, 190, 191, 192, 193, 194, 195, 196, -1, 198,
-1, 200, 201, 202, 203, 204, 205, 206, 207, 208,
209, -1, -1, 212, 213, 214, 215, 216, -1, 218,
219, 220, -1, -1, 223, 224, 225, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, -1, 245, 246, 247, 248,
-1, 250, 251, 252, 253, 254, 255, -1, 257, -1,
-1, 260, 261, 262, -1, -1, 265, 266, 267, 268,
269, 270, 271, 272, 273, 274, 275, 276, 277, -1,
279, 280, 281, 282, 283, 284, 285, 286, -1, 288,
289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, -1, 314, 315, 316, 317, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
-1, 330, 331, 332, 333, 334, -1, 336, 337, 338,
339, 340, 341, 342, 343, 344, 345, -1, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
-1, 360, 361, -1, 363, 364, 365, 366, 367, 368,
369, -1, 371, 372, -1, -1, 375, 376, 377, 378,
379, -1, 381, 382, 383, 384, 385, 386, 387, -1,
-1, 390, 391, 392, 393, 394, -1, -1, 397, 398,
399, 400, 401, 402, 403, -1, 405, 406, 407, 408,
409, 410, -1, -1, 413, -1, -1, 416, 417, 418,
419, 420, 421, 422, 423, 424, 425, 426, 427, 428,
429, 430, 431, 432, 433, -1, -1, 3, -1, -1,
-1, -1, 8, -1, -1, -1, -1, -1, 447, 15,
16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
-1, 27, 28, 29, -1, -1, -1, -1, -1, -1,
-1, 37, 38, -1, 40, 41, -1, 43, 44, 45,
46, 47, -1, 49, 50, -1, 52, 53, 54, 55,
56, -1, -1, 59, 60, 61, 62, 63, -1, 65,
66, 67, 68, 69, -1, -1, -1, 73, 74, 75,
76, -1, 78, 79, 80, -1, 82, 83, 84, 85,
86, 87, -1, -1, 90, 91, 92, -1, -1, -1,
-1, -1, -1, -1, 100, 101, 102, 103, 104, 105,
106, 107, 108, -1, 110, -1, 112, 113, 114, 115,
116, -1, 118, 119, 120, -1, -1, 123, 124, 125,
126, 127, -1, 129, 130, 131, -1, 133, 134, 135,
-1, 137, 138, 139, 140, 141, 142, 143, 144, 145,
-1, 147, -1, 149, 150, 151, 152, -1, 154, -1,
156, -1, -1, -1, 160, 161, 162, -1, 164, 165,
-1, 167, 168, -1, 170, 171, 172, 173, 174, -1,
176, 177, 178, 179, -1, 181, 182, 183, 184, 185,
186, -1, 188, -1, 190, 191, 192, 193, 194, 195,
196, -1, 198, -1, 200, -1, -1, 203, -1, 205,
206, 207, 208, 209, -1, -1, 212, 213, -1, 215,
-1, -1, 218, 219, 220, -1, -1, 223, 224, 225,
226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
236, 237, 238, -1, 240, 241, 242, 243, -1, 245,
246, -1, 248, -1, 250, 251, 252, 253, 254, 255,
-1, 257, -1, -1, 260, 261, 262, -1, -1, 265,
266, -1, 268, -1, 270, 271, 272, 273, 274, 275,
276, 277, -1, 279, 280, 281, 282, 283, 284, 285,
286, -1, 288, 289, 290, 291, 292, 293, 294, 295,
296, 297, 298, 299, 300, -1, 302, 303, 304, 305,
306, 307, 308, 309, 310, 311, 312, -1, 314, 315,
-1, 317, 318, 319, 320, 321, 322, 323, 324, 325,
326, 327, 328, -1, 330, 331, 332, 333, 334, -1,
336, 337, 338, 339, 340, -1, 342, 343, 344, 345,
-1, 347, 348, 349, 350, 351, 352, 353, 354, 355,
356, 357, 358, -1, 360, 361, -1, 363, -1, 365,
366, 367, 368, 369, -1, 371, 372, -1, -1, 375,
376, 377, 378, 379, -1, 381, 382, 383, 384, 385,
386, 387, -1, -1, 390, 391, 392, 393, 394, -1,
-1, 397, 398, 399, 400, 401, 402, 403, -1, 405,
-1, 407, 408, 409, 410, -1, -1, 413, -1, -1,
416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
426, 427, 428, 429, 430, 431, 432, 433, -1, -1,
-1, 437, 438, 439, -1, 441, 442, 443, 444, 445,
446, 447, 3, -1, -1, -1, -1, 8, -1, -1,
-1, -1, -1, -1, 15, 16, 17, 18, 19, 20,
21, 22, 23, 24, 25, -1, 27, 28, 29, -1,
-1, -1, -1, -1, -1, -1, 37, 38, -1, 40,
41, -1, 43, 44, 45, 46, 47, -1, 49, 50,
-1, 52, 53, 54, 55, 56, -1, -1, 59, 60,
61, 62, 63, -1, 65, 66, 67, 68, 69, -1,
-1, -1, 73, 74, 75, 76, -1, 78, 79, 80,
-1, 82, 83, 84, 85, 86, 87, -1, -1, 90,
91, 92, -1, -1, -1, -1, -1, -1, -1, 100,
101, 102, 103, 104, 105, 106, 107, 108, -1, 110,
-1, 112, 113, 114, 115, 116, -1, 118, 119, 120,
-1, -1, 123, 124, 125, 126, 127, -1, 129, 130,
131, -1, 133, 134, 135, -1, 137, 138, 139, 140,
141, 142, 143, 144, 145, -1, 147, -1, 149, 150,
151, 152, -1, 154, -1, 156, -1, -1, -1, 160,
161, 162, -1, 164, 165, -1, 167, 168, -1, 170,
171, 172, 173, 174, -1, 176, 177, 178, 179, -1,
181, 182, 183, 184, 185, 186, -1, 188, -1, 190,
191, 192, 193, 194, 195, 196, -1, 198, -1, 200,
-1, -1, 203, -1, 205, 206, 207, 208, 209, -1,
-1, 212, 213, -1, 215, -1, -1, 218, 219, 220,
-1, -1, 223, 224, 225, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, -1, 240,
241, 242, 243, -1, 245, 246, -1, 248, -1, 250,
251, 252, 253, 254, 255, -1, 257, -1, -1, 260,
261, 262, -1, -1, 265, 266, -1, 268, -1, 270,
271, 272, 273, 274, 275, 276, 277, -1, 279, 280,
281, 282, 283, 284, 285, 286, -1, 288, 289, 290,
291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
-1, 302, 303, 304, 305, 306, 307, 308, 309, 310,
311, 312, -1, 314, 315, -1, 317, 318, 319, 320,
321, 322, 323, 324, 325, 326, 327, 328, -1, 330,
331, 332, 333, 334, -1, 336, 337, 338, 339, 340,
-1, 342, 343, 344, 345, -1, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, -1, 360,
361, -1, 363, -1, 365, 366, 367, 368, 369, -1,
371, 372, -1, -1, 375, 376, 377, 378, 379, -1,
381, 382, 383, 384, 385, 386, 387, -1, -1, 390,
391, 392, 393, 394, -1, -1, 397, 398, 399, 400,
401, 402, 403, -1, 405, -1, 407, 408, 409, 410,
-1, -1, 413, -1, -1, 416, 417, 418, 419, 420,
421, 422, 423, 424, 425, 426, 427, 428, 429, 430,
431, 432, 433, -1, -1, -1, 437, 438, 439, -1,
441, 442, 443, 444, 445, 446, 447, 3, -1, -1,
-1, -1, 8, -1, -1, -1, -1, -1, -1, 15,
16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
-1, 27, 28, 29, -1, -1, -1, -1, -1, -1,
-1, 37, 38, -1, 40, 41, -1, 43, 44, 45,
46, 47, -1, 49, 50, -1, 52, 53, 54, 55,
56, -1, -1, 59, 60, 61, 62, 63, -1, 65,
66, 67, 68, 69, -1, -1, -1, 73, 74, 75,
76, -1, 78, 79, 80, -1, 82, 83, 84, 85,
86, 87, -1, -1, 90, 91, 92, -1, -1, -1,
-1, -1, -1, -1, 100, 101, 102, 103, 104, 105,
106, 107, 108, -1, 110, -1, 112, 113, 114, 115,
116, -1, 118, 119, 120, -1, -1, 123, 124, 125,
126, 127, -1, 129, 130, 131, -1, 133, 134, 135,
-1, 137, 138, 139, 140, 141, 142, 143, 144, 145,
-1, 147, -1, 149, 150, 151, 152, -1, 154, -1,
156, -1, -1, -1, 160, 161, 162, -1, 164, 165,
-1, 167, 168, -1, 170, 171, 172, 173, 174, -1,
176, 177, 178, 179, -1, 181, 182, 183, 184, 185,
186, -1, 188, -1, 190, 191, 192, 193, 194, 195,
196, -1, 198, -1, 200, -1, -1, 203, -1, 205,
206, 207, 208, 209, -1, -1, 212, 213, -1, 215,
-1, -1, 218, 219, 220, -1, -1, 223, 224, 225,
226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
236, 237, 238, -1, 240, 241, 242, 243, -1, 245,
246, -1, 248, -1, 250, 251, 252, 253, 254, 255,
-1, 257, -1, -1, 260, 261, 262, -1, -1, 265,
266, -1, 268, -1, 270, 271, 272, 273, 274, 275,
276, 277, -1, 279, 280, 281, 282, 283, 284, 285,
286, -1, 288, 289, 290, 291, 292, 293, 294, 295,
296, 297, 298, 299, 300, -1, 302, 303, 304, 305,
306, 307, 308, 309, 310, 311, 312, -1, 314, 315,
-1, 317, 318, 319, 320, 321, 322, 323, 324, 325,
326, 327, 328, -1, 330, 331, 332, 333, 334, -1,
336, 337, 338, 339, 340, -1, 342, 343, 344, 345,
-1, 347, 348, 349, 350, 351, 352, 353, 354, 355,
356, 357, 358, -1, 360, 361, -1, 363, -1, 365,
366, 367, 368, 369, -1, 371, 372, -1, -1, 375,
376, 377, 378, 379, -1, 381, 382, 383, 384, 385,
386, 387, -1, -1, 390, 391, 392, 393, 394, -1,
-1, 397, 398, 399, 400, 401, 402, 403, -1, 405,
-1, 407, 408, 409, 410, -1, -1, 413, -1, -1,
416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
426, 427, 428, 429, 430, 431, 432, 433, -1, -1,
-1, 437, 438, 439, -1, 441, 442, 443, 444, 445,
446, 447, 3, -1, -1, -1, -1, 8, -1, -1,
-1, -1, -1, -1, 15, 16, 17, 18, 19, 20,
21, 22, 23, 24, 25, -1, 27, 28, 29, -1,
-1, -1, -1, -1, -1, -1, 37, 38, -1, 40,
41, -1, 43, 44, 45, 46, 47, -1, 49, 50,
-1, 52, 53, 54, 55, 56, -1, -1, 59, 60,
61, 62, 63, -1, 65, 66, 67, 68, 69, -1,
-1, -1, 73, 74, 75, 76, -1, 78, 79, 80,
-1, 82, 83, 84, 85, 86, 87, -1, -1, 90,
91, 92, -1, -1, -1, -1, -1, -1, -1, 100,
101, 102, 103, 104, 105, 106, 107, 108, -1, 110,
-1, 112, 113, 114, 115, 116, -1, 118, 119, 120,
-1, -1, 123, 124, 125, 126, 127, -1, 129, 130,
131, -1, 133, 134, 135, -1, 137, 138, 139, 140,
141, 142, 143, 144, 145, -1, 147, -1, 149, 150,
151, 152, -1, 154, -1, 156, -1, -1, -1, 160,
161, 162, -1, 164, 165, -1, 167, 168, -1, 170,
171, 172, 173, 174, -1, 176, 177, 178, 179, -1,
181, 182, 183, 184, 185, 186, -1, 188, -1, 190,
191, 192, 193, 194, 195, 196, -1, 198, -1, 200,
-1, -1, 203, -1, 205, 206, 207, 208, 209, -1,
-1, 212, 213, -1, 215, -1, -1, 218, 219, 220,
-1, -1, 223, 224, 225, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, -1, 240,
241, 242, 243, -1, 245, 246, -1, 248, -1, 250,
251, 252, 253, 254, 255, -1, 257, -1, -1, 260,
261, 262, -1, -1, 265, 266, -1, 268, -1, 270,
271, 272, 273, 274, 275, 276, 277, -1, 279, 280,
281, 282, 283, 284, 285, 286, -1, 288, 289, 290,
291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
-1, 302, 303, 304, 305, 306, 307, 308, 309, 310,
311, 312, -1, 314, 315, -1, 317, 318, 319, 320,
321, 322, 323, 324, 325, 326, 327, 328, -1, 330,
331, 332, 333, 334, -1, 336, 337, 338, 339, 340,
-1, 342, 343, 344, 345, -1, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, -1, 360,
361, -1, 363, -1, 365, 366, 367, 368, 369, -1,
371, 372, -1, -1, 375, 376, 377, 378, 379, -1,
381, 382, 383, 384, 385, 386, 387, -1, -1, 390,
391, 392, 393, 394, -1, -1, 397, 398, 399, 400,
401, 402, 403, -1, 405, -1, 407, 408, 409, 410,
-1, -1, 413, -1, -1, 416, 417, 418, 419, 420,
421, 422, 423, 424, 425, 426, 427, 428, 429, 430,
431, 432, 433, -1, -1, -1, 437, 438, 439, -1,
441, 442, 443, 444, 445, 446, 447, 3, -1, -1,
-1, -1, 8, -1, -1, -1, -1, -1, -1, 15,
16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
-1, 27, 28, 29, -1, -1, -1, -1, -1, -1,
-1, 37, 38, -1, 40, 41, -1, 43, 44, 45,
46, 47, -1, 49, 50, -1, 52, 53, 54, 55,
56, -1, -1, 59, 60, 61, 62, 63, -1, 65,
66, 67, 68, 69, -1, -1, -1, 73, 74, 75,
76, -1, 78, 79, 80, -1, 82, 83, 84, 85,
86, 87, -1, -1, 90, 91, 92, -1, -1, -1,
-1, -1, -1, -1, 100, 101, 102, 103, 104, 105,
106, 107, 108, -1, 110, -1, 112, 113, 114, 115,
116, -1, 118, 119, 120, -1, -1, 123, 124, 125,
126, 127, -1, 129, 130, 131, -1, 133, 134, 135,
-1, 137, 138, 139, 140, 141, 142, 143, 144, 145,
-1, 147, -1, 149, 150, 151, 152, -1, 154, -1,
156, -1, -1, -1, 160, 161, 162, -1, 164, 165,
-1, 167, 168, -1, 170, 171, 172, 173, 174, -1,
176, 177, 178, 179, -1, 181, 182, 183, 184, 185,
186, -1, 188, -1, 190, 191, 192, 193, 194, 195,
196, -1, 198, -1, 200, -1, -1, 203, -1, 205,
206, 207, 208, 209, -1, -1, 212, 213, -1, 215,
-1, -1, 218, 219, 220, -1, -1, 223, 224, 225,
226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
236, 237, 238, -1, 240, 241, 242, 243, -1, 245,
246, -1, 248, -1, 250, 251, 252, 253, 254, 255,
-1, 257, -1, -1, 260, 261, 262, -1, -1, 265,
266, -1, 268, -1, 270, 271, 272, 273, 274, 275,
276, 277, -1, 279, 280, 281, 282, 283, 284, 285,
286, -1, 288, 289, 290, 291, 292, 293, 294, 295,
296, 297, 298, 299, 300, -1, 302, 303, 304, 305,
306, 307, 308, 309, 310, 311, 312, -1, 314, 315,
-1, 317, 318, 319, 320, 321, 322, 323, 324, 325,
326, 327, 328, -1, 330, 331, 332, 333, 334, -1,
336, 337, 338, 339, 340, -1, 342, 343, 344, 345,
-1, 347, 348, 349, 350, 351, 352, 353, 354, 355,
356, 357, 358, -1, 360, 361, -1, 363, -1, 365,
366, 367, 368, 369, -1, 371, 372, -1, -1, 375,
376, 377, 378, 379, -1, 381, 382, 383, 384, 385,
386, 387, -1, -1, 390, 391, 392, 393, 394, -1,
-1, 397, 398, 399, 400, 401, 402, 403, -1, 405,
-1, 407, 408, 409, 410, -1, -1, 413, -1, -1,
416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
426, 427, 428, 429, 430, 431, 432, 433, -1, -1,
-1, 437, 438, 439, -1, 441, 442, 443, 444, 445,
446, 447, 3, -1, -1, -1, -1, 8, -1, -1,
-1, -1, -1, -1, 15, 16, 17, 18, 19, 20,
21, 22, 23, 24, 25, -1, 27, 28, 29, -1,
-1, -1, -1, -1, -1, -1, 37, 38, -1, 40,
41, -1, 43, 44, 45, 46, 47, -1, 49, 50,
-1, 52, 53, 54, 55, 56, -1, -1, 59, 60,
61, 62, 63, -1, 65, 66, 67, 68, 69, -1,
-1, -1, 73, 74, 75, 76, -1, 78, 79, 80,
-1, 82, 83, 84, 85, 86, 87, -1, -1, 90,
91, 92, -1, -1, -1, -1, -1, -1, -1, 100,
101, 102, 103, 104, 105, 106, 107, 108, -1, 110,
-1, 112, 113, 114, 115, 116, -1, 118, 119, 120,
-1, -1, 123, 124, 125, 126, 127, -1, 129, 130,
131, -1, 133, 134, 135, -1, 137, 138, 139, 140,
141, 142, 143, 144, 145, -1, 147, -1, 149, 150,
151, 152, -1, 154, -1, 156, -1, -1, -1, 160,
161, 162, -1, 164, 165, -1, 167, 168, -1, 170,
171, 172, 173, 174, -1, 176, 177, 178, 179, -1,
181, 182, 183, 184, 185, 186, -1, 188, -1, 190,
191, 192, 193, 194, 195, 196, -1, 198, -1, 200,
-1, -1, 203, -1, 205, 206, 207, 208, 209, -1,
-1, 212, 213, -1, 215, -1, -1, 218, 219, 220,
-1, -1, 223, 224, 225, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, -1, 240,
241, 242, 243, -1, 245, 246, -1, 248, -1, 250,
251, 252, 253, 254, 255, -1, 257, -1, -1, 260,
261, 262, -1, -1, 265, 266, -1, 268, -1, 270,
271, 272, 273, 274, 275, 276, 277, -1, 279, 280,
281, 282, 283, 284, 285, 286, -1, 288, 289, 290,
291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
-1, 302, 303, 304, 305, 306, 307, 308, 309, 310,
311, 312, -1, 314, 315, -1, 317, 318, 319, 320,
321, 322, 323, 324, 325, 326, 327, 328, -1, 330,
331, 332, 333, 334, -1, 336, 337, 338, 339, 340,
-1, 342, 343, 344, 345, -1, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, -1, 360,
361, -1, 363, -1, 365, 366, 367, 368, 369, -1,
371, 372, -1, -1, 375, 376, 377, 378, 379, -1,
381, 382, 383, 384, 385, 386, 387, -1, -1, 390,
391, 392, 393, 394, -1, -1, 397, 398, 399, 400,
401, 402, 403, -1, 405, -1, 407, 408, 409, 410,
-1, -1, 413, -1, -1, 416, 417, 418, 419, 420,
421, 422, 423, 424, 425, 426, 427, 428, 429, 430,
431, 432, 433, -1, -1, -1, 437, 438, 439, -1,
441, 442, 443, 444, 445, 446, 447, 3, -1, -1,
-1, -1, 8, -1, -1, -1, -1, -1, -1, 15,
16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
-1, 27, 28, 29, -1, -1, -1, -1, -1, -1,
-1, 37, 38, -1, 40, 41, -1, 43, 44, 45,
46, 47, -1, 49, 50, -1, 52, 53, 54, 55,
56, -1, -1, 59, 60, 61, 62, 63, -1, 65,
66, 67, 68, 69, -1, -1, -1, 73, 74, 75,
76, -1, 78, 79, 80, -1, 82, 83, 84, 85,
86, 87, -1, -1, 90, 91, 92, -1, -1, -1,
-1, -1, -1, -1, 100, 101, 102, 103, 104, 105,
106, 107, 108, -1, 110, -1, 112, 113, 114, 115,
116, -1, 118, 119, 120, -1, -1, 123, 124, 125,
126, 127, -1, 129, 130, 131, -1, 133, 134, 135,
-1, 137, 138, 139, 140, 141, 142, 143, 144, 145,
-1, 147, -1, 149, 150, 151, 152, -1, 154, -1,
156, -1, -1, -1, 160, 161, 162, -1, 164, 165,
-1, 167, 168, -1, 170, 171, 172, 173, 174, -1,
176, 177, 178, 179, -1, 181, 182, 183, 184, 185,
186, -1, 188, -1, 190, 191, 192, 193, 194, 195,
196, -1, 198, -1, 200, -1, -1, 203, -1, 205,
206, 207, 208, 209, -1, -1, 212, 213, -1, 215,
-1, -1, 218, 219, 220, -1, -1, 223, 224, 225,
226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
236, 237, 238, -1, 240, 241, 242, 243, -1, 245,
246, -1, 248, -1, 250, 251, 252, 253, 254, 255,
-1, 257, -1, -1, 260, 261, 262, -1, -1, 265,
266, -1, 268, -1, 270, 271, 272, 273, 274, 275,
276, 277, -1, 279, 280, 281, 282, 283, 284, 285,
286, -1, 288, 289, 290, 291, 292, 293, 294, 295,
296, 297, 298, 299, 300, -1, 302, 303, 304, 305,
306, 307, 308, 309, 310, 311, 312, -1, 314, 315,
-1, 317, 318, 319, 320, 321, 322, 323, 324, 325,
326, 327, 328, -1, 330, 331, 332, 333, 334, -1,
336, 337, 338, 339, 340, -1, 342, 343, 344, 345,
-1, 347, 348, 349, 350, 351, 352, 353, 354, 355,
356, 357, 358, -1, 360, 361, -1, 363, -1, 365,
366, 367, 368, 369, -1, 371, 372, -1, -1, 375,
376, 377, 378, 379, -1, 381, 382, 383, 384, 385,
386, 387, -1, -1, 390, 391, 392, 393, 394, -1,
-1, 397, 398, 399, 400, 401, 402, 403, -1, 405,
-1, 407, 408, 409, 410, -1, -1, 413, -1, -1,
416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
426, 427, 428, 429, 430, 431, 432, 433, 3, -1,
5, 437, 438, 439, -1, 441, 442, 443, 444, 445,
446, 447, -1, 18, 19, 20, 21, 22, 23, 24,
25, -1, 27, 28, 29, -1, -1, -1, -1, -1,
-1, -1, 37, 38, -1, 40, 41, -1, 43, 44,
45, 46, 47, -1, 49, 50, -1, 52, 53, 54,
55, 56, -1, -1, 59, 60, 61, 62, 63, -1,
65, 66, 67, 68, 69, -1, -1, -1, 73, 74,
75, 76, -1, 78, 79, 80, -1, 82, 83, 84,
85, 86, 87, -1, -1, 90, 91, 92, -1, -1,
-1, -1, -1, -1, -1, 100, 101, 102, 103, 104,
105, 106, 107, 108, -1, 110, -1, 112, 113, 114,
115, 116, -1, 118, 119, 120, -1, -1, 123, 124,
125, 126, 127, -1, 129, 130, 131, -1, 133, 134,
135, -1, 137, 138, 139, 140, 141, 142, 143, 144,
145, -1, 147, -1, 149, 150, 151, 152, -1, 154,
-1, 156, -1, -1, -1, 160, 161, 162, -1, 164,
165, -1, 167, 168, -1, 170, 171, 172, 173, 174,
-1, 176, 177, 178, 179, -1, 181, 182, 183, 184,
185, 186, -1, 188, -1, 190, 191, 192, 193, 194,
195, 196, -1, 198, -1, 200, -1, -1, 203, -1,
205, 206, 207, 208, 209, -1, -1, 212, 213, -1,
215, -1, -1, 218, 219, 220, -1, -1, 223, 224,
225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, -1, 240, 241, 242, 243, -1,
245, 246, -1, 248, -1, 250, 251, 252, 253, 254,
255, -1, 257, -1, -1, 260, 261, 262, -1, -1,
265, 266, -1, 268, -1, 270, 271, 272, 273, 274,
275, 276, 277, -1, 279, 280, 281, 282, 283, 284,
285, 286, -1, 288, 289, 290, 291, 292, 293, 294,
295, 296, 297, 298, 299, 300, -1, 302, 303, 304,
305, 306, 307, 308, 309, 310, 311, 312, -1, 314,
315, -1, 317, 318, 319, 320, 321, 322, 323, 324,
325, 326, 327, 328, -1, 330, 331, 332, 333, 334,
-1, 336, 337, 338, 339, 340, -1, 342, 343, 344,
345, -1, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, -1, 360, 361, -1, 363, -1,
365, 366, 367, 368, 369, -1, 371, 372, -1, -1,
375, 376, 377, 378, 379, -1, 381, 382, 383, 384,
385, 386, 387, -1, -1, 390, 391, 392, 393, 394,
-1, -1, 397, 398, 399, 400, 401, 402, 403, -1,
405, -1, 407, 408, 409, 410, -1, -1, 413, -1,
-1, 416, 417, 418, 419, 420, 421, 422, 423, 424,
425, 426, 427, 428, 429, 430, 431, 432, 433, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 447, -1, 18, 19, 20, 21, 22, 23,
24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
174, 175, 176, 177, 178, 179, 180, 181, 182, 183,
184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
204, 205, 206, 207, 208, 209, 210, 211, 212, 213,
214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
294, 295, 296, 297, 298, 299, 300, 301, 302, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
314, 315, 316, 317, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
344, 345, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, 378, 379, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, 431, 432, 433,
3, -1, -1, -1, -1, -1, -1, -1, -1, 443,
-1, -1, -1, -1, -1, 18, 19, 20, 21, 22,
23, 24, 25, -1, 27, 28, 29, -1, -1, -1,
-1, -1, -1, -1, 37, 38, -1, 40, 41, -1,
43, 44, 45, 46, 47, -1, 49, 50, -1, 52,
53, 54, 55, 56, -1, -1, 59, 60, 61, 62,
63, -1, 65, 66, 67, 68, 69, -1, -1, -1,
73, 74, 75, 76, -1, 78, 79, 80, -1, 82,
83, 84, 85, 86, 87, -1, -1, 90, 91, 92,
-1, -1, -1, -1, -1, -1, -1, 100, 101, 102,
103, 104, 105, 106, 107, 108, -1, 110, -1, 112,
113, 114, 115, 116, -1, 118, 119, 120, -1, -1,
123, 124, 125, 126, 127, -1, 129, 130, 131, -1,
133, 134, 135, -1, 137, 138, 139, 140, 141, 142,
143, 144, 145, -1, 147, -1, 149, 150, 151, 152,
-1, 154, -1, 156, -1, -1, -1, 160, 161, 162,
-1, 164, 165, -1, 167, 168, -1, 170, 171, 172,
173, 174, -1, 176, 177, 178, 179, -1, 181, 182,
183, 184, 185, 186, -1, 188, -1, 190, 191, 192,
193, 194, 195, 196, -1, 198, -1, 200, -1, -1,
203, -1, 205, 206, 207, 208, 209, -1, -1, 212,
213, -1, 215, -1, -1, 218, 219, 220, -1, -1,
223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, -1, 240, 241, 242,
243, -1, 245, 246, -1, 248, -1, 250, 251, 252,
253, 254, 255, -1, 257, -1, -1, 260, 261, 262,
-1, -1, 265, 266, -1, 268, -1, 270, 271, 272,
273, 274, 275, 276, 277, -1, 279, 280, 281, 282,
283, 284, 285, 286, -1, 288, 289, 290, 291, 292,
293, 294, 295, 296, 297, 298, 299, 300, -1, 302,
303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
-1, 314, 315, -1, 317, 318, 319, 320, 321, 322,
323, 324, 325, 326, 327, 328, -1, 330, 331, 332,
333, 334, -1, 336, 337, 338, 339, 340, -1, 342,
343, 344, 345, -1, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, -1, 360, 361, -1,
363, -1, 365, 366, 367, 368, 369, -1, 371, 372,
-1, -1, 375, 376, 377, 378, 379, -1, 381, 382,
383, 384, 385, 386, 387, -1, -1, 390, 391, 392,
393, 394, -1, -1, 397, 398, 399, 400, 401, 402,
403, -1, 405, -1, 407, 408, 409, 410, -1, -1,
413, -1, -1, 416, 417, 418, 419, 420, 421, 422,
423, 424, 425, 426, 427, 428, 429, 430, 431, 432,
433, 3, -1, -1, -1, -1, -1, -1, -1, -1,
443, -1, -1, -1, -1, -1, 18, 19, 20, 21,
22, 23, 24, 25, -1, 27, 28, 29, -1, -1,
-1, -1, -1, -1, -1, 37, 38, -1, 40, 41,
42, 43, 44, 45, -1, 47, 48, 49, 50, -1,
52, 53, 54, 55, 56, -1, -1, 59, 60, 61,
62, 63, -1, 65, 66, 67, 68, -1, -1, 71,
-1, 73, 74, 75, 76, 77, 78, 79, 80, -1,
82, 83, 84, 85, 86, 87, -1, 89, 90, 91,
92, -1, -1, -1, 96, -1, -1, -1, 100, 101,
102, 103, 104, 105, 106, 107, 108, -1, 110, -1,
112, 113, 114, 115, 116, -1, 118, 119, 120, -1,
-1, 123, 124, 125, 126, 127, -1, 129, 130, 131,
-1, 133, 134, 135, -1, 137, 138, 139, 140, -1,
142, 143, 144, -1, -1, 147, -1, 149, 150, 151,
152, -1, 154, -1, 156, 157, -1, 159, 160, 161,
162, -1, 164, -1, -1, -1, 168, -1, 170, 171,
172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
182, 183, 184, 185, 186, -1, 188, 189, 190, 191,
192, 193, 194, 195, 196, -1, 198, -1, 200, 201,
202, 203, 204, 205, 206, 207, 208, 209, -1, -1,
212, -1, 214, 215, 216, -1, 218, 219, 220, -1,
-1, 223, 224, 225, 226, 227, 228, 229, 230, 231,
232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
242, -1, -1, 245, 246, 247, 248, -1, -1, 251,
252, 253, 254, 255, -1, 257, -1, -1, 260, 261,
262, -1, 264, 265, 266, 267, 268, 269, -1, 271,
272, 273, 274, 275, 276, 277, -1, 279, 280, -1,
282, -1, 284, 285, 286, -1, 288, 289, 290, 291,
292, 293, 294, 295, 296, 297, 298, 299, 300, -1,
302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
312, -1, 314, 315, 316, 317, 318, 319, -1, 321,
322, 323, 324, 325, 326, 327, 328, -1, 330, 331,
332, 333, 334, -1, 336, 337, 338, 339, 340, 341,
342, 343, 344, 345, -1, 347, 348, 349, 350, 351,
352, 353, 354, 355, 356, 357, -1, -1, 360, 361,
-1, 363, 364, 365, 366, 367, 368, 369, -1, 371,
372, -1, -1, 375, 376, -1, 378, -1, -1, 381,
382, 383, 384, 385, 386, 387, -1, -1, 390, 391,
392, 393, 394, -1, -1, 397, 398, 399, 400, 401,
-1, 403, 404, 405, 406, 407, 408, 409, 410, -1,
-1, 413, -1, -1, 416, 417, 418, 419, 420, 421,
-1, -1, -1, -1, -1, -1, -1, 3, -1, 431,
432, 433, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 443, 18, 19, 20, 21, 22, 23, 24, 25,
-1, 27, 28, 29, -1, -1, -1, -1, -1, -1,
-1, 37, 38, -1, 40, 41, 42, 43, 44, 45,
-1, 47, 48, 49, 50, -1, 52, 53, 54, 55,
56, -1, -1, 59, 60, 61, 62, 63, -1, 65,
66, 67, 68, -1, -1, 71, -1, 73, 74, 75,
76, 77, 78, 79, 80, -1, 82, 83, 84, 85,
86, 87, -1, 89, 90, 91, 92, -1, -1, -1,
96, -1, -1, -1, 100, 101, 102, 103, 104, 105,
106, 107, 108, -1, 110, -1, 112, 113, 114, 115,
116, -1, 118, 119, 120, -1, -1, 123, 124, 125,
126, 127, -1, 129, 130, 131, -1, 133, 134, 135,
-1, 137, 138, 139, 140, -1, 142, 143, 144, -1,
-1, 147, -1, 149, 150, 151, 152, -1, 154, -1,
156, 157, -1, 159, 160, 161, 162, -1, 164, -1,
-1, -1, 168, -1, 170, 171, 172, 173, 174, 175,
176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
186, -1, 188, 189, 190, 191, 192, 193, 194, 195,
196, -1, 198, -1, 200, 201, 202, 203, 204, 205,
206, 207, 208, 209, -1, -1, 212, -1, 214, 215,
216, -1, 218, 219, 220, -1, -1, 223, 224, 225,
226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
236, 237, 238, 239, 240, 241, 242, -1, -1, 245,
246, 247, 248, -1, -1, 251, 252, 253, 254, 255,
-1, 257, -1, -1, 260, 261, 262, -1, 264, 265,
266, 267, 268, 269, -1, 271, 272, 273, 274, 275,
276, 277, -1, 279, 280, -1, 282, -1, 284, 285,
286, -1, 288, 289, 290, 291, 292, 293, 294, 295,
296, 297, 298, 299, 300, -1, 302, 303, 304, 305,
306, 307, 308, 309, 310, 311, 312, -1, 314, 315,
316, 317, 318, 319, -1, 321, 322, 323, 324, 325,
326, 327, 328, -1, 330, 331, 332, 333, 334, -1,
336, 337, 338, 339, 340, 341, 342, 343, 344, 345,
-1, 347, 348, 349, 350, 351, 352, 353, 354, 355,
356, 357, -1, -1, 360, 361, -1, 363, 364, 365,
366, 367, 368, 369, -1, 371, 372, -1, -1, 375,
376, -1, 378, -1, -1, 381, 382, 383, 384, 385,
386, 387, -1, -1, 390, 391, 392, 393, 394, -1,
-1, 397, 398, 399, 400, 401, -1, 403, 404, 405,
406, 407, 408, 409, 410, -1, -1, 413, -1, -1,
416, 417, 418, 419, 420, 421, -1, -1, -1, -1,
-1, -1, -1, 3, -1, 431, 432, 433, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 443, 18, 19,
20, 21, 22, 23, 24, 25, -1, 27, 28, 29,
-1, -1, -1, -1, -1, -1, -1, 37, 38, -1,
40, 41, -1, 43, 44, 45, 46, 47, -1, 49,
50, -1, 52, 53, 54, 55, 56, -1, -1, 59,
60, 61, 62, 63, -1, 65, 66, 67, 68, 69,
-1, -1, -1, 73, 74, 75, 76, -1, 78, 79,
80, -1, 82, 83, 84, 85, 86, 87, -1, -1,
90, 91, 92, -1, -1, -1, -1, -1, -1, -1,
100, 101, 102, 103, 104, 105, 106, 107, 108, -1,
110, -1, 112, 113, 114, 115, 116, -1, 118, 119,
120, -1, -1, 123, 124, 125, 126, 127, -1, 129,
130, 131, -1, 133, 134, 135, -1, 137, 138, 139,
140, 141, 142, 143, 144, 145, -1, 147, -1, 149,
150, 151, 152, -1, 154, -1, 156, -1, -1, -1,
160, 161, 162, -1, 164, 165, -1, 167, 168, -1,
170, 171, 172, 173, 174, -1, 176, 177, 178, 179,
-1, 181, 182, 183, 184, 185, 186, -1, 188, -1,
190, 191, 192, 193, 194, 195, 196, -1, 198, -1,
200, -1, -1, 203, -1, 205, 206, 207, 208, 209,
-1, -1, 212, 213, -1, 215, -1, -1, 218, 219,
220, -1, -1, 223, 224, 225, 226, 227, 228, 229,
230, 231, 232, 233, 234, 235, 236, 237, 238, -1,
240, 241, 242, 243, -1, 245, 246, -1, 248, -1,
250, 251, 252, 253, 254, 255, -1, 257, -1, -1,
260, 261, 262, -1, -1, 265, 266, -1, 268, -1,
270, 271, 272, 273, 274, 275, 276, 277, -1, 279,
280, 281, 282, 283, 284, 285, 286, -1, 288, 289,
290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
300, -1, 302, 303, 304, 305, 306, 307, 308, 309,
310, 311, 312, -1, 314, 315, -1, 317, 318, 319,
320, 321, 322, 323, 324, 325, 326, 327, 328, -1,
330, 331, 332, 333, 334, -1, 336, 337, 338, 339,
340, -1, 342, 343, 344, 345, -1, 347, 348, 349,
350, 351, 352, 353, 354, 355, 356, 357, 358, -1,
360, 361, -1, 363, -1, 365, 366, 367, 368, 369,
-1, 371, 372, -1, -1, 375, 376, 377, 378, 379,
-1, 381, 382, 383, 384, 385, 386, 387, -1, -1,
390, 391, 392, 393, 394, -1, -1, 397, 398, 399,
400, 401, 402, 403, -1, 405, -1, 407, 408, 409,
410, -1, -1, 413, -1, -1, 416, 417, 418, 419,
420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
430, 431, 432, 433, 3, 4, 5, -1, -1, -1,
9, -1, -1, 443, -1, -1, -1, -1, -1, 18,
19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
-1, 40, 41, 42, 43, 44, 45, 46, 47, 48,
49, 50, -1, 52, 53, 54, 55, 56, -1, -1,
59, 60, 61, 62, 63, -1, 65, 66, 67, 68,
69, -1, 71, -1, 73, 74, 75, 76, 77, 78,
79, 80, -1, 82, 83, 84, 85, 86, 87, -1,
89, 90, 91, 92, -1, -1, -1, 96, -1, -1,
-1, 100, 101, 102, 103, 104, 105, 106, 107, 108,
-1, 110, -1, 112, 113, 114, 115, 116, -1, 118,
119, 120, -1, -1, 123, 124, 125, 126, 127, -1,
129, 130, 131, -1, 133, 134, 135, -1, 137, 138,
139, 140, 141, 142, 143, 144, 145, 146, 147, -1,
149, 150, 151, 152, -1, 154, -1, 156, 157, -1,
159, 160, 161, 162, -1, 164, 165, -1, 167, 168,
-1, 170, 171, 172, 173, 174, 175, 176, 177, 178,
179, -1, 181, 182, 183, 184, 185, 186, -1, 188,
189, 190, 191, 192, 193, 194, 195, 196, -1, 198,
-1, 200, 201, 202, 203, 204, 205, 206, 207, 208,
209, -1, -1, 212, 213, 214, 215, 216, -1, 218,
219, 220, -1, -1, 223, 224, 225, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, -1, 245, 246, 247, 248,
-1, 250, 251, 252, 253, 254, 255, -1, 257, 258,
-1, 260, 261, 262, -1, -1, 265, 266, 267, 268,
269, 270, 271, 272, 273, 274, 275, 276, 277, -1,
279, 280, 281, 282, 283, 284, 285, 286, -1, 288,
289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, -1, 314, 315, 316, 317, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
-1, 330, 331, 332, 333, 334, -1, 336, 337, 338,
339, 340, 341, 342, 343, 344, 345, -1, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
-1, 360, 361, -1, 363, 364, 365, 366, 367, 368,
369, -1, 371, 372, -1, -1, 375, 376, 377, 378,
379, 380, 381, 382, 383, 384, 385, 386, 387, -1,
-1, 390, 391, 392, 393, 394, -1, -1, 397, 398,
399, 400, 401, 402, 403, -1, 405, 406, 407, 408,
409, 410, -1, -1, 413, -1, -1, 416, 417, 418,
419, 420, 421, 422, 423, 424, 425, 426, 427, 428,
429, 430, 431, 432, 433, 3, -1, 5, -1, -1,
-1, 9, 441, 442, -1, -1, -1, -1, -1, -1,
18, 19, 20, 21, 22, 23, 24, 25, -1, 27,
28, 29, -1, -1, -1, -1, -1, -1, -1, 37,
38, -1, 40, 41, 42, 43, 44, 45, 46, 47,
48, 49, 50, -1, 52, 53, 54, 55, 56, -1,
-1, 59, 60, 61, 62, 63, -1, 65, 66, 67,
68, 69, -1, 71, -1, 73, 74, 75, 76, 77,
78, 79, 80, -1, 82, 83, 84, 85, 86, 87,
-1, 89, 90, 91, 92, -1, -1, -1, 96, -1,
-1, -1, 100, 101, 102, 103, 104, 105, 106, 107,
108, 109, 110, -1, 112, 113, 114, 115, 116, -1,
118, 119, 120, -1, -1, 123, 124, 125, 126, 127,
-1, 129, 130, 131, -1, 133, 134, 135, -1, 137,
138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
-1, 149, 150, 151, 152, -1, 154, -1, 156, 157,
-1, 159, 160, 161, 162, -1, 164, 165, -1, 167,
168, -1, 170, 171, 172, 173, 174, 175, 176, 177,
178, 179, -1, 181, 182, 183, 184, 185, 186, -1,
188, 189, 190, 191, 192, 193, 194, 195, 196, -1,
198, -1, 200, 201, 202, 203, 204, 205, 206, 207,
208, 209, -1, -1, 212, 213, 214, 215, 216, -1,
218, 219, 220, -1, -1, 223, 224, 225, 226, 227,
228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
238, 239, 240, 241, 242, 243, -1, 245, 246, 247,
248, -1, 250, 251, 252, 253, 254, 255, -1, 257,
258, -1, 260, 261, 262, -1, -1, 265, 266, 267,
268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
-1, 279, 280, 281, 282, 283, 284, 285, 286, -1,
288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
298, 299, 300, -1, 302, 303, 304, 305, 306, 307,
308, 309, 310, 311, 312, -1, 314, 315, 316, 317,
318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
328, -1, 330, 331, 332, 333, 334, -1, 336, 337,
338, 339, 340, 341, 342, 343, 344, 345, -1, 347,
348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
358, -1, 360, 361, -1, 363, 364, 365, 366, 367,
368, 369, -1, 371, 372, -1, -1, 375, 376, 377,
378, 379, 380, 381, 382, 383, 384, 385, 386, 387,
-1, -1, 390, 391, 392, 393, 394, -1, -1, 397,
398, 399, 400, 401, 402, 403, -1, 405, 406, 407,
408, 409, 410, -1, -1, 413, -1, -1, 416, 417,
418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
428, 429, 430, 431, 432, 433, 3, -1, -1, -1,
-1, -1, 9, 441, 442, -1, -1, -1, -1, -1,
-1, 18, 19, 20, 21, 22, 23, 24, 25, 26,
27, 28, 29, -1, -1, -1, -1, -1, -1, -1,
37, 38, -1, 40, 41, -1, 43, 44, 45, 46,
47, -1, 49, 50, -1, 52, 53, 54, 55, 56,
-1, -1, 59, 60, 61, 62, 63, -1, 65, 66,
67, 68, 69, -1, -1, -1, 73, 74, 75, 76,
-1, 78, 79, 80, -1, 82, 83, 84, 85, 86,
87, -1, -1, 90, 91, 92, -1, -1, -1, -1,
-1, -1, -1, 100, 101, 102, 103, 104, 105, 106,
107, 108, -1, 110, -1, 112, 113, 114, 115, 116,
-1, 118, 119, 120, -1, -1, 123, 124, 125, 126,
127, -1, 129, 130, 131, -1, 133, 134, 135, -1,
137, 138, 139, 140, 141, 142, 143, 144, 145, -1,
147, -1, 149, 150, 151, 152, -1, 154, -1, 156,
-1, 158, -1, 160, 161, 162, -1, 164, 165, -1,
167, 168, -1, 170, 171, 172, 173, 174, -1, 176,
177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
-1, 188, -1, 190, 191, 192, 193, 194, 195, 196,
-1, 198, -1, 200, -1, -1, 203, -1, 205, 206,
207, 208, 209, -1, -1, 212, 213, -1, 215, -1,
-1, 218, 219, 220, -1, -1, 223, 224, 225, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
237, 238, -1, 240, 241, 242, 243, -1, 245, 246,
-1, 248, -1, 250, 251, 252, 253, 254, 255, -1,
257, -1, -1, 260, 261, 262, -1, -1, 265, 266,
-1, 268, -1, 270, 271, 272, 273, 274, 275, 276,
277, -1, 279, 280, 281, 282, 283, 284, 285, 286,
-1, 288, 289, 290, 291, 292, 293, 294, 295, 296,
297, 298, 299, 300, -1, 302, 303, 304, 305, 306,
307, 308, 309, 310, 311, 312, -1, 314, 315, -1,
317, 318, 319, 320, 321, 322, 323, 324, 325, 326,
327, 328, -1, 330, 331, 332, 333, 334, -1, 336,
337, 338, 339, 340, -1, 342, 343, 344, 345, -1,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, -1, 360, 361, -1, 363, -1, 365, 366,
367, 368, 369, -1, 371, 372, -1, -1, 375, 376,
377, 378, 379, -1, 381, 382, 383, 384, 385, 386,
387, -1, -1, 390, 391, 392, 393, 394, -1, -1,
397, 398, 399, 400, 401, 402, 403, -1, 405, -1,
407, 408, 409, 410, -1, -1, 413, -1, -1, 416,
417, 418, 419, 420, 421, 422, 423, 424, 425, 426,
427, 428, 429, 430, 431, 432, 433, 3, 4, 5,
-1, -1, -1, 9, 441, 442, -1, -1, -1, -1,
-1, -1, 18, 19, 20, 21, 22, 23, 24, 25,
26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
206, 207, 208, 209, 210, 211, 212, 213, 214, 215,
216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
246, 247, 248, 249, 250, 251, 252, 253, 254, 255,
256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
296, 297, 298, 299, 300, 301, 302, 303, 304, 305,
306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
316, 317, 318, 319, 320, 321, 322, 323, 324, 325,
326, 327, 328, 329, 330, 331, 332, 333, 334, 335,
336, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
356, 357, 358, 359, 360, 361, 362, 363, 364, 365,
366, 367, 368, 369, 370, 371, 372, 373, 374, 375,
376, 377, 378, 379, 380, 381, 382, 383, 384, 385,
386, 387, 388, 389, 390, 391, 392, 393, 394, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 410, 411, 412, 413, 414, 415,
416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
426, 427, 428, 429, 430, 431, 432, 433, 3, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 18, 19, 20, 21, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
425, 426, 427, 428, 429, 430, 431, 432, 433, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
174, 175, 176, 177, 178, 179, 180, 181, 182, 183,
184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
204, 205, 206, 207, 208, 209, 210, 211, 212, 213,
214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
294, 295, 296, 297, 298, 299, 300, 301, 302, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
314, 315, 316, 317, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
344, 345, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, 378, 379, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, 431, 432, 433,
3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 18, 19, 20, 21, 22,
23, 24, 25, -1, 27, 28, 29, -1, -1, -1,
-1, -1, -1, -1, 37, 38, -1, 40, 41, 42,
43, 44, 45, 46, 47, 48, 49, 50, -1, 52,
53, 54, 55, 56, -1, 58, 59, 60, 61, 62,
63, -1, 65, 66, 67, 68, 69, -1, 71, -1,
73, 74, 75, 76, 77, 78, 79, 80, -1, 82,
83, 84, 85, 86, 87, -1, 89, 90, 91, 92,
93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
103, 104, 105, 106, 107, 108, -1, 110, -1, 112,
113, 114, 115, 116, -1, 118, 119, 120, -1, -1,
123, 124, 125, 126, 127, -1, 129, 130, 131, -1,
133, 134, 135, -1, 137, 138, 139, 140, 141, 142,
143, 144, 145, -1, 147, -1, 149, 150, 151, 152,
-1, 154, -1, 156, 157, -1, 159, 160, 161, 162,
-1, 164, 165, -1, 167, 168, -1, 170, 171, 172,
173, 174, 175, 176, 177, 178, 179, -1, 181, 182,
183, 184, 185, 186, -1, 188, 189, 190, 191, 192,
193, 194, 195, 196, -1, 198, -1, 200, 201, 202,
203, 204, 205, 206, 207, 208, 209, -1, -1, 212,
213, 214, 215, 216, -1, 218, 219, 220, 221, 222,
223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
243, -1, 245, 246, 247, 248, -1, 250, 251, 252,
253, 254, 255, -1, 257, -1, -1, 260, 261, 262,
-1, -1, 265, 266, 267, 268, 269, 270, 271, 272,
273, 274, 275, 276, 277, -1, 279, 280, 281, 282,
283, 284, 285, 286, -1, 288, 289, 290, 291, 292,
293, 294, 295, 296, 297, 298, 299, 300, -1, 302,
303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
-1, 314, 315, 316, 317, 318, 319, 320, 321, 322,
323, 324, 325, 326, 327, 328, -1, 330, 331, 332,
333, 334, 335, 336, 337, 338, 339, 340, 341, 342,
343, 344, 345, -1, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, -1, 360, 361, -1,
363, 364, 365, 366, 367, 368, 369, -1, 371, 372,
-1, -1, 375, 376, 377, 378, 379, -1, 381, 382,
383, 384, 385, 386, 387, -1, -1, 390, 391, 392,
393, 394, 395, -1, 397, 398, 399, 400, 401, 402,
403, -1, 405, 406, 407, 408, 409, 410, -1, -1,
413, -1, -1, 416, 417, 418, 419, 420, 421, 422,
423, 424, 425, 426, 427, 428, 429, 430, 431, 432,
433, 3, -1, 5, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 18, 19, 20, 21,
22, 23, 24, 25, -1, 27, 28, 29, -1, -1,
-1, -1, -1, -1, -1, 37, 38, -1, 40, 41,
42, 43, 44, 45, 46, 47, 48, 49, 50, -1,
52, 53, 54, 55, 56, -1, -1, 59, 60, 61,
62, 63, -1, 65, 66, 67, 68, 69, -1, 71,
-1, 73, 74, 75, 76, 77, 78, 79, 80, -1,
82, 83, 84, 85, 86, 87, -1, 89, 90, 91,
92, -1, -1, -1, 96, -1, -1, -1, 100, 101,
102, 103, 104, 105, 106, 107, 108, -1, 110, -1,
112, 113, 114, 115, 116, -1, 118, 119, 120, -1,
-1, 123, 124, 125, 126, 127, -1, 129, 130, 131,
-1, 133, 134, 135, -1, 137, 138, 139, 140, 141,
142, 143, 144, 145, 146, 147, -1, 149, 150, 151,
152, -1, 154, -1, 156, 157, -1, 159, 160, 161,
162, -1, 164, 165, -1, 167, 168, -1, 170, 171,
172, 173, 174, 175, 176, 177, 178, 179, -1, 181,
182, 183, 184, 185, 186, -1, 188, 189, 190, 191,
192, 193, 194, 195, 196, -1, 198, -1, 200, 201,
202, 203, 204, 205, 206, 207, 208, 209, -1, -1,
212, 213, 214, 215, 216, -1, 218, 219, 220, -1,
-1, 223, 224, 225, 226, 227, 228, 229, 230, 231,
232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
242, 243, -1, 245, 246, 247, 248, -1, 250, 251,
252, 253, 254, 255, -1, 257, 258, -1, 260, 261,
262, -1, -1, 265, 266, 267, 268, 269, 270, 271,
272, 273, 274, 275, 276, 277, -1, 279, 280, 281,
282, 283, 284, 285, 286, -1, 288, 289, 290, 291,
292, 293, 294, 295, 296, 297, 298, 299, 300, -1,
302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
312, -1, 314, 315, 316, 317, 318, 319, 320, 321,
322, 323, 324, 325, 326, 327, 328, -1, 330, 331,
332, 333, 334, -1, 336, 337, 338, 339, 340, 341,
342, 343, 344, 345, -1, 347, 348, 349, 350, 351,
352, 353, 354, 355, 356, 357, 358, -1, 360, 361,
-1, 363, 364, 365, 366, 367, 368, 369, -1, 371,
372, -1, -1, 375, 376, 377, 378, 379, 380, 381,
382, 383, 384, 385, 386, 387, -1, -1, 390, 391,
392, 393, 394, -1, -1, 397, 398, 399, 400, 401,
402, 403, -1, 405, 406, 407, 408, 409, 410, -1,
-1, 413, -1, -1, 416, 417, 418, 419, 420, 421,
422, 423, 424, 425, 426, 427, 428, 429, 430, 431,
432, 433, 3, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 18, 19, 20,
21, 22, 23, 24, 25, 26, 27, 28, 29, -1,
-1, -1, -1, -1, -1, -1, 37, 38, -1, 40,
41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
-1, 52, 53, 54, 55, 56, -1, -1, 59, 60,
61, 62, 63, -1, 65, 66, 67, 68, 69, -1,
71, -1, 73, 74, 75, 76, 77, 78, 79, 80,
-1, 82, 83, 84, 85, 86, 87, -1, 89, 90,
91, 92, -1, -1, -1, 96, -1, -1, 99, 100,
101, 102, 103, 104, 105, 106, 107, 108, -1, 110,
-1, 112, 113, 114, 115, 116, -1, 118, 119, 120,
-1, -1, 123, 124, 125, 126, 127, -1, 129, 130,
131, -1, 133, 134, 135, -1, 137, 138, 139, 140,
141, 142, 143, 144, 145, -1, 147, -1, 149, 150,
151, 152, -1, 154, -1, 156, 157, -1, 159, 160,
161, 162, -1, 164, 165, -1, 167, 168, -1, 170,
171, 172, 173, 174, 175, 176, 177, 178, 179, -1,
181, 182, 183, 184, 185, 186, -1, 188, 189, 190,
191, 192, 193, 194, 195, 196, -1, 198, -1, 200,
201, 202, 203, 204, 205, 206, 207, 208, 209, -1,
-1, 212, 213, 214, 215, 216, -1, 218, 219, 220,
-1, -1, 223, 224, 225, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 242, 243, -1, 245, 246, 247, 248, -1, 250,
251, 252, 253, 254, 255, -1, 257, -1, -1, 260,
261, 262, -1, -1, 265, 266, 267, 268, 269, 270,
271, 272, 273, 274, 275, 276, 277, -1, 279, 280,
281, 282, 283, 284, 285, 286, -1, 288, 289, 290,
291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
-1, 302, 303, 304, 305, 306, 307, 308, 309, 310,
311, 312, -1, 314, 315, 316, 317, 318, 319, 320,
321, 322, 323, 324, 325, 326, 327, 328, -1, 330,
331, 332, 333, 334, 335, 336, 337, 338, 339, 340,
341, 342, 343, 344, 345, -1, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, -1, 360,
361, -1, 363, 364, 365, 366, 367, 368, 369, -1,
371, 372, -1, -1, 375, 376, 377, 378, 379, -1,
381, 382, 383, 384, 385, 386, 387, -1, -1, 390,
391, 392, 393, 394, -1, -1, 397, 398, 399, 400,
401, 402, 403, -1, 405, 406, 407, 408, 409, 410,
-1, -1, 413, -1, -1, 416, 417, 418, 419, 420,
421, 422, 423, 424, 425, 426, 427, 428, 429, 430,
431, 432, 433, 3, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 18, 19,
20, 21, 22, 23, 24, 25, -1, 27, 28, 29,
-1, -1, -1, -1, -1, -1, -1, 37, 38, -1,
40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
50, -1, 52, 53, 54, 55, 56, -1, -1, 59,
60, 61, 62, 63, -1, 65, 66, 67, 68, 69,
-1, 71, -1, 73, 74, 75, 76, 77, 78, 79,
80, -1, 82, 83, 84, 85, 86, 87, -1, 89,
90, 91, 92, -1, -1, -1, 96, -1, -1, 99,
100, 101, 102, 103, 104, 105, 106, 107, 108, -1,
110, -1, 112, 113, 114, 115, 116, -1, 118, 119,
120, -1, -1, 123, 124, 125, 126, 127, -1, 129,
130, 131, -1, 133, 134, 135, -1, 137, 138, 139,
140, 141, 142, 143, 144, 145, -1, 147, -1, 149,
150, 151, 152, -1, 154, -1, 156, 157, -1, 159,
160, 161, 162, -1, 164, 165, -1, 167, 168, -1,
170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
-1, 181, 182, 183, 184, 185, 186, -1, 188, 189,
190, 191, 192, 193, 194, 195, 196, -1, 198, -1,
200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
-1, -1, 212, 213, 214, 215, 216, -1, 218, 219,
220, -1, -1, 223, 224, 225, 226, 227, 228, 229,
230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
240, 241, 242, 243, -1, 245, 246, 247, 248, -1,
250, 251, 252, 253, 254, 255, -1, 257, -1, -1,
260, 261, 262, -1, -1, 265, 266, 267, 268, 269,
270, 271, 272, 273, 274, 275, 276, 277, -1, 279,
280, 281, 282, 283, 284, 285, 286, -1, 288, 289,
290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
300, -1, 302, 303, 304, 305, 306, 307, 308, 309,
310, 311, 312, -1, 314, 315, 316, 317, 318, 319,
320, 321, 322, 323, 324, 325, 326, 327, 328, -1,
330, 331, 332, 333, 334, 335, 336, 337, 338, 339,
340, 341, 342, 343, 344, 345, -1, 347, 348, 349,
350, 351, 352, 353, 354, 355, 356, 357, 358, -1,
360, 361, -1, 363, 364, 365, 366, 367, 368, 369,
-1, 371, 372, -1, -1, 375, 376, 377, 378, 379,
-1, 381, 382, 383, 384, 385, 386, 387, -1, -1,
390, 391, 392, 393, 394, 395, -1, 397, 398, 399,
400, 401, 402, 403, -1, 405, 406, 407, 408, 409,
410, -1, -1, 413, -1, -1, 416, 417, 418, 419,
420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
430, 431, 432, 433, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 18,
19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
-1, 40, 41, 42, 43, 44, 45, 46, 47, 48,
49, 50, -1, 52, 53, 54, 55, 56, -1, -1,
59, 60, 61, 62, 63, -1, 65, 66, 67, 68,
69, -1, 71, -1, 73, 74, 75, 76, 77, 78,
79, 80, -1, 82, 83, 84, 85, 86, 87, -1,
89, 90, 91, 92, -1, -1, -1, 96, -1, -1,
99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
-1, 110, -1, 112, 113, 114, 115, 116, -1, 118,
119, 120, -1, -1, 123, 124, 125, 126, 127, -1,
129, 130, 131, -1, 133, 134, 135, -1, 137, 138,
139, 140, 141, 142, 143, 144, 145, -1, 147, -1,
149, 150, 151, 152, -1, 154, -1, 156, 157, -1,
159, 160, 161, 162, -1, 164, 165, 166, 167, 168,
-1, 170, 171, 172, 173, 174, 175, 176, 177, 178,
179, -1, 181, 182, 183, 184, 185, 186, -1, 188,
189, 190, 191, 192, 193, 194, 195, 196, -1, 198,
-1, 200, 201, 202, 203, 204, 205, 206, 207, 208,
209, -1, -1, 212, 213, 214, 215, 216, -1, 218,
219, 220, -1, -1, 223, 224, 225, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, -1, 245, 246, 247, 248,
-1, 250, 251, 252, 253, 254, 255, -1, 257, -1,
-1, 260, 261, 262, -1, -1, 265, 266, 267, 268,
269, 270, 271, 272, 273, 274, 275, 276, 277, -1,
279, 280, 281, 282, 283, 284, 285, 286, -1, 288,
289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, -1, 314, 315, 316, 317, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
-1, 330, 331, 332, 333, 334, 335, 336, 337, 338,
339, 340, 341, 342, 343, 344, 345, -1, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
-1, 360, 361, -1, 363, 364, 365, 366, 367, 368,
369, -1, 371, 372, -1, -1, 375, 376, 377, 378,
379, -1, 381, 382, 383, 384, 385, 386, 387, -1,
-1, 390, 391, 392, 393, 394, -1, -1, 397, 398,
399, 400, 401, 402, 403, -1, 405, 406, 407, 408,
409, 410, -1, -1, 413, -1, -1, 416, 417, 418,
419, 420, 421, 422, 423, 424, 425, 426, 427, 428,
429, 430, 431, 432, 433, 3, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
18, 19, 20, 21, 22, 23, 24, 25, -1, 27,
28, 29, -1, -1, -1, -1, -1, -1, -1, 37,
38, -1, 40, 41, 42, 43, 44, 45, 46, 47,
48, 49, 50, -1, 52, 53, 54, 55, 56, -1,
-1, 59, 60, 61, 62, 63, -1, 65, 66, 67,
68, 69, -1, 71, -1, 73, 74, 75, 76, 77,
78, 79, 80, -1, 82, 83, 84, 85, 86, 87,
-1, 89, 90, 91, 92, -1, -1, -1, 96, -1,
-1, 99, 100, 101, 102, 103, 104, 105, 106, 107,
108, -1, 110, -1, 112, 113, 114, 115, 116, -1,
118, 119, 120, -1, -1, 123, 124, 125, 126, 127,
-1, 129, 130, 131, -1, 133, 134, 135, -1, 137,
138, 139, 140, 141, 142, 143, 144, 145, -1, 147,
-1, 149, 150, 151, 152, -1, 154, -1, 156, 157,
-1, 159, 160, 161, 162, -1, 164, 165, -1, 167,
168, -1, 170, 171, 172, 173, 174, 175, 176, 177,
178, 179, -1, 181, 182, 183, 184, 185, 186, -1,
188, 189, 190, 191, 192, 193, 194, 195, 196, -1,
198, -1, 200, 201, 202, 203, 204, 205, 206, 207,
208, 209, -1, -1, 212, 213, 214, 215, 216, -1,
218, 219, 220, -1, -1, 223, 224, 225, 226, 227,
228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
238, 239, 240, 241, 242, 243, -1, 245, 246, 247,
248, -1, 250, 251, 252, 253, 254, 255, -1, 257,
-1, -1, 260, 261, 262, -1, -1, 265, 266, 267,
268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
-1, 279, 280, 281, 282, 283, 284, 285, 286, -1,
288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
298, 299, 300, -1, 302, 303, 304, 305, 306, 307,
308, 309, 310, 311, 312, -1, 314, 315, 316, 317,
318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
328, -1, 330, 331, 332, 333, 334, 335, 336, 337,
338, 339, 340, 341, 342, 343, 344, 345, -1, 347,
348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
358, -1, 360, 361, -1, 363, 364, 365, 366, 367,
368, 369, -1, 371, 372, -1, -1, 375, 376, 377,
378, 379, -1, 381, 382, 383, 384, 385, 386, 387,
-1, -1, 390, 391, 392, 393, 394, -1, -1, 397,
398, 399, 400, 401, 402, 403, -1, 405, 406, 407,
408, 409, 410, -1, -1, 413, -1, -1, 416, 417,
418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
428, 429, 430, 431, 432, 433, 3, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 18, 19, 20, 21, 22, 23, 24, 25, -1,
27, 28, 29, -1, -1, -1, -1, -1, -1, -1,
37, 38, -1, 40, 41, 42, 43, 44, 45, 46,
47, 48, 49, 50, -1, 52, 53, 54, 55, 56,
-1, -1, 59, 60, 61, 62, 63, -1, 65, 66,
67, 68, 69, -1, 71, -1, 73, 74, 75, 76,
77, 78, 79, 80, -1, 82, 83, 84, 85, 86,
87, -1, 89, 90, 91, 92, -1, -1, -1, 96,
-1, -1, 99, 100, 101, 102, 103, 104, 105, 106,
107, 108, -1, 110, -1, 112, 113, 114, 115, 116,
-1, 118, 119, 120, -1, -1, 123, 124, 125, 126,
127, -1, 129, 130, 131, -1, 133, 134, 135, -1,
137, 138, 139, 140, 141, 142, 143, 144, 145, -1,
147, -1, 149, 150, 151, 152, -1, 154, -1, 156,
157, -1, 159, 160, 161, 162, -1, 164, 165, -1,
167, 168, -1, 170, 171, 172, 173, 174, 175, 176,
177, 178, 179, -1, 181, 182, 183, 184, 185, 186,
-1, 188, 189, 190, 191, 192, 193, 194, 195, 196,
-1, 198, -1, 200, 201, 202, 203, 204, 205, 206,
207, 208, 209, -1, -1, 212, 213, 214, 215, 216,
-1, 218, 219, 220, -1, -1, 223, 224, 225, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 242, 243, -1, 245, 246,
247, 248, -1, 250, 251, 252, 253, 254, 255, -1,
257, -1, -1, 260, 261, 262, -1, -1, 265, 266,
267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
277, -1, 279, 280, 281, 282, 283, 284, 285, 286,
-1, 288, 289, 290, 291, 292, 293, 294, 295, 296,
297, 298, 299, 300, -1, 302, 303, 304, 305, 306,
307, 308, 309, 310, 311, 312, -1, 314, 315, 316,
317, 318, 319, 320, 321, 322, 323, 324, 325, 326,
327, 328, -1, 330, 331, 332, 333, 334, 335, 336,
337, 338, 339, 340, 341, 342, 343, 344, 345, -1,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, -1, 360, 361, -1, 363, 364, 365, 366,
367, 368, 369, -1, 371, 372, -1, -1, 375, 376,
377, 378, 379, -1, 381, 382, 383, 384, 385, 386,
387, -1, -1, 390, 391, 392, 393, 394, -1, -1,
397, 398, 399, 400, 401, 402, 403, -1, 405, 406,
407, 408, 409, 410, -1, -1, 413, -1, -1, 416,
417, 418, 419, 420, 421, 422, 423, 424, 425, 426,
427, 428, 429, 430, 431, 432, 433, 3, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 18, 19, 20, 21, 22, 23, 24, 25,
-1, 27, 28, 29, -1, -1, -1, -1, -1, -1,
-1, 37, 38, -1, 40, 41, 42, 43, 44, 45,
46, 47, 48, 49, 50, -1, 52, 53, 54, 55,
56, -1, -1, 59, 60, 61, 62, 63, -1, 65,
66, 67, 68, 69, -1, 71, -1, 73, 74, 75,
76, 77, 78, 79, 80, -1, 82, 83, 84, 85,
86, 87, -1, 89, 90, 91, 92, -1, -1, -1,
96, -1, -1, 99, 100, 101, 102, 103, 104, 105,
106, 107, 108, -1, 110, -1, 112, 113, 114, 115,
116, -1, 118, 119, 120, -1, -1, 123, 124, 125,
126, 127, -1, 129, 130, 131, -1, 133, 134, 135,
-1, 137, 138, 139, 140, 141, 142, 143, 144, 145,
-1, 147, -1, 149, 150, 151, 152, -1, 154, -1,
156, 157, -1, 159, 160, 161, 162, -1, 164, 165,
-1, 167, 168, -1, 170, 171, 172, 173, 174, 175,
176, 177, 178, 179, -1, 181, 182, 183, 184, 185,
186, -1, 188, 189, 190, 191, 192, 193, 194, 195,
196, -1, 198, -1, 200, 201, 202, 203, 204, 205,
206, 207, 208, 209, -1, -1, 212, 213, 214, 215,
216, -1, 218, 219, 220, -1, -1, 223, 224, 225,
226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
236, 237, 238, 239, 240, 241, 242, 243, -1, 245,
246, 247, 248, -1, 250, 251, 252, 253, 254, 255,
-1, 257, -1, -1, 260, 261, 262, -1, -1, 265,
266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
276, 277, -1, 279, 280, 281, 282, 283, 284, 285,
286, -1, 288, 289, 290, 291, 292, 293, 294, 295,
296, 297, 298, 299, 300, -1, 302, 303, 304, 305,
306, 307, 308, 309, 310, 311, 312, -1, 314, 315,
316, 317, 318, 319, 320, 321, 322, 323, 324, 325,
326, 327, 328, -1, 330, 331, 332, 333, 334, 335,
336, 337, 338, 339, 340, 341, 342, 343, 344, 345,
-1, 347, 348, 349, 350, 351, 352, 353, 354, 355,
356, 357, 358, -1, 360, 361, -1, 363, 364, 365,
366, 367, 368, 369, -1, 371, 372, -1, -1, 375,
376, 377, 378, 379, -1, 381, 382, 383, 384, 385,
386, 387, -1, -1, 390, 391, 392, 393, 394, -1,
-1, 397, 398, 399, 400, 401, 402, 403, -1, 405,
406, 407, 408, 409, 410, -1, -1, 413, -1, -1,
416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
426, 427, 428, 429, 430, 431, 432, 433, 3, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 18, 19, 20, 21, 22, 23, 24,
25, -1, 27, 28, 29, -1, -1, -1, -1, -1,
-1, -1, 37, 38, -1, 40, 41, 42, 43, 44,
45, 46, 47, 48, 49, 50, -1, 52, 53, 54,
55, 56, -1, -1, 59, 60, 61, 62, 63, -1,
65, 66, 67, 68, 69, -1, 71, -1, 73, 74,
75, 76, 77, 78, 79, 80, -1, 82, 83, 84,
85, 86, 87, -1, 89, 90, 91, 92, -1, -1,
-1, 96, -1, -1, 99, 100, 101, 102, 103, 104,
105, 106, 107, 108, -1, 110, -1, 112, 113, 114,
115, 116, -1, 118, 119, 120, -1, -1, 123, 124,
125, 126, 127, -1, 129, 130, 131, -1, 133, 134,
135, -1, 137, 138, 139, 140, 141, 142, 143, 144,
145, -1, 147, -1, 149, 150, 151, 152, -1, 154,
-1, 156, 157, -1, 159, 160, 161, 162, -1, 164,
165, -1, 167, 168, -1, 170, 171, 172, 173, 174,
175, 176, 177, 178, 179, -1, 181, 182, 183, 184,
185, 186, -1, 188, 189, 190, 191, 192, 193, 194,
195, 196, -1, 198, -1, 200, 201, 202, 203, 204,
205, 206, 207, 208, 209, -1, -1, 212, 213, 214,
215, 216, -1, 218, 219, 220, -1, -1, 223, 224,
225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 242, 243, -1,
245, 246, 247, 248, -1, 250, 251, 252, 253, 254,
255, -1, 257, -1, -1, 260, 261, 262, -1, -1,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, 277, -1, 279, 280, 281, 282, 283, 284,
285, 286, -1, 288, 289, 290, 291, 292, 293, 294,
295, 296, 297, 298, 299, 300, -1, 302, 303, 304,
305, 306, 307, 308, 309, 310, 311, 312, -1, 314,
315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
325, 326, 327, 328, -1, 330, 331, 332, 333, 334,
335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
345, -1, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, -1, 360, 361, -1, 363, 364,
365, 366, 367, 368, 369, -1, 371, 372, -1, -1,
375, 376, 377, 378, 379, -1, 381, 382, 383, 384,
385, 386, 387, -1, -1, 390, 391, 392, 393, 394,
-1, -1, 397, 398, 399, 400, 401, 402, 403, -1,
405, 406, 407, 408, 409, 410, -1, -1, 413, -1,
-1, 416, 417, 418, 419, 420, 421, 422, 423, 424,
425, 426, 427, 428, 429, 430, 431, 432, 433, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
-1, -1, -1, 37, 38, -1, 40, 41, 42, 43,
44, 45, 46, 47, 48, 49, 50, -1, 52, 53,
54, 55, 56, -1, -1, 59, 60, 61, 62, 63,
-1, 65, 66, 67, 68, 69, -1, 71, -1, 73,
74, 75, 76, 77, 78, 79, 80, -1, 82, 83,
84, 85, 86, 87, -1, 89, 90, 91, 92, -1,
-1, -1, 96, -1, -1, 99, 100, 101, 102, 103,
104, 105, 106, 107, 108, -1, 110, -1, 112, 113,
114, 115, 116, -1, 118, 119, 120, -1, -1, 123,
124, 125, 126, 127, -1, 129, 130, 131, -1, 133,
134, 135, -1, 137, 138, 139, 140, 141, 142, 143,
144, 145, -1, 147, -1, 149, 150, 151, 152, -1,
154, -1, 156, 157, -1, 159, 160, 161, 162, -1,
164, 165, -1, 167, 168, -1, 170, 171, 172, 173,
174, 175, 176, 177, 178, 179, -1, 181, 182, 183,
184, 185, 186, -1, 188, 189, 190, 191, 192, 193,
194, 195, 196, -1, 198, -1, 200, 201, 202, 203,
204, 205, 206, 207, 208, 209, -1, -1, 212, 213,
214, 215, 216, -1, 218, 219, 220, -1, -1, 223,
224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
-1, 245, 246, 247, 248, -1, 250, 251, 252, 253,
254, 255, -1, 257, -1, -1, 260, 261, 262, -1,
-1, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, -1, 279, 280, 281, 282, 283,
284, 285, 286, -1, 288, 289, 290, 291, 292, 293,
294, 295, 296, 297, 298, 299, 300, -1, 302, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, -1,
314, 315, 316, 317, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, -1, 330, 331, 332, 333,
334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
344, 345, -1, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, -1, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, -1, 371, 372, -1,
-1, 375, 376, 377, 378, 379, -1, 381, 382, 383,
384, 385, 386, 387, -1, -1, 390, 391, 392, 393,
394, -1, -1, 397, 398, 399, 400, 401, 402, 403,
-1, 405, 406, 407, 408, 409, 410, -1, -1, 413,
-1, -1, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, 431, 432, 433,
3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 18, 19, 20, 21, 22,
23, 24, 25, -1, 27, 28, 29, -1, -1, -1,
-1, -1, -1, -1, 37, 38, -1, 40, 41, 42,
43, 44, 45, 46, 47, 48, 49, 50, -1, 52,
53, 54, 55, 56, -1, -1, 59, 60, 61, 62,
63, -1, 65, 66, 67, 68, 69, -1, 71, -1,
73, 74, 75, 76, 77, 78, 79, 80, -1, 82,
83, 84, 85, 86, 87, -1, 89, 90, 91, 92,
-1, -1, -1, 96, -1, -1, 99, 100, 101, 102,
103, 104, 105, 106, 107, 108, -1, 110, -1, 112,
113, 114, 115, 116, -1, 118, 119, 120, -1, -1,
123, 124, 125, 126, 127, -1, 129, 130, 131, -1,
133, 134, 135, -1, 137, 138, 139, 140, 141, 142,
143, 144, 145, -1, 147, -1, 149, 150, 151, 152,
-1, 154, -1, 156, 157, -1, 159, 160, 161, 162,
-1, 164, 165, -1, 167, 168, -1, 170, 171, 172,
173, 174, 175, 176, 177, 178, 179, -1, 181, 182,
183, 184, 185, 186, -1, 188, 189, 190, 191, 192,
193, 194, 195, 196, -1, 198, -1, 200, 201, 202,
203, 204, 205, 206, 207, 208, 209, -1, -1, 212,
213, 214, 215, 216, -1, 218, 219, 220, -1, -1,
223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
243, -1, 245, 246, 247, 248, -1, 250, 251, 252,
253, 254, 255, -1, 257, -1, -1, 260, 261, 262,
-1, -1, 265, 266, 267, 268, 269, 270, 271, 272,
273, 274, 275, 276, 277, -1, 279, 280, 281, 282,
283, 284, 285, 286, -1, 288, 289, 290, 291, 292,
293, 294, 295, 296, 297, 298, 299, 300, -1, 302,
303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
-1, 314, 315, 316, 317, 318, 319, 320, 321, 322,
323, 324, 325, 326, 327, 328, -1, 330, 331, 332,
333, 334, 335, 336, 337, 338, 339, 340, 341, 342,
343, 344, 345, -1, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, -1, 360, 361, -1,
363, 364, 365, 366, 367, 368, 369, -1, 371, 372,
-1, -1, 375, 376, 377, 378, 379, -1, 381, 382,
383, 384, 385, 386, 387, -1, -1, 390, 391, 392,
393, 394, -1, -1, 397, 398, 399, 400, 401, 402,
403, -1, 405, 406, 407, 408, 409, 410, -1, -1,
413, -1, -1, 416, 417, 418, 419, 420, 421, 422,
423, 424, 425, 426, 427, 428, 429, 430, 431, 432,
433, 3, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 18, 19, 20, 21,
22, 23, 24, 25, -1, 27, 28, 29, 30, 31,
-1, -1, -1, -1, -1, 37, 38, -1, 40, 41,
42, 43, 44, 45, 46, 47, 48, 49, 50, -1,
52, 53, 54, 55, 56, -1, -1, 59, 60, 61,
62, 63, -1, 65, 66, 67, 68, 69, -1, 71,
-1, 73, 74, 75, 76, 77, 78, 79, 80, -1,
82, 83, 84, 85, 86, 87, -1, 89, 90, 91,
92, -1, -1, -1, 96, -1, -1, -1, 100, 101,
102, 103, 104, 105, 106, 107, 108, -1, 110, -1,
112, 113, 114, 115, 116, -1, 118, 119, 120, -1,
-1, 123, 124, 125, 126, 127, -1, 129, 130, 131,
-1, 133, 134, 135, -1, 137, 138, 139, 140, 141,
142, 143, 144, 145, -1, 147, -1, 149, 150, 151,
152, -1, 154, -1, 156, 157, -1, 159, 160, 161,
162, -1, 164, 165, -1, 167, 168, -1, 170, 171,
172, 173, 174, 175, 176, 177, 178, 179, -1, 181,
182, 183, 184, 185, 186, -1, 188, 189, 190, 191,
192, 193, 194, 195, 196, -1, 198, -1, 200, 201,
202, 203, 204, 205, 206, 207, 208, 209, -1, -1,
212, 213, 214, 215, 216, -1, 218, 219, 220, -1,
-1, 223, 224, 225, 226, 227, 228, 229, 230, 231,
232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
242, 243, -1, 245, 246, 247, 248, -1, 250, 251,
252, 253, 254, 255, -1, 257, -1, -1, 260, 261,
262, -1, -1, 265, 266, 267, 268, 269, 270, 271,
272, 273, 274, 275, 276, 277, -1, 279, 280, 281,
282, 283, 284, 285, 286, -1, 288, 289, 290, 291,
292, 293, 294, 295, 296, 297, 298, 299, 300, -1,
302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
312, -1, 314, 315, 316, 317, 318, 319, 320, 321,
322, 323, 324, 325, 326, 327, 328, -1, 330, 331,
332, 333, 334, -1, 336, 337, 338, 339, 340, 341,
342, 343, 344, 345, -1, 347, 348, 349, 350, 351,
352, 353, 354, 355, 356, 357, 358, -1, 360, 361,
-1, 363, 364, 365, 366, 367, 368, 369, -1, 371,
372, -1, -1, 375, 376, 377, 378, 379, -1, 381,
382, 383, 384, 385, 386, 387, -1, -1, 390, 391,
392, 393, 394, -1, -1, 397, 398, 399, 400, 401,
402, 403, -1, 405, 406, 407, 408, 409, 410, -1,
-1, 413, -1, -1, 416, 417, 418, 419, 420, 421,
422, 423, 424, 425, 426, 427, 428, 429, 430, 431,
432, 433, 3, -1, 5, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 18, 19, 20,
21, 22, 23, 24, 25, -1, 27, 28, 29, -1,
-1, -1, -1, -1, -1, -1, 37, 38, -1, 40,
41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
-1, 52, 53, 54, 55, 56, -1, -1, 59, 60,
61, 62, 63, -1, 65, 66, 67, 68, 69, -1,
71, -1, 73, 74, 75, 76, 77, 78, 79, 80,
-1, 82, 83, 84, 85, 86, 87, -1, 89, 90,
91, 92, -1, -1, -1, 96, -1, -1, -1, 100,
101, 102, 103, 104, 105, 106, 107, 108, -1, 110,
-1, 112, 113, 114, 115, 116, -1, 118, 119, 120,
-1, -1, 123, 124, 125, 126, 127, -1, 129, 130,
131, -1, 133, 134, 135, -1, 137, 138, 139, 140,
141, 142, 143, 144, 145, -1, 147, -1, 149, 150,
151, 152, -1, 154, -1, 156, 157, -1, 159, 160,
161, 162, -1, 164, 165, -1, 167, 168, -1, 170,
171, 172, 173, 174, 175, 176, 177, 178, 179, -1,
181, 182, 183, 184, 185, 186, -1, 188, 189, 190,
191, 192, 193, 194, 195, 196, -1, 198, -1, 200,
201, 202, 203, 204, 205, 206, 207, 208, 209, -1,
-1, 212, 213, 214, 215, 216, -1, 218, 219, 220,
-1, -1, 223, 224, 225, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 242, 243, -1, 245, 246, 247, 248, -1, 250,
251, 252, 253, 254, 255, -1, 257, -1, -1, 260,
261, 262, -1, -1, 265, 266, 267, 268, 269, 270,
271, 272, 273, 274, 275, 276, 277, -1, 279, 280,
281, 282, 283, 284, 285, 286, -1, 288, 289, 290,
291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
-1, 302, 303, 304, 305, 306, 307, 308, 309, 310,
311, 312, -1, 314, 315, 316, 317, 318, 319, 320,
321, 322, 323, 324, 325, 326, 327, 328, -1, 330,
331, 332, 333, 334, -1, 336, 337, 338, 339, 340,
341, 342, 343, 344, 345, -1, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, -1, 360,
361, -1, 363, 364, 365, 366, 367, 368, 369, -1,
371, 372, -1, -1, 375, 376, 377, 378, 379, -1,
381, 382, 383, 384, 385, 386, 387, -1, -1, 390,
391, 392, 393, 394, -1, -1, 397, 398, 399, 400,
401, 402, 403, -1, 405, 406, 407, 408, 409, 410,
-1, -1, 413, -1, -1, 416, 417, 418, 419, 420,
421, 422, 423, 424, 425, 426, 427, 428, 429, 430,
431, 432, 433, 3, -1, 5, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 18, 19,
20, 21, 22, 23, 24, 25, -1, 27, 28, 29,
-1, -1, -1, -1, -1, -1, -1, 37, 38, -1,
40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
50, -1, 52, 53, 54, 55, 56, -1, -1, 59,
60, 61, 62, 63, -1, 65, 66, 67, 68, 69,
-1, 71, -1, 73, 74, 75, 76, 77, 78, 79,
80, -1, 82, 83, 84, 85, 86, 87, -1, 89,
90, 91, 92, -1, -1, -1, 96, -1, -1, -1,
100, 101, 102, 103, 104, 105, 106, 107, 108, -1,
110, -1, 112, 113, 114, 115, 116, -1, 118, 119,
120, -1, -1, 123, 124, 125, 126, 127, -1, 129,
130, 131, -1, 133, 134, 135, -1, 137, 138, 139,
140, 141, 142, 143, 144, 145, -1, 147, -1, 149,
150, 151, 152, -1, 154, -1, 156, 157, -1, 159,
160, 161, 162, -1, 164, 165, -1, 167, 168, -1,
170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
-1, 181, 182, 183, 184, 185, 186, -1, 188, 189,
190, 191, 192, 193, 194, 195, 196, -1, 198, -1,
200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
-1, -1, 212, 213, 214, 215, 216, -1, 218, 219,
220, -1, -1, 223, 224, 225, 226, 227, 228, 229,
230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
240, 241, 242, 243, -1, 245, 246, 247, 248, -1,
250, 251, 252, 253, 254, 255, -1, 257, -1, -1,
260, 261, 262, -1, -1, 265, 266, 267, 268, 269,
270, 271, 272, 273, 274, 275, 276, 277, -1, 279,
280, 281, 282, 283, 284, 285, 286, -1, 288, 289,
290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
300, -1, 302, 303, 304, 305, 306, 307, 308, 309,
310, 311, 312, -1, 314, 315, 316, 317, 318, 319,
320, 321, 322, 323, 324, 325, 326, 327, 328, -1,
330, 331, 332, 333, 334, -1, 336, 337, 338, 339,
340, 341, 342, 343, 344, 345, -1, 347, 348, 349,
350, 351, 352, 353, 354, 355, 356, 357, 358, -1,
360, 361, -1, 363, 364, 365, 366, 367, 368, 369,
-1, 371, 372, -1, -1, 375, 376, 377, 378, 379,
-1, 381, 382, 383, 384, 385, 386, 387, -1, -1,
390, 391, 392, 393, 394, -1, -1, 397, 398, 399,
400, 401, 402, 403, -1, 405, 406, 407, 408, 409,
410, -1, -1, 413, -1, -1, 416, 417, 418, 419,
420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
430, 431, 432, 433, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 18,
19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
-1, 40, 41, 42, 43, 44, 45, 46, 47, 48,
49, 50, -1, 52, 53, 54, 55, 56, -1, -1,
59, 60, 61, 62, 63, -1, 65, 66, 67, 68,
69, -1, 71, -1, 73, 74, 75, 76, 77, 78,
79, 80, -1, 82, 83, 84, 85, 86, 87, -1,
89, 90, 91, 92, -1, -1, -1, 96, -1, -1,
-1, 100, 101, 102, 103, 104, 105, 106, 107, 108,
-1, 110, -1, 112, 113, 114, 115, 116, -1, 118,
119, 120, -1, -1, 123, 124, 125, 126, 127, -1,
129, 130, 131, -1, 133, 134, 135, -1, 137, 138,
139, 140, 141, 142, 143, 144, 145, -1, 147, -1,
149, 150, 151, 152, -1, 154, -1, 156, 157, -1,
159, 160, 161, 162, -1, 164, 165, -1, 167, 168,
-1, 170, 171, 172, 173, 174, 175, 176, 177, 178,
179, -1, 181, 182, 183, 184, 185, 186, -1, 188,
189, 190, 191, 192, 193, 194, 195, 196, -1, 198,
-1, 200, 201, 202, 203, 204, 205, 206, 207, 208,
209, -1, -1, 212, 213, 214, 215, 216, -1, 218,
219, 220, -1, -1, 223, 224, 225, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, -1, 245, 246, 247, 248,
-1, 250, 251, 252, 253, 254, 255, -1, 257, -1,
-1, 260, 261, 262, -1, -1, 265, 266, 267, 268,
269, 270, 271, 272, 273, 274, 275, 276, 277, -1,
279, 280, 281, 282, 283, 284, 285, 286, -1, 288,
289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, -1, 314, 315, 316, 317, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
-1, 330, 331, 332, 333, 334, -1, 336, 337, 338,
339, 340, 341, 342, 343, 344, 345, -1, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
-1, 360, 361, -1, 363, 364, 365, 366, 367, 368,
369, -1, 371, 372, -1, -1, 375, 376, 377, 378,
379, -1, 381, 382, 383, 384, 385, 386, 387, -1,
-1, 390, 391, 392, 393, 394, -1, -1, 397, 398,
399, 400, 401, 402, 403, -1, 405, 406, 407, 408,
409, 410, -1, -1, 413, -1, -1, 416, 417, 418,
419, 420, 421, 422, 423, 424, 425, 426, 427, 428,
429, 430, 431, 432, 433, 3, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
18, 19, 20, 21, 22, 23, 24, 25, -1, 27,
28, 29, -1, -1, -1, -1, -1, -1, -1, 37,
38, -1, 40, 41, 42, 43, 44, 45, 46, 47,
48, 49, 50, -1, 52, 53, 54, 55, 56, -1,
-1, 59, 60, 61, 62, 63, -1, 65, 66, 67,
68, 69, -1, 71, -1, 73, 74, 75, 76, 77,
78, 79, 80, -1, 82, 83, 84, 85, 86, 87,
-1, 89, 90, 91, 92, -1, -1, -1, 96, -1,
-1, -1, 100, 101, 102, 103, 104, 105, 106, 107,
108, -1, 110, -1, 112, 113, 114, 115, 116, -1,
118, 119, 120, -1, -1, 123, 124, 125, 126, 127,
-1, 129, 130, 131, -1, 133, 134, 135, -1, 137,
138, 139, 140, 141, 142, 143, 144, 145, -1, 147,
-1, 149, 150, 151, 152, -1, 154, -1, 156, 157,
-1, 159, 160, 161, 162, -1, 164, 165, -1, 167,
168, -1, 170, 171, 172, 173, 174, 175, 176, 177,
178, 179, -1, 181, 182, 183, 184, 185, 186, -1,
188, 189, 190, 191, 192, 193, 194, 195, 196, -1,
198, -1, 200, 201, 202, 203, 204, 205, 206, 207,
208, 209, -1, -1, 212, 213, 214, 215, 216, -1,
218, 219, 220, -1, -1, 223, 224, 225, 226, 227,
228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
238, 239, 240, 241, 242, 243, -1, 245, 246, 247,
248, -1, 250, 251, 252, 253, 254, 255, -1, 257,
-1, -1, 260, 261, 262, -1, -1, 265, 266, 267,
268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
-1, 279, 280, 281, 282, 283, 284, 285, 286, -1,
288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
298, 299, 300, -1, 302, 303, 304, 305, 306, 307,
308, 309, 310, 311, 312, -1, 314, 315, 316, 317,
318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
328, -1, 330, 331, 332, 333, 334, -1, 336, 337,
338, 339, 340, 341, 342, 343, 344, 345, -1, 347,
348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
358, -1, 360, 361, -1, 363, 364, 365, 366, 367,
368, 369, -1, 371, 372, -1, -1, 375, 376, 377,
378, 379, -1, 381, 382, 383, 384, 385, 386, 387,
-1, -1, 390, 391, 392, 393, 394, -1, -1, 397,
398, 399, 400, 401, 402, 403, -1, 405, 406, 407,
408, 409, 410, -1, -1, 413, -1, -1, 416, 417,
418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
428, 429, 430, 431, 432, 433, 3, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 18, 19, 20, 21, 22, 23, 24, 25, -1,
27, 28, 29, -1, -1, -1, -1, -1, -1, -1,
37, 38, -1, 40, 41, 42, 43, 44, 45, 46,
47, 48, 49, 50, -1, 52, 53, 54, 55, 56,
-1, -1, 59, 60, 61, 62, 63, -1, 65, 66,
67, 68, 69, -1, 71, -1, 73, 74, 75, 76,
77, 78, 79, 80, -1, 82, 83, 84, 85, 86,
87, -1, 89, 90, 91, 92, -1, -1, -1, 96,
-1, -1, -1, 100, 101, 102, 103, 104, 105, 106,
107, 108, -1, 110, -1, 112, 113, 114, 115, 116,
-1, 118, 119, 120, -1, -1, 123, 124, 125, 126,
127, -1, 129, 130, 131, -1, 133, 134, 135, -1,
137, 138, 139, 140, 141, 142, 143, 144, 145, -1,
147, -1, 149, 150, 151, 152, -1, 154, -1, 156,
157, -1, 159, 160, 161, 162, -1, 164, 165, -1,
167, 168, -1, 170, 171, 172, 173, 174, 175, 176,
177, 178, 179, -1, 181, 182, 183, 184, 185, 186,
-1, 188, 189, 190, 191, 192, 193, 194, 195, 196,
-1, 198, -1, 200, 201, 202, 203, 204, 205, 206,
207, 208, 209, -1, -1, 212, 213, 214, 215, 216,
-1, 218, 219, 220, -1, -1, 223, 224, 225, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 242, 243, -1, 245, 246,
247, 248, -1, 250, 251, 252, 253, 254, 255, -1,
257, -1, -1, 260, 261, 262, -1, -1, 265, 266,
267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
277, -1, 279, 280, 281, 282, 283, 284, 285, 286,
-1, 288, 289, 290, 291, 292, 293, 294, 295, 296,
297, 298, 299, 300, -1, 302, 303, 304, 305, 306,
307, 308, 309, 310, 311, 312, -1, 314, 315, 316,
317, 318, 319, 320, 321, 322, 323, 324, 325, 326,
327, 328, -1, 330, 331, 332, 333, 334, -1, 336,
337, 338, 339, 340, 341, 342, 343, 344, 345, -1,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, -1, 360, 361, -1, 363, 364, 365, 366,
367, 368, 369, -1, 371, 372, -1, -1, 375, 376,
377, 378, 379, -1, 381, 382, 383, 384, 385, 386,
387, -1, -1, 390, 391, 392, 393, 394, -1, -1,
397, 398, 399, 400, 401, 402, 403, -1, 405, 406,
407, 408, 409, 410, -1, -1, 413, -1, -1, 416,
417, 418, 419, 420, 421, 422, 423, 424, 425, 426,
427, 428, 429, 430, 431, 432, 433, 3, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 18, 19, 20, 21, 22, 23, 24, 25,
-1, 27, 28, 29, -1, -1, -1, -1, -1, -1,
-1, 37, 38, -1, 40, 41, -1, 43, 44, 45,
46, 47, -1, 49, 50, -1, 52, 53, 54, 55,
56, -1, -1, 59, 60, 61, 62, 63, 64, 65,
66, 67, 68, 69, -1, -1, 72, 73, 74, 75,
76, -1, 78, 79, 80, 81, 82, 83, 84, 85,
86, 87, -1, -1, 90, 91, 92, -1, -1, -1,
-1, -1, -1, -1, 100, 101, 102, 103, 104, 105,
106, 107, 108, -1, 110, -1, 112, 113, 114, 115,
116, -1, 118, 119, 120, -1, -1, 123, 124, 125,
126, 127, -1, 129, 130, 131, -1, 133, 134, 135,
-1, 137, 138, 139, 140, 141, 142, 143, 144, 145,
-1, 147, -1, 149, 150, 151, 152, -1, 154, 155,
156, -1, -1, -1, 160, 161, 162, -1, 164, 165,
-1, 167, 168, -1, 170, 171, 172, 173, 174, -1,
176, 177, 178, 179, -1, 181, 182, 183, 184, 185,
186, -1, 188, -1, 190, 191, 192, 193, 194, 195,
196, -1, 198, -1, 200, -1, -1, 203, -1, 205,
206, 207, 208, 209, -1, -1, 212, 213, -1, 215,
-1, -1, 218, 219, 220, -1, -1, 223, 224, 225,
226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
236, 237, 238, -1, 240, 241, 242, 243, -1, 245,
246, -1, 248, -1, 250, 251, 252, 253, 254, 255,
-1, 257, -1, -1, 260, 261, 262, -1, -1, 265,
266, -1, 268, -1, 270, 271, 272, 273, 274, 275,
276, 277, -1, 279, 280, 281, 282, 283, 284, 285,
286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
296, 297, 298, 299, 300, -1, 302, 303, 304, 305,
306, 307, 308, 309, 310, 311, 312, -1, 314, 315,
-1, 317, 318, 319, 320, 321, 322, 323, 324, 325,
326, 327, 328, -1, 330, 331, 332, 333, 334, -1,
336, 337, 338, 339, 340, -1, 342, 343, 344, 345,
-1, 347, 348, 349, 350, 351, 352, 353, 354, 355,
356, 357, 358, -1, 360, 361, -1, 363, -1, 365,
366, 367, 368, 369, -1, 371, 372, -1, -1, 375,
376, 377, 378, 379, -1, 381, 382, 383, 384, 385,
386, 387, -1, 389, 390, 391, 392, 393, 394, -1,
-1, 397, 398, 399, 400, 401, 402, 403, -1, 405,
-1, 407, 408, 409, 410, -1, -1, 413, -1, -1,
416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
426, 427, 428, 429, 430, 431, 432, 433, 3, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 18, 19, 20, 21, 22, 23, 24,
25, -1, 27, 28, 29, -1, -1, -1, -1, -1,
-1, -1, 37, 38, -1, 40, 41, -1, 43, 44,
45, 46, 47, -1, 49, 50, -1, 52, 53, 54,
55, 56, -1, -1, 59, 60, 61, 62, 63, 64,
65, 66, 67, 68, 69, -1, -1, -1, 73, 74,
75, 76, -1, 78, 79, 80, 81, 82, 83, 84,
85, 86, 87, -1, -1, 90, 91, 92, -1, -1,
-1, -1, -1, -1, -1, 100, 101, 102, 103, 104,
105, 106, 107, 108, -1, 110, -1, 112, 113, 114,
115, 116, -1, 118, 119, 120, -1, -1, 123, 124,
125, 126, 127, -1, 129, 130, 131, -1, 133, 134,
135, -1, 137, 138, 139, 140, 141, 142, 143, 144,
145, -1, 147, -1, 149, 150, 151, 152, -1, 154,
155, 156, -1, -1, -1, 160, 161, 162, -1, 164,
165, -1, 167, 168, -1, 170, 171, 172, 173, 174,
-1, 176, 177, 178, 179, -1, 181, 182, 183, 184,
185, 186, -1, 188, -1, 190, 191, 192, 193, 194,
195, 196, -1, 198, -1, 200, -1, -1, 203, -1,
205, 206, 207, 208, 209, -1, -1, 212, 213, -1,
215, 216, -1, 218, 219, 220, -1, -1, 223, 224,
225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, -1, 240, 241, 242, 243, -1,
245, 246, -1, 248, -1, 250, 251, 252, 253, 254,
255, -1, 257, -1, -1, 260, 261, 262, -1, -1,
265, 266, -1, 268, -1, 270, 271, 272, 273, 274,
275, 276, 277, -1, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
295, 296, 297, 298, 299, 300, -1, 302, 303, 304,
305, 306, 307, 308, 309, 310, 311, 312, -1, 314,
315, -1, 317, 318, 319, 320, 321, 322, 323, 324,
325, 326, 327, 328, -1, 330, 331, 332, 333, 334,
-1, 336, 337, 338, 339, 340, -1, 342, 343, 344,
345, -1, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, -1, 360, 361, -1, 363, -1,
365, 366, 367, 368, 369, -1, 371, 372, -1, -1,
375, 376, 377, 378, 379, -1, 381, 382, 383, 384,
385, 386, 387, -1, 389, 390, 391, 392, 393, 394,
-1, -1, 397, 398, 399, 400, 401, 402, 403, -1,
405, -1, 407, 408, 409, 410, -1, -1, 413, -1,
-1, 416, 417, 418, 419, 420, 421, 422, 423, 424,
425, 426, 427, 428, 429, 430, 431, 432, 433, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
24, 25, 26, 27, 28, 29, -1, -1, -1, -1,
-1, -1, -1, 37, 38, -1, 40, 41, -1, 43,
44, 45, 46, 47, -1, 49, 50, -1, 52, 53,
54, 55, 56, -1, -1, 59, 60, 61, 62, 63,
-1, 65, 66, 67, 68, 69, -1, -1, -1, 73,
74, 75, 76, -1, 78, 79, 80, -1, 82, 83,
84, 85, 86, 87, 88, -1, 90, 91, 92, -1,
-1, -1, -1, -1, -1, -1, 100, 101, 102, 103,
104, 105, 106, 107, 108, -1, 110, -1, 112, 113,
114, 115, 116, -1, 118, 119, 120, -1, -1, 123,
124, 125, 126, 127, -1, 129, 130, 131, -1, 133,
134, 135, -1, 137, 138, 139, 140, 141, 142, 143,
144, 145, -1, 147, -1, 149, 150, 151, 152, -1,
154, -1, 156, -1, -1, -1, 160, 161, 162, 163,
164, 165, -1, 167, 168, -1, 170, 171, 172, 173,
174, -1, 176, 177, 178, 179, -1, 181, 182, 183,
184, 185, 186, -1, 188, -1, 190, 191, 192, 193,
194, 195, 196, -1, 198, -1, 200, -1, -1, 203,
-1, 205, 206, 207, 208, 209, -1, -1, 212, 213,
-1, 215, -1, -1, 218, 219, 220, -1, -1, 223,
224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
234, 235, 236, 237, 238, -1, 240, 241, 242, 243,
-1, 245, 246, -1, 248, -1, 250, 251, 252, 253,
254, 255, -1, 257, -1, -1, 260, 261, 262, -1,
-1, 265, 266, -1, 268, -1, 270, 271, 272, 273,
274, 275, 276, 277, -1, 279, 280, 281, 282, 283,
284, 285, 286, -1, 288, 289, 290, 291, 292, 293,
294, 295, 296, 297, 298, 299, 300, 301, 302, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, -1,
314, 315, -1, 317, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, -1, 342, 343,
344, 345, -1, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, -1, 360, 361, -1, 363,
-1, 365, 366, 367, 368, 369, -1, 371, 372, -1,
-1, 375, 376, 377, 378, 379, -1, 381, 382, 383,
384, 385, 386, 387, -1, -1, 390, 391, 392, 393,
394, -1, -1, 397, 398, 399, 400, 401, 402, 403,
-1, 405, -1, 407, 408, 409, 410, -1, -1, 413,
-1, -1, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, 431, 432, 433,
3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 18, 19, 20, 21, 22,
23, 24, 25, 26, 27, 28, 29, -1, -1, -1,
-1, -1, -1, -1, 37, 38, -1, 40, 41, -1,
43, 44, 45, 46, 47, -1, 49, 50, -1, 52,
53, 54, 55, 56, -1, -1, 59, 60, 61, 62,
63, -1, 65, 66, 67, 68, 69, -1, -1, -1,
73, 74, 75, 76, -1, 78, 79, 80, -1, 82,
83, 84, 85, 86, 87, 88, -1, 90, 91, 92,
-1, -1, -1, -1, -1, -1, -1, 100, 101, 102,
103, 104, 105, 106, 107, 108, -1, 110, -1, 112,
113, 114, 115, 116, -1, 118, 119, 120, -1, -1,
123, 124, 125, 126, 127, -1, 129, 130, 131, -1,
133, 134, 135, -1, 137, 138, 139, 140, 141, 142,
143, 144, 145, -1, 147, -1, 149, 150, 151, 152,
-1, 154, -1, 156, -1, -1, -1, 160, 161, 162,
163, 164, 165, -1, 167, 168, -1, 170, 171, 172,
173, 174, -1, 176, 177, 178, 179, -1, 181, 182,
183, 184, 185, 186, -1, 188, -1, 190, 191, 192,
193, 194, 195, 196, -1, 198, -1, 200, -1, -1,
203, -1, 205, 206, 207, 208, 209, -1, -1, 212,
213, -1, 215, -1, -1, 218, 219, 220, -1, -1,
223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, -1, 240, 241, 242,
243, -1, 245, 246, -1, 248, -1, 250, 251, 252,
253, 254, 255, -1, 257, -1, -1, 260, 261, 262,
-1, -1, 265, 266, -1, 268, -1, 270, 271, 272,
273, 274, 275, 276, 277, -1, 279, 280, 281, 282,
283, 284, 285, 286, -1, 288, 289, 290, 291, 292,
293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
-1, 314, 315, -1, 317, 318, 319, 320, 321, 322,
323, 324, 325, 326, 327, 328, 329, 330, 331, 332,
333, 334, -1, 336, 337, 338, 339, 340, -1, 342,
343, 344, 345, -1, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, -1, 360, 361, -1,
363, -1, 365, 366, 367, 368, 369, -1, 371, 372,
-1, -1, 375, 376, 377, 378, 379, -1, 381, 382,
383, 384, 385, 386, 387, -1, -1, 390, 391, 392,
393, 394, -1, -1, 397, 398, 399, 400, 401, 402,
403, -1, 405, -1, 407, 408, 409, 410, -1, -1,
413, -1, -1, 416, 417, 418, 419, 420, 421, 422,
423, 424, 425, 426, 427, 428, 429, 430, 431, 432,
433, 3, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 18, 19, 20, 21,
22, 23, 24, 25, -1, 27, 28, 29, -1, -1,
-1, -1, -1, -1, -1, 37, 38, -1, 40, 41,
-1, 43, 44, 45, 46, 47, -1, 49, 50, -1,
52, 53, 54, 55, 56, -1, -1, 59, 60, 61,
62, 63, 64, 65, 66, 67, 68, 69, -1, -1,
-1, 73, 74, 75, 76, -1, 78, 79, 80, 81,
82, 83, 84, 85, 86, 87, -1, -1, 90, 91,
92, -1, -1, -1, -1, -1, -1, -1, 100, 101,
102, 103, 104, 105, 106, 107, 108, -1, 110, -1,
112, 113, 114, 115, 116, -1, 118, 119, 120, -1,
-1, 123, 124, 125, 126, 127, -1, 129, 130, 131,
-1, 133, 134, 135, -1, 137, 138, 139, 140, 141,
142, 143, 144, 145, -1, 147, -1, 149, 150, 151,
152, -1, 154, 155, 156, -1, -1, -1, 160, 161,
162, -1, 164, 165, -1, 167, 168, -1, 170, 171,
172, 173, 174, -1, 176, 177, 178, 179, -1, 181,
182, 183, 184, 185, 186, -1, 188, -1, 190, 191,
192, 193, 194, 195, 196, -1, 198, -1, 200, -1,
-1, 203, -1, 205, 206, 207, 208, 209, -1, -1,
212, 213, -1, 215, -1, -1, 218, 219, 220, -1,
-1, 223, 224, 225, 226, 227, 228, 229, 230, 231,
232, 233, 234, 235, 236, 237, 238, -1, 240, 241,
242, 243, -1, 245, 246, -1, 248, -1, 250, 251,
252, 253, 254, 255, -1, 257, -1, -1, 260, 261,
262, -1, -1, 265, 266, -1, 268, -1, 270, 271,
272, 273, 274, 275, 276, 277, -1, 279, 280, 281,
282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
292, 293, 294, 295, 296, 297, 298, 299, 300, -1,
302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
312, -1, 314, 315, -1, 317, 318, 319, 320, 321,
322, 323, 324, 325, 326, 327, 328, -1, 330, 331,
332, 333, 334, -1, 336, 337, 338, 339, 340, -1,
342, 343, 344, 345, -1, 347, 348, 349, 350, 351,
352, 353, 354, 355, 356, 357, 358, -1, 360, 361,
-1, 363, -1, 365, 366, 367, 368, 369, -1, 371,
372, -1, -1, 375, 376, 377, 378, 379, -1, 381,
382, 383, 384, 385, 386, 387, -1, 389, 390, 391,
392, 393, 394, -1, -1, 397, 398, 399, 400, 401,
402, 403, -1, 405, -1, 407, 408, 409, 410, -1,
-1, 413, -1, -1, 416, 417, 418, 419, 420, 421,
422, 423, 424, 425, 426, 427, 428, 429, 430, 431,
432, 433, 3, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 18, 19, 20,
21, 22, 23, 24, 25, 26, 27, 28, 29, -1,
-1, -1, -1, -1, -1, -1, 37, 38, -1, 40,
41, -1, 43, 44, 45, 46, 47, -1, 49, 50,
-1, 52, 53, 54, 55, 56, -1, -1, 59, 60,
61, 62, 63, -1, 65, 66, 67, 68, 69, -1,
-1, -1, 73, 74, 75, 76, -1, 78, 79, 80,
-1, 82, 83, 84, 85, 86, 87, 88, -1, 90,
91, 92, -1, -1, -1, -1, -1, -1, -1, 100,
101, 102, 103, 104, 105, 106, 107, 108, -1, 110,
-1, 112, 113, 114, 115, 116, -1, 118, 119, 120,
-1, -1, 123, 124, 125, 126, 127, -1, 129, 130,
131, -1, 133, 134, 135, -1, 137, 138, 139, 140,
141, 142, 143, 144, 145, -1, 147, -1, 149, 150,
151, 152, -1, 154, -1, 156, -1, -1, -1, 160,
161, 162, -1, 164, 165, -1, 167, 168, -1, 170,
171, 172, 173, 174, -1, 176, 177, 178, 179, -1,
181, 182, 183, 184, 185, 186, -1, 188, -1, 190,
191, 192, 193, 194, 195, 196, -1, 198, -1, 200,
-1, -1, 203, -1, 205, 206, 207, 208, 209, -1,
-1, 212, 213, -1, 215, -1, -1, 218, 219, 220,
-1, -1, 223, 224, 225, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, -1, 240,
241, 242, 243, -1, 245, 246, -1, 248, -1, 250,
251, 252, 253, 254, 255, -1, 257, -1, -1, 260,
261, 262, -1, -1, 265, 266, -1, 268, -1, 270,
271, 272, 273, 274, 275, 276, 277, -1, 279, 280,
281, 282, 283, 284, 285, 286, -1, 288, 289, 290,
291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
311, 312, -1, 314, 315, -1, 317, 318, 319, 320,
321, 322, 323, 324, 325, 326, 327, 328, 329, 330,
331, 332, 333, 334, -1, 336, 337, 338, 339, 340,
-1, 342, 343, 344, 345, -1, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, -1, 360,
361, -1, 363, -1, 365, 366, 367, 368, 369, -1,
371, 372, -1, -1, 375, 376, 377, 378, 379, -1,
381, 382, 383, 384, 385, 386, 387, -1, -1, 390,
391, 392, 393, 394, -1, -1, 397, 398, 399, 400,
401, 402, 403, -1, 405, -1, 407, 408, 409, 410,
-1, -1, 413, -1, -1, 416, 417, 418, 419, 420,
421, 422, 423, 424, 425, 426, 427, 428, 429, 430,
431, 432, 433, 3, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 18, 19,
20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
-1, -1, -1, -1, -1, -1, -1, 37, 38, -1,
40, 41, -1, 43, 44, 45, 46, 47, -1, 49,
50, -1, 52, 53, 54, 55, 56, -1, -1, 59,
60, 61, 62, 63, -1, 65, 66, 67, 68, 69,
-1, -1, -1, 73, 74, 75, 76, -1, 78, 79,
80, -1, 82, 83, 84, 85, 86, 87, -1, -1,
90, 91, 92, -1, -1, -1, -1, -1, -1, -1,
100, 101, 102, 103, 104, 105, 106, 107, 108, -1,
110, -1, 112, 113, 114, 115, 116, -1, 118, 119,
120, -1, -1, 123, 124, 125, 126, 127, -1, 129,
130, 131, -1, 133, 134, 135, -1, 137, 138, 139,
140, 141, 142, 143, 144, 145, -1, 147, -1, 149,
150, 151, 152, -1, 154, 155, 156, -1, -1, -1,
160, 161, 162, -1, 164, 165, -1, 167, 168, -1,
170, 171, 172, 173, 174, -1, 176, 177, 178, 179,
-1, 181, 182, 183, 184, 185, 186, -1, 188, -1,
190, 191, 192, 193, 194, 195, 196, -1, 198, -1,
200, -1, -1, 203, -1, 205, 206, 207, 208, 209,
-1, -1, 212, 213, -1, 215, -1, -1, 218, 219,
220, -1, -1, 223, 224, 225, 226, 227, 228, 229,
230, 231, 232, 233, 234, 235, 236, 237, 238, -1,
240, 241, 242, 243, -1, 245, 246, -1, 248, -1,
250, 251, 252, 253, 254, 255, -1, 257, -1, -1,
260, 261, 262, -1, -1, 265, 266, -1, 268, -1,
270, 271, 272, 273, 274, 275, 276, 277, -1, 279,
280, 281, 282, 283, 284, 285, 286, -1, 288, 289,
290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
300, -1, 302, 303, 304, 305, 306, 307, 308, 309,
310, 311, 312, -1, 314, 315, -1, 317, 318, 319,
320, 321, 322, 323, 324, 325, 326, 327, 328, -1,
330, 331, 332, 333, 334, -1, 336, 337, 338, 339,
340, -1, 342, 343, 344, 345, -1, 347, 348, 349,
350, 351, 352, 353, 354, 355, 356, 357, 358, -1,
360, 361, 362, 363, -1, 365, 366, 367, 368, 369,
-1, 371, 372, -1, -1, 375, 376, 377, 378, 379,
-1, 381, 382, 383, 384, 385, 386, 387, -1, -1,
390, 391, 392, 393, 394, -1, -1, 397, 398, 399,
400, 401, 402, 403, -1, 405, -1, 407, 408, 409,
410, -1, -1, 413, -1, -1, 416, 417, 418, 419,
420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
430, 431, 432, 433, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 18,
19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
-1, 40, 41, -1, 43, 44, 45, 46, 47, -1,
49, 50, -1, 52, 53, 54, 55, 56, -1, -1,
59, 60, 61, 62, 63, -1, 65, 66, 67, 68,
69, -1, -1, -1, 73, 74, 75, 76, -1, 78,
79, 80, -1, 82, 83, 84, 85, 86, 87, 88,
-1, 90, 91, 92, -1, -1, -1, -1, -1, -1,
-1, 100, 101, 102, 103, 104, 105, 106, 107, 108,
-1, 110, -1, 112, 113, 114, 115, 116, -1, 118,
119, 120, -1, -1, 123, 124, 125, 126, 127, -1,
129, 130, 131, -1, 133, 134, 135, -1, 137, 138,
139, 140, 141, 142, 143, 144, 145, -1, 147, -1,
149, 150, 151, 152, -1, 154, -1, 156, -1, -1,
-1, 160, 161, 162, -1, 164, 165, -1, 167, 168,
-1, 170, 171, 172, 173, 174, -1, 176, 177, 178,
179, -1, 181, 182, 183, 184, 185, 186, -1, 188,
-1, 190, 191, 192, 193, 194, 195, 196, -1, 198,
-1, 200, -1, -1, 203, -1, 205, 206, 207, 208,
209, -1, -1, 212, 213, -1, 215, -1, -1, 218,
219, 220, -1, -1, 223, 224, 225, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
-1, 240, 241, 242, 243, -1, 245, 246, -1, 248,
-1, 250, 251, 252, 253, 254, 255, -1, 257, -1,
-1, 260, 261, 262, -1, -1, 265, 266, -1, 268,
-1, 270, 271, 272, 273, 274, 275, 276, 277, -1,
279, 280, 281, 282, 283, 284, 285, 286, -1, 288,
289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
299, 300, 301, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, -1, 314, 315, -1, 317, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
329, 330, 331, 332, 333, 334, -1, 336, 337, 338,
339, 340, -1, 342, 343, 344, 345, -1, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
-1, 360, 361, -1, 363, -1, 365, 366, 367, 368,
369, -1, 371, 372, -1, -1, 375, 376, 377, 378,
379, -1, 381, 382, 383, 384, 385, 386, 387, -1,
-1, 390, 391, 392, 393, 394, -1, -1, 397, 398,
399, 400, 401, 402, 403, -1, 405, -1, 407, 408,
409, 410, -1, -1, 413, -1, -1, 416, 417, 418,
419, 420, 421, 422, 423, 424, 425, 426, 427, 428,
429, 430, 431, 432, 433, 3, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
28, 29, -1, -1, -1, -1, -1, -1, -1, 37,
38, -1, 40, 41, -1, 43, 44, 45, 46, 47,
-1, 49, 50, -1, 52, 53, 54, 55, 56, -1,
-1, 59, 60, 61, 62, 63, -1, 65, 66, 67,
68, 69, -1, -1, -1, 73, 74, 75, 76, -1,
78, 79, 80, -1, 82, 83, 84, 85, 86, 87,
-1, -1, 90, 91, 92, -1, -1, -1, -1, -1,
-1, -1, 100, 101, 102, 103, 104, 105, 106, 107,
108, -1, 110, -1, 112, 113, 114, 115, 116, -1,
118, 119, 120, -1, -1, 123, 124, 125, 126, 127,
-1, 129, 130, 131, -1, 133, 134, 135, -1, 137,
138, 139, 140, 141, 142, 143, 144, 145, -1, 147,
-1, 149, 150, 151, 152, -1, 154, -1, 156, -1,
-1, -1, 160, 161, 162, -1, 164, 165, -1, 167,
168, -1, 170, 171, 172, 173, 174, -1, 176, 177,
178, 179, -1, 181, 182, 183, 184, 185, 186, -1,
188, -1, 190, 191, 192, 193, 194, 195, 196, -1,
198, -1, 200, -1, -1, 203, -1, 205, 206, 207,
208, 209, -1, -1, 212, 213, -1, 215, -1, -1,
218, 219, 220, -1, -1, 223, 224, 225, 226, 227,
228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
238, -1, 240, 241, 242, 243, -1, 245, 246, -1,
248, -1, 250, 251, 252, 253, 254, 255, -1, 257,
-1, 259, 260, 261, 262, -1, -1, 265, 266, -1,
268, -1, 270, 271, 272, 273, 274, 275, 276, 277,
-1, 279, 280, 281, 282, 283, 284, 285, 286, -1,
288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
298, 299, 300, -1, 302, 303, 304, 305, 306, 307,
308, 309, 310, 311, 312, -1, 314, 315, -1, 317,
318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
328, -1, 330, 331, 332, 333, 334, -1, 336, 337,
338, 339, 340, -1, 342, 343, 344, 345, -1, 347,
348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
358, -1, 360, 361, -1, 363, -1, 365, 366, 367,
368, 369, -1, 371, 372, -1, -1, 375, 376, 377,
378, 379, -1, 381, 382, 383, 384, 385, 386, 387,
-1, -1, 390, 391, 392, 393, 394, -1, -1, 397,
398, 399, 400, 401, 402, 403, -1, 405, -1, 407,
408, 409, 410, -1, -1, 413, -1, -1, 416, 417,
418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
428, 429, 430, 431, 432, 433, 3, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 18, 19, 20, 21, 22, 23, 24, 25, -1,
27, 28, 29, 30, 31, -1, -1, -1, -1, -1,
37, 38, -1, 40, 41, -1, 43, 44, 45, 46,
47, -1, 49, 50, -1, 52, 53, 54, 55, 56,
-1, -1, 59, 60, 61, 62, 63, -1, 65, 66,
67, 68, 69, -1, -1, -1, 73, 74, 75, 76,
-1, 78, 79, 80, -1, 82, 83, 84, 85, 86,
87, -1, -1, 90, 91, 92, -1, -1, -1, -1,
-1, -1, -1, 100, 101, 102, 103, 104, 105, 106,
107, 108, -1, 110, -1, 112, 113, 114, 115, 116,
-1, 118, 119, 120, -1, -1, 123, 124, 125, 126,
127, -1, 129, 130, 131, -1, 133, 134, 135, -1,
137, 138, 139, 140, 141, 142, 143, 144, 145, -1,
147, -1, 149, 150, 151, 152, -1, 154, -1, 156,
-1, -1, -1, 160, 161, 162, -1, 164, 165, -1,
167, 168, -1, 170, 171, 172, 173, 174, -1, 176,
177, 178, 179, -1, 181, 182, 183, 184, 185, 186,
-1, 188, -1, 190, 191, 192, 193, 194, 195, 196,
-1, 198, -1, 200, -1, -1, 203, -1, 205, 206,
207, 208, 209, -1, -1, 212, 213, -1, 215, -1,
-1, 218, 219, 220, -1, -1, 223, 224, 225, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
237, 238, -1, 240, 241, 242, 243, -1, 245, 246,
-1, 248, -1, 250, 251, 252, 253, 254, 255, -1,
257, -1, -1, 260, 261, 262, -1, -1, 265, 266,
-1, 268, -1, 270, 271, 272, 273, 274, 275, 276,
277, -1, 279, 280, 281, 282, 283, 284, 285, 286,
-1, 288, 289, 290, 291, 292, 293, 294, 295, 296,
297, 298, 299, 300, -1, 302, 303, 304, 305, 306,
307, 308, 309, 310, 311, 312, -1, 314, 315, -1,
317, 318, 319, 320, 321, 322, 323, 324, 325, 326,
327, 328, -1, 330, 331, 332, 333, 334, -1, 336,
337, 338, 339, 340, -1, 342, 343, 344, 345, -1,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, -1, 360, 361, -1, 363, -1, 365, 366,
367, 368, 369, -1, 371, 372, -1, -1, 375, 376,
377, 378, 379, -1, 381, 382, 383, 384, 385, 386,
387, -1, -1, 390, 391, 392, 393, 394, -1, -1,
397, 398, 399, 400, 401, 402, 403, -1, 405, -1,
407, 408, 409, 410, -1, -1, 413, -1, -1, 416,
417, 418, 419, 420, 421, 422, 423, 424, 425, 426,
427, 428, 429, 430, 431, 432, 433, 3, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 18, 19, 20, 21, 22, 23, 24, 25,
26, 27, 28, 29, -1, -1, -1, -1, -1, -1,
-1, 37, 38, -1, 40, 41, -1, 43, 44, 45,
46, 47, -1, 49, 50, -1, 52, 53, 54, 55,
56, -1, -1, 59, 60, 61, 62, 63, -1, 65,
66, 67, 68, 69, -1, -1, -1, 73, 74, 75,
76, -1, 78, 79, 80, -1, 82, 83, 84, 85,
86, 87, -1, -1, 90, 91, 92, -1, -1, -1,
-1, -1, -1, -1, 100, 101, 102, 103, 104, 105,
106, 107, 108, -1, 110, -1, 112, 113, 114, 115,
116, -1, 118, 119, 120, -1, -1, 123, 124, 125,
126, 127, -1, 129, 130, 131, -1, 133, 134, 135,
-1, 137, 138, 139, 140, 141, 142, 143, 144, 145,
-1, 147, -1, 149, 150, 151, 152, -1, 154, -1,
156, -1, -1, -1, 160, 161, 162, -1, 164, 165,
-1, 167, 168, -1, 170, 171, 172, 173, 174, -1,
176, 177, 178, 179, -1, 181, 182, 183, 184, 185,
186, -1, 188, -1, 190, 191, 192, 193, 194, 195,
196, -1, 198, -1, 200, -1, -1, 203, -1, 205,
206, 207, 208, 209, -1, -1, 212, 213, -1, 215,
-1, -1, 218, 219, 220, -1, -1, 223, 224, 225,
226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
236, 237, 238, -1, 240, 241, 242, 243, -1, 245,
246, -1, 248, -1, 250, 251, 252, 253, 254, 255,
-1, 257, -1, -1, 260, 261, 262, -1, -1, 265,
266, -1, 268, -1, 270, 271, 272, 273, 274, 275,
276, 277, -1, 279, 280, 281, 282, 283, 284, 285,
286, -1, 288, 289, 290, 291, 292, 293, 294, 295,
296, 297, 298, 299, 300, -1, 302, 303, 304, 305,
306, 307, 308, 309, 310, 311, 312, -1, 314, 315,
-1, 317, 318, 319, 320, 321, 322, 323, 324, 325,
326, 327, 328, -1, 330, 331, 332, 333, 334, -1,
336, 337, 338, 339, 340, -1, 342, 343, 344, 345,
-1, 347, 348, 349, 350, 351, 352, 353, 354, 355,
356, 357, 358, -1, 360, 361, -1, 363, -1, 365,
366, 367, 368, 369, -1, 371, 372, -1, -1, 375,
376, 377, 378, 379, -1, 381, 382, 383, 384, 385,
386, 387, -1, -1, 390, 391, 392, 393, 394, 395,
-1, 397, 398, 399, 400, 401, 402, 403, -1, 405,
-1, 407, 408, 409, 410, -1, -1, 413, -1, -1,
416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
426, 427, 428, 429, 430, 431, 432, 433, 3, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 18, 19, 20, 21, 22, 23, 24,
25, 26, 27, 28, 29, -1, -1, -1, -1, -1,
-1, -1, 37, 38, -1, 40, 41, -1, 43, 44,
45, 46, 47, -1, 49, 50, -1, 52, 53, 54,
55, 56, -1, -1, 59, 60, 61, 62, 63, -1,
65, 66, 67, 68, 69, -1, -1, -1, 73, 74,
75, 76, -1, 78, 79, 80, -1, 82, 83, 84,
85, 86, 87, -1, -1, 90, 91, 92, -1, -1,
-1, -1, -1, -1, -1, 100, 101, 102, 103, 104,
105, 106, 107, 108, -1, 110, -1, 112, 113, 114,
115, 116, -1, 118, 119, 120, -1, -1, 123, 124,
125, 126, 127, -1, 129, 130, 131, -1, 133, 134,
135, -1, 137, 138, 139, 140, 141, 142, 143, 144,
145, -1, 147, -1, 149, 150, 151, 152, -1, 154,
-1, 156, -1, -1, -1, 160, 161, 162, -1, 164,
165, -1, 167, 168, -1, 170, 171, 172, 173, 174,
-1, 176, 177, 178, 179, -1, 181, 182, 183, 184,
185, 186, -1, 188, -1, 190, 191, 192, 193, 194,
195, 196, -1, 198, -1, 200, -1, -1, 203, -1,
205, 206, 207, 208, 209, -1, -1, 212, 213, -1,
215, -1, -1, 218, 219, 220, -1, -1, 223, 224,
225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, -1, 240, 241, 242, 243, -1,
245, 246, -1, 248, -1, 250, 251, 252, 253, 254,
255, -1, 257, -1, -1, 260, 261, 262, -1, -1,
265, 266, -1, 268, -1, 270, 271, 272, 273, 274,
275, 276, 277, -1, 279, 280, 281, 282, 283, 284,
285, 286, -1, 288, 289, 290, 291, 292, 293, 294,
295, 296, 297, 298, 299, 300, -1, 302, 303, 304,
305, 306, 307, 308, 309, 310, 311, 312, -1, 314,
315, -1, 317, 318, 319, 320, 321, 322, 323, 324,
325, 326, 327, 328, -1, 330, 331, 332, 333, 334,
-1, 336, 337, 338, 339, 340, -1, 342, 343, 344,
345, -1, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, -1, 360, 361, -1, 363, -1,
365, 366, 367, 368, 369, -1, 371, 372, -1, -1,
375, 376, 377, 378, 379, -1, 381, 382, 383, 384,
385, 386, 387, -1, -1, 390, 391, 392, 393, 394,
395, -1, 397, 398, 399, 400, 401, 402, 403, -1,
405, -1, 407, 408, 409, 410, -1, -1, 413, -1,
-1, 416, 417, 418, 419, 420, 421, 422, 423, 424,
425, 426, 427, 428, 429, 430, 431, 432, 433, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
24, 25, 26, 27, 28, 29, -1, -1, -1, -1,
-1, -1, -1, 37, 38, -1, 40, 41, -1, 43,
44, 45, 46, 47, -1, 49, 50, -1, 52, 53,
54, 55, 56, -1, -1, 59, 60, 61, 62, 63,
-1, 65, 66, 67, 68, 69, -1, -1, -1, 73,
74, 75, 76, -1, 78, 79, 80, -1, 82, 83,
84, 85, 86, 87, -1, -1, 90, 91, 92, -1,
-1, -1, -1, -1, -1, -1, 100, 101, 102, 103,
104, 105, 106, 107, 108, -1, 110, -1, 112, 113,
114, 115, 116, -1, 118, 119, 120, -1, -1, 123,
124, 125, 126, 127, -1, 129, 130, 131, -1, 133,
134, 135, -1, 137, 138, 139, 140, 141, 142, 143,
144, 145, -1, 147, -1, 149, 150, 151, 152, -1,
154, -1, 156, -1, -1, -1, 160, 161, 162, -1,
164, 165, -1, 167, 168, -1, 170, 171, 172, 173,
174, -1, 176, 177, 178, 179, -1, 181, 182, 183,
184, 185, 186, -1, 188, -1, 190, 191, 192, 193,
194, 195, 196, -1, 198, -1, 200, -1, -1, 203,
-1, 205, 206, 207, 208, 209, -1, -1, 212, 213,
-1, 215, -1, -1, 218, 219, 220, -1, -1, 223,
224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
234, 235, 236, 237, 238, -1, 240, 241, 242, 243,
-1, 245, 246, -1, 248, -1, 250, 251, 252, 253,
254, 255, -1, 257, -1, -1, 260, 261, 262, -1,
-1, 265, 266, -1, 268, -1, 270, 271, 272, 273,
274, 275, 276, 277, -1, 279, 280, 281, 282, 283,
284, 285, 286, -1, 288, 289, 290, 291, 292, 293,
294, 295, 296, 297, 298, 299, 300, -1, 302, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, -1,
314, 315, -1, 317, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, -1, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, -1, 342, 343,
344, 345, -1, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, -1, 360, 361, -1, 363,
-1, 365, 366, 367, 368, 369, -1, 371, 372, -1,
-1, 375, 376, 377, 378, 379, -1, 381, 382, 383,
384, 385, 386, 387, -1, -1, 390, 391, 392, 393,
394, -1, -1, 397, 398, 399, 400, 401, 402, 403,
-1, 405, -1, 407, 408, 409, 410, -1, -1, 413,
-1, -1, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, 431, 432, 433,
3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 18, 19, 20, 21, 22,
23, 24, 25, 26, 27, 28, 29, -1, -1, -1,
-1, -1, -1, -1, 37, 38, -1, 40, 41, -1,
43, 44, 45, 46, 47, -1, 49, 50, -1, 52,
53, 54, 55, 56, -1, -1, 59, 60, 61, 62,
63, -1, 65, 66, 67, 68, 69, -1, -1, -1,
73, 74, 75, 76, -1, 78, 79, 80, -1, 82,
83, 84, 85, 86, 87, -1, -1, 90, 91, 92,
-1, -1, -1, -1, -1, -1, -1, 100, 101, 102,
103, 104, 105, 106, 107, 108, -1, 110, -1, 112,
113, 114, 115, 116, -1, 118, 119, 120, -1, -1,
123, 124, 125, 126, 127, -1, 129, 130, 131, -1,
133, 134, 135, -1, 137, 138, 139, 140, 141, 142,
143, 144, 145, -1, 147, -1, 149, 150, 151, 152,
-1, 154, -1, 156, -1, -1, -1, 160, 161, 162,
-1, 164, 165, -1, 167, 168, -1, 170, 171, 172,
173, 174, -1, 176, 177, 178, 179, -1, 181, 182,
183, 184, 185, 186, -1, 188, -1, 190, 191, 192,
193, 194, 195, 196, -1, 198, -1, 200, -1, -1,
203, -1, 205, 206, 207, 208, 209, -1, -1, 212,
213, -1, 215, -1, -1, 218, 219, 220, -1, -1,
223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, -1, 240, 241, 242,
243, -1, 245, 246, -1, 248, -1, 250, 251, 252,
253, 254, 255, -1, 257, -1, -1, 260, 261, 262,
-1, -1, 265, 266, -1, 268, -1, 270, 271, 272,
273, 274, 275, 276, 277, -1, 279, 280, 281, 282,
283, 284, 285, 286, -1, 288, 289, 290, 291, 292,
293, 294, 295, 296, 297, 298, 299, 300, -1, 302,
303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
-1, 314, 315, -1, 317, 318, 319, 320, 321, 322,
323, 324, 325, 326, 327, 328, -1, 330, 331, 332,
333, 334, -1, 336, 337, 338, 339, 340, -1, 342,
343, 344, 345, -1, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, -1, 360, 361, -1,
363, -1, 365, 366, 367, 368, 369, -1, 371, 372,
-1, -1, 375, 376, 377, 378, 379, -1, 381, 382,
383, 384, 385, 386, 387, -1, -1, 390, 391, 392,
393, 394, -1, -1, 397, 398, 399, 400, 401, 402,
403, -1, 405, -1, 407, 408, 409, 410, -1, -1,
413, -1, -1, 416, 417, 418, 419, 420, 421, 422,
423, 424, 425, 426, 427, 428, 429, 430, 431, 432,
433, 3, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 18, 19, 20, 21,
22, 23, 24, 25, 26, 27, 28, 29, -1, -1,
-1, -1, -1, -1, -1, 37, 38, -1, 40, 41,
-1, 43, 44, 45, 46, 47, -1, 49, 50, -1,
52, 53, 54, 55, 56, -1, -1, 59, 60, 61,
62, 63, -1, 65, 66, 67, 68, 69, -1, -1,
-1, 73, 74, 75, 76, -1, 78, 79, 80, -1,
82, 83, 84, 85, 86, 87, -1, -1, 90, 91,
92, -1, -1, -1, -1, -1, -1, -1, 100, 101,
102, 103, 104, 105, 106, 107, 108, -1, 110, -1,
112, 113, 114, 115, 116, -1, 118, 119, 120, -1,
-1, 123, 124, 125, 126, 127, -1, 129, 130, 131,
-1, 133, 134, 135, -1, 137, 138, 139, 140, 141,
142, 143, 144, 145, -1, 147, -1, 149, 150, 151,
152, -1, 154, -1, 156, -1, -1, -1, 160, 161,
162, -1, 164, 165, -1, 167, 168, -1, 170, 171,
172, 173, 174, -1, 176, 177, 178, 179, -1, 181,
182, 183, 184, 185, 186, -1, 188, -1, 190, 191,
192, 193, 194, 195, 196, -1, 198, -1, 200, -1,
-1, 203, -1, 205, 206, 207, 208, 209, -1, -1,
212, 213, -1, 215, -1, -1, 218, 219, 220, -1,
-1, 223, 224, 225, 226, 227, 228, 229, 230, 231,
232, 233, 234, 235, 236, 237, 238, -1, 240, 241,
242, 243, -1, 245, 246, -1, 248, -1, 250, 251,
252, 253, 254, 255, -1, 257, -1, -1, 260, 261,
262, -1, -1, 265, 266, -1, 268, -1, 270, 271,
272, 273, 274, 275, 276, 277, -1, 279, 280, 281,
282, 283, 284, 285, 286, -1, 288, 289, 290, 291,
292, 293, 294, 295, 296, 297, 298, 299, 300, -1,
302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
312, -1, 314, 315, -1, 317, 318, 319, 320, 321,
322, 323, 324, 325, 326, 327, 328, -1, 330, 331,
332, 333, 334, -1, 336, 337, 338, 339, 340, -1,
342, 343, 344, 345, -1, 347, 348, 349, 350, 351,
352, 353, 354, 355, 356, 357, 358, -1, 360, 361,
-1, 363, -1, 365, 366, 367, 368, 369, -1, 371,
372, -1, -1, 375, 376, 377, 378, 379, -1, 381,
382, 383, 384, 385, 386, 387, -1, -1, 390, 391,
392, 393, 394, -1, -1, 397, 398, 399, 400, 401,
402, 403, -1, 405, -1, 407, 408, 409, 410, -1,
-1, 413, -1, -1, 416, 417, 418, 419, 420, 421,
422, 423, 424, 425, 426, 427, 428, 429, 430, 431,
432, 433, 3, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 18, 19, 20,
21, 22, 23, 24, 25, 26, 27, 28, 29, -1,
-1, -1, -1, -1, -1, -1, 37, 38, -1, 40,
41, -1, 43, 44, 45, 46, 47, -1, 49, 50,
-1, 52, 53, 54, 55, 56, -1, -1, 59, 60,
61, 62, 63, -1, 65, 66, 67, 68, 69, -1,
-1, -1, 73, 74, 75, 76, -1, 78, 79, 80,
-1, 82, 83, 84, 85, 86, 87, -1, -1, 90,
91, 92, -1, -1, -1, -1, -1, -1, -1, 100,
101, 102, 103, 104, 105, 106, 107, 108, -1, 110,
-1, 112, 113, 114, 115, 116, -1, 118, 119, 120,
-1, -1, 123, 124, 125, 126, 127, -1, 129, 130,
131, -1, 133, 134, 135, -1, 137, 138, 139, 140,
141, 142, 143, 144, 145, -1, 147, -1, 149, 150,
151, 152, -1, 154, -1, 156, -1, -1, -1, 160,
161, 162, -1, 164, 165, -1, 167, 168, -1, 170,
171, 172, 173, 174, -1, 176, 177, 178, 179, -1,
181, 182, 183, 184, 185, 186, -1, 188, -1, 190,
191, 192, 193, 194, 195, 196, -1, 198, -1, 200,
-1, -1, 203, -1, 205, 206, 207, 208, 209, -1,
-1, 212, 213, -1, 215, -1, -1, 218, 219, 220,
-1, -1, 223, 224, 225, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, -1, 240,
241, 242, 243, -1, 245, 246, -1, 248, -1, 250,
251, 252, 253, 254, 255, -1, 257, -1, -1, 260,
261, 262, -1, -1, 265, 266, -1, 268, -1, 270,
271, 272, 273, 274, 275, 276, 277, -1, 279, 280,
281, 282, 283, 284, 285, 286, -1, 288, 289, 290,
291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
-1, 302, 303, 304, 305, 306, 307, 308, 309, 310,
311, 312, -1, 314, 315, -1, 317, 318, 319, 320,
321, 322, 323, 324, 325, 326, 327, 328, -1, 330,
331, 332, 333, 334, -1, 336, 337, 338, 339, 340,
-1, 342, 343, 344, 345, -1, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, -1, 360,
361, -1, 363, -1, 365, 366, 367, 368, 369, -1,
371, 372, -1, -1, 375, 376, 377, 378, 379, -1,
381, 382, 383, 384, 385, 386, 387, -1, -1, 390,
391, 392, 393, 394, -1, -1, 397, 398, 399, 400,
401, 402, 403, -1, 405, -1, 407, 408, 409, 410,
-1, -1, 413, -1, -1, 416, 417, 418, 419, 420,
421, 422, 423, 424, 425, 426, 427, 428, 429, 430,
431, 432, 433, 3, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 18, 19,
20, 21, 22, 23, 24, 25, -1, 27, 28, 29,
-1, -1, -1, -1, -1, -1, -1, 37, 38, -1,
40, 41, -1, 43, 44, 45, 46, 47, -1, 49,
50, -1, 52, 53, 54, 55, 56, -1, -1, 59,
60, 61, 62, 63, -1, 65, 66, 67, 68, 69,
-1, -1, -1, 73, 74, 75, 76, -1, 78, 79,
80, -1, 82, 83, 84, 85, 86, 87, -1, -1,
90, 91, 92, -1, -1, -1, -1, -1, -1, -1,
100, 101, 102, 103, 104, 105, 106, 107, 108, -1,
110, -1, 112, 113, 114, 115, 116, -1, 118, 119,
120, -1, -1, 123, 124, 125, 126, 127, -1, 129,
130, 131, -1, 133, 134, 135, -1, 137, 138, 139,
140, 141, 142, 143, 144, 145, -1, 147, -1, 149,
150, 151, 152, -1, 154, -1, 156, -1, -1, -1,
160, 161, 162, -1, 164, 165, -1, 167, 168, -1,
170, 171, 172, 173, 174, -1, 176, 177, 178, 179,
-1, 181, 182, 183, 184, 185, 186, -1, 188, -1,
190, 191, 192, 193, 194, 195, 196, -1, 198, -1,
200, -1, -1, 203, -1, 205, 206, 207, 208, 209,
-1, -1, 212, 213, -1, 215, -1, -1, 218, 219,
220, -1, -1, 223, 224, 225, 226, 227, 228, 229,
230, 231, 232, 233, 234, 235, 236, 237, 238, -1,
240, 241, 242, 243, -1, 245, 246, -1, 248, -1,
250, 251, 252, 253, 254, 255, -1, 257, -1, 259,
260, 261, 262, -1, -1, 265, 266, -1, 268, -1,
270, 271, 272, 273, 274, 275, 276, 277, -1, 279,
280, 281, 282, 283, 284, 285, 286, -1, 288, 289,
290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
300, -1, 302, 303, 304, 305, 306, 307, 308, 309,
310, 311, 312, -1, 314, 315, -1, 317, 318, 319,
320, 321, 322, 323, 324, 325, 326, 327, 328, -1,
330, 331, 332, 333, 334, -1, 336, 337, 338, 339,
340, -1, 342, 343, 344, 345, -1, 347, 348, 349,
350, 351, 352, 353, 354, 355, 356, 357, 358, -1,
360, 361, -1, 363, -1, 365, 366, 367, 368, 369,
-1, 371, 372, -1, -1, 375, 376, 377, 378, 379,
-1, 381, 382, 383, 384, 385, 386, 387, -1, -1,
390, 391, 392, 393, 394, -1, -1, 397, 398, 399,
400, 401, 402, 403, -1, 405, -1, 407, 408, 409,
410, -1, -1, 413, -1, -1, 416, 417, 418, 419,
420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
430, 431, 432, 433, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 18,
19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
-1, 40, 41, -1, 43, 44, 45, 46, 47, -1,
49, 50, -1, 52, 53, 54, 55, 56, -1, -1,
59, 60, 61, 62, 63, -1, 65, 66, 67, 68,
69, -1, -1, -1, 73, 74, 75, 76, -1, 78,
79, 80, -1, 82, 83, 84, 85, 86, 87, -1,
-1, 90, 91, 92, -1, -1, -1, -1, -1, -1,
-1, 100, 101, 102, 103, 104, 105, 106, 107, 108,
-1, 110, -1, 112, 113, 114, 115, 116, -1, 118,
119, 120, -1, -1, 123, 124, 125, 126, 127, -1,
129, 130, 131, -1, 133, 134, 135, -1, 137, 138,
139, 140, 141, 142, 143, 144, 145, -1, 147, -1,
149, 150, 151, 152, -1, 154, -1, 156, -1, -1,
-1, 160, 161, 162, -1, 164, 165, -1, 167, 168,
-1, 170, 171, 172, 173, 174, -1, 176, 177, 178,
179, -1, 181, 182, 183, 184, 185, 186, -1, 188,
-1, 190, 191, 192, 193, 194, 195, 196, -1, 198,
-1, 200, -1, -1, 203, -1, 205, 206, 207, 208,
209, -1, -1, 212, 213, -1, 215, -1, -1, 218,
219, 220, -1, -1, 223, 224, 225, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
-1, 240, 241, 242, 243, -1, 245, 246, -1, 248,
-1, 250, 251, 252, 253, 254, 255, -1, 257, -1,
-1, 260, 261, 262, -1, -1, 265, 266, -1, 268,
-1, 270, 271, 272, 273, 274, 275, 276, 277, -1,
279, 280, 281, 282, 283, 284, 285, 286, -1, 288,
289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, -1, 314, 315, -1, 317, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
-1, 330, 331, 332, 333, 334, -1, 336, 337, 338,
339, 340, -1, 342, 343, 344, 345, -1, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
-1, 360, 361, -1, 363, -1, 365, 366, 367, 368,
369, -1, 371, 372, -1, -1, 375, 376, 377, 378,
379, -1, 381, 382, 383, 384, 385, 386, 387, -1,
-1, 390, 391, 392, 393, 394, -1, -1, 397, 398,
399, 400, 401, 402, 403, -1, 405, -1, 407, 408,
409, 410, -1, -1, 413, -1, -1, 416, 417, 418,
419, 420, 421, 422, 423, 424, 425, 426, 427, 428,
429, 430, 431, 432, 433, 3, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
28, 29, -1, -1, -1, -1, -1, -1, -1, 37,
38, -1, 40, 41, -1, 43, 44, 45, 46, 47,
-1, 49, 50, -1, 52, 53, 54, 55, 56, -1,
-1, 59, 60, 61, 62, 63, -1, 65, 66, 67,
68, 69, -1, -1, -1, 73, 74, 75, 76, -1,
78, 79, 80, -1, 82, 83, 84, 85, 86, 87,
-1, -1, 90, 91, 92, -1, -1, -1, -1, -1,
-1, -1, 100, 101, 102, 103, 104, 105, 106, 107,
108, -1, 110, -1, 112, 113, 114, 115, 116, -1,
118, 119, 120, -1, -1, 123, 124, 125, 126, 127,
-1, 129, 130, 131, -1, 133, 134, 135, -1, 137,
138, 139, 140, 141, 142, 143, 144, 145, -1, 147,
-1, 149, 150, 151, 152, -1, 154, -1, 156, -1,
-1, -1, 160, 161, 162, -1, 164, 165, -1, 167,
168, -1, 170, 171, 172, 173, 174, -1, 176, 177,
178, 179, -1, 181, 182, 183, 184, 185, 186, -1,
188, -1, 190, 191, 192, 193, 194, 195, 196, -1,
198, -1, 200, -1, -1, 203, -1, 205, 206, 207,
208, 209, -1, -1, 212, 213, -1, 215, -1, -1,
218, 219, 220, -1, -1, 223, 224, 225, 226, 227,
228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
238, -1, 240, 241, 242, 243, -1, 245, 246, -1,
248, -1, 250, 251, 252, 253, 254, 255, -1, 257,
-1, -1, 260, 261, 262, -1, -1, 265, 266, -1,
268, -1, 270, 271, 272, 273, 274, 275, 276, 277,
-1, 279, 280, 281, 282, 283, 284, 285, 286, -1,
288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
298, 299, 300, -1, 302, 303, 304, 305, 306, 307,
308, 309, 310, 311, 312, -1, 314, 315, -1, 317,
318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
328, -1, 330, 331, 332, 333, 334, -1, 336, 337,
338, 339, 340, -1, 342, 343, 344, 345, -1, 347,
348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
358, -1, 360, 361, -1, 363, -1, 365, 366, 367,
368, 369, -1, 371, 372, -1, -1, 375, 376, 377,
378, 379, -1, 381, 382, 383, 384, 385, 386, 387,
-1, -1, 390, 391, 392, 393, 394, -1, -1, 397,
398, 399, 400, 401, 402, 403, -1, 405, -1, 407,
408, 409, 410, -1, -1, 413, -1, -1, 416, 417,
418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
428, 429, 430, 431, 432, 433, 3, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 18, 19, 20, 21, 22, 23, 24, 25, 26,
27, 28, 29, -1, -1, -1, -1, -1, -1, -1,
37, 38, -1, 40, 41, -1, 43, 44, 45, 46,
47, -1, 49, 50, -1, 52, 53, 54, 55, 56,
-1, -1, 59, 60, 61, 62, 63, -1, 65, 66,
67, 68, 69, -1, -1, -1, 73, 74, 75, 76,
-1, 78, 79, 80, -1, 82, 83, 84, 85, 86,
87, -1, -1, 90, 91, 92, -1, -1, -1, -1,
-1, -1, -1, 100, 101, 102, 103, 104, 105, 106,
107, 108, -1, 110, -1, 112, 113, 114, 115, 116,
-1, 118, 119, 120, -1, -1, 123, 124, 125, 126,
127, -1, 129, 130, 131, -1, 133, 134, 135, -1,
137, 138, 139, 140, 141, 142, 143, 144, 145, -1,
147, -1, 149, 150, 151, 152, -1, 154, -1, 156,
-1, -1, -1, 160, 161, 162, -1, 164, 165, -1,
167, 168, -1, 170, 171, 172, 173, 174, -1, 176,
177, 178, 179, -1, 181, 182, 183, 184, 185, 186,
-1, 188, -1, 190, 191, 192, 193, 194, 195, 196,
-1, 198, -1, 200, -1, -1, 203, -1, 205, 206,
207, 208, 209, -1, -1, 212, 213, -1, 215, -1,
-1, 218, 219, 220, -1, -1, 223, 224, 225, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
237, 238, -1, 240, 241, 242, 243, -1, 245, 246,
-1, 248, -1, 250, 251, 252, 253, 254, 255, -1,
257, -1, -1, 260, 261, 262, -1, -1, 265, 266,
-1, 268, -1, 270, 271, 272, 273, 274, 275, 276,
277, -1, 279, 280, 281, 282, 283, 284, 285, 286,
-1, 288, 289, 290, 291, 292, 293, 294, 295, 296,
297, 298, 299, 300, -1, 302, 303, 304, 305, 306,
307, 308, 309, 310, 311, 312, -1, 314, 315, -1,
317, 318, 319, 320, 321, 322, 323, 324, 325, 326,
327, 328, -1, 330, 331, 332, 333, 334, -1, 336,
337, 338, 339, 340, -1, 342, 343, 344, 345, -1,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, -1, 360, 361, -1, 363, -1, 365, 366,
367, 368, 369, -1, 371, 372, -1, -1, 375, 376,
377, 378, 379, -1, 381, 382, 383, 384, 385, 386,
387, -1, -1, 390, 391, 392, 393, 394, -1, -1,
397, 398, 399, 400, 401, 402, 403, -1, 405, -1,
407, 408, 409, 410, -1, -1, 413, -1, -1, 416,
417, 418, 419, 420, 421, 422, 423, 424, 425, 426,
427, 428, 429, 430, 431, 432, 433, 3, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 18, 19, 20, 21, 22, 23, 24, 25,
-1, 27, 28, 29, -1, -1, -1, -1, -1, -1,
-1, 37, 38, -1, 40, 41, 42, 43, 44, 45,
46, 47, -1, 49, 50, -1, 52, 53, 54, 55,
56, -1, -1, 59, 60, 61, 62, 63, -1, 65,
66, 67, 68, 69, -1, -1, -1, 73, 74, 75,
76, -1, 78, 79, 80, -1, 82, 83, 84, 85,
86, 87, -1, -1, 90, 91, 92, -1, -1, -1,
-1, -1, -1, -1, 100, 101, 102, 103, 104, 105,
106, 107, 108, -1, 110, -1, 112, 113, 114, 115,
116, -1, 118, 119, 120, -1, -1, 123, 124, 125,
126, 127, -1, 129, 130, 131, -1, 133, 134, 135,
-1, 137, 138, 139, 140, 141, 142, 143, 144, 145,
-1, 147, -1, 149, 150, 151, 152, -1, 154, -1,
156, -1, -1, -1, 160, 161, 162, -1, 164, 165,
-1, 167, 168, -1, 170, 171, 172, 173, 174, -1,
176, 177, 178, 179, -1, 181, 182, 183, 184, 185,
186, -1, 188, -1, 190, 191, 192, 193, 194, 195,
196, -1, 198, -1, 200, -1, -1, 203, -1, 205,
206, 207, 208, 209, -1, -1, 212, 213, -1, 215,
-1, -1, 218, 219, 220, -1, -1, 223, 224, 225,
226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
236, 237, 238, -1, 240, 241, 242, 243, -1, 245,
246, -1, 248, -1, 250, 251, 252, 253, 254, 255,
-1, 257, -1, -1, 260, 261, 262, -1, -1, 265,
266, -1, 268, -1, 270, 271, 272, 273, 274, 275,
276, 277, -1, 279, 280, 281, 282, 283, 284, 285,
286, -1, 288, 289, 290, 291, 292, 293, 294, 295,
296, 297, 298, 299, 300, -1, 302, 303, 304, 305,
306, 307, 308, 309, 310, 311, 312, -1, 314, 315,
-1, 317, 318, 319, 320, 321, 322, 323, 324, 325,
326, 327, 328, -1, 330, 331, 332, 333, 334, -1,
336, 337, 338, 339, 340, -1, 342, 343, 344, 345,
-1, 347, 348, 349, 350, 351, 352, 353, 354, 355,
356, 357, 358, -1, 360, 361, -1, 363, -1, 365,
366, 367, 368, 369, -1, 371, 372, -1, -1, 375,
376, 377, 378, 379, -1, 381, 382, 383, 384, 385,
386, 387, -1, -1, 390, 391, 392, 393, 394, -1,
-1, 397, 398, 399, 400, 401, 402, 403, -1, 405,
-1, 407, 408, 409, 410, -1, -1, 413, -1, -1,
416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
426, 427, 428, 429, 430, 431, 432, 433, 3, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 18, 19, 20, 21, 22, 23, 24,
25, -1, 27, 28, 29, -1, -1, -1, -1, -1,
-1, -1, 37, 38, -1, 40, 41, -1, 43, 44,
45, 46, 47, -1, 49, 50, -1, 52, 53, 54,
55, 56, -1, -1, 59, 60, 61, 62, 63, -1,
65, 66, 67, 68, 69, -1, -1, -1, 73, 74,
75, 76, -1, 78, 79, 80, -1, 82, 83, 84,
85, 86, 87, -1, -1, 90, 91, 92, -1, -1,
-1, -1, -1, -1, -1, 100, 101, 102, 103, 104,
105, 106, 107, 108, -1, 110, -1, 112, 113, 114,
115, 116, -1, 118, 119, 120, -1, -1, 123, 124,
125, 126, 127, -1, 129, 130, 131, -1, 133, 134,
135, -1, 137, 138, 139, 140, 141, 142, 143, 144,
145, -1, 147, -1, 149, 150, 151, 152, -1, 154,
-1, 156, -1, -1, -1, 160, 161, 162, -1, 164,
165, -1, 167, 168, -1, 170, 171, 172, 173, 174,
-1, 176, 177, 178, 179, -1, 181, 182, 183, 184,
185, 186, -1, 188, -1, 190, 191, 192, 193, 194,
195, 196, -1, 198, -1, 200, -1, -1, 203, -1,
205, 206, 207, 208, 209, -1, -1, 212, 213, -1,
215, -1, -1, 218, 219, 220, -1, -1, 223, 224,
225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, -1, 240, 241, 242, 243, -1,
245, 246, -1, 248, -1, 250, 251, 252, 253, 254,
255, -1, 257, -1, 259, 260, 261, 262, -1, -1,
265, 266, -1, 268, -1, 270, 271, 272, 273, 274,
275, 276, 277, -1, 279, 280, 281, 282, 283, 284,
285, 286, -1, 288, 289, 290, 291, 292, 293, 294,
295, 296, 297, 298, 299, 300, -1, 302, 303, 304,
305, 306, 307, 308, 309, 310, 311, 312, -1, 314,
315, -1, 317, 318, 319, 320, 321, 322, 323, 324,
325, 326, 327, 328, -1, 330, 331, 332, 333, 334,
-1, 336, 337, 338, 339, 340, -1, 342, 343, 344,
345, -1, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, -1, 360, 361, -1, 363, -1,
365, 366, 367, 368, 369, -1, 371, 372, -1, -1,
375, 376, 377, 378, 379, -1, 381, 382, 383, 384,
385, 386, 387, -1, -1, 390, 391, 392, 393, 394,
-1, -1, 397, 398, 399, 400, 401, 402, 403, -1,
405, -1, 407, 408, 409, 410, -1, -1, 413, -1,
-1, 416, 417, 418, 419, 420, 421, 422, 423, 424,
425, 426, 427, 428, 429, 430, 431, 432, 433, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
24, 25, 26, 27, 28, 29, -1, -1, -1, -1,
-1, -1, -1, 37, 38, -1, 40, 41, -1, 43,
44, 45, 46, 47, -1, 49, 50, -1, 52, 53,
54, 55, 56, -1, -1, 59, 60, 61, 62, 63,
-1, 65, 66, 67, 68, 69, -1, -1, -1, 73,
74, 75, 76, -1, 78, 79, 80, -1, 82, 83,
84, 85, 86, 87, -1, -1, 90, 91, 92, -1,
-1, -1, -1, -1, -1, -1, 100, 101, 102, 103,
104, 105, 106, 107, 108, -1, 110, -1, 112, 113,
114, 115, 116, -1, 118, 119, 120, -1, -1, 123,
124, 125, 126, 127, -1, 129, 130, 131, -1, 133,
134, 135, -1, 137, 138, 139, 140, 141, 142, 143,
144, 145, -1, 147, -1, 149, 150, 151, 152, -1,
154, -1, 156, -1, -1, -1, 160, 161, 162, -1,
164, 165, -1, 167, 168, -1, 170, 171, 172, 173,
174, -1, 176, 177, 178, 179, -1, 181, 182, 183,
184, 185, 186, -1, 188, -1, 190, 191, 192, 193,
194, 195, 196, -1, 198, -1, 200, -1, -1, 203,
-1, 205, 206, 207, 208, 209, -1, -1, 212, 213,
-1, 215, -1, -1, 218, 219, 220, -1, -1, 223,
224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
234, 235, 236, 237, 238, -1, 240, 241, 242, 243,
-1, 245, 246, -1, 248, -1, 250, 251, 252, 253,
254, 255, -1, 257, -1, -1, 260, 261, 262, -1,
-1, 265, 266, -1, 268, -1, 270, 271, 272, 273,
274, 275, 276, 277, -1, 279, 280, 281, 282, 283,
284, 285, 286, -1, 288, 289, 290, 291, 292, 293,
294, 295, 296, 297, 298, 299, 300, -1, 302, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, -1,
314, 315, -1, 317, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, -1, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, -1, 342, 343,
344, 345, -1, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, -1, 360, 361, -1, 363,
-1, 365, 366, 367, 368, 369, -1, 371, 372, -1,
-1, 375, 376, 377, 378, 379, -1, 381, 382, 383,
384, 385, 386, 387, -1, -1, 390, 391, 392, 393,
394, -1, -1, 397, 398, 399, 400, 401, 402, 403,
-1, 405, -1, 407, 408, 409, 410, -1, -1, 413,
-1, -1, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, 431, 432, 433,
3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 18, 19, 20, 21, 22,
23, 24, 25, 26, 27, 28, 29, -1, -1, -1,
-1, -1, -1, -1, 37, 38, -1, 40, 41, -1,
43, 44, 45, 46, 47, -1, 49, 50, -1, 52,
53, 54, 55, 56, -1, -1, 59, 60, 61, 62,
63, -1, 65, 66, 67, 68, 69, -1, -1, -1,
73, 74, 75, 76, -1, 78, 79, 80, -1, 82,
83, 84, 85, 86, 87, -1, -1, 90, 91, 92,
-1, -1, -1, -1, -1, -1, -1, 100, 101, 102,
103, 104, 105, 106, 107, 108, -1, 110, -1, 112,
113, 114, 115, 116, -1, 118, 119, 120, -1, -1,
123, 124, 125, 126, 127, -1, 129, 130, 131, -1,
133, 134, 135, -1, 137, 138, 139, 140, 141, 142,
143, 144, 145, -1, 147, -1, 149, 150, 151, 152,
-1, 154, -1, 156, -1, -1, -1, 160, 161, 162,
-1, 164, 165, -1, 167, 168, -1, 170, 171, 172,
173, 174, -1, 176, 177, 178, 179, -1, 181, 182,
183, 184, 185, 186, -1, 188, -1, 190, 191, 192,
193, 194, 195, 196, -1, 198, -1, 200, -1, -1,
203, -1, 205, 206, 207, 208, 209, -1, -1, 212,
213, -1, 215, -1, -1, 218, 219, 220, -1, -1,
223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, -1, 240, 241, 242,
243, -1, 245, 246, -1, 248, -1, 250, 251, 252,
253, 254, 255, -1, 257, -1, -1, 260, 261, 262,
-1, -1, 265, 266, -1, 268, -1, 270, 271, 272,
273, 274, 275, 276, 277, -1, 279, 280, 281, 282,
283, 284, 285, 286, -1, 288, 289, 290, 291, 292,
293, 294, 295, 296, 297, 298, 299, 300, -1, 302,
303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
-1, 314, 315, -1, 317, 318, 319, 320, 321, 322,
323, 324, 325, 326, 327, 328, -1, 330, 331, 332,
333, 334, -1, 336, 337, 338, 339, 340, -1, 342,
343, 344, 345, -1, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, -1, 360, 361, -1,
363, -1, 365, 366, 367, 368, 369, -1, 371, 372,
-1, -1, 375, 376, 377, 378, 379, -1, 381, 382,
383, 384, 385, 386, 387, -1, -1, 390, 391, 392,
393, 394, -1, -1, 397, 398, 399, 400, 401, 402,
403, -1, 405, -1, 407, 408, 409, 410, -1, -1,
413, -1, -1, 416, 417, 418, 419, 420, 421, 422,
423, 424, 425, 426, 427, 428, 429, 430, 431, 432,
433, 3, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 18, 19, 20, 21,
22, 23, 24, 25, -1, 27, 28, 29, -1, -1,
-1, -1, -1, -1, -1, 37, 38, -1, 40, 41,
-1, 43, 44, 45, 46, 47, -1, 49, 50, -1,
52, 53, 54, 55, 56, -1, -1, 59, 60, 61,
62, 63, -1, 65, 66, 67, 68, 69, -1, -1,
-1, 73, 74, 75, 76, -1, 78, 79, 80, -1,
82, 83, 84, 85, 86, 87, -1, -1, 90, 91,
92, -1, -1, -1, -1, -1, -1, -1, 100, 101,
102, 103, 104, 105, 106, 107, 108, -1, 110, -1,
112, 113, 114, 115, 116, -1, 118, 119, 120, -1,
-1, 123, 124, 125, 126, 127, -1, 129, 130, 131,
-1, 133, 134, 135, -1, 137, 138, 139, 140, 141,
142, 143, 144, 145, -1, 147, -1, 149, 150, 151,
152, -1, 154, -1, 156, -1, -1, -1, 160, 161,
162, -1, 164, 165, -1, 167, 168, -1, 170, 171,
172, 173, 174, -1, 176, 177, 178, 179, -1, 181,
182, 183, 184, 185, 186, -1, 188, -1, 190, 191,
192, 193, 194, 195, 196, -1, 198, -1, 200, -1,
-1, 203, -1, 205, 206, 207, 208, 209, -1, -1,
212, 213, -1, 215, -1, -1, 218, 219, 220, -1,
-1, 223, 224, 225, 226, 227, 228, 229, 230, 231,
232, 233, 234, 235, 236, 237, 238, -1, 240, 241,
242, 243, -1, 245, 246, -1, 248, -1, 250, 251,
252, 253, 254, 255, -1, 257, -1, -1, 260, 261,
262, -1, -1, 265, 266, -1, 268, -1, 270, 271,
272, 273, 274, 275, 276, 277, -1, 279, 280, 281,
282, 283, 284, 285, 286, -1, 288, 289, 290, 291,
292, 293, 294, 295, 296, 297, 298, 299, 300, -1,
302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
312, -1, 314, 315, -1, 317, 318, 319, 320, 321,
322, 323, 324, 325, 326, 327, 328, -1, 330, 331,
332, 333, 334, -1, 336, 337, 338, 339, 340, -1,
342, 343, 344, 345, -1, 347, 348, 349, 350, 351,
352, 353, 354, 355, 356, 357, 358, -1, 360, 361,
362, 363, -1, 365, 366, 367, 368, 369, -1, 371,
372, -1, -1, 375, 376, 377, 378, 379, -1, 381,
382, 383, 384, 385, 386, 387, -1, -1, 390, 391,
392, 393, 394, -1, -1, 397, 398, 399, 400, 401,
402, 403, -1, 405, -1, 407, 408, 409, 410, -1,
-1, 413, -1, -1, 416, 417, 418, 419, 420, 421,
422, 423, 424, 425, 426, 427, 428, 429, 430, 431,
432, 433, 3, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 18, 19, 20,
21, 22, 23, 24, 25, -1, 27, 28, 29, -1,
-1, -1, -1, -1, 35, -1, 37, 38, -1, 40,
41, -1, 43, 44, 45, 46, 47, -1, 49, 50,
-1, 52, 53, 54, 55, 56, -1, -1, 59, 60,
61, 62, 63, -1, 65, 66, 67, 68, 69, -1,
-1, -1, 73, 74, 75, 76, -1, 78, 79, 80,
-1, 82, 83, 84, 85, 86, 87, -1, -1, 90,
91, 92, -1, -1, -1, -1, -1, -1, -1, 100,
101, 102, 103, 104, 105, 106, 107, 108, -1, 110,
-1, 112, 113, 114, 115, 116, -1, 118, 119, 120,
-1, -1, 123, 124, 125, 126, 127, -1, 129, 130,
131, -1, 133, 134, 135, -1, 137, 138, 139, 140,
141, 142, 143, 144, 145, -1, 147, -1, 149, 150,
151, 152, -1, 154, -1, 156, -1, -1, -1, 160,
161, 162, -1, 164, 165, -1, 167, 168, -1, 170,
171, 172, 173, 174, -1, 176, 177, 178, 179, -1,
181, 182, 183, 184, 185, 186, -1, 188, -1, 190,
191, 192, 193, 194, 195, 196, -1, 198, -1, 200,
-1, -1, 203, -1, 205, 206, 207, 208, 209, -1,
-1, 212, 213, -1, 215, -1, -1, 218, 219, 220,
-1, -1, 223, 224, 225, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, -1, 240,
241, 242, 243, -1, 245, 246, -1, 248, -1, 250,
251, 252, 253, 254, 255, -1, 257, -1, -1, 260,
261, 262, -1, -1, 265, 266, -1, 268, -1, 270,
271, 272, 273, 274, 275, 276, 277, -1, 279, 280,
281, 282, 283, 284, 285, 286, -1, 288, 289, 290,
291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
-1, 302, 303, 304, 305, 306, 307, 308, 309, 310,
311, 312, -1, 314, 315, -1, 317, 318, 319, 320,
321, 322, 323, 324, 325, 326, 327, 328, -1, 330,
331, 332, 333, 334, -1, 336, 337, 338, 339, 340,
-1, 342, 343, 344, 345, -1, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, -1, 360,
361, -1, 363, -1, 365, 366, 367, 368, 369, -1,
371, 372, -1, -1, 375, 376, 377, 378, 379, -1,
381, 382, 383, 384, 385, 386, 387, -1, -1, 390,
391, 392, 393, 394, -1, -1, 397, 398, 399, 400,
401, 402, 403, -1, 405, -1, 407, 408, 409, 410,
-1, -1, 413, -1, -1, 416, 417, 418, 419, 420,
421, 422, 423, 424, 425, 426, 427, 428, 429, 430,
431, 432, 433, 3, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 18, 19,
20, 21, 22, 23, 24, 25, -1, 27, 28, 29,
-1, -1, -1, -1, -1, 35, -1, 37, 38, -1,
40, 41, -1, 43, 44, 45, 46, 47, -1, 49,
50, -1, 52, 53, 54, 55, 56, -1, -1, 59,
60, 61, 62, 63, -1, 65, 66, 67, 68, 69,
-1, -1, -1, 73, 74, 75, 76, -1, 78, 79,
80, -1, 82, 83, 84, 85, 86, 87, -1, -1,
90, 91, 92, -1, -1, -1, -1, -1, -1, -1,
100, 101, 102, 103, 104, 105, 106, 107, 108, -1,
110, -1, 112, 113, 114, 115, 116, -1, 118, 119,
120, -1, -1, 123, 124, 125, 126, 127, -1, 129,
130, 131, -1, 133, 134, 135, -1, 137, 138, 139,
140, 141, 142, 143, 144, 145, -1, 147, -1, 149,
150, 151, 152, -1, 154, -1, 156, -1, -1, -1,
160, 161, 162, -1, 164, 165, -1, 167, 168, -1,
170, 171, 172, 173, 174, -1, 176, 177, 178, 179,
-1, 181, 182, 183, 184, 185, 186, -1, 188, -1,
190, 191, 192, 193, 194, 195, 196, -1, 198, -1,
200, -1, -1, 203, -1, 205, 206, 207, 208, 209,
-1, -1, 212, 213, -1, 215, -1, -1, 218, 219,
220, -1, -1, 223, 224, 225, 226, 227, 228, 229,
230, 231, 232, 233, 234, 235, 236, 237, 238, -1,
240, 241, 242, 243, -1, 245, 246, -1, 248, -1,
250, 251, 252, 253, 254, 255, -1, 257, -1, -1,
260, 261, 262, -1, -1, 265, 266, -1, 268, -1,
270, 271, 272, 273, 274, 275, 276, 277, -1, 279,
280, 281, 282, 283, 284, 285, 286, -1, 288, 289,
290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
300, -1, 302, 303, 304, 305, 306, 307, 308, 309,
310, 311, 312, -1, 314, 315, -1, 317, 318, 319,
320, 321, 322, 323, 324, 325, 326, 327, 328, -1,
330, 331, 332, 333, 334, -1, 336, 337, 338, 339,
340, -1, 342, 343, 344, 345, -1, 347, 348, 349,
350, 351, 352, 353, 354, 355, 356, 357, 358, -1,
360, 361, -1, 363, -1, 365, 366, 367, 368, 369,
-1, 371, 372, -1, -1, 375, 376, 377, 378, 379,
-1, 381, 382, 383, 384, 385, 386, 387, -1, -1,
390, 391, 392, 393, 394, -1, -1, 397, 398, 399,
400, 401, 402, 403, -1, 405, -1, 407, 408, 409,
410, -1, -1, 413, -1, -1, 416, 417, 418, 419,
420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
430, 431, 432, 433, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 18,
19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
-1, 40, 41, -1, 43, 44, 45, 46, 47, -1,
49, 50, -1, 52, 53, 54, 55, 56, -1, -1,
59, 60, 61, 62, 63, -1, 65, 66, 67, 68,
69, -1, -1, -1, 73, 74, 75, 76, -1, 78,
79, 80, -1, 82, 83, 84, 85, 86, 87, -1,
-1, 90, 91, 92, -1, -1, -1, -1, -1, -1,
-1, 100, 101, 102, 103, 104, 105, 106, 107, 108,
-1, 110, -1, 112, 113, 114, 115, 116, -1, 118,
119, 120, -1, -1, 123, 124, 125, 126, 127, -1,
129, 130, 131, -1, 133, 134, 135, -1, 137, 138,
139, 140, 141, 142, 143, 144, 145, -1, 147, -1,
149, 150, 151, 152, -1, 154, -1, 156, -1, -1,
-1, 160, 161, 162, -1, 164, 165, -1, 167, 168,
-1, 170, 171, 172, 173, 174, -1, 176, 177, 178,
179, -1, 181, 182, 183, 184, 185, 186, -1, 188,
-1, 190, 191, 192, 193, 194, 195, 196, -1, 198,
-1, 200, -1, -1, 203, -1, 205, 206, 207, 208,
209, -1, -1, 212, 213, -1, 215, -1, -1, 218,
219, 220, -1, -1, 223, 224, 225, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
-1, 240, 241, 242, 243, -1, 245, 246, -1, 248,
-1, 250, 251, 252, 253, 254, 255, -1, 257, -1,
-1, 260, 261, 262, -1, -1, 265, 266, -1, 268,
-1, 270, 271, 272, 273, 274, 275, 276, 277, -1,
279, 280, 281, 282, 283, 284, 285, 286, -1, 288,
289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, -1, 314, 315, -1, 317, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
-1, 330, 331, 332, 333, 334, -1, 336, 337, 338,
339, 340, -1, 342, 343, 344, 345, -1, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
-1, 360, 361, -1, 363, -1, 365, 366, 367, 368,
369, -1, 371, 372, -1, -1, 375, 376, 377, 378,
379, -1, 381, 382, 383, 384, 385, 386, 387, -1,
-1, 390, 391, 392, 393, 394, -1, 396, 397, 398,
399, 400, 401, 402, 403, -1, 405, -1, 407, 408,
409, 410, -1, -1, 413, -1, -1, 416, 417, 418,
419, 420, 421, 422, 423, 424, 425, 426, 427, 428,
429, 430, 431, 432, 433, 3, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
18, 19, 20, 21, 22, 23, 24, 25, -1, 27,
28, 29, -1, -1, -1, -1, -1, -1, -1, 37,
38, -1, 40, 41, -1, 43, 44, 45, 46, 47,
-1, 49, 50, -1, 52, 53, 54, 55, 56, -1,
-1, 59, 60, 61, 62, 63, -1, 65, 66, 67,
68, 69, -1, -1, -1, 73, 74, 75, 76, -1,
78, 79, 80, -1, 82, 83, 84, 85, 86, 87,
-1, -1, 90, 91, 92, -1, -1, -1, -1, -1,
-1, -1, 100, 101, 102, 103, 104, 105, 106, 107,
108, -1, 110, -1, 112, 113, 114, 115, 116, -1,
118, 119, 120, -1, -1, 123, 124, 125, 126, 127,
-1, 129, 130, 131, -1, 133, 134, 135, -1, 137,
138, 139, 140, 141, 142, 143, 144, 145, -1, 147,
-1, 149, 150, 151, 152, -1, 154, -1, 156, -1,
-1, -1, 160, 161, 162, -1, 164, 165, -1, 167,
168, -1, 170, 171, 172, 173, 174, -1, 176, 177,
178, 179, -1, 181, 182, 183, 184, 185, 186, -1,
188, -1, 190, 191, 192, 193, 194, 195, 196, -1,
198, -1, 200, -1, -1, 203, -1, 205, 206, 207,
208, 209, -1, -1, 212, 213, -1, 215, -1, -1,
218, 219, 220, -1, -1, 223, 224, 225, 226, 227,
228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
238, -1, 240, 241, 242, 243, -1, 245, 246, -1,
248, -1, 250, 251, 252, 253, 254, 255, -1, 257,
-1, -1, 260, 261, 262, -1, -1, 265, 266, -1,
268, -1, 270, 271, 272, 273, 274, 275, 276, 277,
-1, 279, 280, 281, 282, 283, 284, 285, 286, -1,
288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
298, 299, 300, -1, 302, 303, 304, 305, 306, 307,
308, 309, 310, 311, 312, -1, 314, 315, -1, 317,
318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
328, -1, 330, 331, 332, 333, 334, -1, 336, 337,
338, 339, 340, -1, 342, 343, 344, 345, -1, 347,
348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
358, -1, 360, 361, -1, 363, -1, 365, 366, 367,
368, 369, -1, 371, 372, -1, -1, 375, 376, 377,
378, 379, -1, 381, 382, 383, 384, 385, 386, 387,
-1, -1, 390, 391, 392, 393, 394, -1, -1, 397,
398, 399, 400, 401, 402, 403, -1, 405, -1, 407,
408, 409, 410, -1, -1, 413, -1, -1, 416, 417,
418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
428, 429, 430, 431, 432, 433, 3, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 18, 19, 20, 21, 22, 23, 24, 25, -1,
27, 28, 29, -1, -1, -1, -1, -1, -1, -1,
37, 38, -1, 40, 41, -1, 43, 44, 45, 46,
47, -1, 49, 50, -1, 52, 53, 54, 55, 56,
-1, -1, 59, 60, 61, 62, 63, -1, 65, 66,
67, 68, 69, -1, -1, -1, 73, 74, 75, 76,
-1, 78, 79, 80, -1, 82, 83, 84, 85, 86,
87, -1, -1, 90, 91, 92, -1, -1, -1, -1,
-1, -1, -1, 100, 101, 102, 103, 104, 105, 106,
107, 108, -1, 110, -1, 112, 113, 114, 115, 116,
-1, 118, 119, 120, -1, -1, 123, 124, 125, 126,
127, -1, 129, 130, 131, -1, 133, 134, 135, -1,
137, 138, 139, 140, 141, 142, 143, 144, 145, -1,
147, -1, 149, 150, 151, 152, -1, 154, -1, 156,
-1, -1, -1, 160, 161, 162, -1, 164, 165, -1,
167, 168, -1, 170, 171, 172, 173, 174, -1, 176,
177, 178, 179, -1, 181, 182, 183, 184, 185, 186,
-1, 188, -1, 190, 191, 192, 193, 194, 195, 196,
-1, 198, -1, 200, -1, -1, 203, -1, 205, 206,
207, 208, 209, -1, -1, 212, 213, -1, 215, -1,
-1, 218, 219, 220, -1, -1, 223, 224, 225, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
237, 238, -1, 240, 241, 242, 243, -1, 245, 246,
-1, 248, -1, 250, 251, 252, 253, 254, 255, -1,
257, -1, -1, 260, 261, 262, -1, -1, 265, 266,
-1, 268, -1, 270, 271, 272, 273, 274, 275, 276,
277, -1, 279, 280, 281, 282, 283, 284, 285, 286,
-1, 288, 289, 290, 291, 292, 293, 294, 295, 296,
297, 298, 299, 300, -1, 302, 303, 304, 305, 306,
307, 308, 309, 310, 311, 312, -1, 314, 315, -1,
317, 318, 319, 320, 321, 322, 323, 324, 325, 326,
327, 328, -1, 330, 331, 332, 333, 334, -1, 336,
337, 338, 339, 340, -1, 342, 343, 344, 345, -1,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, -1, 360, 361, -1, 363, -1, 365, 366,
367, 368, 369, -1, 371, 372, -1, -1, 375, 376,
377, 378, 379, -1, 381, 382, 383, 384, 385, 386,
387, -1, -1, 390, 391, 392, 393, 394, -1, -1,
397, 398, 399, 400, 401, 402, 403, -1, 405, -1,
407, 408, 409, 410, -1, -1, 413, -1, -1, 416,
417, 418, 419, 420, 421, 422, 423, 424, 425, 426,
427, 428, 429, 430, 431, 432, 433, 3, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 18, 19, 20, 21, 22, 23, 24, 25,
-1, 27, 28, 29, -1, -1, -1, -1, -1, -1,
-1, 37, 38, -1, 40, 41, -1, 43, 44, 45,
46, 47, -1, 49, 50, -1, 52, 53, 54, 55,
56, -1, -1, 59, 60, 61, 62, 63, -1, 65,
66, 67, 68, 69, -1, -1, -1, 73, 74, 75,
76, -1, 78, 79, 80, -1, 82, 83, 84, 85,
86, 87, -1, -1, 90, 91, 92, -1, -1, -1,
-1, -1, -1, -1, 100, 101, 102, 103, 104, 105,
106, 107, 108, -1, 110, -1, 112, 113, 114, 115,
116, -1, 118, 119, 120, -1, -1, 123, 124, 125,
126, 127, -1, 129, 130, 131, -1, 133, 134, 135,
-1, 137, 138, 139, 140, 141, 142, 143, 144, 145,
-1, 147, -1, 149, 150, 151, 152, -1, 154, -1,
156, -1, -1, -1, 160, 161, 162, -1, 164, 165,
-1, 167, 168, -1, 170, 171, 172, 173, 174, -1,
176, 177, 178, 179, -1, 181, 182, 183, 184, 185,
186, -1, 188, -1, 190, 191, 192, 193, 194, 195,
196, -1, 198, -1, 200, -1, -1, 203, -1, 205,
206, 207, 208, 209, -1, -1, 212, 213, -1, 215,
-1, -1, 218, 219, 220, -1, -1, 223, 224, 225,
226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
236, 237, 238, -1, 240, 241, 242, 243, -1, 245,
246, -1, 248, -1, 250, 251, 252, 253, 254, 255,
-1, 257, -1, -1, 260, 261, 262, -1, -1, 265,
266, -1, 268, -1, 270, 271, 272, 273, 274, 275,
276, 277, -1, 279, 280, 281, 282, 283, 284, 285,
286, -1, 288, 289, 290, 291, 292, 293, 294, 295,
296, 297, 298, 299, 300, -1, 302, 303, 304, 305,
306, 307, 308, 309, 310, 311, 312, -1, 314, 315,
-1, 317, 318, 319, 320, 321, 322, 323, 324, 325,
326, 327, 328, -1, 330, 331, 332, 333, 334, -1,
336, 337, 338, 339, 340, -1, 342, 343, 344, 345,
-1, 347, 348, 349, 350, 351, 352, 353, 354, 355,
356, 357, 358, -1, 360, 361, -1, 363, -1, 365,
366, 367, 368, 369, -1, 371, 372, -1, -1, 375,
376, 377, 378, 379, -1, 381, 382, 383, 384, 385,
386, 387, -1, -1, 390, 391, 392, 393, 394, -1,
-1, 397, 398, 399, 400, 401, 402, 403, -1, 405,
-1, 407, 408, 409, 410, -1, -1, 413, -1, -1,
416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
426, 427, 428, 429, 430, 431, 432, 433, 3, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 18, 19, 20, 21, 22, 23, 24,
25, -1, 27, 28, 29, -1, -1, -1, -1, -1,
-1, -1, 37, 38, -1, 40, 41, -1, 43, 44,
45, 46, 47, -1, 49, 50, -1, 52, 53, 54,
55, 56, -1, -1, 59, 60, 61, 62, 63, -1,
65, 66, 67, 68, 69, -1, -1, -1, 73, 74,
75, 76, -1, 78, 79, 80, -1, 82, 83, 84,
85, 86, 87, -1, -1, 90, 91, 92, -1, -1,
-1, -1, -1, -1, -1, 100, 101, 102, 103, 104,
105, 106, 107, 108, -1, 110, -1, 112, 113, 114,
115, 116, -1, 118, 119, 120, -1, -1, 123, 124,
125, 126, 127, -1, 129, 130, 131, -1, 133, 134,
135, -1, 137, 138, 139, 140, 141, 142, 143, 144,
145, -1, 147, -1, 149, 150, 151, 152, -1, 154,
-1, 156, -1, -1, -1, 160, 161, 162, -1, 164,
165, -1, 167, 168, -1, 170, 171, 172, 173, 174,
-1, 176, 177, 178, 179, -1, 181, 182, 183, 184,
185, 186, -1, 188, -1, 190, 191, 192, 193, 194,
195, 196, -1, 198, -1, 200, -1, -1, 203, -1,
205, 206, 207, 208, 209, -1, -1, 212, 213, -1,
215, -1, -1, 218, 219, 220, -1, -1, 223, 224,
225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, -1, 240, 241, 242, 243, -1,
245, 246, -1, 248, -1, 250, 251, 252, 253, 254,
255, -1, 257, -1, -1, 260, 261, 262, -1, -1,
265, 266, -1, 268, -1, 270, 271, 272, 273, 274,
275, 276, 277, -1, 279, 280, 281, 282, 283, 284,
285, 286, -1, 288, 289, 290, 291, 292, 293, 294,
295, 296, 297, 298, 299, 300, -1, 302, 303, 304,
305, 306, 307, 308, 309, 310, 311, 312, -1, 314,
315, -1, 317, 318, 319, 320, 321, 322, 323, 324,
325, 326, 327, 328, -1, 330, 331, 332, 333, 334,
-1, 336, 337, 338, 339, 340, -1, 342, 343, 344,
345, -1, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, -1, 360, 361, -1, 363, -1,
365, 366, 367, 368, 369, -1, 371, 372, -1, -1,
375, 376, 377, 378, 379, -1, 381, 382, 383, 384,
385, 386, 387, -1, -1, 390, 391, 392, 393, 394,
-1, -1, 397, 398, 399, 400, 401, 402, 403, -1,
405, -1, 407, 408, 409, 410, -1, -1, 413, -1,
-1, 416, 417, 418, 419, 420, 421, 422, 423, 424,
425, 426, 427, 428, 429, 430, 431, 432, 433, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
-1, -1, -1, 37, 38, -1, 40, 41, -1, 43,
44, 45, 46, 47, -1, 49, 50, -1, 52, 53,
54, 55, 56, -1, -1, 59, 60, 61, 62, 63,
-1, 65, 66, 67, 68, 69, -1, -1, -1, 73,
74, 75, 76, -1, 78, 79, 80, -1, 82, 83,
84, 85, 86, 87, -1, -1, 90, 91, 92, -1,
-1, -1, -1, -1, -1, -1, 100, 101, 102, 103,
104, 105, 106, 107, 108, -1, 110, -1, 112, 113,
114, 115, 116, -1, 118, 119, 120, -1, -1, 123,
124, 125, 126, 127, -1, 129, 130, 131, -1, 133,
134, 135, -1, 137, 138, 139, 140, 141, 142, 143,
144, 145, -1, 147, -1, 149, 150, 151, 152, -1,
154, -1, 156, -1, -1, -1, 160, 161, 162, -1,
164, 165, -1, 167, 168, -1, 170, 171, 172, 173,
174, -1, 176, 177, 178, 179, -1, 181, 182, 183,
184, 185, 186, -1, 188, -1, 190, 191, 192, 193,
194, 195, 196, -1, 198, -1, 200, -1, -1, 203,
-1, 205, 206, 207, 208, 209, -1, -1, 212, 213,
-1, 215, -1, -1, 218, 219, 220, -1, -1, 223,
224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
234, 235, 236, 237, 238, -1, 240, 241, 242, 243,
-1, 245, 246, -1, 248, -1, 250, 251, 252, 253,
254, 255, -1, 257, -1, -1, 260, 261, 262, -1,
-1, 265, 266, -1, 268, -1, 270, 271, 272, 273,
274, 275, 276, 277, -1, 279, 280, 281, 282, 283,
284, 285, 286, -1, 288, 289, 290, 291, 292, 293,
294, 295, 296, 297, 298, 299, 300, -1, 302, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, -1,
314, 315, -1, 317, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, -1, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, -1, 342, 343,
344, 345, -1, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, -1, 360, 361, -1, 363,
-1, 365, 366, 367, 368, 369, -1, 371, 372, -1,
-1, 375, 376, 377, 378, 379, -1, 381, 382, 383,
384, 385, 386, 387, -1, -1, 390, 391, 392, 393,
394, -1, -1, 397, 398, 399, 400, 401, 402, 403,
-1, 405, -1, 407, 408, 409, 410, -1, -1, 413,
-1, -1, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, 431, 432, 433,
3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 18, 19, 20, 21, 22,
23, 24, 25, -1, 27, 28, 29, -1, -1, -1,
-1, -1, -1, -1, 37, 38, -1, 40, 41, -1,
43, 44, 45, 46, 47, -1, 49, 50, -1, 52,
53, 54, 55, 56, -1, -1, 59, 60, 61, 62,
63, -1, 65, 66, 67, 68, 69, -1, -1, -1,
73, 74, 75, 76, -1, 78, 79, 80, -1, 82,
83, 84, 85, 86, 87, -1, -1, 90, 91, 92,
-1, -1, -1, -1, -1, -1, -1, 100, 101, 102,
103, 104, 105, 106, 107, 108, -1, 110, -1, 112,
113, 114, 115, 116, -1, 118, 119, 120, -1, -1,
123, 124, 125, 126, 127, -1, 129, 130, 131, -1,
133, 134, 135, -1, 137, 138, 139, 140, 141, 142,
143, 144, 145, -1, 147, -1, 149, 150, 151, 152,
-1, 154, -1, 156, -1, -1, -1, 160, 161, 162,
-1, 164, 165, -1, 167, 168, -1, 170, 171, 172,
173, 174, -1, 176, 177, 178, 179, -1, 181, 182,
183, 184, 185, 186, -1, 188, -1, 190, 191, 192,
193, 194, 195, 196, -1, 198, -1, 200, -1, -1,
203, -1, 205, 206, 207, 208, 209, -1, -1, 212,
213, -1, 215, -1, -1, 218, 219, 220, -1, -1,
223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, -1, 240, 241, 242,
243, -1, 245, 246, -1, 248, -1, 250, 251, 252,
253, 254, 255, -1, 257, -1, -1, 260, 261, 262,
-1, -1, 265, 266, -1, 268, -1, 270, 271, 272,
273, 274, 275, 276, 277, -1, 279, 280, 281, 282,
283, 284, 285, 286, -1, 288, 289, 290, 291, 292,
293, 294, 295, 296, 297, 298, 299, 300, -1, 302,
303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
-1, 314, 315, -1, 317, 318, 319, 320, 321, 322,
323, 324, 325, 326, 327, 328, -1, 330, 331, 332,
333, 334, -1, 336, 337, 338, 339, 340, -1, 342,
343, 344, 345, -1, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, -1, 360, 361, -1,
363, -1, 365, 366, 367, 368, 369, -1, 371, 372,
-1, -1, 375, 376, 377, 378, 379, -1, 381, 382,
383, 384, 385, 386, 387, -1, -1, 390, 391, 392,
393, 394, -1, -1, 397, 398, 399, 400, 401, 402,
403, -1, 405, -1, 407, 408, 409, 410, -1, -1,
413, -1, -1, 416, 417, 418, 419, 420, 421, 422,
423, 424, 425, 426, 427, 428, 429, 430, 431, 432,
433, 3, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 18, 19, 20, 21,
22, 23, 24, 25, -1, 27, 28, 29, -1, -1,
-1, -1, -1, -1, -1, 37, 38, -1, 40, 41,
-1, 43, 44, 45, 46, 47, -1, 49, 50, -1,
52, 53, 54, 55, 56, -1, -1, 59, 60, 61,
62, 63, -1, 65, 66, 67, 68, 69, -1, -1,
-1, 73, 74, 75, 76, -1, 78, 79, 80, -1,
82, 83, 84, 85, 86, 87, -1, -1, 90, 91,
92, -1, -1, -1, -1, -1, -1, -1, 100, 101,
102, 103, 104, 105, 106, 107, 108, -1, 110, -1,
112, 113, 114, 115, 116, -1, 118, 119, 120, -1,
-1, 123, 124, 125, 126, 127, -1, 129, 130, 131,
-1, 133, 134, 135, -1, 137, 138, 139, 140, 141,
142, 143, 144, 145, -1, 147, -1, 149, 150, 151,
152, -1, 154, -1, 156, -1, -1, -1, 160, 161,
162, -1, 164, 165, -1, 167, 168, -1, 170, 171,
172, 173, 174, -1, 176, 177, 178, 179, -1, 181,
182, 183, 184, 185, 186, -1, 188, -1, 190, 191,
192, 193, 194, 195, 196, -1, 198, -1, 200, -1,
-1, 203, -1, 205, 206, 207, 208, 209, -1, -1,
212, 213, -1, 215, -1, -1, 218, 219, 220, -1,
-1, 223, 224, 225, 226, 227, 228, 229, 230, 231,
232, 233, 234, 235, 236, 237, 238, -1, 240, 241,
242, 243, -1, 245, 246, -1, 248, -1, 250, 251,
252, 253, 254, 255, -1, 257, -1, -1, 260, 261,
262, -1, -1, 265, 266, -1, 268, -1, 270, 271,
272, 273, 274, 275, 276, 277, -1, 279, 280, 281,
282, 283, 284, 285, 286, -1, 288, 289, 290, 291,
292, 293, 294, 295, 296, 297, 298, 299, 300, -1,
302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
312, -1, 314, 315, -1, 317, 318, 319, 320, 321,
322, 323, 324, 325, 326, 327, 328, -1, 330, 331,
332, 333, 334, -1, 336, 337, 338, 339, 340, -1,
342, 343, 344, 345, -1, 347, 348, 349, 350, 351,
352, 353, 354, 355, 356, 357, 358, -1, 360, 361,
-1, 363, -1, 365, 366, 367, 368, 369, -1, 371,
372, -1, -1, 375, 376, 377, 378, 379, -1, 381,
382, 383, 384, 385, 386, 387, -1, -1, 390, 391,
392, 393, 394, -1, -1, 397, 398, 399, 400, 401,
402, 403, -1, 405, -1, 407, 408, 409, 410, -1,
-1, 413, -1, -1, 416, 417, 418, 419, 420, 421,
422, 423, 424, 425, 426, 427, 428, 429, 430, 431,
432, 433, 3, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 18, 19, 20,
21, 22, 23, 24, 25, -1, 27, 28, 29, -1,
-1, -1, -1, -1, -1, -1, 37, 38, -1, 40,
41, -1, 43, 44, 45, 46, 47, -1, 49, 50,
-1, 52, 53, 54, 55, 56, -1, -1, 59, 60,
61, 62, 63, -1, 65, 66, 67, 68, 69, -1,
-1, -1, 73, 74, 75, 76, -1, 78, 79, 80,
-1, 82, 83, 84, 85, 86, 87, -1, -1, 90,
91, 92, -1, -1, -1, -1, -1, -1, -1, 100,
101, 102, 103, 104, 105, 106, 107, 108, -1, 110,
-1, 112, 113, 114, 115, 116, -1, 118, 119, 120,
-1, -1, 123, 124, 125, 126, 127, -1, 129, 130,
131, -1, 133, 134, 135, -1, 137, 138, 139, 140,
141, 142, 143, 144, 145, -1, 147, -1, 149, 150,
151, 152, -1, 154, -1, 156, -1, -1, -1, 160,
161, 162, -1, 164, 165, -1, 167, 168, -1, 170,
171, 172, 173, 174, -1, 176, 177, 178, 179, -1,
181, 182, 183, 184, 185, 186, -1, 188, -1, 190,
191, 192, 193, 194, 195, 196, -1, 198, -1, 200,
-1, -1, 203, -1, 205, 206, 207, 208, 209, -1,
-1, 212, 213, -1, 215, -1, -1, 218, 219, 220,
-1, -1, 223, 224, 225, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, -1, 240,
241, 242, 243, -1, 245, 246, -1, 248, -1, 250,
251, 252, 253, 254, 255, -1, 257, -1, -1, 260,
261, 262, -1, -1, 265, 266, -1, 268, -1, 270,
271, 272, 273, 274, 275, 276, 277, -1, 279, 280,
281, 282, 283, 284, 285, 286, -1, 288, 289, 290,
291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
-1, 302, 303, 304, 305, 306, 307, 308, 309, 310,
311, 312, -1, 314, 315, -1, 317, 318, 319, 320,
321, 322, 323, 324, 325, 326, 327, 328, -1, 330,
331, 332, 333, 334, -1, 336, 337, 338, 339, 340,
-1, 342, 343, 344, 345, -1, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, -1, 360,
361, -1, 363, -1, 365, 366, 367, 368, 369, -1,
371, 372, -1, -1, 375, 376, 377, 378, 379, -1,
381, 382, 383, 384, 385, 386, 387, -1, -1, 390,
391, 392, 393, 394, -1, -1, 397, 398, 399, 400,
401, 402, 403, -1, 405, -1, 407, 408, 409, 410,
-1, -1, 413, -1, -1, 416, 417, 418, 419, 420,
421, 422, 423, 424, 425, 426, 427, 428, 429, 430,
431, 432, 433, 3, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 18, 19,
20, 21, 22, 23, 24, 25, -1, 27, 28, 29,
-1, -1, -1, -1, -1, -1, -1, 37, 38, -1,
40, 41, -1, 43, 44, 45, 46, 47, -1, 49,
50, -1, 52, 53, 54, 55, 56, -1, -1, 59,
60, 61, 62, 63, -1, 65, 66, 67, 68, 69,
-1, -1, -1, 73, 74, 75, 76, -1, 78, 79,
80, -1, 82, 83, 84, 85, 86, 87, -1, -1,
90, 91, 92, -1, -1, -1, -1, -1, -1, -1,
100, 101, 102, 103, 104, 105, 106, 107, 108, -1,
110, -1, 112, 113, 114, 115, 116, -1, 118, 119,
120, -1, -1, 123, 124, 125, 126, 127, -1, 129,
130, 131, -1, 133, 134, 135, -1, 137, 138, 139,
140, 141, 142, 143, 144, 145, -1, 147, -1, 149,
150, 151, 152, -1, 154, -1, 156, -1, -1, -1,
160, 161, 162, -1, 164, 165, -1, 167, 168, -1,
170, 171, 172, 173, 174, -1, 176, 177, 178, 179,
-1, 181, 182, 183, 184, 185, 186, -1, 188, -1,
190, 191, 192, 193, 194, 195, 196, -1, 198, -1,
200, -1, -1, 203, -1, 205, 206, 207, 208, 209,
-1, -1, 212, 213, -1, 215, -1, -1, 218, 219,
220, -1, -1, 223, 224, 225, 226, 227, 228, 229,
230, 231, 232, 233, 234, 235, 236, 237, 238, -1,
240, 241, 242, 243, -1, 245, 246, -1, 248, -1,
250, 251, 252, 253, 254, 255, -1, 257, -1, -1,
260, 261, 262, -1, -1, 265, 266, -1, 268, -1,
270, 271, 272, 273, 274, 275, 276, 277, -1, 279,
280, 281, 282, 283, 284, 285, 286, -1, 288, 289,
290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
300, -1, 302, 303, 304, 305, 306, 307, 308, 309,
310, 311, 312, -1, 314, 315, -1, 317, 318, 319,
320, 321, 322, 323, 324, 325, 326, 327, 328, -1,
330, 331, 332, 333, 334, -1, 336, 337, 338, 339,
340, -1, 342, 343, 344, 345, -1, 347, 348, 349,
350, 351, 352, 353, 354, 355, 356, 357, 358, -1,
360, 361, -1, 363, -1, 365, 366, 367, 368, 369,
-1, 371, 372, -1, -1, 375, 376, 377, 378, 379,
-1, 381, 382, 383, 384, 385, 386, 387, -1, -1,
390, 391, 392, 393, 394, -1, -1, 397, 398, 399,
400, 401, 402, 403, -1, 405, -1, 407, 408, 409,
410, -1, -1, 413, -1, -1, 416, 417, 418, 419,
420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
430, 431, 432, 433, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 18,
19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
-1, 40, 41, -1, 43, 44, 45, 46, 47, -1,
49, 50, -1, 52, 53, 54, 55, 56, -1, -1,
59, 60, 61, 62, 63, -1, 65, 66, 67, 68,
69, -1, -1, -1, 73, 74, 75, 76, -1, 78,
79, 80, -1, 82, 83, 84, 85, 86, 87, -1,
-1, 90, 91, 92, -1, -1, -1, -1, -1, -1,
-1, 100, 101, 102, 103, 104, 105, 106, 107, 108,
-1, 110, -1, 112, 113, 114, 115, 116, -1, 118,
119, 120, -1, -1, 123, 124, 125, 126, 127, -1,
129, 130, 131, -1, 133, 134, 135, -1, 137, 138,
139, 140, 141, 142, 143, 144, 145, -1, 147, -1,
149, 150, 151, 152, -1, 154, -1, 156, -1, -1,
-1, 160, 161, 162, -1, 164, 165, -1, 167, 168,
-1, 170, 171, 172, 173, 174, -1, 176, 177, 178,
179, -1, 181, 182, 183, 184, 185, 186, -1, 188,
-1, 190, 191, 192, 193, 194, 195, 196, -1, 198,
-1, 200, -1, -1, 203, -1, 205, 206, 207, 208,
209, -1, -1, 212, 213, -1, 215, -1, -1, 218,
219, 220, -1, -1, 223, 224, 225, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
-1, 240, 241, 242, 243, -1, 245, 246, -1, 248,
-1, 250, 251, 252, 253, 254, 255, -1, 257, -1,
-1, 260, 261, 262, -1, -1, 265, 266, -1, 268,
-1, 270, 271, 272, 273, 274, 275, 276, 277, -1,
279, 280, 281, 282, 283, 284, 285, 286, -1, 288,
289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, -1, 314, 315, -1, 317, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
-1, 330, 331, 332, 333, 334, -1, 336, 337, 338,
339, 340, -1, 342, 343, 344, 345, -1, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
-1, 360, 361, -1, 363, -1, 365, 366, 367, 368,
369, -1, 371, 372, -1, -1, 375, 376, 377, 378,
379, -1, 381, 382, 383, 384, 385, 386, 387, -1,
-1, 390, 391, 392, 393, 394, -1, -1, 397, 398,
399, 400, 401, 402, 403, -1, 405, -1, 407, 408,
409, 410, -1, -1, 413, -1, -1, 416, 417, 418,
419, 420, 421, 422, 423, 424, 425, 426, 427, 428,
429, 430, 431, 432, 433, 3, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
18, 19, 20, 21, 22, 23, 24, 25, -1, 27,
28, 29, -1, -1, -1, -1, -1, -1, -1, 37,
38, -1, 40, 41, -1, 43, 44, 45, 46, 47,
-1, 49, 50, -1, 52, 53, 54, 55, 56, -1,
-1, 59, 60, 61, 62, 63, -1, 65, 66, 67,
68, 69, -1, -1, -1, 73, 74, 75, 76, -1,
78, 79, 80, -1, 82, 83, 84, 85, 86, 87,
-1, -1, 90, 91, 92, -1, -1, -1, -1, -1,
-1, -1, 100, 101, 102, 103, 104, 105, 106, 107,
108, -1, 110, -1, 112, 113, 114, 115, 116, -1,
118, 119, 120, -1, -1, 123, 124, 125, 126, 127,
-1, 129, 130, 131, -1, 133, 134, 135, -1, 137,
138, 139, 140, 141, 142, 143, 144, 145, -1, 147,
-1, 149, 150, 151, 152, -1, 154, -1, 156, -1,
-1, -1, 160, 161, 162, -1, 164, 165, -1, 167,
168, -1, 170, 171, 172, 173, 174, -1, 176, 177,
178, 179, -1, 181, 182, 183, 184, 185, 186, -1,
188, -1, 190, 191, 192, 193, 194, 195, 196, -1,
198, -1, 200, -1, -1, 203, -1, 205, 206, 207,
208, 209, -1, -1, 212, 213, -1, 215, -1, -1,
218, 219, 220, -1, -1, 223, 224, 225, 226, 227,
228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
238, -1, 240, 241, 242, 243, -1, 245, 246, -1,
248, -1, 250, 251, 252, 253, 254, 255, -1, 257,
-1, -1, 260, 261, 262, -1, -1, 265, 266, -1,
268, -1, 270, 271, 272, 273, 274, 275, 276, 277,
-1, 279, 280, 281, 282, 283, 284, 285, 286, -1,
288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
298, 299, 300, -1, 302, 303, 304, 305, 306, 307,
308, 309, 310, 311, 312, -1, 314, 315, -1, 317,
318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
328, -1, 330, 331, 332, 333, 334, -1, 336, 337,
338, 339, 340, -1, 342, 343, 344, 345, -1, 347,
348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
358, -1, 360, 361, -1, 363, -1, 365, 366, 367,
368, 369, -1, 371, 372, -1, -1, 375, 376, 377,
378, 379, -1, 381, 382, 383, 384, 385, 386, 387,
-1, -1, 390, 391, 392, 393, 394, -1, -1, 397,
398, 399, 400, 401, 402, 403, -1, 405, -1, 407,
408, 409, 410, -1, -1, 413, -1, -1, 416, 417,
418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
428, 429, 430, 431, 432, 433, 3, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 18, 19, 20, 21, 22, 23, 24, 25, -1,
27, 28, 29, -1, -1, -1, -1, -1, -1, -1,
37, 38, -1, 40, 41, -1, 43, 44, 45, 46,
47, -1, 49, 50, -1, 52, 53, 54, 55, 56,
-1, -1, 59, 60, 61, 62, 63, -1, 65, 66,
67, 68, 69, -1, -1, -1, 73, 74, 75, 76,
-1, 78, 79, 80, -1, 82, 83, 84, 85, 86,
87, -1, -1, 90, 91, 92, -1, -1, -1, -1,
-1, -1, -1, 100, 101, 102, 103, 104, 105, 106,
107, 108, -1, 110, -1, 112, 113, 114, 115, 116,
-1, 118, 119, 120, -1, -1, 123, 124, 125, 126,
127, -1, 129, 130, 131, -1, 133, 134, 135, -1,
137, 138, 139, 140, 141, 142, 143, 144, 145, -1,
147, -1, 149, 150, 151, 152, -1, 154, -1, 156,
-1, -1, -1, 160, 161, 162, -1, 164, 165, -1,
167, 168, -1, 170, 171, 172, 173, 174, -1, 176,
177, 178, 179, -1, 181, 182, 183, 184, 185, 186,
-1, 188, -1, 190, 191, 192, 193, 194, 195, 196,
-1, 198, -1, 200, -1, -1, 203, -1, 205, 206,
207, 208, 209, -1, -1, 212, 213, -1, 215, -1,
-1, 218, 219, 220, -1, -1, 223, 224, 225, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
237, 238, -1, 240, 241, 242, 243, -1, 245, 246,
-1, 248, -1, 250, 251, 252, 253, 254, 255, -1,
257, -1, -1, 260, 261, 262, -1, -1, 265, 266,
-1, 268, -1, 270, 271, 272, 273, 274, 275, 276,
277, -1, 279, 280, 281, 282, 283, 284, 285, 286,
-1, 288, 289, 290, 291, 292, 293, 294, 295, 296,
297, 298, 299, 300, -1, 302, 303, 304, 305, 306,
307, 308, 309, 310, 311, 312, -1, 314, 315, -1,
317, 318, 319, 320, 321, 322, 323, 324, 325, 326,
327, 328, -1, 330, 331, 332, 333, 334, -1, 336,
337, 338, 339, 340, -1, 342, 343, 344, 345, -1,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, -1, 360, 361, -1, 363, -1, 365, 366,
367, 368, 369, -1, 371, 372, -1, -1, 375, 376,
377, 378, 379, -1, 381, 382, 383, 384, 385, 386,
387, -1, -1, 390, 391, 392, 393, 394, -1, -1,
397, 398, 399, 400, 401, 402, 403, -1, 405, -1,
407, 408, 409, 410, -1, -1, 413, -1, -1, 416,
417, 418, 419, 420, 421, 422, 423, 424, 425, 426,
427, 428, 429, 430, 431, 432, 433, 3, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 18, 19, 20, 21, 22, 23, 24, 25,
-1, 27, 28, 29, -1, -1, -1, -1, -1, -1,
-1, 37, 38, -1, 40, 41, -1, 43, 44, 45,
46, 47, -1, 49, 50, -1, 52, 53, 54, 55,
56, -1, -1, 59, 60, 61, 62, 63, -1, 65,
66, 67, 68, 69, -1, -1, -1, 73, 74, 75,
76, -1, 78, 79, 80, -1, 82, 83, 84, 85,
86, 87, -1, -1, 90, 91, 92, -1, -1, -1,
-1, -1, -1, -1, 100, 101, 102, 103, 104, 105,
106, 107, 108, -1, 110, -1, 112, 113, 114, 115,
116, -1, 118, 119, 120, -1, -1, 123, 124, 125,
126, 127, -1, 129, 130, 131, -1, 133, 134, 135,
-1, 137, 138, 139, 140, 141, 142, 143, 144, 145,
-1, 147, -1, 149, 150, 151, 152, -1, 154, -1,
156, -1, -1, -1, 160, 161, 162, -1, 164, 165,
-1, 167, 168, -1, 170, 171, 172, 173, 174, -1,
176, 177, 178, 179, -1, 181, 182, 183, 184, 185,
186, -1, 188, -1, 190, 191, 192, 193, 194, 195,
196, -1, 198, -1, 200, -1, -1, 203, -1, 205,
206, 207, 208, 209, -1, -1, 212, 213, -1, 215,
-1, -1, 218, 219, 220, -1, -1, 223, 224, 225,
226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
236, 237, 238, -1, 240, 241, 242, 243, -1, 245,
246, -1, 248, -1, 250, 251, 252, 253, 254, 255,
-1, 257, -1, -1, 260, 261, 262, -1, -1, 265,
266, -1, 268, -1, 270, 271, 272, 273, 274, 275,
276, 277, -1, 279, 280, 281, 282, 283, 284, 285,
286, -1, 288, 289, 290, 291, 292, 293, 294, 295,
296, 297, 298, 299, 300, -1, 302, 303, 304, 305,
306, 307, 308, 309, 310, 311, 312, -1, 314, 315,
-1, 317, 318, 319, 320, 321, 322, 323, 324, 325,
326, 327, 328, -1, 330, 331, 332, 333, 334, -1,
336, 337, 338, 339, 340, -1, 342, 343, 344, 345,
-1, 347, 348, 349, 350, 351, 352, 353, 354, 355,
356, 357, 358, -1, 360, 361, -1, 363, -1, 365,
366, 367, 368, 369, -1, 371, 372, -1, -1, 375,
376, 377, 378, 379, -1, 381, 382, 383, 384, 385,
386, 387, -1, -1, 390, 391, 392, 393, 394, -1,
-1, 397, 398, 399, 400, 401, 402, 403, -1, 405,
-1, 407, 408, 409, 410, -1, -1, 413, -1, -1,
416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
426, 427, 428, 429, 430, 431, 432, 433, 3, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 18, 19, 20, 21, 22, 23, 24,
25, -1, 27, 28, 29, -1, -1, -1, -1, -1,
-1, -1, 37, 38, -1, 40, 41, -1, 43, 44,
45, 46, 47, -1, 49, 50, -1, 52, 53, 54,
55, 56, -1, -1, 59, 60, 61, 62, 63, -1,
65, 66, 67, 68, 69, -1, -1, -1, 73, 74,
75, 76, -1, 78, 79, 80, -1, 82, 83, 84,
85, 86, 87, -1, -1, 90, 91, 92, -1, -1,
-1, -1, -1, -1, -1, 100, 101, 102, 103, 104,
105, 106, 107, 108, -1, 110, -1, 112, 113, 114,
115, 116, -1, 118, 119, 120, -1, -1, 123, 124,
125, 126, 127, -1, 129, 130, 131, -1, 133, 134,
135, -1, 137, 138, 139, 140, 141, 142, 143, 144,
145, -1, 147, -1, 149, 150, 151, 152, -1, 154,
-1, 156, -1, -1, -1, 160, 161, 162, -1, 164,
165, -1, 167, 168, -1, 170, 171, 172, 173, 174,
-1, 176, 177, 178, 179, -1, 181, 182, 183, 184,
185, 186, -1, 188, -1, 190, 191, 192, 193, 194,
195, 196, -1, 198, -1, 200, -1, -1, 203, -1,
205, 206, 207, 208, 209, -1, -1, 212, 213, -1,
215, -1, -1, 218, 219, 220, -1, -1, 223, 224,
225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, -1, 240, 241, 242, 243, -1,
245, 246, -1, 248, -1, 250, 251, 252, 253, 254,
255, -1, 257, -1, -1, 260, 261, 262, -1, -1,
265, 266, -1, 268, -1, 270, 271, 272, 273, 274,
275, 276, 277, -1, 279, 280, 281, 282, 283, 284,
285, 286, -1, 288, 289, 290, 291, 292, 293, 294,
295, 296, 297, 298, 299, 300, -1, 302, 303, 304,
305, 306, 307, 308, 309, 310, 311, 312, -1, 314,
315, -1, 317, 318, 319, 320, 321, 322, 323, 324,
325, 326, 327, 328, -1, 330, 331, 332, 333, 334,
-1, 336, 337, 338, 339, 340, -1, 342, 343, 344,
345, -1, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, -1, 360, 361, -1, 363, -1,
365, 366, 367, 368, 369, -1, 371, 372, -1, -1,
375, 376, 377, 378, 379, -1, 381, 382, 383, 384,
385, 386, 387, -1, -1, 390, 391, 392, 393, 394,
-1, -1, 397, 398, 399, 400, 401, 402, 403, -1,
405, -1, 407, 408, 409, 410, -1, -1, 413, -1,
-1, 416, 417, 418, 419, 420, 421, 422, 423, 424,
425, 426, 427, 428, 429, 430, 431, 432, 433, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
-1, -1, -1, 37, 38, -1, 40, 41, -1, 43,
44, 45, 46, 47, -1, 49, 50, -1, 52, 53,
54, 55, 56, -1, -1, 59, 60, 61, 62, 63,
-1, 65, 66, 67, 68, 69, -1, -1, -1, 73,
74, 75, 76, -1, 78, 79, 80, -1, 82, 83,
84, 85, 86, 87, -1, -1, 90, 91, 92, -1,
-1, -1, -1, -1, -1, -1, 100, 101, 102, 103,
104, 105, 106, 107, 108, -1, 110, -1, 112, 113,
114, 115, 116, -1, 118, 119, 120, -1, -1, 123,
124, 125, 126, 127, -1, 129, 130, 131, -1, 133,
134, 135, -1, 137, 138, 139, 140, 141, 142, 143,
144, 145, -1, 147, -1, 149, 150, 151, 152, -1,
154, -1, 156, -1, -1, -1, 160, 161, 162, -1,
164, 165, -1, 167, 168, -1, 170, 171, 172, 173,
174, -1, 176, 177, 178, 179, -1, 181, 182, 183,
184, 185, 186, -1, 188, -1, 190, 191, 192, 193,
194, 195, 196, -1, 198, -1, 200, -1, -1, 203,
-1, 205, 206, 207, 208, 209, -1, -1, 212, 213,
-1, 215, -1, -1, 218, 219, 220, -1, -1, 223,
224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
234, 235, 236, 237, 238, -1, 240, 241, 242, 243,
-1, 245, 246, -1, 248, -1, 250, 251, 252, 253,
254, 255, -1, 257, -1, -1, 260, 261, 262, -1,
-1, 265, 266, -1, 268, -1, 270, 271, 272, 273,
274, 275, 276, 277, -1, 279, 280, 281, 282, 283,
284, 285, 286, -1, 288, 289, 290, 291, 292, 293,
294, 295, 296, 297, 298, 299, 300, -1, 302, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, -1,
314, 315, -1, 317, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, -1, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, -1, 342, 343,
344, 345, -1, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, -1, 360, 361, -1, 363,
-1, 365, 366, 367, 368, 369, -1, 371, 372, -1,
-1, 375, 376, 377, 378, 379, -1, 381, 382, 383,
384, 385, 386, 387, -1, -1, 390, 391, 392, 393,
394, -1, -1, 397, 398, 399, 400, 401, 402, 403,
-1, 405, -1, 407, 408, 409, 410, -1, -1, 413,
-1, -1, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, 431, 432, 433,
3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 18, 19, 20, 21, 22,
23, 24, 25, -1, 27, 28, 29, -1, -1, -1,
-1, -1, -1, -1, 37, 38, -1, 40, 41, -1,
43, 44, 45, 46, 47, -1, 49, 50, -1, 52,
53, 54, 55, 56, -1, -1, 59, 60, 61, 62,
63, -1, 65, 66, 67, 68, 69, -1, -1, -1,
73, 74, 75, 76, -1, 78, 79, 80, -1, 82,
83, 84, 85, 86, 87, -1, -1, 90, 91, 92,
-1, -1, -1, -1, -1, -1, -1, 100, 101, 102,
103, 104, 105, 106, 107, 108, -1, 110, -1, 112,
113, 114, 115, 116, -1, 118, 119, 120, -1, -1,
123, 124, 125, 126, 127, -1, 129, 130, 131, -1,
133, 134, 135, -1, 137, 138, 139, 140, 141, 142,
143, 144, 145, -1, 147, -1, 149, 150, 151, 152,
-1, 154, -1, 156, -1, -1, -1, 160, 161, 162,
-1, 164, 165, -1, 167, 168, -1, 170, 171, 172,
173, 174, -1, 176, 177, 178, 179, -1, 181, 182,
183, 184, 185, 186, -1, 188, -1, 190, 191, 192,
193, 194, 195, 196, -1, 198, -1, 200, -1, -1,
203, -1, 205, 206, 207, 208, 209, -1, -1, 212,
213, -1, 215, -1, -1, 218, 219, 220, -1, -1,
223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, -1, 240, 241, 242,
243, -1, 245, 246, -1, 248, -1, 250, 251, 252,
253, 254, 255, -1, 257, -1, -1, 260, 261, 262,
-1, -1, 265, 266, -1, 268, -1, 270, 271, 272,
273, 274, 275, 276, 277, -1, 279, 280, 281, 282,
283, 284, 285, 286, -1, 288, 289, 290, 291, 292,
293, 294, 295, 296, 297, 298, 299, 300, -1, 302,
303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
-1, 314, 315, -1, 317, 318, 319, 320, 321, 322,
323, 324, 325, 326, 327, 328, -1, 330, 331, 332,
333, 334, -1, 336, 337, 338, 339, 340, -1, 342,
343, 344, 345, -1, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, -1, 360, 361, -1,
363, -1, 365, 366, 367, 368, 369, -1, 371, 372,
-1, -1, 375, 376, 377, 378, 379, -1, 381, 382,
383, 384, 385, 386, 387, -1, -1, 390, 391, 392,
393, 394, -1, -1, 397, 398, 399, 400, 401, 402,
403, -1, 405, -1, 407, 408, 409, 410, -1, -1,
413, -1, -1, 416, 417, 418, 419, 420, 421, 422,
423, 424, 425, 426, 427, 428, 429, 430, 431, 432,
433, 3, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 18, 19, 20, 21,
22, 23, 24, 25, -1, 27, 28, 29, -1, -1,
-1, -1, -1, -1, -1, 37, 38, -1, 40, 41,
-1, 43, 44, 45, 46, 47, -1, 49, 50, -1,
52, 53, 54, 55, 56, -1, -1, 59, 60, 61,
62, 63, -1, 65, 66, 67, 68, 69, -1, -1,
-1, 73, 74, 75, 76, -1, 78, 79, 80, -1,
82, 83, 84, 85, 86, 87, -1, -1, 90, 91,
92, -1, -1, -1, -1, -1, -1, -1, 100, 101,
102, 103, 104, 105, 106, 107, 108, -1, 110, -1,
112, 113, 114, 115, 116, -1, 118, 119, 120, -1,
-1, 123, 124, 125, 126, 127, -1, 129, 130, 131,
-1, 133, 134, 135, -1, 137, 138, 139, 140, 141,
142, 143, 144, 145, -1, 147, -1, 149, 150, 151,
152, -1, 154, -1, 156, -1, -1, -1, 160, 161,
162, -1, 164, 165, -1, 167, 168, -1, 170, 171,
172, 173, 174, -1, 176, 177, 178, 179, -1, 181,
182, 183, 184, 185, 186, -1, 188, -1, 190, 191,
192, 193, 194, 195, 196, -1, 198, -1, 200, -1,
-1, 203, -1, 205, 206, 207, 208, 209, -1, -1,
212, 213, -1, 215, -1, -1, 218, 219, 220, -1,
-1, 223, 224, 225, 226, 227, 228, 229, 230, 231,
232, 233, 234, 235, 236, 237, 238, -1, 240, 241,
242, 243, -1, 245, 246, -1, 248, -1, 250, 251,
252, 253, 254, 255, -1, 257, -1, -1, 260, 261,
262, -1, -1, 265, 266, -1, 268, -1, 270, 271,
272, 273, 274, 275, 276, 277, -1, 279, 280, 281,
282, 283, 284, 285, 286, -1, 288, 289, 290, 291,
292, 293, 294, 295, 296, 297, 298, 299, 300, -1,
302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
312, -1, 314, 315, -1, 317, 318, 319, 320, 321,
322, 323, 324, 325, 326, 327, 328, -1, 330, 331,
332, 333, 334, -1, 336, 337, 338, 339, 340, -1,
342, 343, 344, 345, -1, 347, 348, 349, 350, 351,
352, 353, 354, 355, 356, 357, 358, -1, 360, 361,
-1, 363, -1, 365, 366, 367, 368, 369, -1, 371,
372, -1, -1, 375, 376, 377, 378, 379, -1, 381,
382, 383, 384, 385, 386, 387, -1, -1, 390, 391,
392, 393, 394, -1, -1, 397, 398, 399, 400, 401,
402, 403, -1, 405, -1, 407, 408, 409, 410, -1,
-1, 413, -1, -1, 416, 417, 418, 419, 420, 421,
422, 423, 424, 425, 426, 427, 428, 429, 430, 431,
432, 433, 3, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 18, 19, 20,
21, 22, 23, 24, 25, -1, 27, 28, 29, -1,
-1, -1, -1, -1, -1, -1, 37, 38, -1, 40,
41, -1, 43, 44, 45, 46, 47, -1, 49, 50,
-1, 52, 53, 54, 55, 56, -1, -1, 59, 60,
61, 62, 63, -1, 65, 66, 67, 68, 69, -1,
-1, -1, 73, 74, 75, 76, -1, 78, 79, 80,
-1, 82, 83, 84, 85, 86, 87, -1, -1, 90,
91, 92, -1, -1, -1, -1, -1, -1, -1, 100,
101, 102, 103, 104, 105, 106, 107, 108, -1, 110,
-1, 112, 113, 114, 115, 116, -1, 118, 119, 120,
-1, -1, 123, 124, 125, 126, 127, -1, 129, 130,
131, -1, 133, 134, 135, -1, 137, 138, 139, 140,
141, 142, 143, 144, 145, -1, 147, -1, 149, 150,
151, 152, -1, 154, -1, 156, -1, -1, -1, 160,
161, 162, -1, 164, 165, -1, 167, 168, -1, 170,
171, 172, 173, 174, -1, 176, 177, 178, 179, -1,
181, 182, 183, 184, 185, 186, -1, 188, -1, 190,
191, 192, 193, 194, 195, 196, -1, 198, -1, 200,
-1, -1, 203, -1, 205, 206, 207, 208, 209, -1,
-1, 212, 213, -1, 215, -1, -1, 218, 219, 220,
-1, -1, 223, 224, 225, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, -1, 240,
241, 242, 243, -1, 245, 246, -1, 248, -1, 250,
251, 252, 253, 254, 255, -1, 257, -1, -1, 260,
261, 262, -1, -1, 265, 266, -1, 268, -1, 270,
271, 272, 273, 274, 275, 276, 277, -1, 279, 280,
281, 282, 283, 284, 285, 286, -1, 288, 289, 290,
291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
-1, 302, 303, 304, 305, 306, 307, 308, 309, 310,
311, 312, -1, 314, 315, -1, 317, 318, 319, 320,
321, 322, 323, 324, 325, 326, 327, 328, -1, 330,
331, 332, 333, 334, -1, 336, 337, 338, 339, 340,
-1, 342, 343, 344, 345, -1, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, -1, 360,
361, -1, 363, -1, 365, 366, 367, 368, 369, -1,
371, 372, -1, -1, 375, 376, 377, 378, 379, -1,
381, 382, 383, 384, 385, 386, 387, -1, -1, 390,
391, 392, 393, 394, -1, -1, 397, 398, 399, 400,
401, 402, 403, -1, 405, -1, 407, 408, 409, 410,
-1, -1, 413, -1, -1, 416, 417, 418, 419, 420,
421, 422, 423, 424, 425, 426, 427, 428, 429, 430,
431, 432, 433, 3, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 18, 19,
20, 21, 22, 23, 24, 25, -1, 27, 28, 29,
-1, -1, -1, -1, -1, -1, -1, 37, 38, -1,
40, 41, -1, 43, 44, 45, 46, 47, -1, 49,
50, -1, 52, 53, 54, 55, 56, -1, -1, 59,
60, 61, 62, 63, -1, 65, 66, 67, 68, 69,
-1, -1, -1, 73, 74, 75, 76, -1, 78, 79,
80, -1, 82, 83, 84, 85, 86, 87, -1, -1,
90, 91, 92, -1, -1, -1, -1, -1, -1, -1,
100, 101, 102, 103, 104, 105, 106, 107, 108, -1,
110, -1, 112, 113, 114, 115, 116, -1, 118, 119,
120, -1, -1, 123, 124, 125, 126, 127, -1, 129,
130, 131, -1, 133, 134, 135, -1, 137, 138, 139,
140, 141, 142, 143, 144, 145, -1, 147, -1, 149,
150, 151, 152, -1, 154, -1, 156, -1, -1, -1,
160, 161, 162, -1, 164, 165, -1, 167, 168, -1,
170, 171, 172, 173, 174, -1, 176, 177, 178, 179,
-1, 181, 182, 183, 184, 185, 186, -1, 188, -1,
190, 191, 192, 193, 194, 195, 196, -1, 198, -1,
200, -1, -1, 203, -1, 205, 206, 207, 208, 209,
-1, -1, 212, 213, -1, 215, -1, -1, 218, 219,
220, -1, -1, 223, 224, 225, 226, 227, 228, 229,
230, 231, 232, 233, 234, 235, 236, 237, 238, -1,
240, 241, 242, 243, -1, 245, 246, -1, 248, -1,
250, 251, 252, 253, 254, 255, -1, 257, -1, -1,
260, 261, 262, -1, -1, 265, 266, -1, 268, -1,
270, 271, 272, 273, 274, 275, 276, 277, -1, 279,
280, 281, 282, 283, 284, 285, 286, -1, 288, 289,
290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
300, -1, 302, 303, 304, 305, 306, 307, 308, 309,
310, 311, 312, -1, 314, 315, -1, 317, 318, 319,
320, 321, 322, 323, 324, 325, 326, 327, 328, -1,
330, 331, 332, 333, 334, -1, 336, 337, 338, 339,
340, -1, 342, 343, 344, 345, -1, 347, 348, 349,
350, 351, 352, 353, 354, 355, 356, 357, 358, -1,
360, 361, -1, 363, -1, 365, 366, 367, 368, 369,
-1, 371, 372, -1, -1, 375, 376, 377, 378, 379,
-1, 381, 382, 383, 384, 385, 386, 387, -1, -1,
390, 391, 392, 393, 394, -1, -1, 397, 398, 399,
400, 401, 402, 403, -1, 405, -1, 407, 408, 409,
410, -1, -1, 413, -1, -1, 416, 417, 418, 419,
420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
430, 431, 432, 433, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 18,
19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
-1, 40, 41, -1, 43, 44, 45, 46, 47, -1,
49, 50, -1, 52, 53, 54, 55, 56, -1, -1,
59, 60, 61, 62, 63, -1, 65, 66, 67, 68,
69, -1, -1, -1, 73, 74, 75, 76, -1, 78,
79, 80, -1, 82, 83, 84, 85, 86, 87, -1,
-1, 90, 91, 92, -1, -1, -1, -1, -1, -1,
-1, 100, 101, 102, 103, 104, 105, 106, 107, 108,
-1, 110, -1, 112, 113, 114, 115, 116, -1, 118,
119, 120, -1, -1, 123, 124, 125, 126, 127, -1,
129, 130, 131, -1, 133, 134, 135, -1, 137, 138,
139, 140, 141, 142, 143, 144, 145, -1, 147, -1,
149, 150, 151, 152, -1, 154, -1, 156, -1, -1,
-1, 160, 161, 162, -1, 164, 165, -1, 167, 168,
-1, 170, 171, 172, 173, 174, -1, 176, 177, 178,
179, -1, 181, 182, 183, 184, 185, 186, -1, 188,
-1, 190, 191, 192, 193, 194, 195, 196, -1, 198,
-1, 200, -1, -1, 203, -1, 205, 206, 207, 208,
209, -1, -1, 212, 213, -1, 215, -1, -1, 218,
219, 220, -1, -1, 223, 224, 225, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
-1, 240, 241, 242, 243, -1, 245, 246, -1, 248,
-1, 250, 251, 252, 253, 254, 255, -1, 257, -1,
-1, 260, 261, 262, -1, -1, 265, 266, -1, 268,
-1, 270, 271, 272, 273, 274, 275, 276, 277, -1,
279, 280, 281, 282, 283, 284, 285, 286, -1, 288,
289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, -1, 314, 315, -1, 317, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
-1, 330, 331, 332, 333, 334, -1, 336, 337, 338,
339, 340, -1, 342, 343, 344, 345, -1, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
-1, 360, 361, -1, 363, -1, 365, 366, 367, 368,
369, -1, 371, 372, -1, -1, 375, 376, 377, 378,
379, -1, 381, 382, 383, 384, 385, 386, 387, -1,
-1, 390, 391, 392, 393, 394, -1, -1, 397, 398,
399, 400, 401, 402, 403, -1, 405, -1, 407, 408,
409, 410, -1, -1, 413, -1, -1, 416, 417, 418,
419, 420, 421, 422, 423, 424, 425, 426, 427, 428,
429, 430, 431, 432, 433, 3, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
18, 19, 20, 21, 22, 23, 24, 25, -1, 27,
28, 29, -1, -1, -1, -1, -1, -1, -1, 37,
38, -1, 40, 41, -1, 43, 44, 45, 46, 47,
-1, 49, 50, -1, 52, 53, 54, 55, 56, -1,
-1, 59, 60, 61, 62, 63, -1, 65, 66, 67,
68, 69, -1, -1, -1, 73, 74, 75, 76, -1,
78, 79, 80, -1, 82, 83, 84, 85, 86, 87,
-1, -1, 90, 91, 92, -1, -1, -1, -1, -1,
-1, -1, 100, 101, 102, 103, 104, 105, 106, 107,
108, -1, 110, -1, 112, 113, 114, 115, 116, -1,
118, 119, 120, -1, -1, 123, 124, 125, 126, 127,
-1, 129, 130, 131, -1, 133, 134, 135, -1, 137,
138, 139, 140, 141, 142, 143, 144, 145, -1, 147,
-1, 149, 150, 151, 152, -1, 154, -1, 156, -1,
-1, -1, 160, 161, 162, -1, 164, 165, -1, 167,
168, -1, 170, 171, 172, 173, 174, -1, 176, 177,
178, 179, -1, 181, 182, 183, 184, 185, 186, -1,
188, -1, 190, 191, 192, 193, 194, 195, 196, -1,
198, -1, 200, -1, -1, 203, -1, 205, 206, 207,
208, 209, -1, -1, 212, 213, -1, 215, -1, -1,
218, 219, 220, -1, -1, 223, 224, 225, 226, 227,
228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
238, -1, 240, 241, 242, 243, -1, 245, 246, -1,
248, -1, 250, 251, 252, 253, 254, 255, -1, 257,
-1, -1, 260, 261, 262, -1, -1, 265, 266, -1,
268, -1, 270, 271, 272, 273, 274, 275, 276, 277,
-1, 279, 280, 281, 282, 283, 284, 285, 286, -1,
288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
298, 299, 300, -1, 302, 303, 304, 305, 306, 307,
308, 309, 310, 311, 312, -1, 314, 315, -1, 317,
318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
328, -1, 330, 331, 332, 333, 334, -1, 336, 337,
338, 339, 340, -1, 342, 343, 344, 345, -1, 347,
348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
358, -1, 360, 361, -1, 363, -1, 365, 366, 367,
368, 369, -1, 371, 372, -1, -1, 375, 376, 377,
378, 379, -1, 381, 382, 383, 384, 385, 386, 387,
-1, -1, 390, 391, 392, 393, 394, -1, -1, 397,
398, 399, 400, 401, 402, 403, -1, 405, -1, 407,
408, 409, 410, -1, -1, 413, -1, -1, 416, 417,
418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
428, 429, 430, 431, 432, 433, 3, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 18, 19, 20, 21, 22, 23, 24, 25, -1,
27, 28, 29, -1, -1, -1, -1, -1, -1, -1,
37, 38, -1, 40, 41, -1, 43, 44, 45, 46,
47, -1, 49, 50, -1, 52, 53, 54, 55, 56,
-1, -1, 59, 60, 61, 62, 63, -1, 65, 66,
67, 68, 69, -1, -1, -1, 73, 74, 75, 76,
-1, 78, 79, 80, -1, 82, 83, 84, 85, 86,
87, -1, -1, 90, 91, 92, -1, -1, -1, -1,
-1, -1, -1, 100, 101, 102, 103, 104, 105, 106,
107, 108, -1, 110, -1, 112, 113, 114, 115, 116,
-1, 118, 119, 120, -1, -1, 123, 124, 125, 126,
127, -1, 129, 130, 131, -1, 133, 134, 135, -1,
137, 138, 139, 140, 141, 142, 143, 144, 145, -1,
147, -1, 149, 150, 151, 152, -1, 154, -1, 156,
-1, -1, -1, 160, 161, 162, -1, 164, 165, -1,
167, 168, -1, 170, 171, 172, 173, 174, -1, 176,
177, 178, 179, -1, 181, 182, 183, 184, 185, 186,
-1, 188, -1, 190, 191, 192, 193, 194, 195, 196,
-1, 198, -1, 200, -1, -1, 203, -1, 205, 206,
207, 208, 209, -1, -1, 212, 213, -1, 215, -1,
-1, 218, 219, 220, -1, -1, 223, 224, 225, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
237, 238, -1, 240, 241, 242, 243, -1, 245, 246,
-1, 248, -1, 250, 251, 252, 253, 254, 255, -1,
257, -1, -1, 260, 261, 262, -1, -1, 265, 266,
-1, 268, -1, 270, 271, 272, 273, 274, 275, 276,
277, -1, 279, 280, 281, 282, 283, 284, 285, 286,
-1, 288, 289, 290, 291, 292, 293, 294, 295, 296,
297, 298, 299, 300, -1, 302, 303, 304, 305, 306,
307, 308, 309, 310, 311, 312, -1, 314, 315, -1,
317, 318, 319, 320, 321, 322, 323, 324, 325, 326,
327, 328, -1, 330, 331, 332, 333, 334, -1, 336,
337, 338, 339, 340, -1, 342, 343, 344, 345, -1,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, -1, 360, 361, -1, 363, -1, 365, 366,
367, 368, 369, -1, 371, 372, -1, -1, 375, 376,
377, 378, 379, -1, 381, 382, 383, 384, 385, 386,
387, -1, -1, 390, 391, 392, 393, 394, -1, -1,
397, 398, 399, 400, 401, 402, 403, -1, 405, -1,
407, 408, 409, 410, -1, -1, 413, -1, -1, 416,
417, 418, 419, 420, 421, 422, 423, 424, 425, 426,
427, 428, 429, 430, 431, 432, 433, 3, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 18, 19, 20, 21, 22, 23, 24, 25,
-1, 27, 28, 29, -1, -1, -1, -1, -1, -1,
-1, 37, 38, -1, 40, 41, -1, 43, 44, 45,
46, 47, -1, 49, 50, -1, 52, 53, 54, 55,
56, -1, -1, 59, 60, 61, 62, 63, -1, 65,
66, 67, 68, 69, -1, -1, -1, 73, 74, 75,
76, -1, 78, 79, 80, -1, 82, 83, 84, 85,
86, 87, -1, -1, 90, 91, 92, -1, -1, -1,
-1, -1, -1, -1, 100, 101, 102, 103, 104, 105,
106, 107, 108, -1, 110, -1, 112, 113, 114, 115,
116, -1, 118, 119, 120, -1, -1, 123, 124, 125,
126, 127, -1, 129, 130, 131, -1, 133, 134, 135,
-1, 137, 138, 139, 140, 141, 142, 143, 144, 145,
-1, 147, -1, 149, 150, 151, 152, -1, 154, -1,
156, -1, -1, -1, 160, 161, 162, -1, 164, 165,
-1, 167, 168, -1, 170, 171, 172, 173, 174, -1,
176, 177, 178, 179, -1, 181, 182, 183, 184, 185,
186, -1, 188, -1, 190, 191, 192, 193, 194, 195,
196, -1, 198, -1, 200, -1, -1, 203, -1, 205,
206, 207, 208, 209, -1, -1, 212, 213, -1, 215,
-1, -1, 218, 219, 220, -1, -1, 223, 224, 225,
226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
236, 237, 238, -1, 240, 241, 242, 243, -1, 245,
246, -1, 248, -1, 250, 251, 252, 253, 254, 255,
-1, 257, -1, -1, 260, 261, 262, -1, -1, 265,
266, -1, 268, -1, 270, 271, 272, 273, 274, 275,
276, 277, -1, 279, 280, 281, 282, 283, 284, 285,
286, -1, 288, 289, 290, 291, 292, 293, 294, 295,
296, 297, 298, 299, 300, -1, 302, 303, 304, 305,
306, 307, 308, 309, 310, 311, 312, -1, 314, 315,
-1, 317, 318, 319, 320, 321, 322, 323, 324, 325,
326, 327, 328, -1, 330, 331, 332, 333, 334, -1,
336, 337, 338, 339, 340, -1, 342, 343, 344, 345,
-1, 347, 348, 349, 350, 351, 352, 353, 354, 355,
356, 357, 358, -1, 360, 361, -1, 363, -1, 365,
366, 367, 368, 369, -1, 371, 372, -1, -1, 375,
376, 377, 378, 379, -1, 381, 382, 383, 384, 385,
386, 387, -1, -1, 390, 391, 392, 393, 394, -1,
-1, 397, 398, 399, 400, 401, 402, 403, -1, 405,
-1, 407, 408, 409, 410, -1, -1, 413, -1, -1,
416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
426, 427, 428, 429, 430, 431, 432, 433, 3, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 18, 19, 20, 21, 22, 23, 24,
25, -1, 27, 28, 29, -1, -1, -1, -1, -1,
-1, -1, 37, 38, -1, 40, 41, -1, 43, 44,
45, 46, 47, -1, 49, 50, -1, 52, 53, 54,
55, 56, -1, -1, 59, 60, 61, 62, 63, -1,
65, 66, 67, 68, 69, -1, -1, -1, 73, 74,
75, 76, -1, 78, 79, 80, -1, 82, 83, 84,
85, 86, 87, -1, -1, 90, 91, 92, -1, -1,
-1, -1, -1, -1, -1, 100, 101, 102, 103, 104,
105, 106, 107, 108, -1, 110, -1, 112, 113, 114,
115, 116, -1, 118, 119, 120, -1, -1, 123, 124,
125, 126, 127, -1, 129, 130, 131, -1, 133, 134,
135, -1, 137, 138, 139, 140, 141, 142, 143, 144,
145, -1, 147, -1, 149, 150, 151, 152, -1, 154,
-1, 156, -1, -1, -1, 160, 161, 162, -1, 164,
165, -1, 167, 168, -1, 170, 171, 172, 173, 174,
-1, 176, 177, 178, 179, -1, 181, 182, 183, 184,
185, 186, -1, 188, -1, 190, 191, 192, 193, 194,
195, 196, -1, 198, -1, 200, -1, -1, 203, -1,
205, 206, 207, 208, 209, -1, -1, 212, 213, -1,
215, -1, -1, 218, 219, 220, -1, -1, 223, 224,
225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, -1, 240, 241, 242, 243, -1,
245, 246, -1, 248, -1, 250, 251, 252, 253, 254,
255, -1, 257, -1, -1, 260, 261, 262, -1, -1,
265, 266, -1, 268, -1, 270, 271, 272, 273, 274,
275, 276, 277, -1, 279, 280, 281, 282, 283, 284,
285, 286, -1, 288, 289, 290, 291, 292, 293, 294,
295, 296, 297, 298, 299, 300, -1, 302, 303, 304,
305, 306, 307, 308, 309, 310, 311, 312, -1, 314,
315, -1, 317, 318, 319, 320, 321, 322, 323, 324,
325, 326, 327, 328, -1, 330, 331, 332, 333, 334,
-1, 336, 337, 338, 339, 340, -1, 342, 343, 344,
345, -1, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, -1, 360, 361, -1, 363, -1,
365, 366, 367, 368, 369, -1, 371, 372, -1, -1,
375, 376, 377, 378, 379, -1, 381, 382, 383, 384,
385, 386, 387, -1, -1, 390, 391, 392, 393, 394,
-1, -1, 397, 398, 399, 400, 401, 402, 403, -1,
405, -1, 407, 408, 409, 410, -1, -1, 413, -1,
-1, 416, 417, 418, 419, 420, 421, 422, 423, 424,
425, 426, 427, 428, 429, 430, 431, 432, 433, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
-1, -1, -1, 37, 38, -1, 40, 41, -1, 43,
44, 45, 46, 47, -1, 49, 50, -1, 52, 53,
54, 55, 56, -1, -1, 59, 60, 61, 62, 63,
-1, 65, 66, 67, 68, 69, -1, -1, -1, 73,
74, 75, 76, -1, 78, 79, 80, -1, 82, 83,
84, 85, 86, 87, -1, -1, 90, 91, 92, -1,
-1, -1, -1, -1, -1, -1, 100, 101, 102, 103,
104, 105, 106, 107, 108, -1, 110, -1, 112, 113,
114, 115, 116, -1, 118, 119, 120, -1, -1, 123,
124, 125, 126, 127, -1, 129, 130, 131, -1, 133,
134, 135, -1, 137, 138, 139, 140, 141, 142, 143,
144, 145, -1, 147, -1, 149, 150, 151, 152, -1,
154, -1, 156, -1, -1, -1, 160, 161, 162, -1,
164, 165, -1, 167, 168, -1, 170, 171, 172, 173,
174, -1, 176, 177, 178, 179, -1, 181, 182, 183,
184, 185, 186, -1, 188, -1, 190, 191, 192, 193,
194, 195, 196, -1, 198, -1, 200, -1, -1, 203,
-1, 205, 206, 207, 208, 209, -1, -1, 212, 213,
-1, 215, -1, -1, 218, 219, 220, -1, -1, 223,
224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
234, 235, 236, 237, 238, -1, 240, 241, 242, 243,
-1, 245, 246, -1, 248, -1, 250, 251, 252, 253,
254, 255, -1, 257, -1, -1, 260, 261, 262, -1,
-1, 265, 266, -1, 268, -1, 270, 271, 272, 273,
274, 275, 276, 277, -1, 279, 280, 281, 282, 283,
284, 285, 286, -1, 288, 289, 290, 291, 292, 293,
294, 295, 296, 297, 298, 299, 300, -1, 302, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, -1,
314, 315, -1, 317, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, -1, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, -1, 342, 343,
344, 345, -1, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, -1, 360, 361, -1, 363,
-1, 365, 366, 367, 368, 369, -1, 371, 372, -1,
-1, 375, 376, 377, 378, 379, -1, 381, 382, 383,
384, 385, 386, 387, -1, -1, 390, 391, 392, 393,
394, -1, -1, 397, 398, 399, 400, 401, 402, 403,
-1, 405, -1, 407, 408, 409, 410, -1, -1, 413,
-1, -1, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, 431, 432, 433,
3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 18, 19, 20, 21, 22,
23, 24, 25, -1, 27, 28, 29, -1, -1, -1,
-1, -1, 35, -1, 37, 38, -1, 40, 41, -1,
43, 44, 45, 46, 47, -1, 49, 50, -1, 52,
53, 54, 55, 56, -1, -1, 59, 60, 61, 62,
63, -1, 65, 66, 67, 68, 69, -1, -1, -1,
73, 74, 75, 76, -1, 78, 79, 80, -1, 82,
83, 84, 85, 86, 87, -1, -1, 90, 91, 92,
-1, -1, -1, -1, -1, -1, -1, 100, 101, 102,
103, 104, 105, 106, 107, 108, -1, 110, -1, 112,
113, 114, 115, 116, -1, 118, 119, 120, -1, -1,
123, 124, 125, 126, 127, -1, 129, 130, 131, -1,
133, 134, 135, -1, 137, 138, 139, 140, 141, 142,
143, 144, 145, -1, 147, -1, 149, 150, 151, 152,
-1, 154, -1, 156, -1, -1, -1, 160, 161, 162,
-1, 164, 165, -1, 167, 168, -1, 170, 171, 172,
173, 174, -1, 176, 177, 178, 179, -1, 181, 182,
183, 184, 185, 186, -1, 188, -1, 190, 191, 192,
193, 194, 195, 196, -1, 198, -1, 200, -1, -1,
203, -1, 205, 206, 207, 208, 209, -1, -1, 212,
213, -1, 215, -1, -1, 218, 219, 220, -1, -1,
223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, -1, 240, 241, 242,
243, -1, 245, 246, -1, 248, -1, 250, 251, 252,
253, 254, 255, -1, 257, -1, -1, 260, 261, 262,
-1, -1, 265, 266, -1, 268, -1, 270, 271, 272,
273, 274, 275, 276, 277, -1, 279, 280, 281, 282,
283, 284, 285, 286, -1, 288, 289, 290, 291, 292,
293, 294, 295, 296, 297, 298, 299, 300, -1, 302,
303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
-1, 314, 315, -1, 317, 318, 319, 320, 321, 322,
323, 324, 325, 326, 327, 328, -1, 330, 331, 332,
333, 334, -1, -1, 337, 338, 339, 340, -1, 342,
343, 344, 345, -1, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, -1, 360, 361, -1,
363, -1, 365, 366, 367, 368, 369, -1, 371, 372,
-1, -1, 375, 376, 377, 378, 379, -1, 381, 382,
383, 384, 385, 386, 387, -1, -1, 390, 391, 392,
393, 394, -1, -1, 397, 398, 399, 400, 401, 402,
403, -1, 405, -1, 407, 408, 409, 410, -1, -1,
413, -1, -1, 416, 417, 418, 419, 420, 421, 422,
423, 424, 425, 426, 427, 428, 429, 430, 431, 432,
433, 3, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 18, 19, 20, 21,
22, 23, 24, 25, -1, 27, 28, 29, -1, -1,
-1, -1, -1, -1, -1, 37, 38, -1, 40, 41,
-1, 43, 44, 45, 46, 47, -1, 49, 50, -1,
52, 53, 54, 55, 56, -1, -1, 59, 60, 61,
62, 63, -1, 65, 66, 67, 68, 69, -1, -1,
-1, 73, 74, 75, 76, -1, 78, 79, 80, -1,
82, 83, 84, 85, 86, 87, -1, -1, 90, 91,
92, -1, -1, -1, -1, -1, -1, -1, 100, 101,
102, 103, 104, 105, 106, 107, 108, -1, 110, -1,
112, 113, 114, 115, 116, -1, 118, 119, 120, -1,
-1, 123, 124, 125, 126, 127, -1, 129, 130, 131,
-1, 133, 134, 135, -1, 137, 138, 139, 140, 141,
142, 143, 144, 145, -1, 147, -1, 149, 150, 151,
152, -1, 154, -1, 156, -1, -1, -1, 160, 161,
162, -1, 164, 165, -1, 167, 168, -1, 170, 171,
172, 173, 174, -1, 176, 177, 178, 179, -1, 181,
182, 183, 184, 185, 186, -1, 188, -1, 190, 191,
192, 193, 194, 195, 196, -1, 198, -1, 200, -1,
-1, 203, -1, 205, 206, 207, 208, 209, -1, -1,
212, 213, -1, 215, -1, -1, 218, 219, 220, -1,
-1, 223, 224, 225, 226, 227, 228, 229, 230, 231,
232, 233, 234, 235, 236, 237, 238, -1, 240, 241,
242, 243, -1, 245, 246, -1, 248, -1, 250, 251,
252, 253, 254, 255, -1, 257, -1, -1, 260, 261,
262, -1, -1, 265, 266, -1, 268, -1, 270, 271,
272, 273, 274, 275, 276, 277, -1, 279, 280, 281,
282, 283, 284, 285, 286, -1, 288, 289, 290, 291,
292, 293, 294, 295, 296, 297, 298, 299, 300, -1,
302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
312, -1, 314, 315, -1, 317, 318, 319, 320, 321,
322, 323, 324, 325, 326, 327, 328, -1, 330, 331,
332, 333, 334, -1, 336, 337, 338, 339, 340, -1,
342, 343, 344, 345, -1, 347, 348, 349, 350, 351,
352, 353, 354, 355, 356, 357, 358, -1, 360, 361,
-1, 363, -1, 365, 366, 367, 368, 369, -1, 371,
372, -1, -1, 375, 376, 377, 378, 379, -1, 381,
382, 383, 384, 385, 386, 387, -1, -1, 390, 391,
392, 393, 394, -1, -1, 397, 398, 399, 400, 401,
402, 403, -1, 405, -1, 407, 408, 409, 410, -1,
-1, 413, -1, -1, 416, 417, 418, 419, 420, 421,
422, 423, 424, 425, 426, 427, 428, 429, 430, 431,
432, 433, 3, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 18, 19, 20,
21, 22, 23, 24, 25, -1, 27, 28, 29, -1,
-1, -1, -1, -1, -1, -1, 37, 38, -1, 40,
41, -1, 43, 44, 45, 46, 47, -1, 49, 50,
-1, 52, 53, 54, 55, 56, -1, -1, 59, 60,
61, 62, 63, -1, 65, 66, 67, 68, 69, -1,
-1, -1, 73, 74, 75, 76, -1, 78, 79, 80,
-1, 82, 83, 84, 85, 86, 87, -1, -1, 90,
91, 92, -1, -1, -1, -1, -1, -1, -1, 100,
101, 102, 103, 104, 105, 106, 107, 108, -1, 110,
-1, 112, 113, 114, 115, 116, -1, 118, 119, 120,
-1, -1, 123, 124, 125, 126, 127, -1, 129, 130,
131, -1, 133, 134, 135, -1, 137, 138, 139, 140,
141, 142, 143, 144, 145, -1, 147, -1, 149, 150,
151, 152, -1, 154, -1, 156, -1, -1, -1, 160,
161, 162, -1, 164, 165, -1, 167, 168, -1, 170,
171, 172, 173, 174, -1, 176, 177, 178, 179, -1,
181, 182, 183, 184, 185, 186, -1, 188, -1, 190,
191, 192, 193, 194, 195, 196, -1, 198, -1, 200,
-1, -1, 203, -1, 205, 206, 207, 208, 209, -1,
-1, 212, 213, -1, 215, -1, -1, 218, 219, 220,
-1, -1, 223, 224, 225, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, -1, 240,
241, 242, 243, -1, 245, 246, -1, 248, -1, 250,
251, 252, 253, 254, 255, -1, 257, -1, -1, 260,
261, 262, -1, -1, 265, 266, -1, 268, -1, 270,
271, 272, 273, 274, 275, 276, 277, -1, 279, 280,
281, 282, 283, 284, 285, 286, -1, 288, 289, 290,
291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
-1, 302, 303, 304, 305, 306, 307, 308, 309, 310,
311, 312, -1, 314, 315, -1, 317, 318, 319, 320,
321, 322, 323, 324, 325, 326, 327, 328, -1, 330,
331, 332, 333, 334, -1, 336, 337, 338, 339, 340,
-1, 342, 343, 344, 345, -1, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, -1, 360,
361, -1, 363, -1, 365, 366, 367, 368, 369, -1,
371, 372, -1, -1, 375, 376, 377, 378, 379, -1,
381, 382, 383, 384, 385, 386, 387, -1, -1, 390,
391, 392, 393, 394, -1, -1, 397, 398, 399, 400,
401, 402, 403, -1, 405, -1, 407, 408, 409, 410,
-1, -1, 413, -1, -1, 416, 417, 418, 419, 420,
421, 422, 423, 424, 425, 426, 427, 428, 429, 430,
431, 432, 433, 3, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 18, 19,
20, 21, 22, 23, 24, 25, -1, 27, 28, 29,
-1, -1, -1, -1, -1, -1, -1, 37, 38, -1,
40, 41, -1, 43, 44, 45, 46, 47, -1, 49,
50, -1, 52, 53, 54, 55, 56, -1, -1, 59,
60, 61, 62, 63, -1, 65, 66, 67, 68, 69,
-1, -1, -1, 73, 74, 75, 76, -1, 78, 79,
80, -1, 82, 83, 84, 85, 86, 87, -1, -1,
90, 91, 92, -1, -1, -1, -1, -1, -1, -1,
100, 101, 102, 103, 104, 105, 106, 107, 108, -1,
110, -1, 112, 113, 114, 115, 116, -1, 118, 119,
120, -1, -1, 123, 124, 125, 126, 127, -1, 129,
130, 131, -1, 133, 134, 135, -1, 137, 138, 139,
140, 141, 142, 143, 144, 145, -1, 147, -1, 149,
150, 151, 152, -1, 154, -1, 156, -1, -1, -1,
160, 161, 162, -1, 164, 165, -1, 167, 168, -1,
170, 171, 172, 173, 174, -1, 176, 177, 178, 179,
-1, 181, 182, 183, 184, 185, 186, -1, 188, -1,
190, 191, 192, 193, 194, 195, 196, -1, 198, -1,
200, -1, -1, 203, -1, 205, 206, 207, 208, 209,
-1, -1, 212, 213, -1, 215, -1, -1, 218, 219,
220, -1, -1, 223, 224, 225, 226, 227, 228, 229,
230, 231, 232, 233, 234, 235, 236, 237, 238, -1,
240, 241, 242, 243, -1, 245, 246, -1, 248, -1,
250, 251, 252, 253, 254, 255, -1, 257, -1, -1,
260, 261, 262, -1, -1, 265, 266, -1, 268, -1,
270, 271, 272, 273, 274, 275, 276, 277, -1, 279,
280, 281, 282, 283, 284, 285, 286, -1, 288, 289,
290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
300, -1, 302, 303, 304, 305, 306, 307, 308, 309,
310, 311, 312, -1, 314, 315, -1, 317, 318, 319,
320, 321, 322, 323, 324, 325, 326, 327, 328, -1,
330, 331, 332, 333, 334, -1, 336, 337, 338, 339,
340, -1, 342, 343, 344, 345, -1, 347, 348, 349,
350, 351, 352, 353, 354, 355, 356, 357, 358, -1,
360, 361, -1, 363, -1, 365, 366, 367, 368, 369,
-1, 371, 372, -1, -1, 375, 376, 377, 378, 379,
-1, 381, 382, 383, 384, 385, 386, 387, -1, -1,
390, 391, 392, 393, 394, -1, -1, 397, 398, 399,
400, 401, 402, 403, -1, 405, -1, 407, 408, 409,
410, -1, -1, 413, -1, -1, 416, 417, 418, 419,
420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
430, 431, 432, 433, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 18,
19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
-1, 40, 41, -1, 43, 44, 45, 46, 47, -1,
49, 50, -1, 52, 53, 54, 55, 56, -1, -1,
59, 60, 61, 62, 63, -1, 65, 66, 67, 68,
69, -1, -1, -1, 73, 74, 75, 76, -1, 78,
79, 80, -1, 82, 83, 84, 85, 86, 87, -1,
-1, 90, 91, 92, -1, -1, -1, -1, -1, -1,
-1, 100, 101, 102, 103, 104, 105, 106, 107, 108,
-1, 110, -1, 112, 113, 114, 115, 116, -1, 118,
119, 120, -1, -1, 123, 124, 125, 126, 127, -1,
129, 130, 131, -1, 133, 134, 135, -1, 137, 138,
139, 140, 141, 142, 143, 144, 145, -1, 147, -1,
149, 150, 151, 152, -1, 154, -1, 156, -1, -1,
-1, 160, 161, 162, -1, 164, 165, -1, 167, 168,
-1, 170, 171, 172, 173, 174, -1, 176, 177, 178,
179, -1, 181, 182, 183, 184, 185, 186, -1, 188,
-1, 190, 191, 192, 193, 194, 195, 196, -1, 198,
-1, 200, -1, -1, 203, -1, 205, 206, 207, 208,
209, -1, -1, 212, 213, -1, 215, -1, -1, 218,
219, 220, -1, -1, 223, 224, 225, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
-1, 240, 241, 242, 243, -1, 245, 246, -1, 248,
-1, 250, 251, 252, 253, 254, 255, -1, 257, -1,
-1, 260, 261, 262, -1, -1, 265, 266, -1, 268,
-1, 270, 271, 272, 273, 274, 275, 276, 277, -1,
279, 280, 281, 282, 283, 284, 285, 286, -1, 288,
289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, -1, 314, 315, -1, 317, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
-1, 330, 331, 332, 333, 334, -1, 336, 337, 338,
339, 340, -1, 342, 343, 344, 345, -1, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
-1, 360, 361, -1, 363, -1, 365, 366, 367, 368,
369, -1, 371, 372, -1, -1, 375, 376, 377, 378,
379, -1, 381, 382, 383, 384, 385, 386, 387, -1,
-1, 390, 391, 392, 393, 394, -1, -1, 397, 398,
399, 400, 401, 402, 403, -1, 405, -1, 407, 408,
409, 410, -1, -1, 413, -1, -1, 416, 417, 418,
419, 420, 421, 422, 423, 424, 425, 426, 427, 428,
429, 430, 431, 432, 433, 3, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
18, 19, 20, 21, 22, 23, 24, 25, -1, 27,
28, 29, -1, -1, -1, -1, -1, -1, -1, 37,
38, -1, 40, 41, -1, 43, 44, 45, 46, 47,
-1, 49, 50, -1, 52, 53, 54, 55, 56, -1,
-1, 59, 60, 61, 62, 63, -1, 65, 66, 67,
68, 69, -1, -1, -1, 73, 74, 75, 76, -1,
78, 79, 80, -1, 82, 83, 84, 85, 86, 87,
-1, -1, 90, 91, 92, -1, -1, -1, -1, -1,
-1, -1, 100, 101, 102, 103, 104, 105, 106, 107,
108, -1, 110, -1, 112, 113, 114, 115, 116, -1,
118, 119, 120, -1, -1, 123, 124, 125, 126, 127,
-1, 129, 130, 131, -1, 133, 134, 135, -1, 137,
138, 139, 140, 141, 142, 143, 144, 145, -1, 147,
-1, 149, 150, 151, 152, -1, 154, -1, 156, -1,
-1, -1, 160, 161, 162, -1, 164, 165, -1, 167,
168, -1, 170, 171, 172, 173, 174, -1, 176, 177,
178, 179, -1, 181, 182, 183, 184, 185, 186, -1,
188, -1, 190, 191, 192, 193, 194, 195, 196, -1,
198, -1, 200, -1, -1, 203, -1, 205, 206, 207,
208, 209, -1, -1, 212, 213, -1, 215, -1, -1,
218, 219, 220, -1, -1, 223, 224, 225, 226, 227,
228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
238, -1, 240, 241, 242, 243, -1, 245, 246, -1,
248, -1, 250, 251, 252, 253, 254, 255, -1, 257,
-1, -1, 260, 261, 262, -1, -1, 265, 266, -1,
268, -1, 270, 271, 272, 273, 274, 275, 276, 277,
-1, 279, 280, 281, 282, 283, 284, 285, 286, -1,
288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
298, 299, 300, -1, 302, 303, 304, 305, 306, 307,
308, 309, 310, 311, 312, -1, 314, 315, -1, 317,
318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
328, -1, 330, 331, 332, 333, 334, -1, 336, 337,
338, 339, 340, -1, 342, 343, 344, 345, -1, 347,
348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
358, -1, 360, 361, -1, 363, -1, 365, 366, 367,
368, 369, -1, 371, 372, -1, -1, 375, 376, 377,
378, 379, -1, 381, 382, 383, 384, 385, 386, 387,
-1, -1, 390, 391, 392, 393, 394, -1, -1, 397,
398, 399, 400, 401, 402, 403, -1, 405, -1, 407,
408, 409, 410, -1, -1, 413, -1, -1, 416, 417,
418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
428, 429, 430, 431, 432, 433, 3, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 18, 19, 20, 21, 22, 23, 24, 25, -1,
27, 28, 29, -1, -1, -1, -1, -1, -1, -1,
37, 38, -1, 40, 41, -1, 43, 44, 45, 46,
47, -1, 49, 50, -1, 52, 53, 54, 55, 56,
-1, -1, 59, 60, 61, 62, 63, -1, 65, 66,
67, 68, 69, -1, -1, -1, 73, 74, 75, 76,
-1, 78, 79, 80, -1, 82, 83, 84, 85, 86,
87, -1, -1, 90, 91, 92, -1, -1, -1, -1,
-1, -1, -1, 100, 101, 102, 103, 104, 105, 106,
107, 108, -1, 110, -1, 112, 113, 114, 115, 116,
-1, 118, 119, 120, -1, -1, 123, 124, 125, 126,
127, -1, 129, 130, 131, -1, 133, 134, 135, -1,
137, 138, 139, 140, 141, 142, 143, 144, 145, -1,
147, -1, 149, 150, 151, 152, -1, 154, -1, 156,
-1, -1, -1, 160, 161, 162, -1, 164, 165, -1,
167, 168, -1, 170, 171, 172, 173, 174, -1, 176,
177, 178, 179, -1, 181, 182, 183, 184, 185, 186,
-1, 188, -1, 190, 191, 192, 193, 194, 195, 196,
-1, 198, -1, 200, -1, -1, 203, -1, 205, 206,
207, 208, 209, -1, -1, 212, 213, -1, 215, -1,
-1, 218, 219, 220, -1, -1, 223, 224, 225, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
237, 238, -1, 240, 241, 242, 243, -1, 245, 246,
-1, 248, -1, 250, 251, 252, 253, 254, 255, -1,
257, -1, -1, 260, 261, 262, -1, -1, 265, 266,
-1, 268, -1, 270, 271, 272, 273, 274, 275, 276,
277, -1, 279, 280, 281, 282, 283, 284, 285, 286,
-1, 288, 289, 290, 291, 292, 293, 294, 295, 296,
297, 298, 299, 300, -1, 302, 303, 304, 305, 306,
307, 308, 309, 310, 311, 312, -1, 314, 315, -1,
317, 318, 319, 320, 321, 322, 323, 324, 325, 326,
327, 328, -1, 330, 331, 332, 333, 334, -1, 336,
337, 338, 339, 340, -1, 342, 343, 344, 345, -1,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, -1, 360, 361, -1, 363, -1, 365, 366,
367, 368, 369, -1, 371, 372, -1, -1, 375, 376,
377, 378, 379, -1, 381, 382, 383, 384, 385, 386,
387, -1, -1, 390, 391, 392, 393, 394, -1, -1,
397, 398, 399, 400, 401, 402, 403, -1, 405, -1,
407, 408, 409, 410, -1, -1, 413, -1, -1, 416,
417, 418, 419, 420, 421, 422, 423, 424, 425, 426,
427, 428, 429, 430, 431, 432, 433, 3, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 18, 19, 20, 21, 22, 23, 24, 25,
-1, 27, 28, 29, -1, -1, -1, -1, -1, -1,
-1, 37, 38, -1, 40, 41, -1, 43, 44, 45,
46, 47, -1, 49, 50, -1, 52, 53, 54, 55,
56, -1, -1, 59, 60, 61, 62, 63, -1, 65,
66, 67, 68, 69, -1, -1, -1, 73, 74, 75,
76, -1, 78, 79, 80, -1, 82, 83, 84, 85,
86, 87, -1, -1, 90, 91, 92, -1, -1, -1,
-1, -1, -1, -1, 100, 101, 102, 103, 104, 105,
106, 107, 108, -1, 110, -1, 112, 113, 114, 115,
116, -1, 118, 119, 120, -1, -1, 123, 124, 125,
126, 127, -1, 129, 130, 131, -1, 133, 134, 135,
-1, 137, 138, 139, 140, 141, 142, 143, 144, 145,
-1, 147, -1, 149, 150, 151, 152, -1, 154, -1,
156, -1, -1, -1, 160, 161, 162, -1, 164, 165,
-1, 167, 168, -1, 170, 171, 172, 173, 174, -1,
176, 177, 178, 179, -1, 181, 182, 183, 184, 185,
186, -1, 188, -1, 190, 191, 192, 193, 194, 195,
196, -1, 198, -1, 200, -1, -1, 203, -1, 205,
206, 207, 208, 209, -1, -1, 212, 213, -1, 215,
-1, -1, 218, 219, 220, -1, -1, 223, 224, 225,
226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
236, 237, 238, -1, 240, 241, 242, 243, -1, 245,
246, -1, 248, -1, 250, 251, 252, 253, 254, 255,
-1, 257, -1, -1, 260, 261, 262, -1, -1, 265,
266, -1, 268, -1, 270, 271, 272, 273, 274, 275,
276, 277, -1, 279, 280, 281, 282, 283, 284, 285,
286, -1, 288, 289, 290, 291, 292, 293, 294, 295,
296, 297, 298, 299, 300, -1, 302, 303, 304, 305,
306, 307, 308, 309, 310, 311, 312, -1, 314, 315,
-1, 317, 318, 319, 320, 321, 322, 323, 324, 325,
326, 327, 328, -1, 330, 331, 332, 333, 334, -1,
336, 337, 338, 339, 340, -1, 342, 343, 344, 345,
-1, 347, 348, 349, 350, 351, 352, 353, 354, 355,
356, 357, 358, -1, 360, 361, -1, 363, -1, 365,
366, 367, 368, 369, -1, 371, 372, -1, -1, 375,
376, 377, 378, 379, -1, 381, 382, 383, 384, 385,
386, 387, -1, -1, 390, 391, 392, 393, 394, -1,
-1, 397, 398, 399, 400, 401, 402, 403, -1, 405,
-1, 407, 408, 409, 410, -1, -1, 413, -1, -1,
416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
426, 427, 428, 429, 430, 431, 432, 433, 3, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 18, 19, 20, 21, 22, 23, 24,
25, -1, 27, 28, 29, -1, -1, -1, -1, -1,
-1, -1, 37, 38, -1, 40, 41, -1, 43, 44,
45, 46, 47, -1, 49, 50, -1, 52, 53, 54,
55, 56, -1, -1, 59, 60, 61, 62, 63, -1,
65, 66, 67, 68, 69, -1, -1, -1, 73, 74,
75, 76, -1, 78, 79, 80, -1, 82, 83, 84,
85, 86, 87, -1, -1, 90, 91, 92, -1, -1,
-1, -1, -1, -1, -1, 100, 101, 102, 103, 104,
105, 106, 107, 108, -1, 110, -1, 112, 113, 114,
115, 116, -1, 118, 119, 120, -1, -1, 123, 124,
125, 126, 127, -1, 129, 130, 131, -1, 133, 134,
135, -1, 137, 138, 139, 140, 141, 142, 143, 144,
145, -1, 147, -1, 149, 150, 151, 152, -1, 154,
-1, 156, -1, -1, -1, 160, 161, 162, -1, 164,
165, -1, 167, 168, -1, 170, 171, 172, 173, 174,
-1, 176, 177, 178, 179, -1, 181, 182, 183, 184,
185, 186, -1, 188, -1, 190, 191, 192, 193, 194,
195, 196, -1, 198, -1, 200, -1, -1, 203, -1,
205, 206, 207, 208, 209, -1, -1, 212, 213, -1,
215, -1, -1, 218, 219, 220, -1, -1, 223, 224,
225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, -1, 240, 241, 242, 243, -1,
245, 246, -1, 248, -1, 250, 251, 252, 253, 254,
255, -1, 257, -1, -1, 260, 261, 262, -1, -1,
265, 266, -1, 268, -1, 270, 271, 272, 273, 274,
275, 276, 277, -1, 279, 280, 281, 282, 283, 284,
285, 286, -1, 288, 289, 290, 291, 292, 293, 294,
295, 296, 297, 298, 299, 300, -1, 302, 303, 304,
305, 306, 307, 308, 309, 310, 311, 312, -1, 314,
315, -1, 317, 318, 319, 320, 321, 322, 323, 324,
325, 326, 327, 328, -1, 330, 331, 332, 333, 334,
-1, 336, 337, 338, 339, 340, -1, 342, 343, 344,
345, -1, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, -1, 360, 361, -1, 363, -1,
365, 366, 367, 368, 369, -1, 371, 372, -1, -1,
375, 376, 377, 378, 379, -1, 381, 382, 383, 384,
385, 386, 387, -1, -1, 390, 391, 392, 393, 394,
-1, -1, 397, 398, 399, 400, 401, 402, 403, -1,
405, -1, 407, 408, 409, 410, -1, -1, 413, -1,
-1, 416, 417, 418, 419, 420, 421, 422, 423, 424,
425, 426, 427, 428, 429, 430, 431, 432, 433, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
-1, -1, -1, 37, 38, -1, 40, 41, -1, 43,
44, 45, 46, 47, -1, 49, 50, -1, 52, 53,
54, 55, 56, -1, -1, 59, 60, 61, 62, 63,
-1, 65, 66, 67, 68, 69, -1, -1, -1, 73,
74, 75, 76, -1, 78, 79, 80, -1, 82, 83,
84, 85, 86, 87, -1, -1, 90, 91, 92, -1,
-1, -1, -1, -1, -1, -1, 100, 101, 102, 103,
104, 105, 106, 107, 108, -1, 110, -1, 112, 113,
114, 115, 116, -1, 118, 119, 120, -1, -1, 123,
124, 125, 126, 127, -1, 129, 130, 131, -1, 133,
134, 135, -1, 137, 138, 139, 140, 141, 142, 143,
144, 145, -1, 147, -1, 149, 150, 151, 152, -1,
154, -1, 156, -1, -1, -1, 160, 161, 162, -1,
164, 165, -1, 167, 168, -1, 170, 171, 172, 173,
174, -1, 176, 177, 178, 179, -1, 181, 182, 183,
184, 185, 186, -1, 188, -1, 190, 191, 192, 193,
194, 195, 196, -1, 198, -1, 200, -1, -1, 203,
-1, 205, 206, 207, 208, 209, -1, -1, 212, 213,
-1, 215, -1, -1, 218, 219, 220, -1, -1, 223,
224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
234, 235, 236, 237, 238, -1, 240, 241, 242, 243,
-1, 245, 246, -1, 248, -1, 250, 251, 252, 253,
254, 255, -1, 257, -1, -1, 260, 261, 262, -1,
-1, 265, 266, -1, 268, -1, 270, 271, 272, 273,
274, 275, 276, 277, -1, 279, 280, 281, 282, 283,
284, 285, 286, -1, 288, 289, 290, 291, 292, 293,
294, 295, 296, 297, 298, 299, 300, -1, 302, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, -1,
314, 315, -1, 317, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, -1, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, -1, 342, 343,
344, 345, -1, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, -1, 360, 361, -1, 363,
-1, 365, 366, 367, 368, 369, -1, 371, 372, -1,
-1, 375, 376, 377, 378, 379, -1, 381, 382, 383,
384, 385, 386, 387, -1, -1, 390, 391, 392, 393,
394, -1, -1, 397, 398, 399, 400, 401, 402, 403,
-1, 405, -1, 407, 408, 409, 410, -1, -1, 413,
-1, -1, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, 431, 432, 433,
3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 18, 19, 20, 21, 22,
23, 24, 25, -1, 27, 28, 29, -1, -1, -1,
-1, -1, -1, -1, 37, 38, -1, 40, 41, -1,
43, 44, 45, 46, 47, -1, 49, 50, -1, 52,
53, 54, 55, 56, -1, -1, 59, 60, 61, 62,
63, -1, 65, 66, 67, 68, 69, -1, -1, -1,
73, 74, 75, 76, -1, 78, 79, 80, -1, 82,
83, 84, 85, 86, 87, -1, -1, 90, 91, 92,
-1, -1, -1, -1, -1, -1, -1, 100, 101, 102,
103, 104, 105, 106, 107, 108, -1, 110, -1, 112,
113, 114, 115, 116, -1, 118, 119, 120, -1, -1,
123, 124, 125, 126, 127, -1, 129, 130, 131, -1,
133, 134, 135, -1, 137, 138, 139, 140, 141, 142,
143, 144, 145, -1, 147, -1, 149, 150, 151, 152,
-1, 154, -1, 156, -1, -1, -1, 160, 161, 162,
-1, 164, 165, -1, 167, 168, -1, 170, 171, 172,
173, 174, -1, 176, 177, 178, 179, -1, 181, 182,
183, 184, 185, 186, -1, 188, -1, 190, 191, 192,
193, 194, 195, 196, -1, 198, -1, 200, -1, -1,
203, -1, 205, 206, 207, 208, 209, -1, -1, 212,
213, -1, 215, -1, -1, 218, 219, 220, -1, -1,
223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, -1, 240, 241, 242,
243, -1, 245, 246, -1, 248, -1, 250, 251, 252,
253, 254, 255, -1, 257, -1, -1, 260, 261, 262,
-1, -1, 265, 266, -1, 268, -1, 270, 271, 272,
273, 274, 275, 276, 277, -1, 279, 280, 281, 282,
283, 284, 285, 286, -1, 288, 289, 290, 291, 292,
293, 294, 295, 296, 297, 298, 299, 300, -1, 302,
303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
-1, 314, 315, -1, 317, 318, 319, 320, 321, 322,
323, 324, 325, 326, 327, 328, -1, 330, 331, 332,
333, 334, -1, 336, 337, 338, 339, 340, -1, 342,
343, 344, 345, -1, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, -1, 360, 361, -1,
363, -1, 365, 366, 367, 368, 369, -1, 371, 372,
-1, -1, 375, 376, 377, 378, 379, -1, 381, 382,
383, 384, 385, 386, 387, -1, -1, 390, 391, 392,
393, 394, -1, -1, 397, 398, 399, 400, 401, 402,
403, -1, 405, -1, 407, 408, 409, 410, -1, -1,
413, -1, -1, 416, 417, 418, 419, 420, 421, 422,
423, 424, 425, 426, 427, 428, 429, 430, 431, 432,
433, 3, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 18, 19, 20, 21,
22, 23, 24, 25, -1, 27, 28, 29, -1, -1,
-1, -1, -1, -1, -1, 37, 38, -1, 40, 41,
-1, 43, 44, 45, 46, 47, -1, 49, 50, -1,
52, 53, 54, 55, 56, -1, -1, 59, 60, 61,
62, 63, -1, 65, 66, 67, 68, 69, -1, -1,
-1, 73, 74, 75, 76, -1, 78, 79, 80, -1,
82, 83, 84, 85, 86, 87, -1, -1, 90, 91,
92, -1, -1, -1, -1, -1, -1, -1, 100, 101,
102, 103, 104, 105, 106, 107, 108, -1, 110, -1,
112, 113, 114, 115, 116, -1, 118, 119, 120, -1,
-1, 123, 124, 125, 126, 127, -1, 129, 130, 131,
-1, 133, 134, 135, -1, 137, 138, 139, 140, 141,
142, 143, 144, 145, -1, 147, -1, 149, 150, 151,
152, -1, 154, -1, 156, -1, -1, -1, 160, 161,
162, -1, 164, 165, -1, 167, 168, -1, 170, 171,
172, 173, 174, -1, 176, 177, 178, 179, -1, 181,
182, 183, 184, 185, 186, -1, 188, -1, 190, 191,
192, 193, 194, 195, 196, -1, 198, -1, 200, -1,
-1, 203, -1, 205, 206, 207, 208, 209, -1, -1,
212, 213, -1, 215, -1, -1, 218, 219, 220, -1,
-1, 223, 224, 225, 226, 227, 228, 229, 230, 231,
232, 233, 234, 235, 236, 237, 238, -1, 240, 241,
242, 243, -1, 245, 246, -1, 248, -1, 250, 251,
252, 253, 254, 255, -1, 257, -1, -1, 260, 261,
262, -1, -1, 265, 266, -1, 268, -1, 270, 271,
272, 273, 274, 275, 276, 277, -1, 279, 280, 281,
282, 283, 284, 285, 286, -1, 288, 289, 290, 291,
292, 293, 294, 295, 296, 297, 298, 299, 300, -1,
302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
312, -1, 314, 315, -1, 317, 318, 319, 320, 321,
322, 323, 324, 325, 326, 327, 328, -1, 330, 331,
332, 333, 334, -1, 336, 337, 338, 339, 340, -1,
342, 343, 344, 345, -1, 347, 348, 349, 350, 351,
352, 353, 354, 355, 356, 357, 358, -1, 360, 361,
-1, 363, -1, 365, 366, 367, 368, 369, -1, 371,
372, -1, -1, 375, 376, 377, 378, 379, -1, 381,
382, 383, 384, 385, 386, 387, -1, -1, 390, 391,
392, 393, 394, -1, -1, 397, 398, 399, 400, 401,
402, 403, -1, 405, -1, 407, 408, 409, 410, -1,
-1, 413, -1, -1, 416, 417, 418, 419, 420, 421,
422, 423, 424, 425, 426, 427, 428, 429, 430, 431,
432, 433, 3, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 18, 19, 20,
21, 22, 23, 24, 25, -1, 27, 28, 29, -1,
-1, -1, -1, -1, -1, -1, 37, 38, -1, 40,
41, -1, 43, 44, 45, 46, 47, -1, 49, 50,
-1, 52, 53, 54, 55, 56, -1, -1, 59, 60,
61, 62, 63, -1, 65, 66, 67, 68, 69, -1,
-1, -1, 73, 74, 75, 76, -1, 78, 79, 80,
-1, 82, 83, 84, 85, 86, 87, -1, -1, 90,
91, 92, -1, -1, -1, -1, -1, -1, -1, 100,
101, 102, 103, 104, 105, 106, 107, 108, -1, 110,
-1, 112, 113, 114, 115, 116, -1, 118, 119, 120,
-1, -1, 123, 124, 125, 126, 127, -1, 129, 130,
131, -1, 133, 134, 135, -1, 137, 138, 139, 140,
141, 142, 143, 144, 145, -1, 147, -1, 149, 150,
151, 152, -1, 154, -1, 156, -1, -1, -1, 160,
161, 162, -1, 164, 165, -1, 167, 168, -1, 170,
171, 172, 173, 174, -1, 176, 177, 178, 179, -1,
181, 182, 183, 184, 185, 186, -1, 188, -1, 190,
191, 192, 193, 194, 195, 196, -1, 198, -1, 200,
-1, -1, 203, -1, 205, 206, 207, 208, 209, -1,
-1, 212, 213, -1, 215, -1, -1, 218, 219, 220,
-1, -1, 223, 224, 225, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, -1, 240,
241, 242, 243, -1, 245, 246, -1, 248, -1, 250,
251, 252, 253, 254, 255, -1, 257, -1, -1, 260,
261, 262, -1, -1, 265, 266, -1, 268, -1, 270,
271, 272, 273, 274, 275, 276, 277, -1, 279, 280,
281, 282, 283, 284, 285, 286, -1, 288, 289, 290,
291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
-1, 302, 303, 304, 305, 306, 307, 308, 309, 310,
311, 312, -1, 314, 315, -1, 317, 318, 319, 320,
321, 322, 323, 324, 325, 326, 327, 328, -1, 330,
331, 332, 333, 334, -1, 336, 337, 338, 339, 340,
-1, 342, 343, 344, 345, -1, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, -1, 360,
361, -1, 363, -1, 365, 366, 367, 368, 369, -1,
371, 372, -1, -1, 375, 376, 377, 378, 379, -1,
381, 382, 383, 384, 385, 386, 387, -1, -1, 390,
391, 392, 393, 394, -1, -1, 397, 398, 399, 400,
401, 402, 403, -1, 405, -1, 407, 408, 409, 410,
-1, -1, 413, -1, -1, 416, 417, 418, 419, 420,
421, 422, 423, 424, 425, 426, 427, 428, 429, 430,
431, 432, 433, 3, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 18, 19,
20, 21, 22, 23, 24, 25, -1, 27, 28, 29,
-1, -1, -1, -1, -1, -1, -1, 37, 38, -1,
40, 41, -1, 43, 44, 45, 46, 47, -1, 49,
50, -1, 52, 53, 54, 55, 56, -1, -1, 59,
60, 61, 62, 63, -1, 65, 66, 67, 68, 69,
-1, -1, -1, 73, 74, 75, 76, -1, 78, 79,
80, -1, 82, 83, 84, 85, 86, 87, -1, -1,
90, 91, 92, -1, -1, -1, -1, -1, -1, -1,
100, 101, 102, 103, 104, 105, 106, 107, 108, -1,
110, -1, 112, 113, 114, 115, 116, -1, 118, 119,
120, -1, -1, 123, 124, 125, 126, 127, -1, 129,
130, 131, -1, 133, 134, 135, -1, 137, 138, 139,
140, 141, 142, 143, 144, 145, -1, 147, -1, 149,
150, 151, 152, -1, 154, -1, 156, -1, -1, -1,
160, 161, 162, -1, 164, 165, -1, 167, 168, -1,
170, 171, 172, 173, 174, -1, 176, 177, 178, 179,
-1, 181, 182, 183, 184, 185, 186, -1, 188, -1,
190, 191, 192, 193, 194, 195, 196, -1, 198, -1,
200, -1, -1, 203, -1, 205, 206, 207, 208, 209,
-1, -1, 212, 213, -1, 215, -1, -1, 218, 219,
220, -1, -1, 223, 224, 225, 226, 227, 228, 229,
230, 231, 232, 233, 234, 235, 236, 237, 238, -1,
240, 241, 242, 243, -1, 245, 246, -1, 248, -1,
250, 251, 252, 253, 254, 255, -1, 257, -1, -1,
260, 261, 262, -1, -1, 265, 266, -1, 268, -1,
270, 271, 272, 273, 274, 275, 276, 277, -1, 279,
280, 281, 282, 283, 284, 285, 286, -1, 288, 289,
290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
300, -1, 302, 303, 304, 305, 306, 307, 308, 309,
310, 311, 312, -1, 314, 315, -1, 317, 318, 319,
320, 321, 322, 323, 324, 325, 326, 327, 328, -1,
330, 331, 332, 333, 334, -1, 336, 337, 338, 339,
340, -1, 342, 343, 344, 345, -1, 347, 348, 349,
350, 351, 352, 353, 354, 355, 356, 357, 358, -1,
360, 361, -1, 363, -1, 365, 366, 367, 368, 369,
-1, 371, 372, -1, -1, 375, 376, 377, 378, 379,
-1, 381, 382, 383, 384, 385, 386, 387, -1, -1,
390, 391, 392, 393, 394, -1, -1, 397, 398, 399,
400, 401, 402, 403, -1, 405, -1, 407, 408, 409,
410, -1, -1, 413, -1, -1, 416, 417, 418, 419,
420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
430, 431, 432, 433, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 18,
19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
-1, 40, 41, 42, 43, 44, 45, -1, 47, 48,
49, 50, -1, 52, 53, 54, 55, 56, -1, -1,
59, 60, 61, 62, 63, -1, 65, 66, 67, 68,
-1, -1, 71, -1, 73, 74, 75, 76, 77, 78,
79, 80, -1, 82, 83, 84, 85, 86, 87, -1,
89, 90, 91, 92, -1, -1, -1, 96, -1, -1,
-1, 100, 101, 102, 103, 104, 105, 106, 107, 108,
-1, 110, -1, 112, 113, 114, 115, 116, -1, 118,
119, 120, -1, -1, 123, 124, 125, 126, 127, -1,
129, 130, 131, -1, 133, 134, 135, -1, 137, 138,
139, 140, -1, 142, 143, 144, -1, -1, 147, -1,
149, 150, 151, 152, -1, 154, -1, 156, 157, -1,
159, 160, 161, 162, -1, 164, -1, -1, -1, 168,
-1, 170, 171, 172, 173, 174, 175, 176, 177, 178,
179, 180, 181, 182, 183, 184, 185, 186, -1, 188,
189, 190, 191, 192, 193, 194, 195, 196, -1, 198,
-1, 200, 201, 202, 203, 204, 205, 206, 207, 208,
209, -1, -1, 212, -1, 214, 215, 216, -1, 218,
219, 220, -1, -1, 223, 224, 225, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, -1, -1, 245, 246, 247, 248,
-1, -1, 251, 252, 253, 254, 255, -1, 257, -1,
-1, 260, 261, 262, -1, -1, 265, 266, 267, 268,
269, -1, 271, 272, 273, 274, 275, 276, 277, -1,
279, 280, -1, 282, -1, 284, 285, 286, -1, 288,
289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, -1, 314, 315, 316, 317, 318,
319, -1, 321, 322, 323, 324, 325, 326, 327, 328,
-1, 330, 331, 332, 333, 334, -1, 336, 337, 338,
339, 340, 341, 342, 343, 344, 345, -1, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, -1,
-1, 360, 361, -1, 363, 364, 365, 366, 367, 368,
369, -1, 371, 372, -1, -1, 375, 376, -1, 378,
-1, -1, 381, 382, 383, 384, 385, 386, 387, -1,
-1, 390, 391, 392, 393, 394, -1, -1, 397, 398,
399, 400, 401, -1, 403, 404, 405, 406, 407, 408,
409, 410, -1, -1, 413, -1, -1, 416, 417, 418,
419, 420, 421, 3, -1, -1, -1, -1, -1, -1,
-1, -1, 431, 432, 433, -1, -1, -1, 18, 19,
20, 21, 22, 23, 24, 25, -1, 27, 28, 29,
-1, -1, -1, -1, -1, -1, -1, 37, 38, -1,
40, 41, 42, 43, 44, 45, -1, 47, 48, 49,
50, -1, 52, 53, 54, 55, 56, -1, -1, 59,
60, 61, 62, 63, -1, 65, 66, 67, 68, -1,
-1, 71, -1, 73, 74, 75, 76, 77, 78, 79,
80, -1, 82, 83, 84, 85, 86, 87, -1, 89,
90, 91, 92, -1, -1, -1, 96, -1, -1, -1,
100, 101, 102, 103, 104, 105, 106, 107, 108, -1,
110, -1, 112, 113, 114, 115, 116, -1, 118, 119,
120, -1, -1, 123, 124, 125, 126, 127, -1, 129,
130, 131, -1, 133, 134, 135, -1, 137, 138, 139,
140, -1, 142, 143, 144, -1, -1, 147, -1, 149,
150, 151, 152, -1, 154, -1, 156, 157, -1, 159,
160, 161, 162, -1, 164, -1, -1, -1, 168, -1,
170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
-1, 181, 182, 183, 184, 185, 186, -1, 188, 189,
-1, 191, 192, 193, 194, 195, 196, -1, 198, -1,
200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
-1, -1, 212, -1, 214, 215, 216, -1, 218, 219,
220, -1, -1, 223, 224, 225, 226, 227, 228, 229,
230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
240, 241, 242, -1, -1, 245, 246, 247, 248, 249,
-1, 251, 252, 253, 254, 255, -1, 257, -1, -1,
260, 261, 262, -1, -1, 265, -1, 267, 268, 269,
-1, 271, 272, 273, 274, 275, 276, 277, -1, 279,
280, -1, 282, -1, 284, 285, 286, -1, 288, 289,
290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
300, -1, 302, 303, 304, 305, 306, 307, 308, 309,
310, 311, 312, -1, 314, 315, 316, 317, 318, 319,
-1, 321, 322, 323, 324, 325, 326, 327, 328, -1,
330, 331, 332, 333, 334, -1, 336, 337, 338, 339,
340, 341, 342, 343, 344, 345, -1, 347, 348, 349,
350, 351, 352, 353, 354, 355, 356, 357, -1, -1,
360, 361, 362, 363, 364, 365, 366, 367, 368, 369,
-1, 371, 372, -1, -1, 375, 376, -1, 378, -1,
-1, 381, 382, 383, 384, 385, 386, 387, -1, -1,
390, 391, 392, 393, 394, -1, -1, 397, 398, 399,
400, 401, -1, 403, -1, 405, 406, 407, 408, 409,
410, -1, -1, 413, -1, -1, 416, 417, 418, 419,
420, 421, 3, -1, -1, -1, -1, -1, -1, -1,
-1, 431, 432, 433, -1, -1, -1, 18, 19, 20,
21, 22, 23, 24, 25, -1, 27, 28, 29, -1,
-1, -1, -1, -1, -1, -1, 37, 38, -1, 40,
41, -1, 43, 44, 45, 46, 47, -1, 49, 50,
-1, 52, 53, 54, 55, 56, -1, -1, 59, 60,
61, 62, 63, -1, 65, 66, 67, 68, 69, -1,
-1, -1, 73, 74, 75, 76, -1, 78, 79, 80,
-1, 82, 83, 84, 85, 86, 87, -1, -1, 90,
91, 92, -1, -1, -1, -1, -1, -1, -1, 100,
101, 102, 103, 104, 105, 106, 107, 108, -1, 110,
-1, 112, 113, 114, 115, 116, -1, 118, 119, 120,
-1, -1, 123, 124, 125, 126, 127, -1, 129, 130,
131, -1, 133, 134, 135, -1, 137, 138, 139, 140,
141, 142, 143, 144, 145, -1, 147, -1, 149, 150,
151, 152, -1, 154, -1, 156, -1, -1, -1, 160,
161, 162, -1, 164, 165, -1, 167, 168, -1, 170,
171, 172, 173, 174, -1, 176, 177, 178, 179, -1,
181, 182, 183, 184, 185, 186, -1, 188, -1, 190,
191, 192, 193, 194, 195, 196, -1, 198, -1, 200,
-1, -1, 203, -1, 205, 206, 207, 208, 209, -1,
-1, 212, 213, -1, 215, -1, -1, 218, 219, 220,
-1, -1, 223, 224, 225, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, -1, 240,
241, 242, 243, -1, 245, 246, -1, 248, -1, 250,
251, 252, 253, 254, 255, -1, 257, -1, -1, 260,
261, 262, -1, -1, 265, 266, -1, 268, -1, 270,
271, 272, 273, 274, -1, 276, 277, -1, 279, 280,
281, 282, 283, 284, 285, 286, -1, 288, 289, 290,
291, 292, 293, -1, 295, 296, 297, 298, 299, 300,
-1, 302, 303, 304, 305, 306, 307, 308, 309, 310,
311, 312, -1, 314, 315, -1, 317, 318, 319, 320,
-1, 322, 323, 324, 325, 326, 327, 328, -1, 330,
331, 332, 333, 334, -1, 336, 337, 338, 339, 340,
-1, 342, 343, 344, 345, -1, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, -1, 360,
361, -1, 363, -1, 365, 366, 367, 368, 369, -1,
371, 372, -1, -1, 375, 376, 377, 378, 379, -1,
381, 382, 383, 384, 385, 386, 387, -1, -1, 390,
391, 392, 393, 394, -1, -1, 397, 398, 399, 400,
401, 402, 403, -1, 405, -1, 407, 408, 409, 410,
-1, -1, 413, -1, -1, 416, 417, 418, 419, 420,
421, 422, 423, 424, 425, 426, 427, 428, 429, 430,
431, 432, 433, 3, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 18, 19,
20, 21, 22, 23, 24, 25, -1, 27, 28, 29,
-1, -1, -1, -1, -1, -1, -1, 37, 38, -1,
40, 41, 42, 43, 44, 45, -1, 47, 48, 49,
50, -1, 52, 53, 54, 55, 56, -1, -1, 59,
60, 61, 62, 63, -1, 65, 66, 67, 68, -1,
-1, 71, -1, 73, 74, 75, 76, 77, 78, 79,
80, -1, 82, 83, 84, 85, 86, 87, -1, 89,
90, 91, 92, -1, -1, -1, 96, -1, -1, -1,
100, 101, 102, 103, 104, 105, 106, 107, 108, -1,
110, -1, 112, 113, 114, 115, 116, -1, 118, 119,
120, -1, -1, 123, 124, 125, 126, 127, -1, 129,
130, 131, -1, 133, 134, 135, -1, 137, 138, 139,
140, -1, 142, 143, 144, -1, -1, 147, -1, 149,
150, 151, 152, -1, 154, -1, 156, 157, -1, 159,
160, 161, 162, -1, 164, -1, -1, -1, 168, -1,
170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
-1, 181, 182, 183, 184, 185, 186, -1, 188, 189,
-1, 191, 192, 193, 194, 195, 196, -1, 198, -1,
200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
-1, -1, 212, -1, 214, 215, 216, -1, 218, 219,
220, -1, -1, 223, 224, 225, 226, 227, 228, 229,
230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
240, 241, 242, 243, -1, 245, 246, 247, 248, -1,
-1, 251, 252, 253, 254, 255, -1, 257, -1, -1,
260, 261, 262, -1, -1, 265, -1, 267, 268, 269,
-1, 271, 272, 273, 274, 275, 276, 277, -1, 279,
280, -1, 282, -1, 284, 285, 286, -1, 288, 289,
290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
300, -1, 302, 303, 304, 305, 306, 307, 308, 309,
310, 311, 312, -1, 314, 315, 316, 317, 318, 319,
-1, 321, 322, 323, 324, 325, 326, 327, 328, -1,
330, 331, 332, 333, 334, -1, 336, 337, 338, 339,
340, 341, 342, 343, 344, 345, -1, 347, 348, 349,
350, 351, 352, 353, 354, 355, 356, 357, -1, -1,
360, 361, -1, 363, 364, 365, 366, 367, 368, 369,
-1, 371, 372, -1, -1, 375, 376, -1, 378, -1,
-1, 381, 382, 383, 384, 385, 386, 387, -1, -1,
390, 391, 392, 393, 394, -1, -1, 397, 398, 399,
400, 401, -1, 403, -1, 405, 406, 407, 408, 409,
410, -1, -1, 413, -1, -1, 416, 417, 418, 419,
420, 421, 3, -1, -1, -1, -1, -1, -1, -1,
-1, 431, 432, 433, -1, -1, -1, 18, 19, 20,
21, 22, 23, 24, 25, -1, 27, 28, 29, -1,
-1, -1, -1, -1, -1, -1, 37, 38, -1, 40,
41, 42, 43, 44, 45, -1, 47, 48, 49, 50,
-1, 52, 53, 54, 55, 56, -1, -1, 59, 60,
61, 62, 63, -1, 65, 66, 67, 68, -1, -1,
71, -1, 73, 74, 75, 76, 77, 78, 79, 80,
-1, 82, 83, 84, 85, 86, 87, -1, 89, 90,
91, 92, -1, -1, -1, 96, -1, -1, -1, 100,
101, 102, 103, 104, 105, 106, 107, 108, -1, 110,
-1, 112, 113, 114, 115, 116, -1, 118, 119, 120,
-1, -1, 123, 124, 125, 126, 127, -1, 129, 130,
131, -1, 133, 134, 135, -1, 137, 138, 139, 140,
-1, 142, 143, 144, -1, -1, 147, -1, 149, 150,
151, 152, -1, 154, -1, 156, 157, -1, 159, 160,
161, 162, -1, 164, -1, -1, -1, 168, -1, 170,
171, 172, 173, 174, 175, 176, 177, 178, 179, -1,
181, 182, 183, 184, 185, 186, -1, 188, 189, -1,
191, 192, 193, 194, 195, 196, -1, 198, -1, 200,
201, 202, 203, 204, 205, 206, 207, 208, 209, -1,
-1, 212, -1, 214, 215, 216, -1, 218, 219, 220,
-1, -1, 223, 224, 225, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 242, 243, -1, 245, 246, 247, 248, -1, -1,
251, 252, 253, 254, 255, -1, 257, -1, -1, 260,
261, 262, -1, -1, 265, -1, 267, 268, 269, -1,
271, 272, 273, 274, 275, 276, 277, -1, 279, 280,
-1, 282, -1, 284, 285, 286, -1, 288, 289, 290,
291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
-1, 302, 303, 304, 305, 306, 307, 308, 309, 310,
311, 312, -1, 314, 315, 316, 317, 318, 319, -1,
321, 322, 323, 324, 325, 326, 327, 328, -1, 330,
331, 332, 333, 334, -1, 336, 337, 338, 339, 340,
341, 342, 343, 344, 345, -1, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, -1, -1, 360,
361, -1, 363, 364, 365, 366, 367, 368, 369, -1,
371, 372, -1, -1, 375, 376, -1, 378, -1, -1,
381, 382, 383, 384, 385, 386, 387, -1, -1, 390,
391, 392, 393, 394, -1, -1, 397, 398, 399, 400,
401, -1, 403, -1, 405, 406, 407, 408, 409, 410,
-1, -1, 413, -1, -1, 416, 417, 418, 419, 420,
421, 3, -1, -1, -1, -1, -1, -1, -1, -1,
431, 432, 433, -1, -1, -1, 18, 19, 20, 21,
22, 23, 24, 25, -1, 27, 28, 29, -1, -1,
-1, -1, -1, -1, -1, 37, 38, -1, 40, 41,
42, 43, 44, 45, -1, 47, 48, 49, 50, -1,
52, 53, 54, 55, 56, -1, -1, 59, 60, 61,
62, 63, -1, 65, 66, 67, 68, -1, -1, 71,
-1, 73, 74, 75, 76, 77, 78, 79, 80, -1,
82, 83, 84, 85, 86, 87, -1, 89, 90, 91,
92, -1, -1, -1, 96, -1, -1, -1, 100, 101,
102, 103, 104, 105, 106, 107, 108, -1, 110, -1,
112, 113, 114, 115, 116, -1, 118, 119, 120, -1,
-1, 123, 124, 125, 126, 127, -1, 129, 130, 131,
-1, 133, 134, 135, -1, 137, 138, 139, 140, -1,
142, 143, 144, -1, -1, 147, -1, 149, 150, 151,
152, -1, 154, -1, 156, 157, -1, 159, 160, 161,
162, -1, 164, -1, -1, -1, 168, -1, 170, 171,
172, 173, 174, 175, 176, 177, 178, 179, -1, 181,
182, 183, 184, 185, 186, -1, 188, 189, -1, 191,
192, 193, 194, 195, 196, -1, 198, -1, 200, 201,
202, 203, 204, 205, 206, 207, 208, 209, -1, -1,
212, -1, 214, 215, 216, -1, 218, 219, 220, -1,
-1, 223, 224, 225, 226, 227, 228, 229, 230, 231,
232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
242, -1, -1, 245, 246, 247, 248, -1, -1, 251,
252, 253, 254, 255, -1, 257, -1, -1, 260, 261,
262, -1, -1, 265, -1, 267, 268, 269, -1, 271,
272, 273, 274, 275, 276, 277, -1, 279, 280, -1,
282, -1, 284, 285, 286, -1, 288, 289, 290, 291,
292, 293, 294, 295, 296, 297, 298, 299, 300, -1,
302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
312, -1, 314, 315, 316, 317, 318, 319, -1, 321,
322, 323, 324, 325, 326, 327, 328, -1, 330, 331,
332, 333, 334, -1, 336, 337, 338, 339, 340, 341,
342, 343, 344, 345, -1, 347, 348, 349, 350, 351,
352, 353, 354, 355, 356, 357, -1, -1, 360, 361,
-1, 363, 364, 365, 366, 367, 368, 369, -1, 371,
372, -1, -1, 375, 376, -1, 378, -1, -1, 381,
382, 383, 384, 385, 386, 387, -1, -1, 390, 391,
392, 393, 394, -1, -1, 397, 398, 399, 400, 401,
-1, 403, -1, 405, 406, 407, 408, 409, 410, -1,
-1, 413, -1, -1, 416, 417, 418, 419, 420, 421,
3, -1, -1, -1, -1, -1, -1, -1, -1, 431,
432, 433, -1, -1, -1, 18, 19, 20, 21, 22,
23, 24, 25, -1, 27, 28, 29, -1, -1, -1,
-1, -1, -1, -1, 37, 38, -1, 40, 41, 42,
43, 44, 45, -1, 47, 48, 49, 50, -1, 52,
53, 54, 55, 56, -1, -1, 59, 60, 61, 62,
63, -1, 65, 66, 67, 68, -1, -1, 71, -1,
73, 74, 75, 76, 77, 78, 79, 80, -1, 82,
83, 84, 85, 86, 87, -1, 89, 90, 91, 92,
-1, -1, -1, 96, -1, -1, -1, 100, 101, 102,
103, 104, 105, 106, 107, 108, -1, 110, -1, 112,
113, 114, 115, 116, -1, 118, 119, 120, -1, -1,
123, 124, 125, 126, 127, -1, 129, 130, 131, -1,
133, 134, 135, -1, 137, 138, 139, 140, -1, 142,
143, 144, -1, -1, 147, -1, 149, 150, 151, 152,
-1, 154, -1, 156, 157, -1, 159, 160, 161, 162,
-1, 164, -1, -1, -1, 168, -1, 170, 171, 172,
173, 174, 175, 176, 177, 178, 179, -1, 181, 182,
183, 184, 185, 186, -1, 188, 189, -1, 191, 192,
193, 194, 195, 196, -1, 198, -1, 200, 201, 202,
203, 204, 205, 206, 207, 208, 209, -1, -1, 212,
-1, 214, 215, 216, -1, 218, 219, 220, -1, -1,
223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
-1, -1, 245, 246, 247, 248, -1, -1, 251, 252,
253, 254, 255, -1, 257, -1, -1, 260, 261, 262,
-1, -1, 265, -1, 267, 268, 269, -1, 271, 272,
273, 274, 275, 276, 277, -1, 279, 280, -1, 282,
-1, 284, 285, 286, -1, 288, 289, 290, 291, 292,
293, 294, 295, 296, 297, 298, 299, 300, -1, 302,
303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
-1, 314, 315, 316, 317, 318, 319, -1, 321, 322,
323, 324, 325, 326, 327, 328, -1, 330, 331, 332,
333, 334, -1, 336, 337, 338, 339, 340, 341, 342,
343, 344, 345, -1, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, -1, -1, 360, 361, -1,
363, 364, 365, 366, 367, 368, 369, -1, 371, 372,
-1, -1, 375, 376, -1, 378, -1, -1, 381, 382,
383, 384, 385, 386, 387, -1, -1, 390, 391, 392,
393, 394, -1, -1, 397, 398, 399, 400, 401, -1,
403, -1, 405, 406, 407, 408, 409, 410, -1, -1,
413, -1, -1, 416, 417, 418, 419, 420, 421, 3,
-1, -1, -1, -1, -1, -1, -1, -1, 431, 432,
433, -1, -1, -1, 18, 19, 20, 21, 22, 23,
24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
-1, -1, -1, 37, 38, -1, 40, 41, 42, 43,
44, 45, -1, 47, 48, 49, 50, -1, 52, 53,
54, 55, 56, -1, -1, 59, 60, 61, 62, 63,
-1, 65, 66, 67, 68, -1, -1, 71, -1, 73,
74, 75, 76, 77, 78, 79, 80, -1, 82, 83,
84, 85, 86, 87, -1, 89, 90, 91, 92, -1,
-1, -1, 96, -1, -1, -1, 100, 101, 102, 103,
104, 105, 106, 107, 108, -1, 110, -1, 112, 113,
114, 115, 116, -1, 118, 119, 120, -1, -1, 123,
124, 125, 126, 127, -1, 129, 130, 131, -1, 133,
134, 135, -1, 137, 138, 139, 140, -1, 142, 143,
144, -1, -1, 147, -1, 149, 150, 151, 152, -1,
154, -1, 156, 157, -1, 159, 160, 161, 162, -1,
164, -1, -1, -1, 168, -1, 170, 171, 172, 173,
174, 175, 176, 177, 178, 179, -1, 181, 182, 183,
184, 185, 186, -1, 188, 189, -1, 191, 192, 193,
194, 195, 196, -1, 198, -1, 200, 201, 202, 203,
204, 205, 206, 207, 208, 209, -1, -1, 212, -1,
214, 215, 216, -1, 218, 219, 220, -1, -1, 223,
224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, -1,
-1, 245, 246, 247, 248, -1, -1, 251, 252, 253,
254, 255, -1, 257, -1, -1, 260, 261, 262, -1,
-1, 265, -1, 267, 268, 269, -1, 271, 272, 273,
274, 275, 276, 277, -1, 279, 280, -1, 282, -1,
284, 285, 286, -1, 288, 289, 290, 291, 292, 293,
294, 295, 296, 297, 298, 299, 300, -1, 302, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, -1,
314, 315, 316, 317, 318, 319, -1, 321, 322, 323,
324, 325, 326, 327, 328, -1, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, 345, -1, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, -1, -1, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, -1, 371, 372, -1,
-1, 375, 376, -1, 378, -1, -1, 381, 382, 383,
384, 385, 386, 387, -1, -1, 390, 391, 392, 393,
394, -1, -1, 397, 398, 399, 400, 401, -1, 403,
-1, 405, 406, 407, 408, 409, 410, -1, -1, 413,
-1, -1, 416, 417, 418, 419, 420, 421, 3, -1,
-1, -1, -1, -1, -1, -1, -1, 431, 432, 433,
-1, -1, -1, 18, 19, 20, 21, 22, 23, 24,
25, -1, 27, 28, 29, -1, -1, -1, -1, -1,
-1, -1, 37, 38, -1, 40, 41, 42, 43, 44,
45, -1, 47, 48, 49, 50, -1, 52, 53, 54,
55, 56, -1, -1, 59, 60, 61, 62, 63, -1,
65, 66, 67, 68, -1, -1, 71, -1, 73, 74,
75, 76, 77, 78, 79, 80, -1, 82, 83, 84,
85, 86, 87, -1, 89, 90, 91, 92, -1, -1,
-1, 96, -1, -1, -1, 100, 101, 102, 103, 104,
105, 106, 107, 108, -1, 110, -1, 112, 113, 114,
115, 116, -1, 118, 119, 120, -1, -1, 123, 124,
125, 126, 127, -1, 129, 130, 131, -1, 133, 134,
135, -1, 137, 138, 139, 140, -1, 142, 143, 144,
-1, -1, 147, -1, 149, 150, 151, 152, -1, 154,
-1, 156, 157, -1, 159, 160, 161, 162, -1, 164,
-1, -1, -1, 168, -1, 170, 171, 172, 173, 174,
175, 176, 177, 178, 179, -1, 181, 182, 183, 184,
185, 186, -1, 188, 189, -1, 191, 192, 193, 194,
195, 196, -1, 198, -1, 200, 201, 202, 203, 204,
205, 206, 207, 208, 209, -1, -1, 212, -1, 214,
215, 216, -1, 218, 219, 220, -1, -1, 223, 224,
225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 242, -1, -1,
245, 246, 247, 248, -1, -1, 251, 252, 253, 254,
255, -1, 257, -1, -1, 260, 261, 262, -1, -1,
265, -1, 267, 268, 269, -1, 271, 272, 273, 274,
275, 276, 277, -1, 279, 280, -1, 282, -1, 284,
285, 286, -1, 288, 289, 290, 291, 292, 293, 294,
295, 296, 297, 298, 299, 300, -1, 302, 303, 304,
305, 306, 307, 308, 309, 310, 311, 312, -1, 314,
315, 316, 317, 318, 319, -1, 321, 322, 323, 324,
325, 326, 327, 328, -1, 330, 331, 332, 333, 334,
-1, 336, 337, 338, 339, 340, 341, 342, 343, 344,
345, -1, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, -1, -1, 360, 361, -1, 363, 364,
365, 366, 367, 368, 369, -1, 371, 372, -1, -1,
375, 376, -1, 378, -1, -1, 381, 382, 383, 384,
385, 386, 387, -1, -1, 390, 391, 392, 393, 394,
-1, -1, 397, 398, 399, 400, 401, -1, 403, -1,
405, 406, 407, 408, 409, 410, -1, -1, 413, -1,
-1, 416, 417, 418, 419, 420, 421, 3, -1, -1,
-1, -1, -1, -1, -1, -1, 431, 432, 433, -1,
-1, -1, 18, 19, 20, 21, 22, 23, 24, 25,
-1, 27, 28, 29, -1, -1, -1, -1, -1, -1,
-1, 37, 38, -1, 40, 41, 42, 43, 44, 45,
-1, 47, 48, 49, 50, -1, 52, 53, 54, 55,
56, -1, -1, 59, 60, 61, 62, 63, -1, 65,
66, 67, 68, -1, -1, 71, -1, 73, 74, 75,
76, 77, 78, 79, 80, -1, 82, 83, 84, 85,
86, 87, -1, 89, 90, 91, 92, -1, -1, -1,
96, -1, -1, -1, 100, 101, 102, 103, 104, 105,
106, 107, 108, -1, 110, -1, 112, 113, 114, 115,
116, -1, 118, 119, 120, -1, -1, 123, 124, 125,
126, 127, -1, 129, 130, 131, -1, 133, 134, 135,
-1, 137, 138, 139, 140, -1, 142, 143, 144, -1,
-1, 147, -1, 149, 150, 151, 152, -1, 154, -1,
156, 157, -1, 159, 160, 161, 162, -1, 164, -1,
-1, -1, 168, -1, 170, 171, 172, 173, 174, 175,
176, 177, 178, 179, -1, 181, 182, 183, 184, 185,
186, -1, 188, 189, -1, 191, 192, 193, 194, 195,
196, -1, 198, -1, 200, 201, 202, 203, 204, 205,
206, 207, 208, 209, -1, -1, 212, -1, 214, 215,
216, -1, 218, 219, 220, -1, -1, 223, 224, 225,
226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
236, 237, 238, 239, 240, 241, 242, -1, -1, 245,
246, 247, 248, -1, -1, 251, 252, 253, 254, 255,
-1, 257, -1, -1, 260, 261, 262, -1, -1, 265,
-1, 267, 268, 269, -1, 271, 272, 273, 274, 275,
276, 277, -1, 279, 280, -1, 282, -1, 284, 285,
286, -1, 288, 289, 290, 291, 292, 293, 294, 295,
296, 297, 298, 299, 300, -1, 302, 303, 304, 305,
306, 307, 308, 309, 310, 311, 312, -1, 314, 315,
316, 317, 318, 319, -1, 321, 322, 323, 324, 325,
326, 327, 328, -1, 330, 331, 332, 333, 334, -1,
336, 337, -1, 339, 340, 341, 342, 343, 344, 345,
-1, 347, 348, 349, 350, 351, 352, 353, 354, 355,
356, 357, -1, -1, 360, 361, -1, 363, 364, 365,
366, 367, 368, 369, -1, 371, 372, -1, -1, 375,
376, -1, 378, -1, -1, 381, 382, 383, 384, 385,
386, 387, -1, -1, 390, 391, 392, 393, 394, -1,
-1, 397, 398, 399, 400, 401, -1, 403, -1, 405,
406, 407, 408, 409, 410, -1, -1, 413, -1, -1,
416, 417, 418, 419, 420, 421, 3, -1, -1, -1,
-1, -1, -1, -1, -1, 431, 432, 433, -1, -1,
-1, 18, 19, 20, 21, 22, 23, 24, 25, -1,
27, 28, 29, -1, -1, -1, -1, -1, -1, -1,
37, 38, -1, 40, 41, 42, 43, 44, 45, -1,
-1, 48, -1, -1, -1, 52, 53, 54, 55, 56,
-1, -1, 59, 60, -1, -1, 63, -1, 65, 66,
67, 68, -1, -1, 71, -1, 73, 74, 75, 76,
77, 78, 79, 80, -1, 82, 83, 84, 85, 86,
87, -1, 89, 90, 91, 92, -1, -1, -1, 96,
-1, -1, -1, 100, 101, 102, 103, 104, 105, -1,
-1, 108, -1, 110, -1, 112, 113, 114, 115, 116,
-1, 118, 119, 120, -1, -1, 123, 124, 125, 126,
127, -1, 129, 130, 131, -1, 133, 134, 135, -1,
137, 138, 139, 140, -1, 142, 143, 144, -1, -1,
147, -1, 149, 150, -1, 152, -1, 154, -1, 156,
157, -1, 159, 160, 161, 162, -1, 164, -1, -1,
-1, 168, -1, 170, 171, 172, 173, 174, 175, 176,
177, 178, 179, -1, 181, 182, 183, 184, 185, 186,
-1, 188, 189, -1, 191, 192, 193, 194, -1, -1,
-1, -1, -1, 200, 201, 202, 203, 204, 205, 206,
207, 208, 209, -1, -1, 212, -1, 214, 215, 216,
-1, 218, 219, 220, -1, -1, 223, 224, 225, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
237, -1, 239, -1, 241, 242, -1, -1, 245, 246,
247, 248, -1, -1, 251, -1, 253, 254, 255, -1,
257, -1, -1, 260, 261, 262, -1, -1, 265, -1,
267, 268, 269, -1, 271, 272, 273, 274, 275, 276,
277, -1, 279, 280, -1, 282, -1, 284, 285, 286,
-1, 288, 289, 290, 291, 292, 293, 294, 295, -1,
297, 298, 299, 300, -1, 302, 303, 304, 305, 306,
307, 308, 309, 310, 311, 312, -1, 314, 315, 316,
317, 318, 319, -1, 321, 322, 323, 324, 325, 326,
327, 328, -1, 330, 331, 332, 333, 334, -1, 336,
337, -1, 339, 340, 341, 342, 343, -1, 345, -1,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, -1, -1, 360, 361, -1, 363, 364, 365, 366,
367, 368, 369, -1, -1, -1, -1, -1, 375, 376,
-1, 378, -1, -1, 381, 382, 383, 384, 385, 386,
387, -1, -1, 390, 391, 392, 393, 394, -1, -1,
397, 398, 399, 400, 401, -1, -1, -1, 405, 406,
407, 408, 409, 410, -1, -1, 413, -1, -1, 416,
417, 418, 419, 420, 421, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 431, 432, 433
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
symbol of state STATE-NUM. */
static const yytype_uint16 yystos[] =
{
0, 18, 28, 30, 31, 45, 65, 67, 68, 73,
75, 86, 88, 105, 108, 120, 122, 126, 132, 140,
142, 148, 163, 179, 218, 219, 224, 235, 246, 285,
297, 302, 303, 305, 310, 315, 318, 323, 328, 329,
336, 340, 350, 362, 381, 391, 397, 402, 415, 436,
451, 458, 459, 460, 461, 467, 468, 470, 471, 472,
473, 474, 475, 476, 478, 479, 483, 495, 500, 501,
504, 505, 506, 518, 521, 522, 538, 575, 578, 581,
582, 583, 590, 596, 598, 600, 601, 604, 607, 608,
612, 613, 622, 626, 627, 628, 629, 630, 633, 635,
636, 637, 638, 639, 646, 659, 660, 664, 666, 667,
668, 678, 680, 687, 688, 691, 692, 693, 694, 695,
701, 703, 706, 710, 714, 715, 725, 726, 729, 734,
745, 768, 771, 772, 773, 776, 779, 781, 783, 785,
786, 791, 792, 795, 796, 797, 804, 805, 807, 808,
809, 814, 816, 817, 823, 824, 825, 826, 827, 828,
830, 831, 833, 834, 836, 839, 840, 845, 851, 854,
856, 857, 865, 867, 872, 879, 883, 884, 885, 886,
887, 888, 891, 926, 375, 418, 810, 25, 71, 85,
103, 109, 124, 135, 143, 155, 160, 166, 183, 208,
229, 260, 280, 290, 317, 322, 324, 330, 333, 361,
362, 365, 369, 378, 383, 395, 408, 597, 810, 3,
18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
28, 29, 37, 38, 40, 41, 43, 44, 45, 46,
47, 49, 50, 52, 53, 54, 55, 56, 59, 60,
61, 62, 63, 65, 66, 67, 68, 69, 73, 74,
75, 76, 78, 79, 80, 82, 83, 84, 85, 86,
87, 90, 91, 92, 100, 101, 102, 103, 104, 105,
106, 107, 108, 110, 112, 113, 114, 115, 116, 118,
119, 120, 123, 124, 125, 126, 127, 129, 130, 131,
133, 134, 135, 137, 138, 139, 140, 141, 142, 143,
144, 145, 147, 149, 150, 151, 152, 154, 156, 160,
161, 162, 164, 165, 167, 168, 170, 171, 172, 173,
174, 176, 177, 178, 179, 181, 182, 183, 184, 185,
186, 188, 190, 191, 192, 193, 194, 195, 196, 198,
200, 203, 205, 206, 207, 208, 209, 212, 213, 215,
218, 219, 220, 223, 224, 225, 226, 227, 228, 229,
230, 231, 232, 233, 234, 235, 236, 237, 238, 240,
241, 242, 243, 245, 246, 248, 250, 251, 252, 253,
254, 255, 257, 260, 261, 262, 265, 266, 268, 270,
271, 272, 273, 274, 275, 276, 277, 279, 280, 281,
282, 283, 284, 285, 286, 288, 289, 290, 291, 292,
293, 294, 295, 296, 297, 298, 299, 300, 302, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, 314,
315, 317, 318, 319, 320, 321, 322, 323, 324, 325,
326, 327, 328, 330, 331, 332, 333, 334, 336, 337,
338, 339, 340, 342, 343, 344, 345, 347, 348, 349,
350, 351, 352, 353, 354, 355, 356, 357, 358, 360,
361, 363, 365, 366, 367, 368, 369, 371, 372, 375,
376, 377, 378, 379, 381, 382, 383, 384, 385, 386,
387, 390, 391, 392, 393, 394, 397, 398, 399, 400,
401, 402, 403, 405, 407, 408, 409, 410, 413, 416,
417, 418, 419, 420, 421, 422, 423, 424, 425, 426,
427, 428, 429, 430, 431, 432, 433, 880, 1047, 1065,
1069, 1070, 406, 841, 258, 286, 810, 48, 529, 884,
25, 37, 58, 71, 81, 103, 109, 124, 135, 143,
155, 162, 166, 220, 260, 263, 280, 317, 324, 333,
365, 366, 368, 369, 378, 383, 389, 392, 395, 539,
580, 683, 735, 746, 26, 285, 1047, 880, 26, 279,
331, 366, 368, 5, 207, 777, 778, 1056, 25, 37,
58, 71, 85, 103, 124, 135, 143, 155, 160, 166,
183, 229, 260, 271, 280, 317, 322, 324, 330, 333,
362, 365, 369, 376, 378, 383, 395, 408, 597, 696,
810, 1047, 88, 406, 451, 575, 578, 581, 840, 846,
854, 857, 865, 872, 879, 883, 9, 19, 26, 43,
150, 156, 158, 180, 209, 241, 288, 304, 441, 442,
711, 712, 880, 1055, 1057, 26, 88, 301, 329, 716,
717, 718, 1065, 155, 1065, 1052, 1056, 362, 894, 711,
1065, 375, 1047, 271, 229, 103, 183, 324, 361, 362,
451, 787, 788, 323, 1065, 26, 334, 371, 375, 487,
496, 497, 1065, 23, 163, 716, 717, 286, 810, 1065,
206, 26, 121, 896, 897, 59, 82, 220, 237, 317,
324, 334, 371, 375, 421, 484, 485, 486, 487, 26,
334, 371, 375, 487, 375, 259, 937, 1045, 1065, 894,
443, 1065, 159, 451, 842, 451, 1040, 299, 889, 890,
1047, 889, 884, 885, 888, 0, 454, 841, 136, 197,
264, 388, 898, 899, 884, 886, 887, 114, 193, 394,
455, 3, 42, 48, 71, 77, 89, 96, 157, 159,
175, 189, 201, 202, 204, 214, 216, 239, 247, 267,
269, 316, 341, 364, 406, 1053, 1065, 1066, 1069, 1071,
698, 1065, 698, 1048, 1065, 289, 698, 378, 698, 1047,
1065, 102, 362, 724, 1053, 3, 99, 335, 1058, 1059,
1067, 1069, 1070, 1071, 26, 174, 1045, 253, 408, 8,
15, 16, 17, 66, 147, 437, 438, 439, 441, 442,
443, 444, 445, 446, 447, 775, 1007, 1008, 1065, 174,
1047, 26, 1058, 1059, 1047, 1047, 174, 1045, 1047, 310,
336, 26, 174, 937, 1047, 326, 1047, 698, 227, 1058,
1059, 174, 1045, 207, 111, 203, 244, 295, 811, 812,
813, 1045, 1051, 1065, 25, 58, 71, 72, 81, 85,
103, 124, 135, 143, 155, 160, 183, 208, 229, 260,
280, 317, 322, 324, 330, 333, 362, 365, 369, 376,
378, 383, 408, 597, 704, 1056, 1045, 373, 1053, 1047,
451, 698, 378, 1048, 698, 378, 174, 1047, 102, 362,
366, 368, 1058, 1059, 366, 368, 66, 147, 775, 308,
1047, 1058, 174, 480, 1065, 1047, 1047, 326, 1047, 698,
227, 1058, 299, 330, 362, 408, 229, 85, 183, 160,
322, 376, 382, 591, 26, 1047, 881, 494, 1056, 1067,
778, 174, 1053, 1047, 174, 782, 174, 1048, 3, 47,
49, 50, 61, 62, 106, 107, 125, 151, 174, 195,
196, 198, 238, 240, 252, 296, 338, 344, 371, 372,
403, 700, 952, 954, 956, 958, 960, 962, 963, 964,
966, 967, 968, 971, 972, 1066, 1069, 378, 102, 362,
174, 1053, 174, 1059, 1060, 77, 408, 66, 147, 174,
775, 52, 174, 1047, 174, 1060, 174, 1047, 174, 1047,
174, 1047, 326, 782, 174, 1047, 174, 700, 174, 227,
1060, 207, 174, 697, 698, 451, 855, 539, 846, 402,
840, 847, 848, 849, 1067, 841, 1057, 712, 713, 26,
713, 1057, 713, 26, 713, 1057, 713, 713, 713, 1057,
1055, 1055, 880, 713, 289, 451, 451, 558, 558, 558,
258, 373, 455, 558, 324, 937, 938, 455, 806, 1056,
451, 852, 52, 408, 406, 789, 790, 1045, 1047, 1065,
42, 433, 203, 453, 261, 261, 258, 158, 1056, 373,
153, 707, 258, 4, 6, 7, 8, 10, 34, 47,
49, 50, 57, 58, 61, 62, 69, 71, 93, 94,
95, 96, 97, 98, 99, 106, 107, 141, 145, 146,
151, 165, 167, 195, 196, 198, 213, 221, 222, 238,
240, 244, 249, 250, 252, 260, 270, 281, 296, 320,
335, 344, 358, 371, 372, 377, 379, 380, 389, 395,
403, 423, 424, 425, 426, 427, 428, 429, 430, 434,
441, 442, 443, 447, 451, 884, 955, 958, 961, 962,
963, 965, 966, 967, 971, 972, 976, 978, 979, 980,
982, 1003, 1004, 1005, 1009, 1028, 1033, 1042, 1043, 1053,
1054, 1055, 1056, 1065, 1041, 1042, 1056, 26, 502, 1044,
1045, 334, 484, 109, 493, 1056, 447, 494, 1064, 447,
1056, 1062, 42, 63, 484, 433, 345, 812, 261, 158,
373, 439, 42, 433, 203, 813, 451, 1045, 443, 449,
453, 1034, 1035, 938, 157, 159, 406, 837, 838, 840,
157, 843, 109, 976, 1038, 1039, 889, 455, 451, 844,
452, 452, 460, 1045, 26, 121, 895, 895, 52, 895,
148, 153, 217, 256, 902, 904, 905, 920, 922, 923,
924, 898, 899, 158, 199, 937, 939, 1040, 451, 758,
1035, 272, 306, 336, 453, 699, 272, 306, 336, 3,
80, 130, 223, 272, 306, 336, 365, 367, 415, 495,
498, 818, 819, 820, 821, 730, 22, 126, 272, 306,
336, 399, 509, 1047, 336, 22, 126, 394, 477, 419,
174, 937, 54, 87, 144, 177, 212, 244, 272, 306,
314, 321, 328, 336, 348, 356, 410, 495, 499, 761,
769, 451, 747, 306, 477, 180, 141, 22, 28, 68,
119, 126, 129, 154, 185, 242, 244, 254, 262, 272,
306, 309, 310, 336, 399, 507, 508, 616, 4, 442,
588, 1057, 26, 174, 1045, 698, 698, 451, 774, 453,
141, 258, 180, 469, 306, 415, 436, 462, 469, 258,
272, 306, 141, 53, 101, 182, 230, 232, 242, 271,
306, 311, 336, 350, 507, 585, 586, 272, 306, 407,
616, 624, 497, 485, 487, 180, 141, 306, 336, 507,
272, 306, 310, 336, 78, 118, 273, 367, 258, 22,
28, 126, 272, 306, 336, 519, 520, 153, 306, 336,
462, 498, 141, 306, 336, 507, 1047, 215, 111, 259,
420, 455, 811, 396, 835, 258, 1053, 451, 1047, 952,
378, 102, 362, 1053, 253, 408, 66, 147, 775, 1047,
1047, 326, 153, 1047, 952, 207, 698, 558, 292, 524,
451, 673, 758, 64, 952, 158, 451, 669, 1047, 462,
35, 829, 1047, 244, 462, 419, 174, 1045, 462, 698,
698, 669, 392, 539, 258, 462, 244, 42, 481, 383,
623, 272, 599, 78, 118, 273, 367, 24, 44, 194,
647, 35, 669, 153, 462, 408, 174, 1045, 174, 576,
1045, 1045, 408, 698, 77, 736, 1053, 1047, 153, 597,
48, 100, 192, 242, 325, 141, 758, 55, 312, 510,
141, 451, 141, 405, 969, 969, 969, 451, 957, 957,
283, 451, 959, 141, 61, 62, 969, 957, 954, 417,
436, 451, 973, 451, 973, 455, 510, 34, 953, 62,
451, 970, 104, 172, 231, 234, 327, 431, 451, 974,
975, 699, 957, 419, 141, 747, 141, 455, 174, 697,
174, 698, 174, 698, 141, 774, 1060, 141, 258, 141,
141, 258, 141, 510, 141, 78, 118, 273, 367, 153,
141, 258, 141, 510, 141, 153, 174, 174, 494, 141,
455, 510, 976, 1012, 362, 452, 455, 146, 258, 380,
491, 494, 588, 850, 846, 713, 880, 713, 880, 713,
880, 713, 880, 713, 880, 880, 880, 713, 880, 451,
559, 560, 1065, 559, 26, 103, 124, 155, 160, 207,
208, 324, 330, 362, 365, 383, 719, 1044, 1060, 718,
1047, 180, 455, 868, 1056, 952, 1015, 35, 1060, 736,
452, 455, 215, 1065, 153, 153, 719, 1060, 323, 1065,
494, 258, 451, 1036, 449, 884, 1016, 976, 1032, 451,
451, 153, 451, 451, 884, 451, 451, 451, 451, 451,
451, 976, 451, 451, 451, 451, 451, 451, 451, 451,
884, 451, 451, 451, 451, 451, 451, 451, 451, 976,
976, 976, 1036, 884, 976, 1012, 1035, 1056, 451, 1056,
3, 8, 11, 15, 16, 17, 32, 35, 40, 46,
70, 175, 180, 201, 202, 216, 247, 260, 263, 341,
434, 437, 438, 439, 441, 442, 443, 444, 445, 446,
447, 1007, 1009, 1011, 416, 991, 269, 976, 199, 455,
892, 451, 1056, 1035, 892, 112, 176, 503, 455, 63,
109, 1064, 35, 3, 109, 220, 492, 588, 972, 1062,
1056, 83, 123, 988, 92, 109, 447, 488, 489, 491,
588, 109, 488, 215, 1045, 976, 3, 26, 30, 31,
32, 33, 34, 35, 36, 39, 51, 57, 58, 64,
70, 72, 81, 88, 93, 94, 95, 97, 98, 99,
109, 111, 117, 121, 122, 128, 132, 136, 146, 148,
153, 155, 158, 163, 166, 169, 180, 187, 197, 199,
210, 211, 217, 221, 222, 244, 249, 256, 258, 259,
263, 264, 278, 287, 301, 313, 329, 335, 346, 359,
362, 370, 373, 374, 380, 388, 389, 395, 396, 404,
411, 412, 414, 415, 443, 1050, 1068, 1069, 1070, 1071,
1072, 1034, 84, 311, 702, 452, 455, 841, 452, 455,
890, 1046, 1047, 35, 844, 886, 886, 900, 901, 976,
886, 150, 241, 911, 205, 242, 295, 339, 394, 26,
906, 976, 907, 909, 976, 978, 920, 921, 905, 904,
902, 903, 153, 923, 254, 925, 902, 920, 939, 858,
1045, 35, 1065, 336, 180, 190, 264, 266, 338, 404,
443, 751, 752, 753, 755, 757, 759, 952, 1066, 272,
306, 336, 373, 373, 324, 1050, 453, 373, 373, 324,
217, 373, 373, 365, 484, 272, 818, 820, 439, 822,
153, 163, 180, 315, 731, 732, 64, 81, 137, 155,
287, 389, 555, 556, 81, 109, 244, 373, 81, 373,
109, 244, 324, 81, 119, 129, 272, 306, 665, 324,
605, 25, 58, 71, 85, 124, 135, 155, 160, 229,
260, 324, 330, 333, 362, 369, 376, 383, 408, 597,
1047, 141, 306, 336, 507, 258, 588, 328, 212, 373,
373, 249, 588, 113, 200, 324, 334, 375, 486, 312,
336, 761, 770, 452, 748, 751, 373, 395, 365, 1045,
72, 137, 546, 555, 1065, 72, 81, 793, 258, 320,
322, 378, 81, 793, 29, 309, 320, 322, 378, 320,
1045, 154, 185, 254, 698, 451, 373, 373, 173, 451,
514, 226, 365, 392, 415, 417, 514, 81, 455, 4,
272, 180, 141, 306, 336, 507, 396, 396, 243, 952,
272, 336, 775, 1047, 1045, 103, 498, 373, 464, 498,
1045, 373, 373, 1045, 588, 52, 587, 588, 588, 101,
230, 232, 52, 373, 462, 324, 462, 242, 586, 373,
373, 249, 1056, 616, 365, 937, 81, 373, 793, 324,
373, 373, 514, 514, 698, 698, 698, 698, 1045, 41,
401, 41, 41, 373, 41, 373, 324, 455, 395, 634,
1059, 373, 464, 1045, 373, 324, 272, 306, 295, 307,
332, 490, 811, 1051, 1065, 1045, 758, 952, 258, 201,
419, 747, 588, 698, 698, 774, 258, 201, 258, 78,
118, 273, 367, 952, 258, 201, 698, 201, 415, 530,
353, 354, 525, 1056, 3, 674, 675, 669, 451, 35,
698, 670, 671, 1068, 24, 818, 952, 258, 141, 602,
1047, 244, 451, 463, 683, 396, 299, 408, 1045, 463,
141, 1059, 88, 163, 482, 538, 582, 646, 714, 734,
814, 1056, 624, 625, 1059, 223, 698, 698, 698, 698,
254, 114, 193, 381, 394, 648, 649, 133, 294, 451,
634, 463, 1045, 244, 584, 585, 244, 35, 254, 451,
558, 558, 174, 579, 1045, 153, 174, 737, 1051, 451,
749, 35, 952, 207, 415, 417, 882, 325, 1053, 510,
952, 1048, 451, 1012, 1055, 700, 969, 969, 34, 953,
371, 371, 1055, 1055, 952, 449, 449, 336, 447, 1055,
1061, 373, 373, 373, 451, 373, 1055, 957, 174, 1047,
1053, 510, 1060, 1059, 141, 510, 141, 396, 141, 396,
775, 510, 510, 1047, 698, 1060, 1047, 698, 1047, 1047,
952, 1047, 698, 700, 1060, 634, 141, 141, 510, 697,
698, 452, 455, 174, 1045, 846, 848, 880, 880, 880,
880, 880, 880, 559, 452, 455, 452, 161, 331, 363,
1046, 697, 102, 333, 723, 724, 1046, 253, 1046, 1044,
1044, 1046, 697, 373, 415, 727, 136, 217, 631, 632,
20, 139, 320, 339, 869, 937, 248, 870, 452, 455,
853, 857, 865, 872, 883, 373, 1045, 787, 788, 790,
717, 716, 717, 158, 164, 728, 1065, 25, 72, 103,
124, 135, 155, 160, 208, 229, 317, 324, 330, 362,
365, 383, 408, 597, 708, 1012, 1034, 450, 1012, 1016,
1017, 411, 1029, 1030, 976, 1012, 451, 1055, 1055, 3,
104, 172, 231, 234, 327, 431, 447, 1018, 1019, 1056,
1012, 1012, 1012, 1055, 1055, 976, 775, 976, 1020, 320,
441, 442, 451, 977, 978, 1009, 1022, 452, 1012, 976,
1012, 1023, 976, 51, 158, 211, 374, 976, 1012, 1026,
1012, 236, 978, 976, 986, 987, 988, 236, 976, 988,
452, 455, 447, 1055, 974, 952, 976, 976, 976, 976,
1068, 371, 39, 359, 1037, 698, 976, 451, 884, 1027,
121, 123, 146, 244, 249, 254, 380, 390, 976, 451,
976, 373, 46, 175, 180, 216, 341, 976, 976, 976,
976, 976, 976, 976, 976, 976, 976, 976, 26, 33,
346, 1006, 166, 149, 992, 320, 451, 1003, 162, 220,
362, 366, 368, 392, 893, 1045, 1043, 158, 927, 26,
121, 404, 443, 452, 753, 976, 1013, 1014, 1066, 927,
1045, 375, 451, 1056, 455, 452, 450, 456, 173, 173,
510, 1045, 838, 839, 1045, 1038, 452, 455, 451, 455,
36, 117, 396, 743, 451, 908, 1057, 339, 205, 259,
455, 320, 321, 910, 1044, 248, 343, 871, 921, 903,
396, 866, 109, 451, 859, 883, 35, 1065, 451, 873,
874, 875, 876, 877, 1065, 266, 52, 1066, 452, 753,
755, 752, 755, 1066, 264, 452, 455, 699, 373, 373,
324, 1059, 1047, 1047, 1050, 1059, 1047, 1047, 1059, 1048,
1047, 109, 491, 1057, 317, 395, 716, 324, 163, 716,
451, 1047, 396, 738, 205, 205, 396, 451, 574, 174,
1047, 249, 1059, 1047, 1047, 976, 249, 1047, 1047, 29,
309, 373, 373, 1047, 373, 606, 1053, 451, 698, 698,
952, 378, 102, 362, 724, 408, 66, 147, 775, 1047,
698, 1047, 698, 326, 153, 952, 698, 207, 168, 242,
272, 306, 400, 609, 610, 611, 937, 373, 793, 324,
249, 113, 200, 1059, 1047, 258, 1047, 452, 455, 1058,
1060, 1047, 306, 507, 546, 952, 1047, 1065, 1047, 215,
1047, 26, 395, 1047, 174, 1047, 174, 1065, 322, 378,
322, 378, 215, 1047, 26, 395, 1047, 215, 320, 1045,
22, 126, 336, 617, 618, 619, 620, 1068, 1059, 1047,
109, 159, 245, 396, 513, 516, 517, 1068, 1047, 257,
68, 257, 1047, 508, 373, 365, 1045, 373, 793, 324,
1049, 1065, 1049, 455, 452, 455, 373, 324, 258, 306,
373, 643, 1048, 1058, 3, 80, 131, 185, 277, 387,
395, 398, 465, 306, 1059, 1047, 306, 336, 507, 585,
588, 698, 1047, 588, 1047, 588, 1059, 1047, 1047, 306,
336, 507, 1047, 1047, 1047, 1047, 1059, 1047, 22, 28,
126, 272, 306, 336, 272, 306, 336, 669, 306, 336,
306, 336, 306, 951, 1065, 174, 679, 1065, 174, 1065,
1059, 1047, 1047, 1047, 22, 520, 333, 1058, 306, 336,
507, 1047, 1047, 373, 373, 76, 386, 295, 201, 35,
124, 698, 249, 705, 1056, 201, 201, 396, 396, 201,
698, 705, 698, 207, 698, 705, 201, 705, 257, 158,
373, 523, 462, 439, 452, 455, 976, 952, 452, 455,
439, 648, 548, 1068, 1047, 158, 324, 407, 603, 610,
611, 141, 216, 540, 542, 544, 546, 552, 555, 23,
180, 317, 360, 465, 466, 153, 1049, 408, 1045, 153,
644, 480, 1065, 481, 263, 539, 155, 1056, 669, 669,
669, 669, 254, 258, 263, 451, 669, 949, 950, 951,
333, 451, 141, 141, 140, 883, 698, 540, 1065, 415,
417, 570, 415, 515, 244, 35, 558, 1056, 244, 258,
452, 750, 751, 756, 35, 207, 314, 376, 414, 760,
761, 762, 258, 207, 494, 171, 171, 153, 758, 35,
1012, 452, 452, 510, 449, 433, 433, 452, 452, 1055,
450, 1055, 1065, 452, 172, 231, 975, 231, 975, 975,
1055, 234, 452, 141, 510, 747, 697, 698, 1049, 698,
1049, 774, 258, 510, 258, 510, 510, 207, 258, 510,
510, 333, 153, 494, 510, 976, 244, 452, 560, 180,
180, 180, 419, 1046, 455, 588, 589, 166, 720, 721,
1059, 23, 728, 373, 451, 158, 139, 339, 139, 339,
320, 394, 233, 952, 1059, 415, 577, 1045, 1047, 158,
258, 720, 52, 510, 1053, 952, 378, 362, 1053, 253,
408, 952, 207, 698, 452, 450, 450, 455, 976, 128,
1030, 1031, 35, 452, 976, 452, 452, 158, 452, 158,
452, 452, 452, 452, 452, 455, 452, 278, 1021, 452,
451, 977, 977, 1012, 11, 15, 16, 17, 180, 201,
260, 437, 438, 439, 441, 442, 443, 444, 445, 446,
447, 1009, 977, 452, 452, 153, 158, 1024, 1025, 452,
35, 1026, 1012, 1026, 1026, 158, 452, 452, 1068, 276,
990, 35, 452, 455, 976, 1068, 455, 976, 1036, 976,
452, 452, 433, 977, 977, 134, 1012, 158, 121, 123,
146, 249, 254, 380, 390, 451, 134, 775, 976, 359,
1037, 976, 1027, 976, 373, 451, 884, 451, 451, 268,
996, 451, 1012, 366, 368, 366, 368, 1045, 894, 894,
894, 210, 321, 451, 884, 928, 929, 930, 937, 942,
979, 981, 982, 1053, 1065, 412, 947, 1013, 1013, 1014,
452, 13, 14, 455, 898, 899, 947, 812, 1055, 974,
489, 976, 844, 1047, 853, 901, 260, 1007, 1010, 435,
744, 976, 910, 394, 907, 225, 928, 412, 948, 402,
860, 861, 1065, 258, 862, 1065, 877, 878, 455, 927,
439, 1036, 759, 699, 755, 755, 52, 757, 445, 1059,
1047, 1047, 1060, 1060, 258, 1046, 261, 258, 976, 556,
1049, 451, 451, 451, 574, 183, 559, 657, 141, 510,
373, 1059, 1047, 494, 758, 952, 1047, 419, 698, 698,
698, 698, 774, 78, 118, 273, 367, 952, 1047, 592,
1047, 168, 400, 373, 373, 592, 609, 616, 306, 336,
507, 1047, 1047, 1047, 191, 249, 751, 271, 336, 373,
262, 614, 657, 126, 310, 336, 509, 616, 794, 328,
141, 510, 141, 510, 1047, 1047, 1047, 1047, 328, 328,
215, 619, 620, 619, 452, 455, 621, 1056, 183, 452,
455, 439, 453, 1059, 1047, 306, 336, 507, 1047, 1047,
1047, 272, 306, 336, 22, 126, 272, 306, 336, 952,
243, 952, 1059, 1047, 1045, 373, 1060, 396, 640, 217,
277, 249, 447, 1056, 1063, 277, 1060, 393, 373, 373,
324, 271, 336, 81, 373, 793, 324, 373, 373, 227,
227, 227, 373, 373, 324, 373, 373, 324, 373, 324,
373, 324, 373, 510, 952, 244, 1056, 336, 794, 141,
510, 373, 1047, 373, 324, 1059, 1047, 705, 952, 698,
201, 705, 705, 1049, 1049, 705, 201, 201, 1047, 201,
705, 524, 451, 526, 527, 260, 441, 442, 588, 672,
755, 1010, 1056, 1072, 3, 675, 452, 452, 671, 672,
258, 64, 70, 81, 109, 111, 187, 244, 249, 287,
301, 389, 549, 550, 551, 140, 411, 462, 494, 1047,
494, 614, 1045, 1045, 452, 455, 1060, 166, 317, 1060,
1055, 383, 1045, 558, 26, 114, 193, 329, 394, 645,
373, 642, 42, 481, 308, 362, 102, 515, 559, 1045,
649, 676, 677, 1056, 452, 455, 1047, 559, 1045, 576,
1045, 1047, 577, 451, 541, 452, 257, 514, 257, 258,
571, 514, 35, 141, 883, 515, 373, 141, 1045, 452,
455, 109, 439, 763, 1056, 494, 362, 754, 755, 153,
764, 415, 762, 765, 114, 193, 329, 394, 802, 1047,
168, 883, 510, 952, 452, 1055, 973, 973, 450, 450,
970, 452, 1047, 510, 510, 396, 510, 396, 510, 510,
698, 698, 1047, 698, 1047, 634, 510, 141, 324, 324,
324, 1046, 724, 455, 1059, 415, 455, 722, 261, 938,
333, 139, 139, 102, 242, 1060, 719, 510, 1059, 758,
201, 747, 588, 201, 698, 201, 1016, 370, 976, 132,
952, 452, 976, 976, 976, 976, 1024, 452, 1012, 455,
952, 977, 977, 977, 977, 121, 123, 244, 254, 977,
977, 977, 977, 977, 977, 977, 977, 977, 977, 977,
976, 976, 1025, 1024, 952, 452, 452, 452, 1012, 452,
455, 52, 978, 452, 1068, 987, 284, 357, 989, 452,
455, 407, 983, 35, 452, 447, 1056, 976, 32, 32,
976, 452, 976, 158, 451, 1015, 976, 452, 134, 977,
977, 134, 134, 976, 976, 899, 412, 451, 997, 1065,
452, 1012, 455, 894, 894, 894, 894, 1045, 1045, 1045,
884, 942, 158, 884, 929, 930, 35, 931, 932, 1065,
455, 89, 159, 189, 204, 214, 239, 316, 934, 932,
35, 931, 933, 1065, 436, 946, 451, 1035, 976, 166,
912, 455, 898, 898, 898, 976, 976, 404, 1014, 452,
912, 452, 450, 452, 451, 744, 150, 209, 452, 259,
92, 976, 313, 864, 452, 455, 1036, 79, 864, 452,
455, 874, 948, 1038, 452, 445, 759, 383, 161, 331,
363, 384, 733, 153, 733, 452, 451, 562, 563, 740,
981, 1065, 559, 559, 657, 1051, 452, 111, 187, 242,
244, 658, 1047, 1047, 35, 1047, 396, 396, 698, 698,
698, 698, 207, 699, 1059, 1047, 373, 793, 324, 373,
191, 52, 365, 1047, 451, 548, 244, 514, 102, 244,
352, 355, 514, 383, 1047, 1065, 328, 618, 1047, 517,
672, 1068, 271, 336, 373, 793, 324, 373, 373, 373,
324, 160, 260, 355, 681, 682, 160, 260, 689, 690,
373, 373, 324, 452, 452, 452, 306, 1047, 451, 415,
641, 1057, 1063, 1063, 1056, 1047, 1047, 1047, 52, 365,
1047, 1047, 1047, 1047, 1047, 1047, 153, 153, 308, 153,
174, 1059, 1047, 1047, 1059, 1047, 1047, 1047, 1047, 1047,
1047, 1047, 70, 511, 141, 24, 44, 383, 1065, 1047,
616, 1047, 1047, 452, 201, 705, 201, 201, 705, 705,
201, 705, 525, 533, 534, 1068, 48, 90, 115, 130,
134, 154, 157, 170, 249, 257, 293, 528, 657, 415,
417, 1045, 451, 698, 1047, 977, 112, 176, 111, 249,
205, 1045, 765, 291, 661, 662, 1065, 602, 451, 553,
186, 569, 544, 1060, 1060, 952, 451, 515, 1060, 640,
1059, 174, 1045, 419, 153, 650, 452, 455, 951, 614,
452, 584, 35, 254, 451, 855, 543, 545, 547, 555,
1065, 570, 569, 75, 365, 572, 883, 579, 577, 572,
1056, 1051, 738, 756, 976, 976, 455, 451, 760, 383,
455, 669, 373, 451, 592, 452, 450, 510, 1049, 1049,
510, 510, 510, 510, 333, 1046, 1046, 1046, 588, 163,
721, 452, 1047, 102, 728, 158, 201, 249, 709, 1056,
201, 201, 709, 201, 709, 976, 452, 452, 1025, 452,
976, 158, 121, 123, 254, 451, 452, 422, 985, 1012,
300, 52, 413, 413, 452, 976, 242, 976, 455, 984,
954, 974, 976, 976, 976, 1015, 452, 976, 32, 32,
976, 976, 134, 452, 452, 976, 998, 1065, 452, 976,
1045, 1045, 1045, 1045, 932, 933, 451, 452, 1065, 451,
929, 204, 267, 935, 929, 935, 204, 934, 935, 204,
364, 940, 451, 1065, 451, 265, 1013, 52, 169, 919,
452, 452, 452, 1014, 1056, 919, 1056, 775, 254, 1042,
883, 861, 258, 451, 863, 439, 877, 864, 383, 452,
373, 716, 158, 657, 976, 452, 455, 415, 70, 741,
741, 452, 452, 765, 112, 176, 185, 111, 398, 510,
952, 1049, 1049, 1047, 1047, 1047, 1047, 1047, 1060, 1047,
615, 619, 249, 249, 1057, 1065, 952, 510, 510, 439,
52, 365, 1047, 1047, 1047, 1047, 1059, 1047, 1047, 1055,
1055, 952, 455, 1055, 1055, 455, 1059, 1047, 1047, 373,
976, 64, 1060, 1047, 373, 373, 1046, 1046, 698, 1046,
141, 698, 1056, 1056, 952, 510, 510, 201, 705, 705,
705, 705, 396, 531, 532, 452, 455, 443, 451, 491,
535, 588, 829, 1056, 829, 244, 249, 293, 829, 829,
160, 190, 160, 158, 656, 976, 244, 550, 765, 558,
396, 573, 1053, 32, 140, 180, 540, 138, 181, 451,
333, 396, 559, 35, 641, 481, 244, 451, 1047, 127,
651, 411, 653, 1056, 515, 883, 698, 540, 577, 452,
455, 415, 571, 570, 114, 126, 284, 1047, 415, 815,
35, 158, 258, 451, 1056, 753, 766, 767, 1066, 765,
952, 153, 1045, 158, 373, 784, 188, 593, 510, 510,
510, 1047, 261, 199, 510, 720, 709, 709, 709, 709,
452, 977, 158, 451, 1015, 451, 452, 455, 452, 978,
300, 452, 401, 349, 452, 452, 452, 976, 976, 976,
452, 275, 999, 452, 943, 944, 981, 931, 451, 1046,
929, 258, 396, 936, 929, 204, 929, 1053, 950, 451,
950, 1065, 898, 91, 167, 319, 451, 913, 914, 915,
916, 917, 918, 976, 976, 414, 993, 898, 993, 452,
880, 81, 739, 740, 122, 451, 884, 1040, 720, 258,
720, 452, 765, 563, 260, 775, 698, 396, 698, 742,
742, 301, 765, 573, 452, 373, 336, 870, 452, 455,
511, 672, 1060, 1047, 373, 451, 1053, 775, 682, 451,
451, 690, 1047, 452, 451, 336, 870, 1047, 1047, 415,
436, 832, 308, 832, 832, 153, 511, 705, 462, 116,
534, 491, 536, 537, 1056, 1056, 249, 559, 443, 559,
1056, 1056, 724, 35, 780, 780, 1045, 657, 452, 573,
228, 561, 183, 451, 662, 291, 451, 452, 26, 74,
82, 110, 184, 355, 554, 554, 1044, 1047, 1049, 452,
883, 141, 614, 320, 351, 652, 451, 140, 35, 577,
541, 452, 545, 262, 572, 571, 321, 321, 56, 64,
220, 883, 698, 1045, 739, 755, 452, 455, 383, 947,
347, 347, 452, 592, 242, 400, 594, 595, 1047, 510,
977, 1015, 452, 986, 1012, 52, 242, 432, 52, 898,
452, 455, 35, 945, 1046, 452, 976, 451, 929, 936,
451, 452, 950, 452, 452, 451, 337, 451, 452, 455,
994, 995, 1065, 452, 1047, 452, 455, 245, 394, 722,
733, 510, 741, 573, 451, 698, 743, 743, 1045, 573,
657, 1047, 365, 619, 396, 512, 336, 870, 1047, 1015,
747, 153, 685, 774, 1015, 1015, 976, 365, 697, 698,
697, 698, 1046, 510, 526, 1056, 452, 455, 559, 780,
38, 178, 153, 242, 557, 159, 274, 342, 258, 565,
566, 567, 365, 452, 1053, 5, 663, 569, 452, 614,
147, 684, 515, 815, 1045, 976, 291, 883, 570, 569,
548, 572, 64, 261, 64, 577, 738, 452, 760, 766,
952, 122, 415, 415, 400, 592, 614, 452, 452, 452,
300, 401, 1012, 294, 321, 1000, 946, 943, 451, 452,
1046, 1012, 452, 1012, 451, 1012, 914, 455, 35, 947,
740, 336, 158, 742, 412, 564, 775, 744, 744, 558,
657, 1047, 976, 365, 452, 264, 326, 298, 686, 685,
452, 452, 452, 1047, 832, 537, 127, 185, 114, 394,
258, 567, 258, 566, 1047, 451, 452, 455, 333, 698,
35, 35, 451, 452, 1053, 815, 571, 570, 261, 261,
451, 515, 765, 27, 194, 803, 160, 160, 46, 92,
385, 976, 1001, 1002, 1001, 452, 950, 452, 452, 452,
913, 452, 995, 997, 873, 720, 743, 451, 657, 452,
561, 870, 1047, 1053, 52, 686, 870, 698, 320, 55,
242, 312, 336, 568, 568, 452, 5, 1047, 681, 883,
451, 572, 571, 739, 572, 245, 451, 798, 800, 805,
857, 865, 872, 883, 724, 724, 1002, 320, 152, 282,
152, 282, 452, 307, 941, 452, 947, 510, 744, 976,
565, 870, 747, 698, 653, 21, 109, 249, 614, 815,
4, 654, 655, 1055, 1056, 1068, 572, 452, 947, 799,
800, 801, 884, 885, 455, 455, 32, 451, 452, 657,
140, 452, 455, 515, 452, 454, 373, 158, 1002, 976,
291, 655, 572, 801, 347, 347, 452, 1053, 947, 415,
415, 451, 160, 160, 654, 724, 724, 452
};
#define yyerrok (yyerrstatus = 0)
#define yyclearin (yychar = YYEMPTY)
#define YYEMPTY (-2)
#define YYEOF 0
#define YYACCEPT goto yyacceptlab
#define YYABORT goto yyabortlab
#define YYERROR goto yyerrorlab
/* Like YYERROR except do call yyerror. This remains here temporarily
to ease the transition to the new meaning of YYERROR, for GCC.
Once GCC version 2 has supplanted version 1, this can go. */
#define YYFAIL goto yyerrlab
#define YYRECOVERING() (!!yyerrstatus)
#define YYBACKUP(Token, Value) \
do \
if (yychar == YYEMPTY && yylen == 1) \
{ \
yychar = (Token); \
yylval = (Value); \
yytoken = YYTRANSLATE (yychar); \
YYPOPSTACK (1); \
goto yybackup; \
} \
else \
{ \
yyerror (&yylloc, yyscanner, YY_("syntax error: cannot back up")); \
YYERROR; \
} \
while (YYID (0))
#define YYTERROR 1
#define YYERRCODE 256
/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
If N is 0, then set CURRENT to the empty location which ends
the previous symbol: RHS[0] (always defined). */
#define YYRHSLOC(Rhs, K) ((Rhs)[K])
#ifndef YYLLOC_DEFAULT
# define YYLLOC_DEFAULT(Current, Rhs, N) \
do \
if (YYID (N)) \
{ \
(Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
(Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
(Current).last_line = YYRHSLOC (Rhs, N).last_line; \
(Current).last_column = YYRHSLOC (Rhs, N).last_column; \
} \
else \
{ \
(Current).first_line = (Current).last_line = \
YYRHSLOC (Rhs, 0).last_line; \
(Current).first_column = (Current).last_column = \
YYRHSLOC (Rhs, 0).last_column; \
} \
while (YYID (0))
#endif
/* YY_LOCATION_PRINT -- Print the location on the stream.
This macro was not mandated originally: define only if we know
we won't break user code: when these are the locations we know. */
#ifndef YY_LOCATION_PRINT
# if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
# define YY_LOCATION_PRINT(File, Loc) \
fprintf (File, "%d.%d-%d.%d", \
(Loc).first_line, (Loc).first_column, \
(Loc).last_line, (Loc).last_column)
# else
# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
# endif
#endif
/* YYLEX -- calling `yylex' with the right arguments. */
#ifdef YYLEX_PARAM
# define YYLEX yylex (&yylval, &yylloc, YYLEX_PARAM)
#else
# define YYLEX yylex (&yylval, &yylloc, yyscanner)
#endif
/* Enable debugging if requested. */
#if YYDEBUG
# ifndef YYFPRINTF
# include <stdio.h> /* INFRINGES ON USER NAME SPACE */
# define YYFPRINTF fprintf
# endif
# define YYDPRINTF(Args) \
do { \
if (yydebug) \
YYFPRINTF Args; \
} while (YYID (0))
# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
do { \
if (yydebug) \
{ \
YYFPRINTF (stderr, "%s ", Title); \
yy_symbol_print (stderr, \
Type, Value, Location, yyscanner); \
YYFPRINTF (stderr, "\n"); \
} \
} while (YYID (0))
/*--------------------------------.
| Print this symbol on YYOUTPUT. |
`--------------------------------*/
/*ARGSUSED*/
#if (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
static void
yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, core_yyscan_t yyscanner)
#else
static void
yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp, yyscanner)
FILE *yyoutput;
int yytype;
YYSTYPE const * const yyvaluep;
YYLTYPE const * const yylocationp;
core_yyscan_t yyscanner;
#endif
{
if (!yyvaluep)
return;
YYUSE (yylocationp);
YYUSE (yyscanner);
# ifdef YYPRINT
if (yytype < YYNTOKENS)
YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
# else
YYUSE (yyoutput);
# endif
switch (yytype)
{
default:
break;
}
}
/*--------------------------------.
| Print this symbol on YYOUTPUT. |
`--------------------------------*/
#if (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
static void
yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, core_yyscan_t yyscanner)
#else
static void
yy_symbol_print (yyoutput, yytype, yyvaluep, yylocationp, yyscanner)
FILE *yyoutput;
int yytype;
YYSTYPE const * const yyvaluep;
YYLTYPE const * const yylocationp;
core_yyscan_t yyscanner;
#endif
{
if (yytype < YYNTOKENS)
YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
else
YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
YY_LOCATION_PRINT (yyoutput, *yylocationp);
YYFPRINTF (yyoutput, ": ");
yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp, yyscanner);
YYFPRINTF (yyoutput, ")");
}
/*------------------------------------------------------------------.
| yy_stack_print -- Print the state stack from its BOTTOM up to its |
| TOP (included). |
`------------------------------------------------------------------*/
#if (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
static void
yy_stack_print (yytype_int16 *bottom, yytype_int16 *top)
#else
static void
yy_stack_print (bottom, top)
yytype_int16 *bottom;
yytype_int16 *top;
#endif
{
YYFPRINTF (stderr, "Stack now");
for (; bottom <= top; ++bottom)
YYFPRINTF (stderr, " %d", *bottom);
YYFPRINTF (stderr, "\n");
}
# define YY_STACK_PRINT(Bottom, Top) \
do { \
if (yydebug) \
yy_stack_print ((Bottom), (Top)); \
} while (YYID (0))
/*------------------------------------------------.
| Report that the YYRULE is going to be reduced. |
`------------------------------------------------*/
#if (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
static void
yy_reduce_print (YYSTYPE *yyvsp, YYLTYPE *yylsp, int yyrule, core_yyscan_t yyscanner)
#else
static void
yy_reduce_print (yyvsp, yylsp, yyrule, yyscanner)
YYSTYPE *yyvsp;
YYLTYPE *yylsp;
int yyrule;
core_yyscan_t yyscanner;
#endif
{
int yynrhs = yyr2[yyrule];
int yyi;
unsigned long int yylno = yyrline[yyrule];
YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
yyrule - 1, yylno);
/* The symbols being reduced. */
for (yyi = 0; yyi < yynrhs; yyi++)
{
fprintf (stderr, " $%d = ", yyi + 1);
yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
&(yyvsp[(yyi + 1) - (yynrhs)])
, &(yylsp[(yyi + 1) - (yynrhs)]) , yyscanner);
fprintf (stderr, "\n");
}
}
# define YY_REDUCE_PRINT(Rule) \
do { \
if (yydebug) \
yy_reduce_print (yyvsp, yylsp, Rule, yyscanner); \
} while (YYID (0))
/* Nonzero means print parse trace. It is left uninitialized so that
multiple parsers can coexist. */
int yydebug;
#else /* !YYDEBUG */
# define YYDPRINTF(Args)
# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
# define YY_STACK_PRINT(Bottom, Top)
# define YY_REDUCE_PRINT(Rule)
#endif /* !YYDEBUG */
/* YYINITDEPTH -- initial size of the parser's stacks. */
#ifndef YYINITDEPTH
# define YYINITDEPTH 200
#endif
/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
if the built-in stack extension method is used).
Do not make this value too large; the results are undefined if
YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
evaluated with infinite-precision integer arithmetic. */
#ifndef YYMAXDEPTH
# define YYMAXDEPTH 10000
#endif
#if YYERROR_VERBOSE
# ifndef yystrlen
# if defined __GLIBC__ && defined _STRING_H
# define yystrlen strlen
# else
/* Return the length of YYSTR. */
#if (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
static YYSIZE_T
yystrlen (const char *yystr)
#else
static YYSIZE_T
yystrlen (yystr)
const char *yystr;
#endif
{
YYSIZE_T yylen;
for (yylen = 0; yystr[yylen]; yylen++)
continue;
return yylen;
}
# endif
# endif
# ifndef yystpcpy
# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
# define yystpcpy stpcpy
# else
/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
YYDEST. */
#if (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
static char *
yystpcpy (char *yydest, const char *yysrc)
#else
static char *
yystpcpy (yydest, yysrc)
char *yydest;
const char *yysrc;
#endif
{
char *yyd = yydest;
const char *yys = yysrc;
while ((*yyd++ = *yys++) != '\0')
continue;
return yyd - 1;
}
# endif
# endif
# ifndef yytnamerr
/* Copy to YYRES the contents of YYSTR after stripping away unnecessary
quotes and backslashes, so that it's suitable for yyerror. The
heuristic is that double-quoting is unnecessary unless the string
contains an apostrophe, a comma, or backslash (other than
backslash-backslash). YYSTR is taken from yytname. If YYRES is
null, do not copy; instead, return the length of what the result
would have been. */
static YYSIZE_T
yytnamerr (char *yyres, const char *yystr)
{
if (*yystr == '"')
{
YYSIZE_T yyn = 0;
char const *yyp = yystr;
for (;;)
switch (*++yyp)
{
case '\'':
case ',':
goto do_not_strip_quotes;
case '\\':
if (*++yyp != '\\')
goto do_not_strip_quotes;
/* Fall through. */
default:
if (yyres)
yyres[yyn] = *yyp;
yyn++;
break;
case '"':
if (yyres)
yyres[yyn] = '\0';
return yyn;
}
do_not_strip_quotes: ;
}
if (! yyres)
return yystrlen (yystr);
return yystpcpy (yyres, yystr) - yyres;
}
# endif
/* Copy into YYRESULT an error message about the unexpected token
YYCHAR while in state YYSTATE. Return the number of bytes copied,
including the terminating null byte. If YYRESULT is null, do not
copy anything; just return the number of bytes that would be
copied. As a special case, return 0 if an ordinary "syntax error"
message will do. Return YYSIZE_MAXIMUM if overflow occurs during
size calculation. */
static YYSIZE_T
yysyntax_error (char *yyresult, int yystate, int yychar)
{
int yyn = yypact[yystate];
if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
return 0;
else
{
int yytype = YYTRANSLATE (yychar);
YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
YYSIZE_T yysize = yysize0;
YYSIZE_T yysize1;
int yysize_overflow = 0;
enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
int yyx;
# if 0
/* This is so xgettext sees the translatable formats that are
constructed on the fly. */
YY_("syntax error, unexpected %s");
YY_("syntax error, unexpected %s, expecting %s");
YY_("syntax error, unexpected %s, expecting %s or %s");
YY_("syntax error, unexpected %s, expecting %s or %s or %s");
YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
# endif
char *yyfmt;
char const *yyf;
static char const yyunexpected[] = "syntax error, unexpected %s";
static char const yyexpecting[] = ", expecting %s";
static char const yyor[] = " or %s";
char yyformat[sizeof yyunexpected
+ sizeof yyexpecting - 1
+ ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
* (sizeof yyor - 1))];
char const *yyprefix = yyexpecting;
/* Start YYX at -YYN if negative to avoid negative indexes in
YYCHECK. */
int yyxbegin = yyn < 0 ? -yyn : 0;
/* Stay within bounds of both yycheck and yytname. */
int yychecklim = YYLAST - yyn + 1;
int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
int yycount = 1;
yyarg[0] = yytname[yytype];
yyfmt = yystpcpy (yyformat, yyunexpected);
for (yyx = yyxbegin; yyx < yyxend; ++yyx)
if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
{
if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
{
yycount = 1;
yysize = yysize0;
yyformat[sizeof yyunexpected - 1] = '\0';
break;
}
yyarg[yycount++] = yytname[yyx];
yysize1 = yysize + yytnamerr (0, yytname[yyx]);
yysize_overflow |= (yysize1 < yysize);
yysize = yysize1;
yyfmt = yystpcpy (yyfmt, yyprefix);
yyprefix = yyor;
}
yyf = YY_(yyformat);
yysize1 = yysize + yystrlen (yyf);
yysize_overflow |= (yysize1 < yysize);
yysize = yysize1;
if (yysize_overflow)
return YYSIZE_MAXIMUM;
if (yyresult)
{
/* Avoid sprintf, as that infringes on the user's name space.
Don't have undefined behavior even if the translation
produced a string with the wrong number of "%s"s. */
char *yyp = yyresult;
int yyi = 0;
while ((*yyp = *yyf) != '\0')
{
if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
{
yyp += yytnamerr (yyp, yyarg[yyi++]);
yyf += 2;
}
else
{
yyp++;
yyf++;
}
}
}
return yysize;
}
}
#endif /* YYERROR_VERBOSE */
/*-----------------------------------------------.
| Release the memory associated to this symbol. |
`-----------------------------------------------*/
/*ARGSUSED*/
#if (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
static void
yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocationp, core_yyscan_t yyscanner)
#else
static void
yydestruct (yymsg, yytype, yyvaluep, yylocationp, yyscanner)
const char *yymsg;
int yytype;
YYSTYPE *yyvaluep;
YYLTYPE *yylocationp;
core_yyscan_t yyscanner;
#endif
{
YYUSE (yyvaluep);
YYUSE (yylocationp);
YYUSE (yyscanner);
if (!yymsg)
yymsg = "Deleting";
YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
switch (yytype)
{
default:
break;
}
}
/* Prevent warnings from -Wmissing-prototypes. */
#ifdef YYPARSE_PARAM
#if defined __STDC__ || defined __cplusplus
int yyparse (void *YYPARSE_PARAM);
#else
int yyparse ();
#endif
#else /* ! YYPARSE_PARAM */
#if defined __STDC__ || defined __cplusplus
int yyparse (core_yyscan_t yyscanner);
#else
int yyparse ();
#endif
#endif /* ! YYPARSE_PARAM */
/*----------.
| yyparse. |
`----------*/
#ifdef YYPARSE_PARAM
#if (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
int
yyparse (void *YYPARSE_PARAM)
#else
int
yyparse (YYPARSE_PARAM)
void *YYPARSE_PARAM;
#endif
#else /* ! YYPARSE_PARAM */
#if (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
int
yyparse (core_yyscan_t yyscanner)
#else
int
yyparse (yyscanner)
core_yyscan_t yyscanner;
#endif
#endif
{
/* The look-ahead symbol. */
int yychar;
/* The semantic value of the look-ahead symbol. */
YYSTYPE yylval;
/* Number of syntax errors so far. */
int yynerrs;
/* Location data for the look-ahead symbol. */
YYLTYPE yylloc;
int yystate;
int yyn;
int yyresult;
/* Number of tokens to shift before error messages enabled. */
int yyerrstatus;
/* Look-ahead token as an internal (translated) token number. */
int yytoken = 0;
#if YYERROR_VERBOSE
/* Buffer for error messages, and its allocated size. */
char yymsgbuf[128];
char *yymsg = yymsgbuf;
YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
#endif
/* Three stacks and their tools:
`yyss': related to states,
`yyvs': related to semantic values,
`yyls': related to locations.
Refer to the stacks thru separate pointers, to allow yyoverflow
to reallocate them elsewhere. */
/* The state stack. */
yytype_int16 yyssa[YYINITDEPTH];
yytype_int16 *yyss = yyssa;
yytype_int16 *yyssp;
/* The semantic value stack. */
YYSTYPE yyvsa[YYINITDEPTH];
YYSTYPE *yyvs = yyvsa;
YYSTYPE *yyvsp;
/* The location stack. */
YYLTYPE yylsa[YYINITDEPTH];
YYLTYPE *yyls = yylsa;
YYLTYPE *yylsp;
/* The locations where the error started and ended. */
YYLTYPE yyerror_range[2];
#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N), yylsp -= (N))
YYSIZE_T yystacksize = YYINITDEPTH;
/* The variables used to return semantic value and location from the
action routines. */
YYSTYPE yyval;
YYLTYPE yyloc;
/* The number of symbols on the RHS of the reduced rule.
Keep to zero when no symbol should be popped. */
int yylen = 0;
YYDPRINTF ((stderr, "Starting parse\n"));
yystate = 0;
yyerrstatus = 0;
yynerrs = 0;
yychar = YYEMPTY; /* Cause a token to be read. */
/* Initialize stack pointers.
Waste one element of value and location stack
so that they stay on the same level as the state stack.
The wasted elements are never initialized. */
yyssp = yyss;
yyvsp = yyvs;
yylsp = yyls;
#if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
/* Initialize the default location before parsing starts. */
yylloc.first_line = yylloc.last_line = 1;
yylloc.first_column = yylloc.last_column = 0;
#endif
goto yysetstate;
/*------------------------------------------------------------.
| yynewstate -- Push a new state, which is found in yystate. |
`------------------------------------------------------------*/
yynewstate:
/* In all cases, when you get here, the value and location stacks
have just been pushed. So pushing a state here evens the stacks. */
yyssp++;
yysetstate:
*yyssp = yystate;
if (yyss + yystacksize - 1 <= yyssp)
{
/* Get the current used size of the three stacks, in elements. */
YYSIZE_T yysize = yyssp - yyss + 1;
#ifdef yyoverflow
{
/* Give user a chance to reallocate the stack. Use copies of
these so that the &'s don't force the real ones into
memory. */
YYSTYPE *yyvs1 = yyvs;
yytype_int16 *yyss1 = yyss;
YYLTYPE *yyls1 = yyls;
/* Each stack pointer address is followed by the size of the
data in use in that stack, in bytes. This used to be a
conditional around just the two extra args, but that might
be undefined if yyoverflow is a macro. */
yyoverflow (YY_("memory exhausted"),
&yyss1, yysize * sizeof (*yyssp),
&yyvs1, yysize * sizeof (*yyvsp),
&yyls1, yysize * sizeof (*yylsp),
&yystacksize);
yyls = yyls1;
yyss = yyss1;
yyvs = yyvs1;
}
#else /* no yyoverflow */
# ifndef YYSTACK_RELOCATE
goto yyexhaustedlab;
# else
/* Extend the stack our own way. */
if (YYMAXDEPTH <= yystacksize)
goto yyexhaustedlab;
yystacksize *= 2;
if (YYMAXDEPTH < yystacksize)
yystacksize = YYMAXDEPTH;
{
yytype_int16 *yyss1 = yyss;
union yyalloc *yyptr =
(union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
if (! yyptr)
goto yyexhaustedlab;
YYSTACK_RELOCATE (yyss);
YYSTACK_RELOCATE (yyvs);
YYSTACK_RELOCATE (yyls);
# undef YYSTACK_RELOCATE
if (yyss1 != yyssa)
YYSTACK_FREE (yyss1);
}
# endif
#endif /* no yyoverflow */
yyssp = yyss + yysize - 1;
yyvsp = yyvs + yysize - 1;
yylsp = yyls + yysize - 1;
YYDPRINTF ((stderr, "Stack size increased to %lu\n",
(unsigned long int) yystacksize));
if (yyss + yystacksize - 1 <= yyssp)
YYABORT;
}
YYDPRINTF ((stderr, "Entering state %d\n", yystate));
goto yybackup;
/*-----------.
| yybackup. |
`-----------*/
yybackup:
/* Do appropriate processing given the current state. Read a
look-ahead token if we need one and don't already have one. */
/* First try to decide what to do without reference to look-ahead token. */
yyn = yypact[yystate];
if (yyn == YYPACT_NINF)
goto yydefault;
/* Not known => get a look-ahead token if don't already have one. */
/* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol. */
if (yychar == YYEMPTY)
{
YYDPRINTF ((stderr, "Reading a token: "));
yychar = YYLEX;
}
if (yychar <= YYEOF)
{
yychar = yytoken = YYEOF;
YYDPRINTF ((stderr, "Now at end of input.\n"));
}
else
{
yytoken = YYTRANSLATE (yychar);
YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
}
/* If the proper action on seeing token YYTOKEN is to reduce or to
detect an error, take that action. */
yyn += yytoken;
if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
goto yydefault;
yyn = yytable[yyn];
if (yyn <= 0)
{
if (yyn == 0 || yyn == YYTABLE_NINF)
goto yyerrlab;
yyn = -yyn;
goto yyreduce;
}
if (yyn == YYFINAL)
YYACCEPT;
/* Count tokens shifted since error; after three, turn off error
status. */
if (yyerrstatus)
yyerrstatus--;
/* Shift the look-ahead token. */
YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
/* Discard the shifted token unless it is eof. */
if (yychar != YYEOF)
yychar = YYEMPTY;
yystate = yyn;
*++yyvsp = yylval;
*++yylsp = yylloc;
goto yynewstate;
/*-----------------------------------------------------------.
| yydefault -- do the default action for the current state. |
`-----------------------------------------------------------*/
yydefault:
yyn = yydefact[yystate];
if (yyn == 0)
goto yyerrlab;
goto yyreduce;
/*-----------------------------.
| yyreduce -- Do a reduction. |
`-----------------------------*/
yyreduce:
/* yyn is the number of a rule to reduce with. */
yylen = yyr2[yyn];
/* If YYLEN is nonzero, implement the default value of the action:
`$$ = $1'.
Otherwise, the following line sets YYVAL to garbage.
This behavior is undocumented and Bison
users should not rely upon it. Assigning to YYVAL
unconditionally makes the parser a bit smaller, and it avoids a
GCC warning that YYVAL may be used uninitialized. */
yyval = yyvsp[1-yylen];
/* Default location. */
YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen);
YY_REDUCE_PRINT (yyn);
switch (yyn)
{
case 2:
#line 738 "gram.y"
{
pg_yyget_extra(yyscanner)->parsetree = (yyvsp[(1) - (1)].list);
;}
break;
case 3:
#line 745 "gram.y"
{
if ((yyvsp[(3) - (3)].node) != NULL)
(yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node));
else
(yyval.list) = (yyvsp[(1) - (3)].list);
;}
break;
case 4:
#line 752 "gram.y"
{
if ((yyvsp[(1) - (1)].node) != NULL)
(yyval.list) = list_make1((yyvsp[(1) - (1)].node));
else
(yyval.list) = NIL;
;}
break;
case 127:
#line 884 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 128:
#line 895 "gram.y"
{
CreateRoleStmt *n = makeNode(CreateRoleStmt);
n->stmt_type = ROLESTMT_ROLE;
n->role = (yyvsp[(3) - (5)].str);
n->options = (yyvsp[(5) - (5)].list);
(yyval.node) = (Node *)n;
;}
break;
case 129:
#line 905 "gram.y"
{;}
break;
case 130:
#line 906 "gram.y"
{;}
break;
case 131:
#line 907 "gram.y"
{;}
break;
case 132:
#line 916 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;}
break;
case 133:
#line 917 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 134:
#line 921 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;}
break;
case 135:
#line 922 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 136:
#line 927 "gram.y"
{
(yyval.defelt) = makeDefElemExtended(NULL, "password", (yyvsp[(2) - (2)].node), DEFELEM_UNSPEC, (yylsp[(2) - (2)]));
;}
break;
case 137:
#line 931 "gram.y"
{
(yyval.defelt) = makeDefElem("password", NULL);
;}
break;
case 138:
#line 935 "gram.y"
{
(yyval.defelt) = makeDefElemExtended(NULL, "encryptedPassword", (yyvsp[(3) - (3)].node), DEFELEM_UNSPEC, (yylsp[(3) - (3)]));
;}
break;
case 139:
#line 939 "gram.y"
{
(yyval.defelt) = makeDefElemExtended(NULL, "unencryptedPassword", (yyvsp[(3) - (3)].node), DEFELEM_UNSPEC, (yylsp[(3) - (3)]));
;}
break;
case 140:
#line 943 "gram.y"
{
(yyval.defelt) = makeDefElem("inherit", (Node *)makeInteger(TRUE));
;}
break;
case 141:
#line 947 "gram.y"
{
(yyval.defelt) = makeDefElem("connectionlimit", (Node *)makeInteger((yyvsp[(3) - (3)].ival)));
;}
break;
case 142:
#line 951 "gram.y"
{
(yyval.defelt) = makeDefElem("validUntil", (Node *)makeString((yyvsp[(3) - (3)].str)));
;}
break;
case 143:
#line 956 "gram.y"
{
(yyval.defelt) = makeDefElem("rolemembers", (Node *)(yyvsp[(2) - (2)].list));
;}
break;
case 144:
#line 960 "gram.y"
{
/*
* We handle identifiers that aren't parser keywords with
* the following special-case codes, to avoid bloating the
* size of the main parser.
*/
if (strcmp((yyvsp[(1) - (1)].str), "superuser") == 0)
(yyval.defelt) = makeDefElem("superuser", (Node *)makeInteger(TRUE));
else if (strcmp((yyvsp[(1) - (1)].str), "nosuperuser") == 0)
(yyval.defelt) = makeDefElem("superuser", (Node *)makeInteger(FALSE));
else if (strcmp((yyvsp[(1) - (1)].str), "createuser") == 0)
{
/* For backwards compatibility, synonym for SUPERUSER */
(yyval.defelt) = makeDefElem("superuser", (Node *)makeInteger(TRUE));
}
else if (strcmp((yyvsp[(1) - (1)].str), "nocreateuser") == 0)
{
/* For backwards compatibility, synonym for SUPERUSER */
(yyval.defelt) = makeDefElem("superuser", (Node *)makeInteger(FALSE));
}
else if (strcmp((yyvsp[(1) - (1)].str), "createrole") == 0)
(yyval.defelt) = makeDefElem("createrole", (Node *)makeInteger(TRUE));
else if (strcmp((yyvsp[(1) - (1)].str), "nocreaterole") == 0)
(yyval.defelt) = makeDefElem("createrole", (Node *)makeInteger(FALSE));
else if (strcmp((yyvsp[(1) - (1)].str), "replication") == 0)
(yyval.defelt) = makeDefElem("isreplication", (Node *)makeInteger(TRUE));
else if (strcmp((yyvsp[(1) - (1)].str), "noreplication") == 0)
(yyval.defelt) = makeDefElem("isreplication", (Node *)makeInteger(FALSE));
else if (strcmp((yyvsp[(1) - (1)].str), "createdb") == 0)
(yyval.defelt) = makeDefElem("createdb", (Node *)makeInteger(TRUE));
else if (strcmp((yyvsp[(1) - (1)].str), "nocreatedb") == 0)
(yyval.defelt) = makeDefElem("createdb", (Node *)makeInteger(FALSE));
else if (strcmp((yyvsp[(1) - (1)].str), "login") == 0)
(yyval.defelt) = makeDefElem("canlogin", (Node *)makeInteger(TRUE));
else if (strcmp((yyvsp[(1) - (1)].str), "nologin") == 0)
(yyval.defelt) = makeDefElem("canlogin", (Node *)makeInteger(FALSE));
else if (strcmp((yyvsp[(1) - (1)].str), "bypassrls") == 0)
(yyval.defelt) = makeDefElem("bypassrls", (Node *)makeInteger(TRUE));
else if (strcmp((yyvsp[(1) - (1)].str), "nobypassrls") == 0)
(yyval.defelt) = makeDefElem("bypassrls", (Node *)makeInteger(FALSE));
else if (strcmp((yyvsp[(1) - (1)].str), "noinherit") == 0)
{
/*
* Note that INHERIT is a keyword, so it's handled by main parser, but
* NOINHERIT is handled here.
*/
(yyval.defelt) = makeDefElem("inherit", (Node *)makeInteger(FALSE));
}
else
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("unrecognized role option \"%s\"", (yyvsp[(1) - (1)].str)),
parser_errposition((yylsp[(1) - (1)]))));
;}
break;
case 145:
#line 1017 "gram.y"
{ (yyval.defelt) = (yyvsp[(1) - (1)].defelt); ;}
break;
case 146:
#line 1020 "gram.y"
{
(yyval.defelt) = makeDefElem("sysid", (Node *)makeInteger((yyvsp[(2) - (2)].ival)));
;}
break;
case 147:
#line 1024 "gram.y"
{
(yyval.defelt) = makeDefElem("adminmembers", (Node *)(yyvsp[(2) - (2)].list));
;}
break;
case 148:
#line 1028 "gram.y"
{
(yyval.defelt) = makeDefElem("rolemembers", (Node *)(yyvsp[(2) - (2)].list));
;}
break;
case 149:
#line 1032 "gram.y"
{
(yyval.defelt) = makeDefElem("addroleto", (Node *)(yyvsp[(3) - (3)].list));
;}
break;
case 150:
#line 1036 "gram.y"
{
(yyval.defelt) = makeDefElem("addroleto", (Node *)(yyvsp[(3) - (3)].list));
;}
break;
case 151:
#line 1050 "gram.y"
{
CreateRoleStmt *n = makeNode(CreateRoleStmt);
n->stmt_type = ROLESTMT_USER;
n->role = (yyvsp[(3) - (5)].str);
n->options = (yyvsp[(5) - (5)].list);
(yyval.node) = (Node *)n;
;}
break;
case 152:
#line 1068 "gram.y"
{
AlterRoleStmt *n = makeNode(AlterRoleStmt);
n->role = (yyvsp[(3) - (5)].node);
n->action = +1; /* add, if there are members */
n->options = (yyvsp[(5) - (5)].list);
(yyval.node) = (Node *)n;
;}
break;
case 153:
#line 1078 "gram.y"
{ (yyval.str) = NULL; ;}
break;
case 154:
#line 1079 "gram.y"
{ (yyval.str) = (yyvsp[(3) - (3)].str); ;}
break;
case 155:
#line 1084 "gram.y"
{
AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
n->role = (yyvsp[(3) - (5)].node);
n->database = (yyvsp[(4) - (5)].str);
n->setstmt = (yyvsp[(5) - (5)].vsetstmt);
(yyval.node) = (Node *)n;
;}
break;
case 156:
#line 1092 "gram.y"
{
AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
n->role = NULL;
n->database = (yyvsp[(4) - (5)].str);
n->setstmt = (yyvsp[(5) - (5)].vsetstmt);
(yyval.node) = (Node *)n;
;}
break;
case 157:
#line 1110 "gram.y"
{
AlterRoleStmt *n = makeNode(AlterRoleStmt);
n->role = (yyvsp[(3) - (5)].node);
n->action = +1; /* add, if there are members */
n->options = (yyvsp[(5) - (5)].list);
(yyval.node) = (Node *)n;
;}
break;
case 158:
#line 1122 "gram.y"
{
AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
n->role = (yyvsp[(3) - (4)].node);
n->database = NULL;
n->setstmt = (yyvsp[(4) - (4)].vsetstmt);
(yyval.node) = (Node *)n;
;}
break;
case 159:
#line 1143 "gram.y"
{
DropRoleStmt *n = makeNode(DropRoleStmt);
n->missing_ok = FALSE;
n->roles = (yyvsp[(3) - (3)].list);
(yyval.node) = (Node *)n;
;}
break;
case 160:
#line 1150 "gram.y"
{
DropRoleStmt *n = makeNode(DropRoleStmt);
n->missing_ok = TRUE;
n->roles = (yyvsp[(5) - (5)].list);
(yyval.node) = (Node *)n;
;}
break;
case 161:
#line 1169 "gram.y"
{
DropRoleStmt *n = makeNode(DropRoleStmt);
n->missing_ok = FALSE;
n->roles = (yyvsp[(3) - (3)].list);
(yyval.node) = (Node *)n;
;}
break;
case 162:
#line 1176 "gram.y"
{
DropRoleStmt *n = makeNode(DropRoleStmt);
n->roles = (yyvsp[(5) - (5)].list);
n->missing_ok = TRUE;
(yyval.node) = (Node *)n;
;}
break;
case 163:
#line 1193 "gram.y"
{
CreateRoleStmt *n = makeNode(CreateRoleStmt);
n->stmt_type = ROLESTMT_GROUP;
n->role = (yyvsp[(3) - (5)].str);
n->options = (yyvsp[(5) - (5)].list);
(yyval.node) = (Node *)n;
;}
break;
case 164:
#line 1211 "gram.y"
{
AlterRoleStmt *n = makeNode(AlterRoleStmt);
n->role = (yyvsp[(3) - (6)].node);
n->action = (yyvsp[(4) - (6)].ival);
n->options = list_make1(makeDefElem("rolemembers",
(Node *)(yyvsp[(6) - (6)].list)));
(yyval.node) = (Node *)n;
;}
break;
case 165:
#line 1221 "gram.y"
{ (yyval.ival) = +1; ;}
break;
case 166:
#line 1222 "gram.y"
{ (yyval.ival) = -1; ;}
break;
case 167:
#line 1235 "gram.y"
{
DropRoleStmt *n = makeNode(DropRoleStmt);
n->missing_ok = FALSE;
n->roles = (yyvsp[(3) - (3)].list);
(yyval.node) = (Node *)n;
;}
break;
case 168:
#line 1242 "gram.y"
{
DropRoleStmt *n = makeNode(DropRoleStmt);
n->missing_ok = TRUE;
n->roles = (yyvsp[(5) - (5)].list);
(yyval.node) = (Node *)n;
;}
break;
case 169:
#line 1259 "gram.y"
{
CreateSchemaStmt *n = makeNode(CreateSchemaStmt);
/* One can omit the schema name or the authorization id. */
n->schemaname = (yyvsp[(3) - (6)].str);
n->authrole = (yyvsp[(5) - (6)].node);
n->schemaElts = (yyvsp[(6) - (6)].list);
n->if_not_exists = false;
(yyval.node) = (Node *)n;
;}
break;
case 170:
#line 1269 "gram.y"
{
CreateSchemaStmt *n = makeNode(CreateSchemaStmt);
/* ...but not both */
n->schemaname = (yyvsp[(3) - (4)].str);
n->authrole = NULL;
n->schemaElts = (yyvsp[(4) - (4)].list);
n->if_not_exists = false;
(yyval.node) = (Node *)n;
;}
break;
case 171:
#line 1279 "gram.y"
{
CreateSchemaStmt *n = makeNode(CreateSchemaStmt);
/* schema name can be omitted here, too */
n->schemaname = (yyvsp[(6) - (9)].str);
n->authrole = (yyvsp[(8) - (9)].node);
if ((yyvsp[(9) - (9)].list) != NIL)
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
errmsg("CREATE SCHEMA IF NOT EXISTS cannot include schema elements"),
parser_errposition((yylsp[(9) - (9)]))));
n->schemaElts = (yyvsp[(9) - (9)].list);
n->if_not_exists = true;
(yyval.node) = (Node *)n;
;}
break;
case 172:
#line 1294 "gram.y"
{
CreateSchemaStmt *n = makeNode(CreateSchemaStmt);
/* ...but not here */
n->schemaname = (yyvsp[(6) - (7)].str);
n->authrole = NULL;
if ((yyvsp[(7) - (7)].list) != NIL)
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
errmsg("CREATE SCHEMA IF NOT EXISTS cannot include schema elements"),
parser_errposition((yylsp[(7) - (7)]))));
n->schemaElts = (yyvsp[(7) - (7)].list);
n->if_not_exists = true;
(yyval.node) = (Node *)n;
;}
break;
case 173:
#line 1311 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 174:
#line 1312 "gram.y"
{ (yyval.str) = NULL; ;}
break;
case 175:
#line 1317 "gram.y"
{
if ((yyloc) < 0) /* see comments for YYLLOC_DEFAULT */
(yyloc) = (yylsp[(2) - (2)]);
(yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].node));
;}
break;
case 176:
#line 1323 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 183:
#line 1351 "gram.y"
{
VariableSetStmt *n = (yyvsp[(2) - (2)].vsetstmt);
n->is_local = false;
(yyval.node) = (Node *) n;
;}
break;
case 184:
#line 1357 "gram.y"
{
VariableSetStmt *n = (yyvsp[(3) - (3)].vsetstmt);
n->is_local = true;
(yyval.node) = (Node *) n;
;}
break;
case 185:
#line 1363 "gram.y"
{
VariableSetStmt *n = (yyvsp[(3) - (3)].vsetstmt);
n->is_local = false;
(yyval.node) = (Node *) n;
;}
break;
case 186:
#line 1372 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_MULTI;
n->name = "TRANSACTION";
n->args = (yyvsp[(2) - (2)].list);
(yyval.vsetstmt) = n;
;}
break;
case 187:
#line 1380 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_MULTI;
n->name = "SESSION CHARACTERISTICS";
n->args = (yyvsp[(5) - (5)].list);
(yyval.vsetstmt) = n;
;}
break;
case 189:
#line 1392 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_VALUE;
n->name = (yyvsp[(1) - (3)].str);
n->args = (yyvsp[(3) - (3)].list);
(yyval.vsetstmt) = n;
;}
break;
case 190:
#line 1400 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_VALUE;
n->name = (yyvsp[(1) - (3)].str);
n->args = (yyvsp[(3) - (3)].list);
(yyval.vsetstmt) = n;
;}
break;
case 191:
#line 1408 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_DEFAULT;
n->name = (yyvsp[(1) - (3)].str);
(yyval.vsetstmt) = n;
;}
break;
case 192:
#line 1415 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_DEFAULT;
n->name = (yyvsp[(1) - (3)].str);
(yyval.vsetstmt) = n;
;}
break;
case 193:
#line 1423 "gram.y"
{(yyval.vsetstmt) = (yyvsp[(1) - (1)].vsetstmt);;}
break;
case 194:
#line 1425 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_CURRENT;
n->name = (yyvsp[(1) - (3)].str);
(yyval.vsetstmt) = n;
;}
break;
case 195:
#line 1433 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_VALUE;
n->name = "timezone";
if ((yyvsp[(3) - (3)].node) != NULL)
n->args = list_make1((yyvsp[(3) - (3)].node));
else
n->kind = VAR_SET_DEFAULT;
(yyval.vsetstmt) = n;
;}
break;
case 196:
#line 1444 "gram.y"
{
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
errmsg("current database cannot be changed"),
parser_errposition((yylsp[(2) - (2)]))));
(yyval.vsetstmt) = NULL; /*not reached*/
;}
break;
case 197:
#line 1452 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_VALUE;
n->name = "search_path";
n->args = list_make1((yyvsp[(2) - (2)].node));
(yyval.vsetstmt) = n;
;}
break;
case 198:
#line 1460 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_VALUE;
n->name = "client_encoding";
if ((yyvsp[(2) - (2)].str) != NULL)
n->args = list_make1(makeStringConst((yyvsp[(2) - (2)].str), (yylsp[(2) - (2)])));
else
n->kind = VAR_SET_DEFAULT;
(yyval.vsetstmt) = n;
;}
break;
case 199:
#line 1471 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_VALUE;
n->name = "role";
n->args = list_make1((yyvsp[(2) - (2)].node));
(yyval.vsetstmt) = n;
;}
break;
case 200:
#line 1479 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_VALUE;
n->name = "session_authorization";
n->args = list_make1((yyvsp[(3) - (3)].node));
(yyval.vsetstmt) = n;
;}
break;
case 201:
#line 1487 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_DEFAULT;
n->name = "session_authorization";
(yyval.vsetstmt) = n;
;}
break;
case 202:
#line 1494 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_VALUE;
n->name = "xmloption";
n->args = list_make1(makeStringConst((yyvsp[(3) - (3)].ival) == XMLOPTION_DOCUMENT ? "DOCUMENT" : "CONTENT", (yylsp[(3) - (3)])));
(yyval.vsetstmt) = n;
;}
break;
case 203:
#line 1503 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_MULTI;
n->name = "TRANSACTION SNAPSHOT";
n->args = list_make1(makeStringConst((yyvsp[(3) - (3)].str), (yylsp[(3) - (3)])));
(yyval.vsetstmt) = n;
;}
break;
case 204:
#line 1512 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 205:
#line 1514 "gram.y"
{ (yyval.str) = psprintf("%s.%s", (yyvsp[(1) - (3)].str), (yyvsp[(3) - (3)].str)); ;}
break;
case 206:
#line 1517 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 207:
#line 1518 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;}
break;
case 208:
#line 1522 "gram.y"
{ (yyval.node) = makeStringConst((yyvsp[(1) - (1)].str), (yylsp[(1) - (1)])); ;}
break;
case 209:
#line 1524 "gram.y"
{ (yyval.node) = makeAConst((yyvsp[(1) - (1)].value), (yylsp[(1) - (1)])); ;}
break;
case 210:
#line 1526 "gram.y"
{ (yyval.node) = makeStringConst("?", (yylsp[(1) - (1)])); ;}
break;
case 211:
#line 1529 "gram.y"
{ (yyval.str) = "read uncommitted"; ;}
break;
case 212:
#line 1530 "gram.y"
{ (yyval.str) = "read committed"; ;}
break;
case 213:
#line 1531 "gram.y"
{ (yyval.str) = "repeatable read"; ;}
break;
case 214:
#line 1532 "gram.y"
{ (yyval.str) = "serializable"; ;}
break;
case 215:
#line 1536 "gram.y"
{ (yyval.str) = "true"; ;}
break;
case 216:
#line 1537 "gram.y"
{ (yyval.str) = "false"; ;}
break;
case 217:
#line 1538 "gram.y"
{ (yyval.str) = "on"; ;}
break;
case 218:
#line 1544 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 219:
#line 1557 "gram.y"
{
(yyval.node) = (yyvsp[(1) - (1)].node);
;}
break;
case 220:
#line 1561 "gram.y"
{
(yyval.node) = makeStringConst((yyvsp[(1) - (1)].str), (yylsp[(1) - (1)]));
;}
break;
case 221:
#line 1565 "gram.y"
{
TypeName *t = (yyvsp[(1) - (3)].typnam);
if ((yyvsp[(3) - (3)].list) != NIL)
{
A_Const *n = (A_Const *) linitial((yyvsp[(3) - (3)].list));
if ((n->val.val.ival & ~(INTERVAL_MASK(HOUR) | INTERVAL_MASK(MINUTE))) != 0)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("time zone interval must be HOUR or HOUR TO MINUTE"),
parser_errposition((yylsp[(3) - (3)]))));
}
t->typmods = (yyvsp[(3) - (3)].list);
(yyval.node) = makeStringConstCast((yyvsp[(2) - (3)].str), (yylsp[(2) - (3)]), t);
;}
break;
case 222:
#line 1580 "gram.y"
{
TypeName *t = (yyvsp[(1) - (5)].typnam);
t->typmods = list_make2(makeIntConst(INTERVAL_FULL_RANGE, -1),
makeIntConst((yyvsp[(3) - (5)].ival), (yylsp[(3) - (5)])));
(yyval.node) = makeStringConstCast((yyvsp[(5) - (5)].str), (yylsp[(5) - (5)]), t);
;}
break;
case 223:
#line 1586 "gram.y"
{ (yyval.node) = makeAConst((yyvsp[(1) - (1)].value), (yylsp[(1) - (1)])); ;}
break;
case 224:
#line 1587 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 225:
#line 1588 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 226:
#line 1592 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 227:
#line 1593 "gram.y"
{ (yyval.str) = NULL; ;}
break;
case 228:
#line 1594 "gram.y"
{ (yyval.str) = NULL; ;}
break;
case 229:
#line 1598 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 230:
#line 1599 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 231:
#line 1603 "gram.y"
{ (yyval.node) = (Node *) (yyvsp[(2) - (2)].vsetstmt); ;}
break;
case 232:
#line 1607 "gram.y"
{ (yyval.vsetstmt) = (yyvsp[(1) - (1)].vsetstmt); ;}
break;
case 233:
#line 1609 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_RESET;
n->name = "timezone";
(yyval.vsetstmt) = n;
;}
break;
case 234:
#line 1616 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_RESET;
n->name = "transaction_isolation";
(yyval.vsetstmt) = n;
;}
break;
case 235:
#line 1623 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_RESET;
n->name = "session_authorization";
(yyval.vsetstmt) = n;
;}
break;
case 236:
#line 1633 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_RESET;
n->name = (yyvsp[(1) - (1)].str);
(yyval.vsetstmt) = n;
;}
break;
case 237:
#line 1640 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_RESET_ALL;
(yyval.vsetstmt) = n;
;}
break;
case 238:
#line 1649 "gram.y"
{ (yyval.vsetstmt) = (yyvsp[(2) - (2)].vsetstmt); ;}
break;
case 239:
#line 1650 "gram.y"
{ (yyval.vsetstmt) = (VariableSetStmt *) (yyvsp[(1) - (1)].node); ;}
break;
case 240:
#line 1655 "gram.y"
{ (yyval.vsetstmt) = (yyvsp[(2) - (2)].vsetstmt); ;}
break;
case 241:
#line 1656 "gram.y"
{ (yyval.vsetstmt) = (VariableSetStmt *) (yyvsp[(1) - (1)].node); ;}
break;
case 242:
#line 1662 "gram.y"
{
VariableShowStmt *n = makeNode(VariableShowStmt);
n->name = (yyvsp[(2) - (2)].str);
(yyval.node) = (Node *) n;
;}
break;
case 243:
#line 1668 "gram.y"
{
VariableShowStmt *n = makeNode(VariableShowStmt);
n->name = "timezone";
(yyval.node) = (Node *) n;
;}
break;
case 244:
#line 1674 "gram.y"
{
VariableShowStmt *n = makeNode(VariableShowStmt);
n->name = "transaction_isolation";
(yyval.node) = (Node *) n;
;}
break;
case 245:
#line 1680 "gram.y"
{
VariableShowStmt *n = makeNode(VariableShowStmt);
n->name = "session_authorization";
(yyval.node) = (Node *) n;
;}
break;
case 246:
#line 1686 "gram.y"
{
VariableShowStmt *n = makeNode(VariableShowStmt);
n->name = "all";
(yyval.node) = (Node *) n;
;}
break;
case 247:
#line 1696 "gram.y"
{
ConstraintsSetStmt *n = makeNode(ConstraintsSetStmt);
n->constraints = (yyvsp[(3) - (4)].list);
n->deferred = (yyvsp[(4) - (4)].boolean);
(yyval.node) = (Node *) n;
;}
break;
case 248:
#line 1705 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 249:
#line 1706 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 250:
#line 1710 "gram.y"
{ (yyval.boolean) = TRUE; ;}
break;
case 251:
#line 1711 "gram.y"
{ (yyval.boolean) = FALSE; ;}
break;
case 252:
#line 1720 "gram.y"
{
CheckPointStmt *n = makeNode(CheckPointStmt);
(yyval.node) = (Node *)n;
;}
break;
case 253:
#line 1735 "gram.y"
{
DiscardStmt *n = makeNode(DiscardStmt);
n->target = DISCARD_ALL;
(yyval.node) = (Node *) n;
;}
break;
case 254:
#line 1741 "gram.y"
{
DiscardStmt *n = makeNode(DiscardStmt);
n->target = DISCARD_TEMP;
(yyval.node) = (Node *) n;
;}
break;
case 255:
#line 1747 "gram.y"
{
DiscardStmt *n = makeNode(DiscardStmt);
n->target = DISCARD_TEMP;
(yyval.node) = (Node *) n;
;}
break;
case 256:
#line 1753 "gram.y"
{
DiscardStmt *n = makeNode(DiscardStmt);
n->target = DISCARD_PLANS;
(yyval.node) = (Node *) n;
;}
break;
case 257:
#line 1759 "gram.y"
{
DiscardStmt *n = makeNode(DiscardStmt);
n->target = DISCARD_SEQUENCES;
(yyval.node) = (Node *) n;
;}
break;
case 258:
#line 1778 "gram.y"
{
AlterTableStmt *n = makeNode(AlterTableStmt);
n->relation = (yyvsp[(3) - (4)].range);
n->cmds = (yyvsp[(4) - (4)].list);
n->relkind = OBJECT_TABLE;
n->missing_ok = false;
(yyval.node) = (Node *)n;
;}
break;
case 259:
#line 1787 "gram.y"
{
AlterTableStmt *n = makeNode(AlterTableStmt);
n->relation = (yyvsp[(5) - (6)].range);
n->cmds = (yyvsp[(6) - (6)].list);
n->relkind = OBJECT_TABLE;
n->missing_ok = true;
(yyval.node) = (Node *)n;
;}
break;
case 260:
#line 1796 "gram.y"
{
AlterTableMoveAllStmt *n =
makeNode(AlterTableMoveAllStmt);
n->orig_tablespacename = (yyvsp[(6) - (10)].str);
n->objtype = OBJECT_TABLE;
n->roles = NIL;
n->new_tablespacename = (yyvsp[(9) - (10)].str);
n->nowait = (yyvsp[(10) - (10)].boolean);
(yyval.node) = (Node *)n;
;}
break;
case 261:
#line 1807 "gram.y"
{
AlterTableMoveAllStmt *n =
makeNode(AlterTableMoveAllStmt);
n->orig_tablespacename = (yyvsp[(6) - (13)].str);
n->objtype = OBJECT_TABLE;
n->roles = (yyvsp[(9) - (13)].list);
n->new_tablespacename = (yyvsp[(12) - (13)].str);
n->nowait = (yyvsp[(13) - (13)].boolean);
(yyval.node) = (Node *)n;
;}
break;
case 262:
#line 1818 "gram.y"
{
AlterTableStmt *n = makeNode(AlterTableStmt);
n->relation = (yyvsp[(3) - (4)].range);
n->cmds = (yyvsp[(4) - (4)].list);
n->relkind = OBJECT_INDEX;
n->missing_ok = false;
(yyval.node) = (Node *)n;
;}
break;
case 263:
#line 1827 "gram.y"
{
AlterTableStmt *n = makeNode(AlterTableStmt);
n->relation = (yyvsp[(5) - (6)].range);
n->cmds = (yyvsp[(6) - (6)].list);
n->relkind = OBJECT_INDEX;
n->missing_ok = true;
(yyval.node) = (Node *)n;
;}
break;
case 264:
#line 1836 "gram.y"
{
AlterTableMoveAllStmt *n =
makeNode(AlterTableMoveAllStmt);
n->orig_tablespacename = (yyvsp[(6) - (10)].str);
n->objtype = OBJECT_INDEX;
n->roles = NIL;
n->new_tablespacename = (yyvsp[(9) - (10)].str);
n->nowait = (yyvsp[(10) - (10)].boolean);
(yyval.node) = (Node *)n;
;}
break;
case 265:
#line 1847 "gram.y"
{
AlterTableMoveAllStmt *n =
makeNode(AlterTableMoveAllStmt);
n->orig_tablespacename = (yyvsp[(6) - (13)].str);
n->objtype = OBJECT_INDEX;
n->roles = (yyvsp[(9) - (13)].list);
n->new_tablespacename = (yyvsp[(12) - (13)].str);
n->nowait = (yyvsp[(13) - (13)].boolean);
(yyval.node) = (Node *)n;
;}
break;
case 266:
#line 1858 "gram.y"
{
AlterTableStmt *n = makeNode(AlterTableStmt);
n->relation = (yyvsp[(3) - (4)].range);
n->cmds = (yyvsp[(4) - (4)].list);
n->relkind = OBJECT_SEQUENCE;
n->missing_ok = false;
(yyval.node) = (Node *)n;
;}
break;
case 267:
#line 1867 "gram.y"
{
AlterTableStmt *n = makeNode(AlterTableStmt);
n->relation = (yyvsp[(5) - (6)].range);
n->cmds = (yyvsp[(6) - (6)].list);
n->relkind = OBJECT_SEQUENCE;
n->missing_ok = true;
(yyval.node) = (Node *)n;
;}
break;
case 268:
#line 1876 "gram.y"
{
AlterTableStmt *n = makeNode(AlterTableStmt);
n->relation = (yyvsp[(3) - (4)].range);
n->cmds = (yyvsp[(4) - (4)].list);
n->relkind = OBJECT_VIEW;
n->missing_ok = false;
(yyval.node) = (Node *)n;
;}
break;
case 269:
#line 1885 "gram.y"
{
AlterTableStmt *n = makeNode(AlterTableStmt);
n->relation = (yyvsp[(5) - (6)].range);
n->cmds = (yyvsp[(6) - (6)].list);
n->relkind = OBJECT_VIEW;
n->missing_ok = true;
(yyval.node) = (Node *)n;
;}
break;
case 270:
#line 1894 "gram.y"
{
AlterTableStmt *n = makeNode(AlterTableStmt);
n->relation = (yyvsp[(4) - (5)].range);
n->cmds = (yyvsp[(5) - (5)].list);
n->relkind = OBJECT_MATVIEW;
n->missing_ok = false;
(yyval.node) = (Node *)n;
;}
break;
case 271:
#line 1903 "gram.y"
{
AlterTableStmt *n = makeNode(AlterTableStmt);
n->relation = (yyvsp[(6) - (7)].range);
n->cmds = (yyvsp[(7) - (7)].list);
n->relkind = OBJECT_MATVIEW;
n->missing_ok = true;
(yyval.node) = (Node *)n;
;}
break;
case 272:
#line 1912 "gram.y"
{
AlterTableMoveAllStmt *n =
makeNode(AlterTableMoveAllStmt);
n->orig_tablespacename = (yyvsp[(7) - (11)].str);
n->objtype = OBJECT_MATVIEW;
n->roles = NIL;
n->new_tablespacename = (yyvsp[(10) - (11)].str);
n->nowait = (yyvsp[(11) - (11)].boolean);
(yyval.node) = (Node *)n;
;}
break;
case 273:
#line 1923 "gram.y"
{
AlterTableMoveAllStmt *n =
makeNode(AlterTableMoveAllStmt);
n->orig_tablespacename = (yyvsp[(7) - (14)].str);
n->objtype = OBJECT_MATVIEW;
n->roles = (yyvsp[(10) - (14)].list);
n->new_tablespacename = (yyvsp[(13) - (14)].str);
n->nowait = (yyvsp[(14) - (14)].boolean);
(yyval.node) = (Node *)n;
;}
break;
case 274:
#line 1936 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 275:
#line 1937 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;}
break;
case 276:
#line 1943 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_AddColumn;
n->def = (yyvsp[(2) - (2)].node);
(yyval.node) = (Node *)n;
;}
break;
case 277:
#line 1951 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_AddColumn;
n->def = (yyvsp[(3) - (3)].node);
(yyval.node) = (Node *)n;
;}
break;
case 278:
#line 1959 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_ColumnDefault;
n->name = (yyvsp[(3) - (4)].str);
n->def = (yyvsp[(4) - (4)].node);
(yyval.node) = (Node *)n;
;}
break;
case 279:
#line 1968 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DropNotNull;
n->name = (yyvsp[(3) - (6)].str);
(yyval.node) = (Node *)n;
;}
break;
case 280:
#line 1976 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_SetNotNull;
n->name = (yyvsp[(3) - (6)].str);
(yyval.node) = (Node *)n;
;}
break;
case 281:
#line 1984 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_SetStatistics;
n->name = (yyvsp[(3) - (6)].str);
n->def = (Node *) makeInteger((yyvsp[(6) - (6)].ival));
(yyval.node) = (Node *)n;
;}
break;
case 282:
#line 1993 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_SetOptions;
n->name = (yyvsp[(3) - (5)].str);
n->def = (Node *) (yyvsp[(5) - (5)].list);
(yyval.node) = (Node *)n;
;}
break;
case 283:
#line 2002 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_ResetOptions;
n->name = (yyvsp[(3) - (5)].str);
n->def = (Node *) (yyvsp[(5) - (5)].list);
(yyval.node) = (Node *)n;
;}
break;
case 284:
#line 2011 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_SetStorage;
n->name = (yyvsp[(3) - (6)].str);
n->def = (Node *) makeString((yyvsp[(6) - (6)].str));
(yyval.node) = (Node *)n;
;}
break;
case 285:
#line 2020 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DropColumn;
n->name = (yyvsp[(5) - (6)].str);
n->behavior = (yyvsp[(6) - (6)].dbehavior);
n->missing_ok = TRUE;
(yyval.node) = (Node *)n;
;}
break;
case 286:
#line 2030 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DropColumn;
n->name = (yyvsp[(3) - (4)].str);
n->behavior = (yyvsp[(4) - (4)].dbehavior);
n->missing_ok = FALSE;
(yyval.node) = (Node *)n;
;}
break;
case 287:
#line 2043 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
ColumnDef *def = makeNode(ColumnDef);
n->subtype = AT_AlterColumnType;
n->name = (yyvsp[(3) - (8)].str);
n->def = (Node *) def;
/* We only use these fields of the ColumnDef node */
def->typeName = (yyvsp[(6) - (8)].typnam);
def->collClause = (CollateClause *) (yyvsp[(7) - (8)].node);
def->raw_default = (yyvsp[(8) - (8)].node);
def->location = (yylsp[(3) - (8)]);
(yyval.node) = (Node *)n;
;}
break;
case 288:
#line 2058 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_AlterColumnGenericOptions;
n->name = (yyvsp[(3) - (4)].str);
n->def = (Node *) (yyvsp[(4) - (4)].list);
(yyval.node) = (Node *)n;
;}
break;
case 289:
#line 2067 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_AddConstraint;
n->def = (yyvsp[(2) - (2)].node);
(yyval.node) = (Node *)n;
;}
break;
case 290:
#line 2075 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
Constraint *c = makeNode(Constraint);
n->subtype = AT_AlterConstraint;
n->def = (Node *) c;
c->contype = CONSTR_FOREIGN; /* others not supported, yet */
c->conname = (yyvsp[(3) - (4)].str);
processCASbits((yyvsp[(4) - (4)].ival), (yylsp[(4) - (4)]), "ALTER CONSTRAINT statement",
&c->deferrable,
&c->initdeferred,
NULL, NULL, yyscanner);
(yyval.node) = (Node *)n;
;}
break;
case 291:
#line 2090 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_ValidateConstraint;
n->name = (yyvsp[(3) - (3)].str);
(yyval.node) = (Node *)n;
;}
break;
case 292:
#line 2098 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DropConstraint;
n->name = (yyvsp[(5) - (6)].str);
n->behavior = (yyvsp[(6) - (6)].dbehavior);
n->missing_ok = TRUE;
(yyval.node) = (Node *)n;
;}
break;
case 293:
#line 2108 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DropConstraint;
n->name = (yyvsp[(3) - (4)].str);
n->behavior = (yyvsp[(4) - (4)].dbehavior);
n->missing_ok = FALSE;
(yyval.node) = (Node *)n;
;}
break;
case 294:
#line 2118 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_AddOids;
(yyval.node) = (Node *)n;
;}
break;
case 295:
#line 2125 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DropOids;
(yyval.node) = (Node *)n;
;}
break;
case 296:
#line 2132 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_ClusterOn;
n->name = (yyvsp[(3) - (3)].str);
(yyval.node) = (Node *)n;
;}
break;
case 297:
#line 2140 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DropCluster;
n->name = NULL;
(yyval.node) = (Node *)n;
;}
break;
case 298:
#line 2148 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_SetLogged;
(yyval.node) = (Node *)n;
;}
break;
case 299:
#line 2155 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_SetUnLogged;
(yyval.node) = (Node *)n;
;}
break;
case 300:
#line 2162 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_EnableTrig;
n->name = (yyvsp[(3) - (3)].str);
(yyval.node) = (Node *)n;
;}
break;
case 301:
#line 2170 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_EnableAlwaysTrig;
n->name = (yyvsp[(4) - (4)].str);
(yyval.node) = (Node *)n;
;}
break;
case 302:
#line 2178 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_EnableReplicaTrig;
n->name = (yyvsp[(4) - (4)].str);
(yyval.node) = (Node *)n;
;}
break;
case 303:
#line 2186 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_EnableTrigAll;
(yyval.node) = (Node *)n;
;}
break;
case 304:
#line 2193 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_EnableTrigUser;
(yyval.node) = (Node *)n;
;}
break;
case 305:
#line 2200 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DisableTrig;
n->name = (yyvsp[(3) - (3)].str);
(yyval.node) = (Node *)n;
;}
break;
case 306:
#line 2208 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DisableTrigAll;
(yyval.node) = (Node *)n;
;}
break;
case 307:
#line 2215 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DisableTrigUser;
(yyval.node) = (Node *)n;
;}
break;
case 308:
#line 2222 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_EnableRule;
n->name = (yyvsp[(3) - (3)].str);
(yyval.node) = (Node *)n;
;}
break;
case 309:
#line 2230 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_EnableAlwaysRule;
n->name = (yyvsp[(4) - (4)].str);
(yyval.node) = (Node *)n;
;}
break;
case 310:
#line 2238 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_EnableReplicaRule;
n->name = (yyvsp[(4) - (4)].str);
(yyval.node) = (Node *)n;
;}
break;
case 311:
#line 2246 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DisableRule;
n->name = (yyvsp[(3) - (3)].str);
(yyval.node) = (Node *)n;
;}
break;
case 312:
#line 2254 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_AddInherit;
n->def = (Node *) (yyvsp[(2) - (2)].range);
(yyval.node) = (Node *)n;
;}
break;
case 313:
#line 2262 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DropInherit;
n->def = (Node *) (yyvsp[(3) - (3)].range);
(yyval.node) = (Node *)n;
;}
break;
case 314:
#line 2270 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
TypeName *def = makeTypeNameFromNameList((yyvsp[(2) - (2)].list));
def->location = (yylsp[(2) - (2)]);
n->subtype = AT_AddOf;
n->def = (Node *) def;
(yyval.node) = (Node *)n;
;}
break;
case 315:
#line 2280 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DropOf;
(yyval.node) = (Node *)n;
;}
break;
case 316:
#line 2287 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_ChangeOwner;
n->newowner = (yyvsp[(3) - (3)].node);
(yyval.node) = (Node *)n;
;}
break;
case 317:
#line 2295 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_SetTableSpace;
n->name = (yyvsp[(3) - (3)].str);
(yyval.node) = (Node *)n;
;}
break;
case 318:
#line 2303 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_SetRelOptions;
n->def = (Node *)(yyvsp[(2) - (2)].list);
(yyval.node) = (Node *)n;
;}
break;
case 319:
#line 2311 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_ResetRelOptions;
n->def = (Node *)(yyvsp[(2) - (2)].list);
(yyval.node) = (Node *)n;
;}
break;
case 320:
#line 2319 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_ReplicaIdentity;
n->def = (yyvsp[(3) - (3)].node);
(yyval.node) = (Node *)n;
;}
break;
case 321:
#line 2327 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_EnableRowSecurity;
(yyval.node) = (Node *)n;
;}
break;
case 322:
#line 2334 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DisableRowSecurity;
(yyval.node) = (Node *)n;
;}
break;
case 323:
#line 2341 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_ForceRowSecurity;
(yyval.node) = (Node *)n;
;}
break;
case 324:
#line 2348 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_NoForceRowSecurity;
(yyval.node) = (Node *)n;
;}
break;
case 325:
#line 2354 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_GenericOptions;
n->def = (Node *)(yyvsp[(1) - (1)].list);
(yyval.node) = (Node *) n;
;}
break;
case 326:
#line 2363 "gram.y"
{ (yyval.node) = (yyvsp[(3) - (3)].node); ;}
break;
case 327:
#line 2364 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 328:
#line 2368 "gram.y"
{ (yyval.dbehavior) = DROP_CASCADE; ;}
break;
case 329:
#line 2369 "gram.y"
{ (yyval.dbehavior) = DROP_RESTRICT; ;}
break;
case 330:
#line 2370 "gram.y"
{ (yyval.dbehavior) = DROP_RESTRICT; /* default */ ;}
break;
case 331:
#line 2375 "gram.y"
{
CollateClause *n = makeNode(CollateClause);
n->arg = NULL;
n->collname = (yyvsp[(2) - (2)].list);
n->location = (yylsp[(1) - (2)]);
(yyval.node) = (Node *) n;
;}
break;
case 332:
#line 2382 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 333:
#line 2386 "gram.y"
{ (yyval.node) = (yyvsp[(2) - (2)].node); ;}
break;
case 334:
#line 2387 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 335:
#line 2392 "gram.y"
{
ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
n->identity_type = REPLICA_IDENTITY_NOTHING;
n->name = NULL;
(yyval.node) = (Node *) n;
;}
break;
case 336:
#line 2399 "gram.y"
{
ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
n->identity_type = REPLICA_IDENTITY_FULL;
n->name = NULL;
(yyval.node) = (Node *) n;
;}
break;
case 337:
#line 2406 "gram.y"
{
ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
n->identity_type = REPLICA_IDENTITY_DEFAULT;
n->name = NULL;
(yyval.node) = (Node *) n;
;}
break;
case 338:
#line 2413 "gram.y"
{
ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
n->identity_type = REPLICA_IDENTITY_INDEX;
n->name = (yyvsp[(3) - (3)].str);
(yyval.node) = (Node *) n;
;}
break;
case 339:
#line 2422 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (3)].list); ;}
break;
case 340:
#line 2425 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (2)].list); ;}
break;
case 341:
#line 2426 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 342:
#line 2430 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;}
break;
case 343:
#line 2431 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt)); ;}
break;
case 344:
#line 2437 "gram.y"
{
(yyval.defelt) = makeDefElem((yyvsp[(1) - (3)].str), (Node *) (yyvsp[(3) - (3)].node));
;}
break;
case 345:
#line 2441 "gram.y"
{
(yyval.defelt) = makeDefElem((yyvsp[(1) - (1)].str), NULL);
;}
break;
case 346:
#line 2445 "gram.y"
{
(yyval.defelt) = makeDefElemExtended((yyvsp[(1) - (5)].str), (yyvsp[(3) - (5)].str), (Node *) (yyvsp[(5) - (5)].node),
DEFELEM_UNSPEC, (yylsp[(1) - (5)]));
;}
break;
case 347:
#line 2450 "gram.y"
{
(yyval.defelt) = makeDefElemExtended((yyvsp[(1) - (3)].str), (yyvsp[(3) - (3)].str), NULL, DEFELEM_UNSPEC, (yylsp[(1) - (3)]));
;}
break;
case 348:
#line 2465 "gram.y"
{
AlterTableStmt *n = makeNode(AlterTableStmt);
/* can't use qualified_name, sigh */
n->relation = makeRangeVarFromAnyName((yyvsp[(3) - (4)].list), (yylsp[(3) - (4)]), yyscanner);
n->cmds = (yyvsp[(4) - (4)].list);
n->relkind = OBJECT_TYPE;
(yyval.node) = (Node *)n;
;}
break;
case 349:
#line 2477 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 350:
#line 2478 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;}
break;
case 351:
#line 2484 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_AddColumn;
n->def = (yyvsp[(3) - (4)].node);
n->behavior = (yyvsp[(4) - (4)].dbehavior);
(yyval.node) = (Node *)n;
;}
break;
case 352:
#line 2493 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DropColumn;
n->name = (yyvsp[(5) - (6)].str);
n->behavior = (yyvsp[(6) - (6)].dbehavior);
n->missing_ok = TRUE;
(yyval.node) = (Node *)n;
;}
break;
case 353:
#line 2503 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DropColumn;
n->name = (yyvsp[(3) - (4)].str);
n->behavior = (yyvsp[(4) - (4)].dbehavior);
n->missing_ok = FALSE;
(yyval.node) = (Node *)n;
;}
break;
case 354:
#line 2513 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
ColumnDef *def = makeNode(ColumnDef);
n->subtype = AT_AlterColumnType;
n->name = (yyvsp[(3) - (8)].str);
n->def = (Node *) def;
n->behavior = (yyvsp[(8) - (8)].dbehavior);
/* We only use these fields of the ColumnDef node */
def->typeName = (yyvsp[(6) - (8)].typnam);
def->collClause = (CollateClause *) (yyvsp[(7) - (8)].node);
def->raw_default = NULL;
def->location = (yylsp[(3) - (8)]);
(yyval.node) = (Node *)n;
;}
break;
case 355:
#line 2539 "gram.y"
{
ClosePortalStmt *n = makeNode(ClosePortalStmt);
n->portalname = (yyvsp[(2) - (2)].str);
(yyval.node) = (Node *)n;
;}
break;
case 356:
#line 2545 "gram.y"
{
ClosePortalStmt *n = makeNode(ClosePortalStmt);
n->portalname = NULL;
(yyval.node) = (Node *)n;
;}
break;
case 357:
#line 2576 "gram.y"
{
CopyStmt *n = makeNode(CopyStmt);
n->relation = (yyvsp[(3) - (11)].range);
n->query = NULL;
n->attlist = (yyvsp[(4) - (11)].list);
n->is_from = (yyvsp[(6) - (11)].boolean);
n->is_program = (yyvsp[(7) - (11)].boolean);
n->filename = (yyvsp[(8) - (11)].str);
if (n->is_program && n->filename == NULL)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("STDIN/STDOUT not allowed with PROGRAM"),
parser_errposition((yylsp[(8) - (11)]))));
n->options = NIL;
/* Concatenate user-supplied flags */
if ((yyvsp[(2) - (11)].defelt))
n->options = lappend(n->options, (yyvsp[(2) - (11)].defelt));
if ((yyvsp[(5) - (11)].defelt))
n->options = lappend(n->options, (yyvsp[(5) - (11)].defelt));
if ((yyvsp[(9) - (11)].defelt))
n->options = lappend(n->options, (yyvsp[(9) - (11)].defelt));
if ((yyvsp[(11) - (11)].list))
n->options = list_concat(n->options, (yyvsp[(11) - (11)].list));
(yyval.node) = (Node *)n;
;}
break;
case 358:
#line 2604 "gram.y"
{
CopyStmt *n = makeNode(CopyStmt);
n->relation = NULL;
n->query = (yyvsp[(2) - (7)].node);
n->attlist = NIL;
n->is_from = false;
n->is_program = (yyvsp[(4) - (7)].boolean);
n->filename = (yyvsp[(5) - (7)].str);
n->options = (yyvsp[(7) - (7)].list);
if (n->is_program && n->filename == NULL)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("STDIN/STDOUT not allowed with PROGRAM"),
parser_errposition((yylsp[(5) - (7)]))));
(yyval.node) = (Node *)n;
;}
break;
case 359:
#line 2625 "gram.y"
{ (yyval.boolean) = TRUE; ;}
break;
case 360:
#line 2626 "gram.y"
{ (yyval.boolean) = FALSE; ;}
break;
case 361:
#line 2630 "gram.y"
{ (yyval.boolean) = TRUE; ;}
break;
case 362:
#line 2631 "gram.y"
{ (yyval.boolean) = FALSE; ;}
break;
case 363:
#line 2640 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 364:
#line 2641 "gram.y"
{ (yyval.str) = NULL; ;}
break;
case 365:
#line 2642 "gram.y"
{ (yyval.str) = NULL; ;}
break;
case 366:
#line 2645 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 367:
#line 2646 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (3)].list); ;}
break;
case 368:
#line 2651 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;}
break;
case 369:
#line 2652 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 370:
#line 2657 "gram.y"
{
(yyval.defelt) = makeDefElem("format", (Node *)makeString("binary"));
;}
break;
case 371:
#line 2661 "gram.y"
{
(yyval.defelt) = makeDefElem("oids", (Node *)makeInteger(TRUE));
;}
break;
case 372:
#line 2665 "gram.y"
{
(yyval.defelt) = makeDefElem("freeze", (Node *)makeInteger(TRUE));
;}
break;
case 373:
#line 2669 "gram.y"
{
(yyval.defelt) = makeDefElem("delimiter", (Node *)makeString((yyvsp[(3) - (3)].str)));
;}
break;
case 374:
#line 2673 "gram.y"
{
(yyval.defelt) = makeDefElem("null", (Node *)makeString((yyvsp[(3) - (3)].str)));
;}
break;
case 375:
#line 2677 "gram.y"
{
(yyval.defelt) = makeDefElem("format", (Node *)makeString("csv"));
;}
break;
case 376:
#line 2681 "gram.y"
{
(yyval.defelt) = makeDefElem("header", (Node *)makeInteger(TRUE));
;}
break;
case 377:
#line 2685 "gram.y"
{
(yyval.defelt) = makeDefElem("quote", (Node *)makeString((yyvsp[(3) - (3)].str)));
;}
break;
case 378:
#line 2689 "gram.y"
{
(yyval.defelt) = makeDefElem("escape", (Node *)makeString((yyvsp[(3) - (3)].str)));
;}
break;
case 379:
#line 2693 "gram.y"
{
(yyval.defelt) = makeDefElem("force_quote", (Node *)(yyvsp[(3) - (3)].list));
;}
break;
case 380:
#line 2697 "gram.y"
{
(yyval.defelt) = makeDefElem("force_quote", (Node *)makeNode(A_Star));
;}
break;
case 381:
#line 2701 "gram.y"
{
(yyval.defelt) = makeDefElem("force_not_null", (Node *)(yyvsp[(4) - (4)].list));
;}
break;
case 382:
#line 2705 "gram.y"
{
(yyval.defelt) = makeDefElem("force_null", (Node *)(yyvsp[(3) - (3)].list));
;}
break;
case 383:
#line 2709 "gram.y"
{
(yyval.defelt) = makeDefElem("encoding", (Node *)makeString((yyvsp[(2) - (2)].str)));
;}
break;
case 384:
#line 2718 "gram.y"
{
(yyval.defelt) = makeDefElem("format", (Node *)makeString("binary"));
;}
break;
case 385:
#line 2721 "gram.y"
{ (yyval.defelt) = NULL; ;}
break;
case 386:
#line 2726 "gram.y"
{
(yyval.defelt) = makeDefElem("oids", (Node *)makeInteger(TRUE));
;}
break;
case 387:
#line 2729 "gram.y"
{ (yyval.defelt) = NULL; ;}
break;
case 388:
#line 2734 "gram.y"
{
(yyval.defelt) = makeDefElem("delimiter", (Node *)makeString((yyvsp[(3) - (3)].str)));
;}
break;
case 389:
#line 2737 "gram.y"
{ (yyval.defelt) = NULL; ;}
break;
case 390:
#line 2741 "gram.y"
{;}
break;
case 391:
#line 2742 "gram.y"
{;}
break;
case 392:
#line 2748 "gram.y"
{
(yyval.list) = list_make1((yyvsp[(1) - (1)].defelt));
;}
break;
case 393:
#line 2752 "gram.y"
{
(yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt));
;}
break;
case 394:
#line 2759 "gram.y"
{
(yyval.defelt) = makeDefElem((yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].node));
;}
break;
case 395:
#line 2765 "gram.y"
{ (yyval.node) = (Node *) makeString((yyvsp[(1) - (1)].str)); ;}
break;
case 396:
#line 2766 "gram.y"
{ (yyval.node) = (Node *) (yyvsp[(1) - (1)].value); ;}
break;
case 397:
#line 2767 "gram.y"
{ (yyval.node) = (Node *) makeNode(A_Star); ;}
break;
case 398:
#line 2768 "gram.y"
{ (yyval.node) = (Node *) (yyvsp[(2) - (3)].list); ;}
break;
case 399:
#line 2769 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 400:
#line 2774 "gram.y"
{
(yyval.list) = list_make1((yyvsp[(1) - (1)].node));
;}
break;
case 401:
#line 2778 "gram.y"
{
(yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node));
;}
break;
case 402:
#line 2785 "gram.y"
{ (yyval.node) = (Node *) makeString((yyvsp[(1) - (1)].str)); ;}
break;
case 403:
#line 2798 "gram.y"
{
CreateStmt *n = makeNode(CreateStmt);
(yyvsp[(4) - (11)].range)->relpersistence = (yyvsp[(2) - (11)].ival);
n->relation = (yyvsp[(4) - (11)].range);
n->tableElts = (yyvsp[(6) - (11)].list);
n->inhRelations = (yyvsp[(8) - (11)].list);
n->ofTypename = NULL;
n->constraints = NIL;
n->options = (yyvsp[(9) - (11)].list);
n->oncommit = (yyvsp[(10) - (11)].oncommit);
n->tablespacename = (yyvsp[(11) - (11)].str);
n->if_not_exists = false;
(yyval.node) = (Node *)n;
;}
break;
case 404:
#line 2815 "gram.y"
{
CreateStmt *n = makeNode(CreateStmt);
(yyvsp[(7) - (14)].range)->relpersistence = (yyvsp[(2) - (14)].ival);
n->relation = (yyvsp[(7) - (14)].range);
n->tableElts = (yyvsp[(9) - (14)].list);
n->inhRelations = (yyvsp[(11) - (14)].list);
n->ofTypename = NULL;
n->constraints = NIL;
n->options = (yyvsp[(12) - (14)].list);
n->oncommit = (yyvsp[(13) - (14)].oncommit);
n->tablespacename = (yyvsp[(14) - (14)].str);
n->if_not_exists = true;
(yyval.node) = (Node *)n;
;}
break;
case 405:
#line 2831 "gram.y"
{
CreateStmt *n = makeNode(CreateStmt);
(yyvsp[(4) - (10)].range)->relpersistence = (yyvsp[(2) - (10)].ival);
n->relation = (yyvsp[(4) - (10)].range);
n->tableElts = (yyvsp[(7) - (10)].list);
n->inhRelations = NIL;
n->ofTypename = makeTypeNameFromNameList((yyvsp[(6) - (10)].list));
n->ofTypename->location = (yylsp[(6) - (10)]);
n->constraints = NIL;
n->options = (yyvsp[(8) - (10)].list);
n->oncommit = (yyvsp[(9) - (10)].oncommit);
n->tablespacename = (yyvsp[(10) - (10)].str);
n->if_not_exists = false;
(yyval.node) = (Node *)n;
;}
break;
case 406:
#line 2848 "gram.y"
{
CreateStmt *n = makeNode(CreateStmt);
(yyvsp[(7) - (13)].range)->relpersistence = (yyvsp[(2) - (13)].ival);
n->relation = (yyvsp[(7) - (13)].range);
n->tableElts = (yyvsp[(10) - (13)].list);
n->inhRelations = NIL;
n->ofTypename = makeTypeNameFromNameList((yyvsp[(9) - (13)].list));
n->ofTypename->location = (yylsp[(9) - (13)]);
n->constraints = NIL;
n->options = (yyvsp[(11) - (13)].list);
n->oncommit = (yyvsp[(12) - (13)].oncommit);
n->tablespacename = (yyvsp[(13) - (13)].str);
n->if_not_exists = true;
(yyval.node) = (Node *)n;
;}
break;
case 407:
#line 2876 "gram.y"
{ (yyval.ival) = RELPERSISTENCE_TEMP; ;}
break;
case 408:
#line 2877 "gram.y"
{ (yyval.ival) = RELPERSISTENCE_TEMP; ;}
break;
case 409:
#line 2878 "gram.y"
{ (yyval.ival) = RELPERSISTENCE_TEMP; ;}
break;
case 410:
#line 2879 "gram.y"
{ (yyval.ival) = RELPERSISTENCE_TEMP; ;}
break;
case 411:
#line 2881 "gram.y"
{
ereport(WARNING,
(errmsg("GLOBAL is deprecated in temporary table creation"),
parser_errposition((yylsp[(1) - (2)]))));
(yyval.ival) = RELPERSISTENCE_TEMP;
;}
break;
case 412:
#line 2888 "gram.y"
{
ereport(WARNING,
(errmsg("GLOBAL is deprecated in temporary table creation"),
parser_errposition((yylsp[(1) - (2)]))));
(yyval.ival) = RELPERSISTENCE_TEMP;
;}
break;
case 413:
#line 2894 "gram.y"
{ (yyval.ival) = RELPERSISTENCE_UNLOGGED; ;}
break;
case 414:
#line 2895 "gram.y"
{ (yyval.ival) = RELPERSISTENCE_PERMANENT; ;}
break;
case 415:
#line 2899 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 416:
#line 2900 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 417:
#line 2904 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (3)].list); ;}
break;
case 418:
#line 2905 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 419:
#line 2910 "gram.y"
{
(yyval.list) = list_make1((yyvsp[(1) - (1)].node));
;}
break;
case 420:
#line 2914 "gram.y"
{
(yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node));
;}
break;
case 421:
#line 2921 "gram.y"
{
(yyval.list) = list_make1((yyvsp[(1) - (1)].node));
;}
break;
case 422:
#line 2925 "gram.y"
{
(yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node));
;}
break;
case 423:
#line 2931 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 424:
#line 2932 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 425:
#line 2933 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 426:
#line 2937 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 427:
#line 2938 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 428:
#line 2942 "gram.y"
{
ColumnDef *n = makeNode(ColumnDef);
n->colname = (yyvsp[(1) - (4)].str);
n->typeName = (yyvsp[(2) - (4)].typnam);
n->inhcount = 0;
n->is_local = true;
n->is_not_null = false;
n->is_from_type = false;
n->storage = 0;
n->raw_default = NULL;
n->cooked_default = NULL;
n->collOid = InvalidOid;
n->fdwoptions = (yyvsp[(3) - (4)].list);
SplitColQualList((yyvsp[(4) - (4)].list), &n->constraints, &n->collClause,
yyscanner);
n->location = (yylsp[(1) - (4)]);
(yyval.node) = (Node *)n;
;}
break;
case 429:
#line 2963 "gram.y"
{
ColumnDef *n = makeNode(ColumnDef);
n->colname = (yyvsp[(1) - (4)].str);
n->typeName = NULL;
n->inhcount = 0;
n->is_local = true;
n->is_not_null = false;
n->is_from_type = false;
n->storage = 0;
n->raw_default = NULL;
n->cooked_default = NULL;
n->collOid = InvalidOid;
SplitColQualList((yyvsp[(4) - (4)].list), &n->constraints, &n->collClause,
yyscanner);
n->location = (yylsp[(1) - (4)]);
(yyval.node) = (Node *)n;
;}
break;
case 430:
#line 2983 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].node)); ;}
break;
case 431:
#line 2984 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 432:
#line 2989 "gram.y"
{
Constraint *n = (Constraint *) (yyvsp[(3) - (3)].node);
Assert(IsA(n, Constraint));
n->conname = (yyvsp[(2) - (3)].str);
n->location = (yylsp[(1) - (3)]);
(yyval.node) = (Node *) n;
;}
break;
case 433:
#line 2996 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 434:
#line 2997 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 435:
#line 2999 "gram.y"
{
/*
* Note: the CollateClause is momentarily included in
* the list built by ColQualList, but we split it out
* again in SplitColQualList.
*/
CollateClause *n = makeNode(CollateClause);
n->arg = NULL;
n->collname = (yyvsp[(2) - (2)].list);
n->location = (yylsp[(1) - (2)]);
(yyval.node) = (Node *) n;
;}
break;
case 436:
#line 3030 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_NOTNULL;
n->location = (yylsp[(1) - (2)]);
(yyval.node) = (Node *)n;
;}
break;
case 437:
#line 3037 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_NULL;
n->location = (yylsp[(1) - (1)]);
(yyval.node) = (Node *)n;
;}
break;
case 438:
#line 3044 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_UNIQUE;
n->location = (yylsp[(1) - (3)]);
n->keys = NULL;
n->options = (yyvsp[(2) - (3)].list);
n->indexname = NULL;
n->indexspace = (yyvsp[(3) - (3)].str);
(yyval.node) = (Node *)n;
;}
break;
case 439:
#line 3055 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_PRIMARY;
n->location = (yylsp[(1) - (4)]);
n->keys = NULL;
n->options = (yyvsp[(3) - (4)].list);
n->indexname = NULL;
n->indexspace = (yyvsp[(4) - (4)].str);
(yyval.node) = (Node *)n;
;}
break;
case 440:
#line 3066 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_CHECK;
n->location = (yylsp[(1) - (5)]);
n->is_no_inherit = (yyvsp[(5) - (5)].boolean);
n->raw_expr = (yyvsp[(3) - (5)].node);
n->cooked_expr = NULL;
(yyval.node) = (Node *)n;
;}
break;
case 441:
#line 3076 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_DEFAULT;
n->location = (yylsp[(1) - (2)]);
n->raw_expr = (yyvsp[(2) - (2)].node);
n->cooked_expr = NULL;
(yyval.node) = (Node *)n;
;}
break;
case 442:
#line 3085 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_FOREIGN;
n->location = (yylsp[(1) - (5)]);
n->pktable = (yyvsp[(2) - (5)].range);
n->fk_attrs = NIL;
n->pk_attrs = (yyvsp[(3) - (5)].list);
n->fk_matchtype = (yyvsp[(4) - (5)].ival);
n->fk_upd_action = (char) ((yyvsp[(5) - (5)].ival) >> 8);
n->fk_del_action = (char) ((yyvsp[(5) - (5)].ival) & 0xFF);
n->skip_validation = false;
n->initially_valid = true;
(yyval.node) = (Node *)n;
;}
break;
case 443:
#line 3118 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_ATTR_DEFERRABLE;
n->location = (yylsp[(1) - (1)]);
(yyval.node) = (Node *)n;
;}
break;
case 444:
#line 3125 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_ATTR_NOT_DEFERRABLE;
n->location = (yylsp[(1) - (2)]);
(yyval.node) = (Node *)n;
;}
break;
case 445:
#line 3132 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_ATTR_DEFERRED;
n->location = (yylsp[(1) - (2)]);
(yyval.node) = (Node *)n;
;}
break;
case 446:
#line 3139 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_ATTR_IMMEDIATE;
n->location = (yylsp[(1) - (2)]);
(yyval.node) = (Node *)n;
;}
break;
case 447:
#line 3150 "gram.y"
{
TableLikeClause *n = makeNode(TableLikeClause);
n->relation = (yyvsp[(2) - (3)].range);
n->options = (yyvsp[(3) - (3)].ival);
(yyval.node) = (Node *)n;
;}
break;
case 448:
#line 3159 "gram.y"
{ (yyval.ival) = (yyvsp[(1) - (3)].ival) | (yyvsp[(3) - (3)].ival); ;}
break;
case 449:
#line 3160 "gram.y"
{ (yyval.ival) = (yyvsp[(1) - (3)].ival) & ~(yyvsp[(3) - (3)].ival); ;}
break;
case 450:
#line 3161 "gram.y"
{ (yyval.ival) = 0; ;}
break;
case 451:
#line 3165 "gram.y"
{ (yyval.ival) = CREATE_TABLE_LIKE_DEFAULTS; ;}
break;
case 452:
#line 3166 "gram.y"
{ (yyval.ival) = CREATE_TABLE_LIKE_CONSTRAINTS; ;}
break;
case 453:
#line 3167 "gram.y"
{ (yyval.ival) = CREATE_TABLE_LIKE_INDEXES; ;}
break;
case 454:
#line 3168 "gram.y"
{ (yyval.ival) = CREATE_TABLE_LIKE_STORAGE; ;}
break;
case 455:
#line 3169 "gram.y"
{ (yyval.ival) = CREATE_TABLE_LIKE_COMMENTS; ;}
break;
case 456:
#line 3170 "gram.y"
{ (yyval.ival) = CREATE_TABLE_LIKE_ALL; ;}
break;
case 457:
#line 3180 "gram.y"
{
Constraint *n = (Constraint *) (yyvsp[(3) - (3)].node);
Assert(IsA(n, Constraint));
n->conname = (yyvsp[(2) - (3)].str);
n->location = (yylsp[(1) - (3)]);
(yyval.node) = (Node *) n;
;}
break;
case 458:
#line 3187 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 459:
#line 3192 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_CHECK;
n->location = (yylsp[(1) - (5)]);
n->raw_expr = (yyvsp[(3) - (5)].node);
n->cooked_expr = NULL;
processCASbits((yyvsp[(5) - (5)].ival), (yylsp[(5) - (5)]), "CHECK",
NULL, NULL, &n->skip_validation,
&n->is_no_inherit, yyscanner);
n->initially_valid = !n->skip_validation;
(yyval.node) = (Node *)n;
;}
break;
case 460:
#line 3206 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_UNIQUE;
n->location = (yylsp[(1) - (7)]);
n->keys = (yyvsp[(3) - (7)].list);
n->options = (yyvsp[(5) - (7)].list);
n->indexname = NULL;
n->indexspace = (yyvsp[(6) - (7)].str);
processCASbits((yyvsp[(7) - (7)].ival), (yylsp[(7) - (7)]), "UNIQUE",
&n->deferrable, &n->initdeferred, NULL,
NULL, yyscanner);
(yyval.node) = (Node *)n;
;}
break;
case 461:
#line 3220 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_UNIQUE;
n->location = (yylsp[(1) - (3)]);
n->keys = NIL;
n->options = NIL;
n->indexname = (yyvsp[(2) - (3)].str);
n->indexspace = NULL;
processCASbits((yyvsp[(3) - (3)].ival), (yylsp[(3) - (3)]), "UNIQUE",
&n->deferrable, &n->initdeferred, NULL,
NULL, yyscanner);
(yyval.node) = (Node *)n;
;}
break;
case 462:
#line 3235 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_PRIMARY;
n->location = (yylsp[(1) - (8)]);
n->keys = (yyvsp[(4) - (8)].list);
n->options = (yyvsp[(6) - (8)].list);
n->indexname = NULL;
n->indexspace = (yyvsp[(7) - (8)].str);
processCASbits((yyvsp[(8) - (8)].ival), (yylsp[(8) - (8)]), "PRIMARY KEY",
&n->deferrable, &n->initdeferred, NULL,
NULL, yyscanner);
(yyval.node) = (Node *)n;
;}
break;
case 463:
#line 3249 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_PRIMARY;
n->location = (yylsp[(1) - (4)]);
n->keys = NIL;
n->options = NIL;
n->indexname = (yyvsp[(3) - (4)].str);
n->indexspace = NULL;
processCASbits((yyvsp[(4) - (4)].ival), (yylsp[(4) - (4)]), "PRIMARY KEY",
&n->deferrable, &n->initdeferred, NULL,
NULL, yyscanner);
(yyval.node) = (Node *)n;
;}
break;
case 464:
#line 3265 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_EXCLUSION;
n->location = (yylsp[(1) - (9)]);
n->access_method = (yyvsp[(2) - (9)].str);
n->exclusions = (yyvsp[(4) - (9)].list);
n->options = (yyvsp[(6) - (9)].list);
n->indexname = NULL;
n->indexspace = (yyvsp[(7) - (9)].str);
n->where_clause = (yyvsp[(8) - (9)].node);
processCASbits((yyvsp[(9) - (9)].ival), (yylsp[(9) - (9)]), "EXCLUDE",
&n->deferrable, &n->initdeferred, NULL,
NULL, yyscanner);
(yyval.node) = (Node *)n;
;}
break;
case 465:
#line 3282 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_FOREIGN;
n->location = (yylsp[(1) - (11)]);
n->pktable = (yyvsp[(7) - (11)].range);
n->fk_attrs = (yyvsp[(4) - (11)].list);
n->pk_attrs = (yyvsp[(8) - (11)].list);
n->fk_matchtype = (yyvsp[(9) - (11)].ival);
n->fk_upd_action = (char) ((yyvsp[(10) - (11)].ival) >> 8);
n->fk_del_action = (char) ((yyvsp[(10) - (11)].ival) & 0xFF);
processCASbits((yyvsp[(11) - (11)].ival), (yylsp[(11) - (11)]), "FOREIGN KEY",
&n->deferrable, &n->initdeferred,
&n->skip_validation, NULL,
yyscanner);
n->initially_valid = !n->skip_validation;
(yyval.node) = (Node *)n;
;}
break;
case 466:
#line 3301 "gram.y"
{ (yyval.boolean) = TRUE; ;}
break;
case 467:
#line 3302 "gram.y"
{ (yyval.boolean) = FALSE; ;}
break;
case 468:
#line 3306 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (3)].list); ;}
break;
case 469:
#line 3307 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 470:
#line 3311 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 471:
#line 3312 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;}
break;
case 472:
#line 3316 "gram.y"
{
(yyval.node) = (Node *) makeString((yyvsp[(1) - (1)].str));
;}
break;
case 473:
#line 3322 "gram.y"
{
(yyval.ival) = FKCONSTR_MATCH_FULL;
;}
break;
case 474:
#line 3326 "gram.y"
{
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
errmsg("MATCH PARTIAL not yet implemented"),
parser_errposition((yylsp[(1) - (2)]))));
(yyval.ival) = FKCONSTR_MATCH_PARTIAL;
;}
break;
case 475:
#line 3334 "gram.y"
{
(yyval.ival) = FKCONSTR_MATCH_SIMPLE;
;}
break;
case 476:
#line 3338 "gram.y"
{
(yyval.ival) = FKCONSTR_MATCH_SIMPLE;
;}
break;
case 477:
#line 3344 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].list)); ;}
break;
case 478:
#line 3346 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].list)); ;}
break;
case 479:
#line 3350 "gram.y"
{
(yyval.list) = list_make2((yyvsp[(1) - (3)].ielem), (yyvsp[(3) - (3)].list));
;}
break;
case 480:
#line 3355 "gram.y"
{
(yyval.list) = list_make2((yyvsp[(1) - (6)].ielem), (yyvsp[(5) - (6)].list));
;}
break;
case 481:
#line 3361 "gram.y"
{ (yyval.node) = (yyvsp[(3) - (4)].node); ;}
break;
case 482:
#line 3362 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 483:
#line 3373 "gram.y"
{ (yyval.ival) = ((yyvsp[(1) - (1)].ival) << 8) | (FKCONSTR_ACTION_NOACTION & 0xFF); ;}
break;
case 484:
#line 3375 "gram.y"
{ (yyval.ival) = (FKCONSTR_ACTION_NOACTION << 8) | ((yyvsp[(1) - (1)].ival) & 0xFF); ;}
break;
case 485:
#line 3377 "gram.y"
{ (yyval.ival) = ((yyvsp[(1) - (2)].ival) << 8) | ((yyvsp[(2) - (2)].ival) & 0xFF); ;}
break;
case 486:
#line 3379 "gram.y"
{ (yyval.ival) = ((yyvsp[(2) - (2)].ival) << 8) | ((yyvsp[(1) - (2)].ival) & 0xFF); ;}
break;
case 487:
#line 3381 "gram.y"
{ (yyval.ival) = (FKCONSTR_ACTION_NOACTION << 8) | (FKCONSTR_ACTION_NOACTION & 0xFF); ;}
break;
case 488:
#line 3384 "gram.y"
{ (yyval.ival) = (yyvsp[(3) - (3)].ival); ;}
break;
case 489:
#line 3387 "gram.y"
{ (yyval.ival) = (yyvsp[(3) - (3)].ival); ;}
break;
case 490:
#line 3391 "gram.y"
{ (yyval.ival) = FKCONSTR_ACTION_NOACTION; ;}
break;
case 491:
#line 3392 "gram.y"
{ (yyval.ival) = FKCONSTR_ACTION_RESTRICT; ;}
break;
case 492:
#line 3393 "gram.y"
{ (yyval.ival) = FKCONSTR_ACTION_CASCADE; ;}
break;
case 493:
#line 3394 "gram.y"
{ (yyval.ival) = FKCONSTR_ACTION_SETNULL; ;}
break;
case 494:
#line 3395 "gram.y"
{ (yyval.ival) = FKCONSTR_ACTION_SETDEFAULT; ;}
break;
case 495:
#line 3398 "gram.y"
{ (yyval.list) = (yyvsp[(3) - (4)].list); ;}
break;
case 496:
#line 3399 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 497:
#line 3404 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (2)].list); ;}
break;
case 498:
#line 3405 "gram.y"
{ (yyval.list) = list_make1(defWithOids(true)); ;}
break;
case 499:
#line 3406 "gram.y"
{ (yyval.list) = list_make1(defWithOids(false)); ;}
break;
case 500:
#line 3407 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 501:
#line 3410 "gram.y"
{ (yyval.oncommit) = ONCOMMIT_DROP; ;}
break;
case 502:
#line 3411 "gram.y"
{ (yyval.oncommit) = ONCOMMIT_DELETE_ROWS; ;}
break;
case 503:
#line 3412 "gram.y"
{ (yyval.oncommit) = ONCOMMIT_PRESERVE_ROWS; ;}
break;
case 504:
#line 3413 "gram.y"
{ (yyval.oncommit) = ONCOMMIT_NOOP; ;}
break;
case 505:
#line 3416 "gram.y"
{ (yyval.str) = (yyvsp[(2) - (2)].str); ;}
break;
case 506:
#line 3417 "gram.y"
{ (yyval.str) = NULL; ;}
break;
case 507:
#line 3420 "gram.y"
{ (yyval.str) = (yyvsp[(4) - (4)].str); ;}
break;
case 508:
#line 3421 "gram.y"
{ (yyval.str) = NULL; ;}
break;
case 509:
#line 3424 "gram.y"
{ (yyval.str) = (yyvsp[(3) - (3)].str); ;}
break;
case 510:
#line 3440 "gram.y"
{
CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
ctas->query = (yyvsp[(6) - (7)].node);
ctas->into = (yyvsp[(4) - (7)].into);
ctas->relkind = OBJECT_TABLE;
ctas->is_select_into = false;
ctas->if_not_exists = false;
/* cram additional flags into the IntoClause */
(yyvsp[(4) - (7)].into)->rel->relpersistence = (yyvsp[(2) - (7)].ival);
(yyvsp[(4) - (7)].into)->skipData = !((yyvsp[(7) - (7)].boolean));
(yyval.node) = (Node *) ctas;
;}
break;
case 511:
#line 3453 "gram.y"
{
CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
ctas->query = (yyvsp[(9) - (10)].node);
ctas->into = (yyvsp[(7) - (10)].into);
ctas->relkind = OBJECT_TABLE;
ctas->is_select_into = false;
ctas->if_not_exists = true;
/* cram additional flags into the IntoClause */
(yyvsp[(7) - (10)].into)->rel->relpersistence = (yyvsp[(2) - (10)].ival);
(yyvsp[(7) - (10)].into)->skipData = !((yyvsp[(10) - (10)].boolean));
(yyval.node) = (Node *) ctas;
;}
break;
case 512:
#line 3469 "gram.y"
{
(yyval.into) = makeNode(IntoClause);
(yyval.into)->rel = (yyvsp[(1) - (5)].range);
(yyval.into)->colNames = (yyvsp[(2) - (5)].list);
(yyval.into)->options = (yyvsp[(3) - (5)].list);
(yyval.into)->onCommit = (yyvsp[(4) - (5)].oncommit);
(yyval.into)->tableSpaceName = (yyvsp[(5) - (5)].str);
(yyval.into)->viewQuery = NULL;
(yyval.into)->skipData = false; /* might get changed later */
;}
break;
case 513:
#line 3482 "gram.y"
{ (yyval.boolean) = TRUE; ;}
break;
case 514:
#line 3483 "gram.y"
{ (yyval.boolean) = FALSE; ;}
break;
case 515:
#line 3484 "gram.y"
{ (yyval.boolean) = TRUE; ;}
break;
case 516:
#line 3497 "gram.y"
{
CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
ctas->query = (yyvsp[(7) - (8)].node);
ctas->into = (yyvsp[(5) - (8)].into);
ctas->relkind = OBJECT_MATVIEW;
ctas->is_select_into = false;
ctas->if_not_exists = false;
/* cram additional flags into the IntoClause */
(yyvsp[(5) - (8)].into)->rel->relpersistence = (yyvsp[(2) - (8)].ival);
(yyvsp[(5) - (8)].into)->skipData = !((yyvsp[(8) - (8)].boolean));
(yyval.node) = (Node *) ctas;
;}
break;
case 517:
#line 3510 "gram.y"
{
CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
ctas->query = (yyvsp[(10) - (11)].node);
ctas->into = (yyvsp[(8) - (11)].into);
ctas->relkind = OBJECT_MATVIEW;
ctas->is_select_into = false;
ctas->if_not_exists = true;
/* cram additional flags into the IntoClause */
(yyvsp[(8) - (11)].into)->rel->relpersistence = (yyvsp[(2) - (11)].ival);
(yyvsp[(8) - (11)].into)->skipData = !((yyvsp[(11) - (11)].boolean));
(yyval.node) = (Node *) ctas;
;}
break;
case 518:
#line 3526 "gram.y"
{
(yyval.into) = makeNode(IntoClause);
(yyval.into)->rel = (yyvsp[(1) - (4)].range);
(yyval.into)->colNames = (yyvsp[(2) - (4)].list);
(yyval.into)->options = (yyvsp[(3) - (4)].list);
(yyval.into)->onCommit = ONCOMMIT_NOOP;
(yyval.into)->tableSpaceName = (yyvsp[(4) - (4)].str);
(yyval.into)->viewQuery = NULL; /* filled at analysis time */
(yyval.into)->skipData = false; /* might get changed later */
;}
break;
case 519:
#line 3538 "gram.y"
{ (yyval.ival) = RELPERSISTENCE_UNLOGGED; ;}
break;
case 520:
#line 3539 "gram.y"
{ (yyval.ival) = RELPERSISTENCE_PERMANENT; ;}
break;
case 521:
#line 3552 "gram.y"
{
RefreshMatViewStmt *n = makeNode(RefreshMatViewStmt);
n->concurrent = (yyvsp[(4) - (6)].boolean);
n->relation = (yyvsp[(5) - (6)].range);
n->skipData = !((yyvsp[(6) - (6)].boolean));
(yyval.node) = (Node *) n;
;}
break;
case 522:
#line 3572 "gram.y"
{
CreateSeqStmt *n = makeNode(CreateSeqStmt);
(yyvsp[(4) - (5)].range)->relpersistence = (yyvsp[(2) - (5)].ival);
n->sequence = (yyvsp[(4) - (5)].range);
n->options = (yyvsp[(5) - (5)].list);
n->ownerId = InvalidOid;
n->if_not_exists = false;
(yyval.node) = (Node *)n;
;}
break;
case 523:
#line 3582 "gram.y"
{
CreateSeqStmt *n = makeNode(CreateSeqStmt);
(yyvsp[(7) - (8)].range)->relpersistence = (yyvsp[(2) - (8)].ival);
n->sequence = (yyvsp[(7) - (8)].range);
n->options = (yyvsp[(8) - (8)].list);
n->ownerId = InvalidOid;
n->if_not_exists = true;
(yyval.node) = (Node *)n;
;}
break;
case 524:
#line 3595 "gram.y"
{
AlterSeqStmt *n = makeNode(AlterSeqStmt);
n->sequence = (yyvsp[(3) - (4)].range);
n->options = (yyvsp[(4) - (4)].list);
n->missing_ok = false;
(yyval.node) = (Node *)n;
;}
break;
case 525:
#line 3603 "gram.y"
{
AlterSeqStmt *n = makeNode(AlterSeqStmt);
n->sequence = (yyvsp[(5) - (6)].range);
n->options = (yyvsp[(6) - (6)].list);
n->missing_ok = true;
(yyval.node) = (Node *)n;
;}
break;
case 526:
#line 3613 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 527:
#line 3614 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 528:
#line 3617 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;}
break;
case 529:
#line 3618 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;}
break;
case 530:
#line 3622 "gram.y"
{
(yyval.defelt) = makeDefElem("cache", (Node *)(yyvsp[(2) - (2)].value));
;}
break;
case 531:
#line 3626 "gram.y"
{
(yyval.defelt) = makeDefElem("cycle", (Node *)makeInteger(TRUE));
;}
break;
case 532:
#line 3630 "gram.y"
{
(yyval.defelt) = makeDefElem("cycle", (Node *)makeInteger(FALSE));
;}
break;
case 533:
#line 3634 "gram.y"
{
(yyval.defelt) = makeDefElem("increment", (Node *)(yyvsp[(3) - (3)].value));
;}
break;
case 534:
#line 3638 "gram.y"
{
(yyval.defelt) = makeDefElem("maxvalue", (Node *)(yyvsp[(2) - (2)].value));
;}
break;
case 535:
#line 3642 "gram.y"
{
(yyval.defelt) = makeDefElem("minvalue", (Node *)(yyvsp[(2) - (2)].value));
;}
break;
case 536:
#line 3646 "gram.y"
{
(yyval.defelt) = makeDefElem("maxvalue", NULL);
;}
break;
case 537:
#line 3650 "gram.y"
{
(yyval.defelt) = makeDefElem("minvalue", NULL);
;}
break;
case 538:
#line 3654 "gram.y"
{
(yyval.defelt) = makeDefElem("owned_by", (Node *)(yyvsp[(3) - (3)].list));
;}
break;
case 539:
#line 3658 "gram.y"
{
(yyval.defelt) = makeDefElem("start", (Node *)(yyvsp[(3) - (3)].value));
;}
break;
case 540:
#line 3662 "gram.y"
{
(yyval.defelt) = makeDefElem("restart", NULL);
;}
break;
case 541:
#line 3666 "gram.y"
{
(yyval.defelt) = makeDefElem("restart", (Node *)(yyvsp[(3) - (3)].value));
;}
break;
case 542:
#line 3671 "gram.y"
{;}
break;
case 543:
#line 3672 "gram.y"
{;}
break;
case 544:
#line 3676 "gram.y"
{ (yyval.value) = makeFloat((yyvsp[(1) - (1)].str)); ;}
break;
case 545:
#line 3678 "gram.y"
{
(yyval.value) = makeFloat((yyvsp[(2) - (2)].str));
doNegateFloat((yyval.value));
;}
break;
case 546:
#line 3682 "gram.y"
{ (yyval.value) = makeInteger((yyvsp[(1) - (1)].ival)); ;}
break;
case 547:
#line 3685 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].value)); ;}
break;
case 548:
#line 3686 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].value)); ;}
break;
case 549:
#line 3699 "gram.y"
{
CreatePLangStmt *n = makeNode(CreatePLangStmt);
n->replace = (yyvsp[(2) - (6)].boolean);
n->plname = (yyvsp[(6) - (6)].str);
/* parameters are all to be supplied by system */
n->plhandler = NIL;
n->plinline = NIL;
n->plvalidator = NIL;
n->pltrusted = false;
(yyval.node) = (Node *)n;
;}
break;
case 550:
#line 3712 "gram.y"
{
CreatePLangStmt *n = makeNode(CreatePLangStmt);
n->replace = (yyvsp[(2) - (10)].boolean);
n->plname = (yyvsp[(6) - (10)].str);
n->plhandler = (yyvsp[(8) - (10)].list);
n->plinline = (yyvsp[(9) - (10)].list);
n->plvalidator = (yyvsp[(10) - (10)].list);
n->pltrusted = (yyvsp[(3) - (10)].boolean);
(yyval.node) = (Node *)n;
;}
break;
case 551:
#line 3725 "gram.y"
{ (yyval.boolean) = TRUE; ;}
break;
case 552:
#line 3726 "gram.y"
{ (yyval.boolean) = FALSE; ;}
break;
case 553:
#line 3734 "gram.y"
{ (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;}
break;
case 554:
#line 3735 "gram.y"
{ (yyval.list) = lcons(makeString((yyvsp[(1) - (2)].str)), (yyvsp[(2) - (2)].list)); ;}
break;
case 555:
#line 3739 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (2)].list); ;}
break;
case 556:
#line 3740 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 557:
#line 3744 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (2)].list); ;}
break;
case 558:
#line 3745 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 559:
#line 3749 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 560:
#line 3750 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 561:
#line 3755 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_LANGUAGE;
n->objects = list_make1(list_make1(makeString((yyvsp[(4) - (5)].str))));
n->arguments = NIL;
n->behavior = (yyvsp[(5) - (5)].dbehavior);
n->missing_ok = false;
n->concurrent = false;
(yyval.node) = (Node *)n;
;}
break;
case 562:
#line 3766 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_LANGUAGE;
n->objects = list_make1(list_make1(makeString((yyvsp[(6) - (7)].str))));
n->behavior = (yyvsp[(7) - (7)].dbehavior);
n->missing_ok = true;
n->concurrent = false;
(yyval.node) = (Node *)n;
;}
break;
case 563:
#line 3778 "gram.y"
{;}
break;
case 564:
#line 3779 "gram.y"
{;}
break;
case 565:
#line 3790 "gram.y"
{
CreateTableSpaceStmt *n = makeNode(CreateTableSpaceStmt);
n->tablespacename = (yyvsp[(3) - (7)].str);
n->owner = (yyvsp[(4) - (7)].node);
n->location = (yyvsp[(6) - (7)].str);
n->options = (yyvsp[(7) - (7)].list);
(yyval.node) = (Node *) n;
;}
break;
case 566:
#line 3800 "gram.y"
{ (yyval.node) = (yyvsp[(2) - (2)].node); ;}
break;
case 567:
#line 3801 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 568:
#line 3815 "gram.y"
{
DropTableSpaceStmt *n = makeNode(DropTableSpaceStmt);
n->tablespacename = (yyvsp[(3) - (3)].str);
n->missing_ok = false;
(yyval.node) = (Node *) n;
;}
break;
case 569:
#line 3822 "gram.y"
{
DropTableSpaceStmt *n = makeNode(DropTableSpaceStmt);
n->tablespacename = (yyvsp[(5) - (5)].str);
n->missing_ok = true;
(yyval.node) = (Node *) n;
;}
break;
case 570:
#line 3839 "gram.y"
{
CreateExtensionStmt *n = makeNode(CreateExtensionStmt);
n->extname = (yyvsp[(3) - (5)].str);
n->if_not_exists = false;
n->options = (yyvsp[(5) - (5)].list);
(yyval.node) = (Node *) n;
;}
break;
case 571:
#line 3847 "gram.y"
{
CreateExtensionStmt *n = makeNode(CreateExtensionStmt);
n->extname = (yyvsp[(6) - (8)].str);
n->if_not_exists = true;
n->options = (yyvsp[(8) - (8)].list);
(yyval.node) = (Node *) n;
;}
break;
case 572:
#line 3858 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;}
break;
case 573:
#line 3860 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 574:
#line 3865 "gram.y"
{
(yyval.defelt) = makeDefElem("schema", (Node *)makeString((yyvsp[(2) - (2)].str)));
;}
break;
case 575:
#line 3869 "gram.y"
{
(yyval.defelt) = makeDefElem("new_version", (Node *)makeString((yyvsp[(2) - (2)].str)));
;}
break;
case 576:
#line 3873 "gram.y"
{
(yyval.defelt) = makeDefElem("old_version", (Node *)makeString((yyvsp[(2) - (2)].str)));
;}
break;
case 577:
#line 3885 "gram.y"
{
AlterExtensionStmt *n = makeNode(AlterExtensionStmt);
n->extname = (yyvsp[(3) - (5)].str);
n->options = (yyvsp[(5) - (5)].list);
(yyval.node) = (Node *) n;
;}
break;
case 578:
#line 3895 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;}
break;
case 579:
#line 3897 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 580:
#line 3902 "gram.y"
{
(yyval.defelt) = makeDefElem("new_version", (Node *)makeString((yyvsp[(2) - (2)].str)));
;}
break;
case 581:
#line 3915 "gram.y"
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[(3) - (7)].str);
n->action = (yyvsp[(4) - (7)].ival);
n->objtype = OBJECT_AGGREGATE;
n->objname = (yyvsp[(6) - (7)].list);
n->objargs = extractAggrArgTypes((yyvsp[(7) - (7)].list));
(yyval.node) = (Node *)n;
;}
break;
case 582:
#line 3925 "gram.y"
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[(3) - (10)].str);
n->action = (yyvsp[(4) - (10)].ival);
n->objtype = OBJECT_CAST;
n->objname = list_make1((yyvsp[(7) - (10)].typnam));
n->objargs = list_make1((yyvsp[(9) - (10)].typnam));
(yyval.node) = (Node *) n;
;}
break;
case 583:
#line 3935 "gram.y"
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[(3) - (6)].str);
n->action = (yyvsp[(4) - (6)].ival);
n->objtype = OBJECT_COLLATION;
n->objname = (yyvsp[(6) - (6)].list);
(yyval.node) = (Node *)n;
;}
break;
case 584:
#line 3944 "gram.y"
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[(3) - (6)].str);
n->action = (yyvsp[(4) - (6)].ival);
n->objtype = OBJECT_CONVERSION;
n->objname = (yyvsp[(6) - (6)].list);
(yyval.node) = (Node *)n;
;}
break;
case 585:
#line 3953 "gram.y"
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[(3) - (6)].str);
n->action = (yyvsp[(4) - (6)].ival);
n->objtype = OBJECT_DOMAIN;
n->objname = list_make1((yyvsp[(6) - (6)].typnam));
(yyval.node) = (Node *)n;
;}
break;
case 586:
#line 3962 "gram.y"
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[(3) - (6)].str);
n->action = (yyvsp[(4) - (6)].ival);
n->objtype = OBJECT_FUNCTION;
n->objname = (yyvsp[(6) - (6)].funwithargs)->funcname;
n->objargs = (yyvsp[(6) - (6)].funwithargs)->funcargs;
(yyval.node) = (Node *)n;
;}
break;
case 587:
#line 3972 "gram.y"
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[(3) - (7)].str);
n->action = (yyvsp[(4) - (7)].ival);
n->objtype = OBJECT_LANGUAGE;
n->objname = list_make1(makeString((yyvsp[(7) - (7)].str)));
(yyval.node) = (Node *)n;
;}
break;
case 588:
#line 3981 "gram.y"
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[(3) - (7)].str);
n->action = (yyvsp[(4) - (7)].ival);
n->objtype = OBJECT_OPERATOR;
n->objname = (yyvsp[(6) - (7)].list);
n->objargs = (yyvsp[(7) - (7)].list);
(yyval.node) = (Node *)n;
;}
break;
case 589:
#line 3991 "gram.y"
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[(3) - (9)].str);
n->action = (yyvsp[(4) - (9)].ival);
n->objtype = OBJECT_OPCLASS;
n->objname = lcons(makeString((yyvsp[(9) - (9)].str)), (yyvsp[(7) - (9)].list));
(yyval.node) = (Node *)n;
;}
break;
case 590:
#line 4000 "gram.y"
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[(3) - (9)].str);
n->action = (yyvsp[(4) - (9)].ival);
n->objtype = OBJECT_OPFAMILY;
n->objname = lcons(makeString((yyvsp[(9) - (9)].str)), (yyvsp[(7) - (9)].list));
(yyval.node) = (Node *)n;
;}
break;
case 591:
#line 4009 "gram.y"
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[(3) - (6)].str);
n->action = (yyvsp[(4) - (6)].ival);
n->objtype = OBJECT_SCHEMA;
n->objname = list_make1(makeString((yyvsp[(6) - (6)].str)));
(yyval.node) = (Node *)n;
;}
break;
case 592:
#line 4018 "gram.y"
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[(3) - (7)].str);
n->action = (yyvsp[(4) - (7)].ival);
n->objtype = OBJECT_EVENT_TRIGGER;
n->objname = list_make1(makeString((yyvsp[(7) - (7)].str)));
(yyval.node) = (Node *)n;
;}
break;
case 593:
#line 4027 "gram.y"
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[(3) - (6)].str);
n->action = (yyvsp[(4) - (6)].ival);
n->objtype = OBJECT_TABLE;
n->objname = (yyvsp[(6) - (6)].list);
(yyval.node) = (Node *)n;
;}
break;
case 594:
#line 4036 "gram.y"
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[(3) - (8)].str);
n->action = (yyvsp[(4) - (8)].ival);
n->objtype = OBJECT_TSPARSER;
n->objname = (yyvsp[(8) - (8)].list);
(yyval.node) = (Node *)n;
;}
break;
case 595:
#line 4045 "gram.y"
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[(3) - (8)].str);
n->action = (yyvsp[(4) - (8)].ival);
n->objtype = OBJECT_TSDICTIONARY;
n->objname = (yyvsp[(8) - (8)].list);
(yyval.node) = (Node *)n;
;}
break;
case 596:
#line 4054 "gram.y"
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[(3) - (8)].str);
n->action = (yyvsp[(4) - (8)].ival);
n->objtype = OBJECT_TSTEMPLATE;
n->objname = (yyvsp[(8) - (8)].list);
(yyval.node) = (Node *)n;
;}
break;
case 597:
#line 4063 "gram.y"
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[(3) - (8)].str);
n->action = (yyvsp[(4) - (8)].ival);
n->objtype = OBJECT_TSCONFIGURATION;
n->objname = (yyvsp[(8) - (8)].list);
(yyval.node) = (Node *)n;
;}
break;
case 598:
#line 4072 "gram.y"
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[(3) - (6)].str);
n->action = (yyvsp[(4) - (6)].ival);
n->objtype = OBJECT_SEQUENCE;
n->objname = (yyvsp[(6) - (6)].list);
(yyval.node) = (Node *)n;
;}
break;
case 599:
#line 4081 "gram.y"
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[(3) - (6)].str);
n->action = (yyvsp[(4) - (6)].ival);
n->objtype = OBJECT_VIEW;
n->objname = (yyvsp[(6) - (6)].list);
(yyval.node) = (Node *)n;
;}
break;
case 600:
#line 4090 "gram.y"
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[(3) - (7)].str);
n->action = (yyvsp[(4) - (7)].ival);
n->objtype = OBJECT_MATVIEW;
n->objname = (yyvsp[(7) - (7)].list);
(yyval.node) = (Node *)n;
;}
break;
case 601:
#line 4099 "gram.y"
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[(3) - (7)].str);
n->action = (yyvsp[(4) - (7)].ival);
n->objtype = OBJECT_FOREIGN_TABLE;
n->objname = (yyvsp[(7) - (7)].list);
(yyval.node) = (Node *)n;
;}
break;
case 602:
#line 4108 "gram.y"
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[(3) - (8)].str);
n->action = (yyvsp[(4) - (8)].ival);
n->objtype = OBJECT_FDW;
n->objname = list_make1(makeString((yyvsp[(8) - (8)].str)));
(yyval.node) = (Node *)n;
;}
break;
case 603:
#line 4117 "gram.y"
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[(3) - (6)].str);
n->action = (yyvsp[(4) - (6)].ival);
n->objtype = OBJECT_FOREIGN_SERVER;
n->objname = list_make1(makeString((yyvsp[(6) - (6)].str)));
(yyval.node) = (Node *)n;
;}
break;
case 604:
#line 4126 "gram.y"
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[(3) - (9)].str);
n->action = (yyvsp[(4) - (9)].ival);
n->objtype = OBJECT_TRANSFORM;
n->objname = list_make1((yyvsp[(7) - (9)].typnam));
n->objargs = list_make1(makeString((yyvsp[(9) - (9)].str)));
(yyval.node) = (Node *)n;
;}
break;
case 605:
#line 4136 "gram.y"
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[(3) - (6)].str);
n->action = (yyvsp[(4) - (6)].ival);
n->objtype = OBJECT_TYPE;
n->objname = list_make1((yyvsp[(6) - (6)].typnam));
(yyval.node) = (Node *)n;
;}
break;
case 606:
#line 4154 "gram.y"
{
CreateFdwStmt *n = makeNode(CreateFdwStmt);
n->fdwname = (yyvsp[(5) - (7)].str);
n->func_options = (yyvsp[(6) - (7)].list);
n->options = (yyvsp[(7) - (7)].list);
(yyval.node) = (Node *) n;
;}
break;
case 607:
#line 4164 "gram.y"
{ (yyval.defelt) = makeDefElem("handler", (Node *)(yyvsp[(2) - (2)].list)); ;}
break;
case 608:
#line 4165 "gram.y"
{ (yyval.defelt) = makeDefElem("handler", NULL); ;}
break;
case 609:
#line 4166 "gram.y"
{ (yyval.defelt) = makeDefElem("validator", (Node *)(yyvsp[(2) - (2)].list)); ;}
break;
case 610:
#line 4167 "gram.y"
{ (yyval.defelt) = makeDefElem("validator", NULL); ;}
break;
case 611:
#line 4171 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;}
break;
case 612:
#line 4172 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;}
break;
case 613:
#line 4176 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 614:
#line 4177 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 615:
#line 4188 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_FDW;
n->objects = list_make1(list_make1(makeString((yyvsp[(5) - (6)].str))));
n->arguments = NIL;
n->missing_ok = false;
n->behavior = (yyvsp[(6) - (6)].dbehavior);
n->concurrent = false;
(yyval.node) = (Node *) n;
;}
break;
case 616:
#line 4199 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_FDW;
n->objects = list_make1(list_make1(makeString((yyvsp[(7) - (8)].str))));
n->arguments = NIL;
n->missing_ok = true;
n->behavior = (yyvsp[(8) - (8)].dbehavior);
n->concurrent = false;
(yyval.node) = (Node *) n;
;}
break;
case 617:
#line 4219 "gram.y"
{
AlterFdwStmt *n = makeNode(AlterFdwStmt);
n->fdwname = (yyvsp[(5) - (7)].str);
n->func_options = (yyvsp[(6) - (7)].list);
n->options = (yyvsp[(7) - (7)].list);
(yyval.node) = (Node *) n;
;}
break;
case 618:
#line 4227 "gram.y"
{
AlterFdwStmt *n = makeNode(AlterFdwStmt);
n->fdwname = (yyvsp[(5) - (6)].str);
n->func_options = (yyvsp[(6) - (6)].list);
n->options = NIL;
(yyval.node) = (Node *) n;
;}
break;
case 619:
#line 4238 "gram.y"
{ (yyval.list) = (yyvsp[(3) - (4)].list); ;}
break;
case 620:
#line 4239 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 621:
#line 4244 "gram.y"
{
(yyval.list) = list_make1((yyvsp[(1) - (1)].defelt));
;}
break;
case 622:
#line 4248 "gram.y"
{
(yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt));
;}
break;
case 623:
#line 4255 "gram.y"
{ (yyval.list) = (yyvsp[(3) - (4)].list); ;}
break;
case 624:
#line 4260 "gram.y"
{
(yyval.list) = list_make1((yyvsp[(1) - (1)].defelt));
;}
break;
case 625:
#line 4264 "gram.y"
{
(yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt));
;}
break;
case 626:
#line 4271 "gram.y"
{
(yyval.defelt) = (yyvsp[(1) - (1)].defelt);
;}
break;
case 627:
#line 4275 "gram.y"
{
(yyval.defelt) = (yyvsp[(2) - (2)].defelt);
(yyval.defelt)->defaction = DEFELEM_SET;
;}
break;
case 628:
#line 4280 "gram.y"
{
(yyval.defelt) = (yyvsp[(2) - (2)].defelt);
(yyval.defelt)->defaction = DEFELEM_ADD;
;}
break;
case 629:
#line 4285 "gram.y"
{
(yyval.defelt) = makeDefElemExtended(NULL, (yyvsp[(2) - (2)].str), NULL, DEFELEM_DROP, (yylsp[(2) - (2)]));
;}
break;
case 630:
#line 4292 "gram.y"
{
(yyval.defelt) = makeDefElem((yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].node));
;}
break;
case 631:
#line 4298 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 632:
#line 4303 "gram.y"
{ (yyval.node) = (Node *) makeString((yyvsp[(1) - (1)].str)); ;}
break;
case 633:
#line 4315 "gram.y"
{
CreateForeignServerStmt *n = makeNode(CreateForeignServerStmt);
n->servername = (yyvsp[(3) - (10)].str);
n->servertype = (yyvsp[(4) - (10)].str);
n->version = (yyvsp[(5) - (10)].str);
n->fdwname = (yyvsp[(9) - (10)].str);
n->options = (yyvsp[(10) - (10)].list);
(yyval.node) = (Node *) n;
;}
break;
case 634:
#line 4327 "gram.y"
{ (yyval.str) = (yyvsp[(2) - (2)].str); ;}
break;
case 635:
#line 4328 "gram.y"
{ (yyval.str) = NULL; ;}
break;
case 636:
#line 4333 "gram.y"
{ (yyval.str) = (yyvsp[(2) - (2)].str); ;}
break;
case 637:
#line 4334 "gram.y"
{ (yyval.str) = NULL; ;}
break;
case 638:
#line 4338 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 639:
#line 4339 "gram.y"
{ (yyval.str) = NULL; ;}
break;
case 640:
#line 4350 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_FOREIGN_SERVER;
n->objects = list_make1(list_make1(makeString((yyvsp[(3) - (4)].str))));
n->arguments = NIL;
n->missing_ok = false;
n->behavior = (yyvsp[(4) - (4)].dbehavior);
n->concurrent = false;
(yyval.node) = (Node *) n;
;}
break;
case 641:
#line 4361 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_FOREIGN_SERVER;
n->objects = list_make1(list_make1(makeString((yyvsp[(5) - (6)].str))));
n->arguments = NIL;
n->missing_ok = true;
n->behavior = (yyvsp[(6) - (6)].dbehavior);
n->concurrent = false;
(yyval.node) = (Node *) n;
;}
break;
case 642:
#line 4381 "gram.y"
{
AlterForeignServerStmt *n = makeNode(AlterForeignServerStmt);
n->servername = (yyvsp[(3) - (5)].str);
n->version = (yyvsp[(4) - (5)].str);
n->options = (yyvsp[(5) - (5)].list);
n->has_version = true;
(yyval.node) = (Node *) n;
;}
break;
case 643:
#line 4390 "gram.y"
{
AlterForeignServerStmt *n = makeNode(AlterForeignServerStmt);
n->servername = (yyvsp[(3) - (4)].str);
n->version = (yyvsp[(4) - (4)].str);
n->has_version = true;
(yyval.node) = (Node *) n;
;}
break;
case 644:
#line 4398 "gram.y"
{
AlterForeignServerStmt *n = makeNode(AlterForeignServerStmt);
n->servername = (yyvsp[(3) - (4)].str);
n->options = (yyvsp[(4) - (4)].list);
(yyval.node) = (Node *) n;
;}
break;
case 645:
#line 4417 "gram.y"
{
CreateForeignTableStmt *n = makeNode(CreateForeignTableStmt);
(yyvsp[(4) - (11)].range)->relpersistence = RELPERSISTENCE_PERMANENT;
n->base.relation = (yyvsp[(4) - (11)].range);
n->base.tableElts = (yyvsp[(6) - (11)].list);
n->base.inhRelations = (yyvsp[(8) - (11)].list);
n->base.ofTypename = NULL;
n->base.constraints = NIL;
n->base.options = NIL;
n->base.oncommit = ONCOMMIT_NOOP;
n->base.tablespacename = NULL;
n->base.if_not_exists = false;
/* FDW-specific data */
n->servername = (yyvsp[(10) - (11)].str);
n->options = (yyvsp[(11) - (11)].list);
(yyval.node) = (Node *) n;
;}
break;
case 646:
#line 4437 "gram.y"
{
CreateForeignTableStmt *n = makeNode(CreateForeignTableStmt);
(yyvsp[(7) - (14)].range)->relpersistence = RELPERSISTENCE_PERMANENT;
n->base.relation = (yyvsp[(7) - (14)].range);
n->base.tableElts = (yyvsp[(9) - (14)].list);
n->base.inhRelations = (yyvsp[(11) - (14)].list);
n->base.ofTypename = NULL;
n->base.constraints = NIL;
n->base.options = NIL;
n->base.oncommit = ONCOMMIT_NOOP;
n->base.tablespacename = NULL;
n->base.if_not_exists = true;
/* FDW-specific data */
n->servername = (yyvsp[(13) - (14)].str);
n->options = (yyvsp[(14) - (14)].list);
(yyval.node) = (Node *) n;
;}
break;
case 647:
#line 4465 "gram.y"
{
AlterTableStmt *n = makeNode(AlterTableStmt);
n->relation = (yyvsp[(4) - (5)].range);
n->cmds = (yyvsp[(5) - (5)].list);
n->relkind = OBJECT_FOREIGN_TABLE;
n->missing_ok = false;
(yyval.node) = (Node *)n;
;}
break;
case 648:
#line 4474 "gram.y"
{
AlterTableStmt *n = makeNode(AlterTableStmt);
n->relation = (yyvsp[(6) - (7)].range);
n->cmds = (yyvsp[(7) - (7)].list);
n->relkind = OBJECT_FOREIGN_TABLE;
n->missing_ok = true;
(yyval.node) = (Node *)n;
;}
break;
case 649:
#line 4496 "gram.y"
{
ImportForeignSchemaStmt *n = makeNode(ImportForeignSchemaStmt);
n->server_name = (yyvsp[(8) - (11)].str);
n->remote_schema = (yyvsp[(4) - (11)].str);
n->local_schema = (yyvsp[(10) - (11)].str);
n->list_type = (yyvsp[(5) - (11)].importqual)->type;
n->table_list = (yyvsp[(5) - (11)].importqual)->table_names;
n->options = (yyvsp[(11) - (11)].list);
(yyval.node) = (Node *) n;
;}
break;
case 650:
#line 4509 "gram.y"
{ (yyval.ival) = FDW_IMPORT_SCHEMA_LIMIT_TO; ;}
break;
case 651:
#line 4510 "gram.y"
{ (yyval.ival) = FDW_IMPORT_SCHEMA_EXCEPT; ;}
break;
case 652:
#line 4515 "gram.y"
{
ImportQual *n = (ImportQual *) palloc(sizeof(ImportQual));
n->type = (yyvsp[(1) - (4)].ival);
n->table_names = (yyvsp[(3) - (4)].list);
(yyval.importqual) = n;
;}
break;
case 653:
#line 4522 "gram.y"
{
ImportQual *n = (ImportQual *) palloc(sizeof(ImportQual));
n->type = FDW_IMPORT_SCHEMA_ALL;
n->table_names = NIL;
(yyval.importqual) = n;
;}
break;
case 654:
#line 4538 "gram.y"
{
CreateUserMappingStmt *n = makeNode(CreateUserMappingStmt);
n->user = (yyvsp[(5) - (8)].node);
n->servername = (yyvsp[(7) - (8)].str);
n->options = (yyvsp[(8) - (8)].list);
(yyval.node) = (Node *) n;
;}
break;
case 655:
#line 4548 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 656:
#line 4549 "gram.y"
{ (yyval.node) = makeRoleSpec(ROLESPEC_CURRENT_USER, (yylsp[(1) - (1)])); ;}
break;
case 657:
#line 4560 "gram.y"
{
DropUserMappingStmt *n = makeNode(DropUserMappingStmt);
n->user = (yyvsp[(5) - (7)].node);
n->servername = (yyvsp[(7) - (7)].str);
n->missing_ok = false;
(yyval.node) = (Node *) n;
;}
break;
case 658:
#line 4568 "gram.y"
{
DropUserMappingStmt *n = makeNode(DropUserMappingStmt);
n->user = (yyvsp[(7) - (9)].node);
n->servername = (yyvsp[(9) - (9)].str);
n->missing_ok = true;
(yyval.node) = (Node *) n;
;}
break;
case 659:
#line 4585 "gram.y"
{
AlterUserMappingStmt *n = makeNode(AlterUserMappingStmt);
n->user = (yyvsp[(5) - (8)].node);
n->servername = (yyvsp[(7) - (8)].str);
n->options = (yyvsp[(8) - (8)].list);
(yyval.node) = (Node *) n;
;}
break;
case 660:
#line 4609 "gram.y"
{
CreatePolicyStmt *n = makeNode(CreatePolicyStmt);
n->policy_name = (yyvsp[(3) - (9)].str);
n->table = (yyvsp[(5) - (9)].range);
n->cmd_name = (yyvsp[(6) - (9)].str);
n->roles = (yyvsp[(7) - (9)].list);
n->qual = (yyvsp[(8) - (9)].node);
n->with_check = (yyvsp[(9) - (9)].node);
(yyval.node) = (Node *) n;
;}
break;
case 661:
#line 4624 "gram.y"
{
AlterPolicyStmt *n = makeNode(AlterPolicyStmt);
n->policy_name = (yyvsp[(3) - (8)].str);
n->table = (yyvsp[(5) - (8)].range);
n->roles = (yyvsp[(6) - (8)].list);
n->qual = (yyvsp[(7) - (8)].node);
n->with_check = (yyvsp[(8) - (8)].node);
(yyval.node) = (Node *) n;
;}
break;
case 662:
#line 4637 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_POLICY;
n->objects = list_make1(lappend((yyvsp[(5) - (6)].list), makeString((yyvsp[(3) - (6)].str))));
n->arguments = NIL;
n->behavior = (yyvsp[(6) - (6)].dbehavior);
n->missing_ok = false;
n->concurrent = false;
(yyval.node) = (Node *) n;
;}
break;
case 663:
#line 4648 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_POLICY;
n->objects = list_make1(lappend((yyvsp[(7) - (8)].list), makeString((yyvsp[(5) - (8)].str))));
n->arguments = NIL;
n->behavior = (yyvsp[(8) - (8)].dbehavior);
n->missing_ok = true;
n->concurrent = false;
(yyval.node) = (Node *) n;
;}
break;
case 664:
#line 4661 "gram.y"
{ (yyval.node) = (yyvsp[(3) - (4)].node); ;}
break;
case 665:
#line 4662 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 666:
#line 4666 "gram.y"
{ (yyval.node) = (yyvsp[(4) - (5)].node); ;}
break;
case 667:
#line 4667 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 668:
#line 4671 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (2)].list); ;}
break;
case 669:
#line 4672 "gram.y"
{ (yyval.list) = list_make1(makeRoleSpec(ROLESPEC_PUBLIC, -1)); ;}
break;
case 670:
#line 4676 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (2)].list); ;}
break;
case 671:
#line 4677 "gram.y"
{ (yyval.list) = NULL; ;}
break;
case 672:
#line 4681 "gram.y"
{ (yyval.str) = (yyvsp[(2) - (2)].str); ;}
break;
case 673:
#line 4682 "gram.y"
{ (yyval.str) = "all"; ;}
break;
case 674:
#line 4686 "gram.y"
{ (yyval.str) = "all"; ;}
break;
case 675:
#line 4687 "gram.y"
{ (yyval.str) = "select"; ;}
break;
case 676:
#line 4688 "gram.y"
{ (yyval.str) = "insert"; ;}
break;
case 677:
#line 4689 "gram.y"
{ (yyval.str) = "update"; ;}
break;
case 678:
#line 4690 "gram.y"
{ (yyval.str) = "delete"; ;}
break;
case 679:
#line 4705 "gram.y"
{
CreateTrigStmt *n = makeNode(CreateTrigStmt);
n->trigname = (yyvsp[(3) - (15)].str);
n->relation = (yyvsp[(7) - (15)].range);
n->funcname = (yyvsp[(12) - (15)].list);
n->args = (yyvsp[(14) - (15)].list);
n->row = (yyvsp[(8) - (15)].boolean);
n->timing = (yyvsp[(4) - (15)].ival);
n->events = intVal(linitial((yyvsp[(5) - (15)].list)));
n->columns = (List *) lsecond((yyvsp[(5) - (15)].list));
n->whenClause = (yyvsp[(9) - (15)].node);
n->isconstraint = FALSE;
n->deferrable = FALSE;
n->initdeferred = FALSE;
n->constrrel = NULL;
(yyval.node) = (Node *)n;
;}
break;
case 680:
#line 4726 "gram.y"
{
CreateTrigStmt *n = makeNode(CreateTrigStmt);
n->trigname = (yyvsp[(4) - (20)].str);
n->relation = (yyvsp[(8) - (20)].range);
n->funcname = (yyvsp[(17) - (20)].list);
n->args = (yyvsp[(19) - (20)].list);
n->row = TRUE;
n->timing = TRIGGER_TYPE_AFTER;
n->events = intVal(linitial((yyvsp[(6) - (20)].list)));
n->columns = (List *) lsecond((yyvsp[(6) - (20)].list));
n->whenClause = (yyvsp[(14) - (20)].node);
n->isconstraint = TRUE;
processCASbits((yyvsp[(10) - (20)].ival), (yylsp[(10) - (20)]), "TRIGGER",
&n->deferrable, &n->initdeferred, NULL,
NULL, yyscanner);
n->constrrel = (yyvsp[(9) - (20)].range);
(yyval.node) = (Node *)n;
;}
break;
case 681:
#line 4747 "gram.y"
{ (yyval.ival) = TRIGGER_TYPE_BEFORE; ;}
break;
case 682:
#line 4748 "gram.y"
{ (yyval.ival) = TRIGGER_TYPE_AFTER; ;}
break;
case 683:
#line 4749 "gram.y"
{ (yyval.ival) = TRIGGER_TYPE_INSTEAD; ;}
break;
case 684:
#line 4754 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 685:
#line 4756 "gram.y"
{
int events1 = intVal(linitial((yyvsp[(1) - (3)].list)));
int events2 = intVal(linitial((yyvsp[(3) - (3)].list)));
List *columns1 = (List *) lsecond((yyvsp[(1) - (3)].list));
List *columns2 = (List *) lsecond((yyvsp[(3) - (3)].list));
if (events1 & events2)
parser_yyerror("duplicate trigger events specified");
/*
* concat'ing the columns lists loses information about
* which columns went with which event, but so long as
* only UPDATE carries columns and we disallow multiple
* UPDATE items, it doesn't matter. Command execution
* should just ignore the columns for non-UPDATE events.
*/
(yyval.list) = list_make2(makeInteger(events1 | events2),
list_concat(columns1, columns2));
;}
break;
case 686:
#line 4778 "gram.y"
{ (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_INSERT), NIL); ;}
break;
case 687:
#line 4780 "gram.y"
{ (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_DELETE), NIL); ;}
break;
case 688:
#line 4782 "gram.y"
{ (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_UPDATE), NIL); ;}
break;
case 689:
#line 4784 "gram.y"
{ (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_UPDATE), (yyvsp[(3) - (3)].list)); ;}
break;
case 690:
#line 4786 "gram.y"
{ (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_TRUNCATE), NIL); ;}
break;
case 691:
#line 4791 "gram.y"
{
(yyval.boolean) = (yyvsp[(3) - (3)].boolean);
;}
break;
case 692:
#line 4795 "gram.y"
{
/*
* If ROW/STATEMENT not specified, default to
* STATEMENT, per SQL
*/
(yyval.boolean) = FALSE;
;}
break;
case 693:
#line 4805 "gram.y"
{;}
break;
case 694:
#line 4806 "gram.y"
{;}
break;
case 695:
#line 4810 "gram.y"
{ (yyval.boolean) = TRUE; ;}
break;
case 696:
#line 4811 "gram.y"
{ (yyval.boolean) = FALSE; ;}
break;
case 697:
#line 4815 "gram.y"
{ (yyval.node) = (yyvsp[(3) - (4)].node); ;}
break;
case 698:
#line 4816 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 699:
#line 4820 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].value)); ;}
break;
case 700:
#line 4821 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].value)); ;}
break;
case 701:
#line 4822 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 702:
#line 4827 "gram.y"
{
(yyval.value) = makeString(psprintf("%d", (yyvsp[(1) - (1)].ival)));
;}
break;
case 703:
#line 4830 "gram.y"
{ (yyval.value) = makeString((yyvsp[(1) - (1)].str)); ;}
break;
case 704:
#line 4831 "gram.y"
{ (yyval.value) = makeString((yyvsp[(1) - (1)].str)); ;}
break;
case 705:
#line 4832 "gram.y"
{ (yyval.value) = makeString((yyvsp[(1) - (1)].str)); ;}
break;
case 706:
#line 4836 "gram.y"
{ (yyval.range) = (yyvsp[(2) - (2)].range); ;}
break;
case 707:
#line 4837 "gram.y"
{ (yyval.range) = NULL; ;}
break;
case 708:
#line 4842 "gram.y"
{ (yyval.ival) = 0; ;}
break;
case 709:
#line 4844 "gram.y"
{
/*
* We must complain about conflicting options.
* We could, but choose not to, complain about redundant
* options (ie, where $2's bit is already set in $1).
*/
int newspec = (yyvsp[(1) - (2)].ival) | (yyvsp[(2) - (2)].ival);
/* special message for this case */
if ((newspec & (CAS_NOT_DEFERRABLE | CAS_INITIALLY_DEFERRED)) == (CAS_NOT_DEFERRABLE | CAS_INITIALLY_DEFERRED))
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("constraint declared INITIALLY DEFERRED must be DEFERRABLE"),
parser_errposition((yylsp[(2) - (2)]))));
/* generic message for other conflicts */
if ((newspec & (CAS_NOT_DEFERRABLE | CAS_DEFERRABLE)) == (CAS_NOT_DEFERRABLE | CAS_DEFERRABLE) ||
(newspec & (CAS_INITIALLY_IMMEDIATE | CAS_INITIALLY_DEFERRED)) == (CAS_INITIALLY_IMMEDIATE | CAS_INITIALLY_DEFERRED))
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("conflicting constraint properties"),
parser_errposition((yylsp[(2) - (2)]))));
(yyval.ival) = newspec;
;}
break;
case 710:
#line 4870 "gram.y"
{ (yyval.ival) = CAS_NOT_DEFERRABLE; ;}
break;
case 711:
#line 4871 "gram.y"
{ (yyval.ival) = CAS_DEFERRABLE; ;}
break;
case 712:
#line 4872 "gram.y"
{ (yyval.ival) = CAS_INITIALLY_IMMEDIATE; ;}
break;
case 713:
#line 4873 "gram.y"
{ (yyval.ival) = CAS_INITIALLY_DEFERRED; ;}
break;
case 714:
#line 4874 "gram.y"
{ (yyval.ival) = CAS_NOT_VALID; ;}
break;
case 715:
#line 4875 "gram.y"
{ (yyval.ival) = CAS_NO_INHERIT; ;}
break;
case 716:
#line 4881 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_TRIGGER;
n->objects = list_make1(lappend((yyvsp[(5) - (6)].list), makeString((yyvsp[(3) - (6)].str))));
n->arguments = NIL;
n->behavior = (yyvsp[(6) - (6)].dbehavior);
n->missing_ok = false;
n->concurrent = false;
(yyval.node) = (Node *) n;
;}
break;
case 717:
#line 4892 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_TRIGGER;
n->objects = list_make1(lappend((yyvsp[(7) - (8)].list), makeString((yyvsp[(5) - (8)].str))));
n->arguments = NIL;
n->behavior = (yyvsp[(8) - (8)].dbehavior);
n->missing_ok = true;
n->concurrent = false;
(yyval.node) = (Node *) n;
;}
break;
case 718:
#line 4916 "gram.y"
{
CreateEventTrigStmt *n = makeNode(CreateEventTrigStmt);
n->trigname = (yyvsp[(4) - (11)].str);
n->eventname = (yyvsp[(6) - (11)].str);
n->whenclause = NULL;
n->funcname = (yyvsp[(9) - (11)].list);
(yyval.node) = (Node *)n;
;}
break;
case 719:
#line 4927 "gram.y"
{
CreateEventTrigStmt *n = makeNode(CreateEventTrigStmt);
n->trigname = (yyvsp[(4) - (13)].str);
n->eventname = (yyvsp[(6) - (13)].str);
n->whenclause = (yyvsp[(8) - (13)].list);
n->funcname = (yyvsp[(11) - (13)].list);
(yyval.node) = (Node *)n;
;}
break;
case 720:
#line 4939 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;}
break;
case 721:
#line 4941 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt)); ;}
break;
case 722:
#line 4946 "gram.y"
{ (yyval.defelt) = makeDefElem((yyvsp[(1) - (5)].str), (Node *) (yyvsp[(4) - (5)].list)); ;}
break;
case 723:
#line 4951 "gram.y"
{ (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;}
break;
case 724:
#line 4953 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), makeString((yyvsp[(3) - (3)].str))); ;}
break;
case 725:
#line 4958 "gram.y"
{
AlterEventTrigStmt *n = makeNode(AlterEventTrigStmt);
n->trigname = (yyvsp[(4) - (5)].str);
n->tgenabled = (yyvsp[(5) - (5)].chr);
(yyval.node) = (Node *) n;
;}
break;
case 726:
#line 4967 "gram.y"
{ (yyval.chr) = TRIGGER_FIRES_ON_ORIGIN; ;}
break;
case 727:
#line 4968 "gram.y"
{ (yyval.chr) = TRIGGER_FIRES_ON_REPLICA; ;}
break;
case 728:
#line 4969 "gram.y"
{ (yyval.chr) = TRIGGER_FIRES_ALWAYS; ;}
break;
case 729:
#line 4970 "gram.y"
{ (yyval.chr) = TRIGGER_DISABLED; ;}
break;
case 730:
#line 4984 "gram.y"
{
CreateTrigStmt *n = makeNode(CreateTrigStmt);
n->trigname = (yyvsp[(3) - (8)].str);
n->args = list_make1((yyvsp[(6) - (8)].node));
n->isconstraint = TRUE;
processCASbits((yyvsp[(8) - (8)].ival), (yylsp[(8) - (8)]), "ASSERTION",
&n->deferrable, &n->initdeferred, NULL,
NULL, yyscanner);
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
errmsg("CREATE ASSERTION is not yet implemented")));
(yyval.node) = (Node *)n;
;}
break;
case 731:
#line 5003 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->objects = NIL;
n->arguments = NIL;
n->behavior = (yyvsp[(4) - (4)].dbehavior);
n->removeType = OBJECT_TRIGGER; /* XXX */
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
errmsg("DROP ASSERTION is not yet implemented")));
(yyval.node) = (Node *) n;
;}
break;
case 732:
#line 5026 "gram.y"
{
DefineStmt *n = makeNode(DefineStmt);
n->kind = OBJECT_AGGREGATE;
n->oldstyle = false;
n->defnames = (yyvsp[(3) - (5)].list);
n->args = (yyvsp[(4) - (5)].list);
n->definition = (yyvsp[(5) - (5)].list);
(yyval.node) = (Node *)n;
;}
break;
case 733:
#line 5036 "gram.y"
{
/* old-style (pre-8.2) syntax for CREATE AGGREGATE */
DefineStmt *n = makeNode(DefineStmt);
n->kind = OBJECT_AGGREGATE;
n->oldstyle = true;
n->defnames = (yyvsp[(3) - (4)].list);
n->args = NIL;
n->definition = (yyvsp[(4) - (4)].list);
(yyval.node) = (Node *)n;
;}
break;
case 734:
#line 5047 "gram.y"
{
DefineStmt *n = makeNode(DefineStmt);
n->kind = OBJECT_OPERATOR;
n->oldstyle = false;
n->defnames = (yyvsp[(3) - (4)].list);
n->args = NIL;
n->definition = (yyvsp[(4) - (4)].list);
(yyval.node) = (Node *)n;
;}
break;
case 735:
#line 5057 "gram.y"
{
DefineStmt *n = makeNode(DefineStmt);
n->kind = OBJECT_TYPE;
n->oldstyle = false;
n->defnames = (yyvsp[(3) - (4)].list);
n->args = NIL;
n->definition = (yyvsp[(4) - (4)].list);
(yyval.node) = (Node *)n;
;}
break;
case 736:
#line 5067 "gram.y"
{
/* Shell type (identified by lack of definition) */
DefineStmt *n = makeNode(DefineStmt);
n->kind = OBJECT_TYPE;
n->oldstyle = false;
n->defnames = (yyvsp[(3) - (3)].list);
n->args = NIL;
n->definition = NIL;
(yyval.node) = (Node *)n;
;}
break;
case 737:
#line 5078 "gram.y"
{
CompositeTypeStmt *n = makeNode(CompositeTypeStmt);
/* can't use qualified_name, sigh */
n->typevar = makeRangeVarFromAnyName((yyvsp[(3) - (7)].list), (yylsp[(3) - (7)]), yyscanner);
n->coldeflist = (yyvsp[(6) - (7)].list);
(yyval.node) = (Node *)n;
;}
break;
case 738:
#line 5087 "gram.y"
{
CreateEnumStmt *n = makeNode(CreateEnumStmt);
n->typeName = (yyvsp[(3) - (8)].list);
n->vals = (yyvsp[(7) - (8)].list);
(yyval.node) = (Node *)n;
;}
break;
case 739:
#line 5094 "gram.y"
{
CreateRangeStmt *n = makeNode(CreateRangeStmt);
n->typeName = (yyvsp[(3) - (6)].list);
n->params = (yyvsp[(6) - (6)].list);
(yyval.node) = (Node *)n;
;}
break;
case 740:
#line 5101 "gram.y"
{
DefineStmt *n = makeNode(DefineStmt);
n->kind = OBJECT_TSPARSER;
n->args = NIL;
n->defnames = (yyvsp[(5) - (6)].list);
n->definition = (yyvsp[(6) - (6)].list);
(yyval.node) = (Node *)n;
;}
break;
case 741:
#line 5110 "gram.y"
{
DefineStmt *n = makeNode(DefineStmt);
n->kind = OBJECT_TSDICTIONARY;
n->args = NIL;
n->defnames = (yyvsp[(5) - (6)].list);
n->definition = (yyvsp[(6) - (6)].list);
(yyval.node) = (Node *)n;
;}
break;
case 742:
#line 5119 "gram.y"
{
DefineStmt *n = makeNode(DefineStmt);
n->kind = OBJECT_TSTEMPLATE;
n->args = NIL;
n->defnames = (yyvsp[(5) - (6)].list);
n->definition = (yyvsp[(6) - (6)].list);
(yyval.node) = (Node *)n;
;}
break;
case 743:
#line 5128 "gram.y"
{
DefineStmt *n = makeNode(DefineStmt);
n->kind = OBJECT_TSCONFIGURATION;
n->args = NIL;
n->defnames = (yyvsp[(5) - (6)].list);
n->definition = (yyvsp[(6) - (6)].list);
(yyval.node) = (Node *)n;
;}
break;
case 744:
#line 5137 "gram.y"
{
DefineStmt *n = makeNode(DefineStmt);
n->kind = OBJECT_COLLATION;
n->args = NIL;
n->defnames = (yyvsp[(3) - (4)].list);
n->definition = (yyvsp[(4) - (4)].list);
(yyval.node) = (Node *)n;
;}
break;
case 745:
#line 5146 "gram.y"
{
DefineStmt *n = makeNode(DefineStmt);
n->kind = OBJECT_COLLATION;
n->args = NIL;
n->defnames = (yyvsp[(3) - (5)].list);
n->definition = list_make1(makeDefElem("from", (Node *) (yyvsp[(5) - (5)].list)));
(yyval.node) = (Node *)n;
;}
break;
case 746:
#line 5156 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (3)].list); ;}
break;
case 747:
#line 5159 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;}
break;
case 748:
#line 5160 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt)); ;}
break;
case 749:
#line 5164 "gram.y"
{
(yyval.defelt) = makeDefElem((yyvsp[(1) - (3)].str), (Node *) (yyvsp[(3) - (3)].node));
;}
break;
case 750:
#line 5168 "gram.y"
{
(yyval.defelt) = makeDefElem((yyvsp[(1) - (1)].str), NULL);
;}
break;
case 751:
#line 5174 "gram.y"
{ (yyval.node) = (Node *)(yyvsp[(1) - (1)].typnam); ;}
break;
case 752:
#line 5175 "gram.y"
{ (yyval.node) = (Node *)makeString(pstrdup((yyvsp[(1) - (1)].keyword))); ;}
break;
case 753:
#line 5176 "gram.y"
{ (yyval.node) = (Node *)(yyvsp[(1) - (1)].list); ;}
break;
case 754:
#line 5177 "gram.y"
{ (yyval.node) = (Node *)(yyvsp[(1) - (1)].value); ;}
break;
case 755:
#line 5178 "gram.y"
{ (yyval.node) = (Node *)makeString((yyvsp[(1) - (1)].str)); ;}
break;
case 756:
#line 5181 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (3)].list); ;}
break;
case 757:
#line 5184 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;}
break;
case 758:
#line 5185 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt)); ;}
break;
case 759:
#line 5194 "gram.y"
{
(yyval.defelt) = makeDefElem((yyvsp[(1) - (3)].str), (Node *)(yyvsp[(3) - (3)].node));
;}
break;
case 760:
#line 5200 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 761:
#line 5201 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 762:
#line 5205 "gram.y"
{ (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;}
break;
case 763:
#line 5207 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), makeString((yyvsp[(3) - (3)].str))); ;}
break;
case 764:
#line 5218 "gram.y"
{
AlterEnumStmt *n = makeNode(AlterEnumStmt);
n->typeName = (yyvsp[(3) - (7)].list);
n->newVal = (yyvsp[(7) - (7)].str);
n->newValNeighbor = NULL;
n->newValIsAfter = true;
n->skipIfExists = (yyvsp[(6) - (7)].boolean);
(yyval.node) = (Node *) n;
;}
break;
case 765:
#line 5228 "gram.y"
{
AlterEnumStmt *n = makeNode(AlterEnumStmt);
n->typeName = (yyvsp[(3) - (9)].list);
n->newVal = (yyvsp[(7) - (9)].str);
n->newValNeighbor = (yyvsp[(9) - (9)].str);
n->newValIsAfter = false;
n->skipIfExists = (yyvsp[(6) - (9)].boolean);
(yyval.node) = (Node *) n;
;}
break;
case 766:
#line 5238 "gram.y"
{
AlterEnumStmt *n = makeNode(AlterEnumStmt);
n->typeName = (yyvsp[(3) - (9)].list);
n->newVal = (yyvsp[(7) - (9)].str);
n->newValNeighbor = (yyvsp[(9) - (9)].str);
n->newValIsAfter = true;
n->skipIfExists = (yyvsp[(6) - (9)].boolean);
(yyval.node) = (Node *) n;
;}
break;
case 767:
#line 5249 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 768:
#line 5250 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 769:
#line 5268 "gram.y"
{
CreateOpClassStmt *n = makeNode(CreateOpClassStmt);
n->opclassname = (yyvsp[(4) - (13)].list);
n->isDefault = (yyvsp[(5) - (13)].boolean);
n->datatype = (yyvsp[(8) - (13)].typnam);
n->amname = (yyvsp[(10) - (13)].str);
n->opfamilyname = (yyvsp[(11) - (13)].list);
n->items = (yyvsp[(13) - (13)].list);
(yyval.node) = (Node *) n;
;}
break;
case 770:
#line 5281 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 771:
#line 5282 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;}
break;
case 772:
#line 5287 "gram.y"
{
CreateOpClassItem *n = makeNode(CreateOpClassItem);
n->itemtype = OPCLASS_ITEM_OPERATOR;
n->name = (yyvsp[(3) - (5)].list);
n->args = NIL;
n->number = (yyvsp[(2) - (5)].ival);
n->order_family = (yyvsp[(4) - (5)].list);
(yyval.node) = (Node *) n;
;}
break;
case 773:
#line 5298 "gram.y"
{
CreateOpClassItem *n = makeNode(CreateOpClassItem);
n->itemtype = OPCLASS_ITEM_OPERATOR;
n->name = (yyvsp[(3) - (6)].list);
n->args = (yyvsp[(4) - (6)].list);
n->number = (yyvsp[(2) - (6)].ival);
n->order_family = (yyvsp[(5) - (6)].list);
(yyval.node) = (Node *) n;
;}
break;
case 774:
#line 5308 "gram.y"
{
CreateOpClassItem *n = makeNode(CreateOpClassItem);
n->itemtype = OPCLASS_ITEM_FUNCTION;
n->name = (yyvsp[(3) - (4)].list);
n->args = extractArgTypes((yyvsp[(4) - (4)].list));
n->number = (yyvsp[(2) - (4)].ival);
(yyval.node) = (Node *) n;
;}
break;
case 775:
#line 5317 "gram.y"
{
CreateOpClassItem *n = makeNode(CreateOpClassItem);
n->itemtype = OPCLASS_ITEM_FUNCTION;
n->name = (yyvsp[(6) - (7)].list);
n->args = extractArgTypes((yyvsp[(7) - (7)].list));
n->number = (yyvsp[(2) - (7)].ival);
n->class_args = (yyvsp[(4) - (7)].list);
(yyval.node) = (Node *) n;
;}
break;
case 776:
#line 5327 "gram.y"
{
CreateOpClassItem *n = makeNode(CreateOpClassItem);
n->itemtype = OPCLASS_ITEM_STORAGETYPE;
n->storedtype = (yyvsp[(2) - (2)].typnam);
(yyval.node) = (Node *) n;
;}
break;
case 777:
#line 5335 "gram.y"
{ (yyval.boolean) = TRUE; ;}
break;
case 778:
#line 5336 "gram.y"
{ (yyval.boolean) = FALSE; ;}
break;
case 779:
#line 5339 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (2)].list); ;}
break;
case 780:
#line 5340 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 781:
#line 5343 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 782:
#line 5344 "gram.y"
{ (yyval.list) = (yyvsp[(4) - (4)].list); ;}
break;
case 783:
#line 5345 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 784:
#line 5349 "gram.y"
{
/*
* RECHECK no longer does anything in opclass definitions,
* but we still accept it to ease porting of old database
* dumps.
*/
ereport(NOTICE,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
errmsg("RECHECK is no longer required"),
errhint("Update your data type."),
parser_errposition((yylsp[(1) - (1)]))));
(yyval.boolean) = TRUE;
;}
break;
case 785:
#line 5362 "gram.y"
{ (yyval.boolean) = FALSE; ;}
break;
case 786:
#line 5368 "gram.y"
{
CreateOpFamilyStmt *n = makeNode(CreateOpFamilyStmt);
n->opfamilyname = (yyvsp[(4) - (6)].list);
n->amname = (yyvsp[(6) - (6)].str);
(yyval.node) = (Node *) n;
;}
break;
case 787:
#line 5378 "gram.y"
{
AlterOpFamilyStmt *n = makeNode(AlterOpFamilyStmt);
n->opfamilyname = (yyvsp[(4) - (8)].list);
n->amname = (yyvsp[(6) - (8)].str);
n->isDrop = false;
n->items = (yyvsp[(8) - (8)].list);
(yyval.node) = (Node *) n;
;}
break;
case 788:
#line 5387 "gram.y"
{
AlterOpFamilyStmt *n = makeNode(AlterOpFamilyStmt);
n->opfamilyname = (yyvsp[(4) - (8)].list);
n->amname = (yyvsp[(6) - (8)].str);
n->isDrop = true;
n->items = (yyvsp[(8) - (8)].list);
(yyval.node) = (Node *) n;
;}
break;
case 789:
#line 5398 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 790:
#line 5399 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;}
break;
case 791:
#line 5404 "gram.y"
{
CreateOpClassItem *n = makeNode(CreateOpClassItem);
n->itemtype = OPCLASS_ITEM_OPERATOR;
n->number = (yyvsp[(2) - (5)].ival);
n->args = (yyvsp[(4) - (5)].list);
(yyval.node) = (Node *) n;
;}
break;
case 792:
#line 5412 "gram.y"
{
CreateOpClassItem *n = makeNode(CreateOpClassItem);
n->itemtype = OPCLASS_ITEM_FUNCTION;
n->number = (yyvsp[(2) - (5)].ival);
n->args = (yyvsp[(4) - (5)].list);
(yyval.node) = (Node *) n;
;}
break;
case 793:
#line 5424 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->objects = list_make1(lcons(makeString((yyvsp[(6) - (7)].str)), (yyvsp[(4) - (7)].list)));
n->removeType = OBJECT_OPCLASS;
n->behavior = (yyvsp[(7) - (7)].dbehavior);
n->missing_ok = false;
n->concurrent = false;
(yyval.node) = (Node *) n;
;}
break;
case 794:
#line 5434 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->objects = list_make1(lcons(makeString((yyvsp[(8) - (9)].str)), (yyvsp[(6) - (9)].list)));
n->removeType = OBJECT_OPCLASS;
n->behavior = (yyvsp[(9) - (9)].dbehavior);
n->missing_ok = true;
n->concurrent = false;
(yyval.node) = (Node *) n;
;}
break;
case 795:
#line 5447 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->objects = list_make1(lcons(makeString((yyvsp[(6) - (7)].str)), (yyvsp[(4) - (7)].list)));
n->removeType = OBJECT_OPFAMILY;
n->behavior = (yyvsp[(7) - (7)].dbehavior);
n->missing_ok = false;
n->concurrent = false;
(yyval.node) = (Node *) n;
;}
break;
case 796:
#line 5457 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->objects = list_make1(lcons(makeString((yyvsp[(8) - (9)].str)), (yyvsp[(6) - (9)].list)));
n->removeType = OBJECT_OPFAMILY;
n->behavior = (yyvsp[(9) - (9)].dbehavior);
n->missing_ok = true;
n->concurrent = false;
(yyval.node) = (Node *) n;
;}
break;
case 797:
#line 5479 "gram.y"
{
DropOwnedStmt *n = makeNode(DropOwnedStmt);
n->roles = (yyvsp[(4) - (5)].list);
n->behavior = (yyvsp[(5) - (5)].dbehavior);
(yyval.node) = (Node *)n;
;}
break;
case 798:
#line 5489 "gram.y"
{
ReassignOwnedStmt *n = makeNode(ReassignOwnedStmt);
n->roles = (yyvsp[(4) - (6)].list);
n->newrole = (yyvsp[(6) - (6)].node);
(yyval.node) = (Node *)n;
;}
break;
case 799:
#line 5507 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->removeType = (yyvsp[(2) - (6)].objtype);
n->missing_ok = TRUE;
n->objects = (yyvsp[(5) - (6)].list);
n->arguments = NIL;
n->behavior = (yyvsp[(6) - (6)].dbehavior);
n->concurrent = false;
(yyval.node) = (Node *)n;
;}
break;
case 800:
#line 5518 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->removeType = (yyvsp[(2) - (4)].objtype);
n->missing_ok = FALSE;
n->objects = (yyvsp[(3) - (4)].list);
n->arguments = NIL;
n->behavior = (yyvsp[(4) - (4)].dbehavior);
n->concurrent = false;
(yyval.node) = (Node *)n;
;}
break;
case 801:
#line 5529 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_TYPE;
n->missing_ok = FALSE;
n->objects = (yyvsp[(3) - (4)].list);
n->behavior = (yyvsp[(4) - (4)].dbehavior);
n->concurrent = false;
(yyval.node) = (Node *) n;
;}
break;
case 802:
#line 5539 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_TYPE;
n->missing_ok = TRUE;
n->objects = (yyvsp[(5) - (6)].list);
n->behavior = (yyvsp[(6) - (6)].dbehavior);
n->concurrent = false;
(yyval.node) = (Node *) n;
;}
break;
case 803:
#line 5549 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_DOMAIN;
n->missing_ok = FALSE;
n->objects = (yyvsp[(3) - (4)].list);
n->behavior = (yyvsp[(4) - (4)].dbehavior);
n->concurrent = false;
(yyval.node) = (Node *) n;
;}
break;
case 804:
#line 5559 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_DOMAIN;
n->missing_ok = TRUE;
n->objects = (yyvsp[(5) - (6)].list);
n->behavior = (yyvsp[(6) - (6)].dbehavior);
n->concurrent = false;
(yyval.node) = (Node *) n;
;}
break;
case 805:
#line 5569 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_INDEX;
n->missing_ok = FALSE;
n->objects = (yyvsp[(4) - (5)].list);
n->arguments = NIL;
n->behavior = (yyvsp[(5) - (5)].dbehavior);
n->concurrent = true;
(yyval.node) = (Node *)n;
;}
break;
case 806:
#line 5580 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_INDEX;
n->missing_ok = TRUE;
n->objects = (yyvsp[(6) - (7)].list);
n->arguments = NIL;
n->behavior = (yyvsp[(7) - (7)].dbehavior);
n->concurrent = true;
(yyval.node) = (Node *)n;
;}
break;
case 807:
#line 5593 "gram.y"
{ (yyval.objtype) = OBJECT_TABLE; ;}
break;
case 808:
#line 5594 "gram.y"
{ (yyval.objtype) = OBJECT_SEQUENCE; ;}
break;
case 809:
#line 5595 "gram.y"
{ (yyval.objtype) = OBJECT_VIEW; ;}
break;
case 810:
#line 5596 "gram.y"
{ (yyval.objtype) = OBJECT_MATVIEW; ;}
break;
case 811:
#line 5597 "gram.y"
{ (yyval.objtype) = OBJECT_INDEX; ;}
break;
case 812:
#line 5598 "gram.y"
{ (yyval.objtype) = OBJECT_FOREIGN_TABLE; ;}
break;
case 813:
#line 5599 "gram.y"
{ (yyval.objtype) = OBJECT_EVENT_TRIGGER; ;}
break;
case 814:
#line 5600 "gram.y"
{ (yyval.objtype) = OBJECT_COLLATION; ;}
break;
case 815:
#line 5601 "gram.y"
{ (yyval.objtype) = OBJECT_CONVERSION; ;}
break;
case 816:
#line 5602 "gram.y"
{ (yyval.objtype) = OBJECT_SCHEMA; ;}
break;
case 817:
#line 5603 "gram.y"
{ (yyval.objtype) = OBJECT_EXTENSION; ;}
break;
case 818:
#line 5604 "gram.y"
{ (yyval.objtype) = OBJECT_TSPARSER; ;}
break;
case 819:
#line 5605 "gram.y"
{ (yyval.objtype) = OBJECT_TSDICTIONARY; ;}
break;
case 820:
#line 5606 "gram.y"
{ (yyval.objtype) = OBJECT_TSTEMPLATE; ;}
break;
case 821:
#line 5607 "gram.y"
{ (yyval.objtype) = OBJECT_TSCONFIGURATION; ;}
break;
case 822:
#line 5611 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].list)); ;}
break;
case 823:
#line 5612 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].list)); ;}
break;
case 824:
#line 5615 "gram.y"
{ (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;}
break;
case 825:
#line 5616 "gram.y"
{ (yyval.list) = lcons(makeString((yyvsp[(1) - (2)].str)), (yyvsp[(2) - (2)].list)); ;}
break;
case 826:
#line 5620 "gram.y"
{ (yyval.list) = list_make1(makeString((yyvsp[(2) - (2)].str))); ;}
break;
case 827:
#line 5622 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), makeString((yyvsp[(3) - (3)].str))); ;}
break;
case 828:
#line 5626 "gram.y"
{ (yyval.list) = list_make1(list_make1((yyvsp[(1) - (1)].typnam))); ;}
break;
case 829:
#line 5627 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), list_make1((yyvsp[(3) - (3)].typnam))); ;}
break;
case 830:
#line 5638 "gram.y"
{
TruncateStmt *n = makeNode(TruncateStmt);
n->relations = (yyvsp[(3) - (5)].list);
n->restart_seqs = (yyvsp[(4) - (5)].boolean);
n->behavior = (yyvsp[(5) - (5)].dbehavior);
(yyval.node) = (Node *)n;
;}
break;
case 831:
#line 5648 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 832:
#line 5649 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 833:
#line 5650 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 834:
#line 5684 "gram.y"
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = (yyvsp[(3) - (6)].objtype);
n->objname = (yyvsp[(4) - (6)].list);
n->objargs = NIL;
n->comment = (yyvsp[(6) - (6)].str);
(yyval.node) = (Node *) n;
;}
break;
case 835:
#line 5693 "gram.y"
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_TYPE;
n->objname = list_make1((yyvsp[(4) - (6)].typnam));
n->objargs = NIL;
n->comment = (yyvsp[(6) - (6)].str);
(yyval.node) = (Node *) n;
;}
break;
case 836:
#line 5702 "gram.y"
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_DOMAIN;
n->objname = list_make1((yyvsp[(4) - (6)].typnam));
n->objargs = NIL;
n->comment = (yyvsp[(6) - (6)].str);
(yyval.node) = (Node *) n;
;}
break;
case 837:
#line 5711 "gram.y"
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_AGGREGATE;
n->objname = (yyvsp[(4) - (7)].list);
n->objargs = extractAggrArgTypes((yyvsp[(5) - (7)].list));
n->comment = (yyvsp[(7) - (7)].str);
(yyval.node) = (Node *) n;
;}
break;
case 838:
#line 5720 "gram.y"
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_FUNCTION;
n->objname = (yyvsp[(4) - (7)].list);
n->objargs = extractArgTypes((yyvsp[(5) - (7)].list));
n->comment = (yyvsp[(7) - (7)].str);
(yyval.node) = (Node *) n;
;}
break;
case 839:
#line 5729 "gram.y"
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_OPERATOR;
n->objname = (yyvsp[(4) - (7)].list);
n->objargs = (yyvsp[(5) - (7)].list);
n->comment = (yyvsp[(7) - (7)].str);
(yyval.node) = (Node *) n;
;}
break;
case 840:
#line 5738 "gram.y"
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_TABCONSTRAINT;
n->objname = lappend((yyvsp[(6) - (8)].list), makeString((yyvsp[(4) - (8)].str)));
n->objargs = NIL;
n->comment = (yyvsp[(8) - (8)].str);
(yyval.node) = (Node *) n;
;}
break;
case 841:
#line 5747 "gram.y"
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_DOMCONSTRAINT;
/*
* should use Typename not any_name in the production, but
* there's a shift/reduce conflict if we do that, so fix it
* up here.
*/
n->objname = list_make1(makeTypeNameFromNameList((yyvsp[(7) - (9)].list)));
n->objargs = list_make1(makeString((yyvsp[(4) - (9)].str)));
n->comment = (yyvsp[(9) - (9)].str);
(yyval.node) = (Node *) n;
;}
break;
case 842:
#line 5761 "gram.y"
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_POLICY;
n->objname = lappend((yyvsp[(6) - (8)].list), makeString((yyvsp[(4) - (8)].str)));
n->objargs = NIL;
n->comment = (yyvsp[(8) - (8)].str);
(yyval.node) = (Node *) n;
;}
break;
case 843:
#line 5770 "gram.y"
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_RULE;
n->objname = lappend((yyvsp[(6) - (8)].list), makeString((yyvsp[(4) - (8)].str)));
n->objargs = NIL;
n->comment = (yyvsp[(8) - (8)].str);
(yyval.node) = (Node *) n;
;}
break;
case 844:
#line 5779 "gram.y"
{
/* Obsolete syntax supported for awhile for compatibility */
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_RULE;
n->objname = list_make1(makeString((yyvsp[(4) - (6)].str)));
n->objargs = NIL;
n->comment = (yyvsp[(6) - (6)].str);
(yyval.node) = (Node *) n;
;}
break;
case 845:
#line 5789 "gram.y"
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_TRANSFORM;
n->objname = list_make1((yyvsp[(5) - (9)].typnam));
n->objargs = list_make1(makeString((yyvsp[(7) - (9)].str)));
n->comment = (yyvsp[(9) - (9)].str);
(yyval.node) = (Node *) n;
;}
break;
case 846:
#line 5798 "gram.y"
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_TRIGGER;
n->objname = lappend((yyvsp[(6) - (8)].list), makeString((yyvsp[(4) - (8)].str)));
n->objargs = NIL;
n->comment = (yyvsp[(8) - (8)].str);
(yyval.node) = (Node *) n;
;}
break;
case 847:
#line 5807 "gram.y"
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_OPCLASS;
n->objname = lcons(makeString((yyvsp[(7) - (9)].str)), (yyvsp[(5) - (9)].list));
n->comment = (yyvsp[(9) - (9)].str);
(yyval.node) = (Node *) n;
;}
break;
case 848:
#line 5815 "gram.y"
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_OPFAMILY;
n->objname = lcons(makeString((yyvsp[(7) - (9)].str)), (yyvsp[(5) - (9)].list));
n->objargs = NIL;
n->comment = (yyvsp[(9) - (9)].str);
(yyval.node) = (Node *) n;
;}
break;
case 849:
#line 5824 "gram.y"
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_LARGEOBJECT;
n->objname = list_make1((yyvsp[(5) - (7)].value));
n->objargs = NIL;
n->comment = (yyvsp[(7) - (7)].str);
(yyval.node) = (Node *) n;
;}
break;
case 850:
#line 5833 "gram.y"
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_CAST;
n->objname = list_make1((yyvsp[(5) - (10)].typnam));
n->objargs = list_make1((yyvsp[(7) - (10)].typnam));
n->comment = (yyvsp[(10) - (10)].str);
(yyval.node) = (Node *) n;
;}
break;
case 851:
#line 5842 "gram.y"
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_LANGUAGE;
n->objname = (yyvsp[(5) - (7)].list);
n->objargs = NIL;
n->comment = (yyvsp[(7) - (7)].str);
(yyval.node) = (Node *) n;
;}
break;
case 852:
#line 5853 "gram.y"
{ (yyval.objtype) = OBJECT_COLUMN; ;}
break;
case 853:
#line 5854 "gram.y"
{ (yyval.objtype) = OBJECT_DATABASE; ;}
break;
case 854:
#line 5855 "gram.y"
{ (yyval.objtype) = OBJECT_SCHEMA; ;}
break;
case 855:
#line 5856 "gram.y"
{ (yyval.objtype) = OBJECT_INDEX; ;}
break;
case 856:
#line 5857 "gram.y"
{ (yyval.objtype) = OBJECT_SEQUENCE; ;}
break;
case 857:
#line 5858 "gram.y"
{ (yyval.objtype) = OBJECT_TABLE; ;}
break;
case 858:
#line 5859 "gram.y"
{ (yyval.objtype) = OBJECT_VIEW; ;}
break;
case 859:
#line 5860 "gram.y"
{ (yyval.objtype) = OBJECT_MATVIEW; ;}
break;
case 860:
#line 5861 "gram.y"
{ (yyval.objtype) = OBJECT_COLLATION; ;}
break;
case 861:
#line 5862 "gram.y"
{ (yyval.objtype) = OBJECT_CONVERSION; ;}
break;
case 862:
#line 5863 "gram.y"
{ (yyval.objtype) = OBJECT_TABLESPACE; ;}
break;
case 863:
#line 5864 "gram.y"
{ (yyval.objtype) = OBJECT_EXTENSION; ;}
break;
case 864:
#line 5865 "gram.y"
{ (yyval.objtype) = OBJECT_ROLE; ;}
break;
case 865:
#line 5866 "gram.y"
{ (yyval.objtype) = OBJECT_FOREIGN_TABLE; ;}
break;
case 866:
#line 5867 "gram.y"
{ (yyval.objtype) = OBJECT_FOREIGN_SERVER; ;}
break;
case 867:
#line 5868 "gram.y"
{ (yyval.objtype) = OBJECT_FDW; ;}
break;
case 868:
#line 5869 "gram.y"
{ (yyval.objtype) = OBJECT_EVENT_TRIGGER; ;}
break;
case 869:
#line 5870 "gram.y"
{ (yyval.objtype) = OBJECT_TSCONFIGURATION; ;}
break;
case 870:
#line 5871 "gram.y"
{ (yyval.objtype) = OBJECT_TSDICTIONARY; ;}
break;
case 871:
#line 5872 "gram.y"
{ (yyval.objtype) = OBJECT_TSPARSER; ;}
break;
case 872:
#line 5873 "gram.y"
{ (yyval.objtype) = OBJECT_TSTEMPLATE; ;}
break;
case 873:
#line 5877 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 874:
#line 5878 "gram.y"
{ (yyval.str) = NULL; ;}
break;
case 875:
#line 5894 "gram.y"
{
SecLabelStmt *n = makeNode(SecLabelStmt);
n->provider = (yyvsp[(3) - (8)].str);
n->objtype = (yyvsp[(5) - (8)].objtype);
n->objname = (yyvsp[(6) - (8)].list);
n->objargs = NIL;
n->label = (yyvsp[(8) - (8)].str);
(yyval.node) = (Node *) n;
;}
break;
case 876:
#line 5905 "gram.y"
{
SecLabelStmt *n = makeNode(SecLabelStmt);
n->provider = (yyvsp[(3) - (8)].str);
n->objtype = OBJECT_TYPE;
n->objname = list_make1((yyvsp[(6) - (8)].typnam));
n->objargs = NIL;
n->label = (yyvsp[(8) - (8)].str);
(yyval.node) = (Node *) n;
;}
break;
case 877:
#line 5916 "gram.y"
{
SecLabelStmt *n = makeNode(SecLabelStmt);
n->provider = (yyvsp[(3) - (8)].str);
n->objtype = OBJECT_TYPE;
n->objname = list_make1((yyvsp[(6) - (8)].typnam));
n->objargs = NIL;
n->label = (yyvsp[(8) - (8)].str);
(yyval.node) = (Node *) n;
;}
break;
case 878:
#line 5927 "gram.y"
{
SecLabelStmt *n = makeNode(SecLabelStmt);
n->provider = (yyvsp[(3) - (9)].str);
n->objtype = OBJECT_AGGREGATE;
n->objname = (yyvsp[(6) - (9)].list);
n->objargs = extractAggrArgTypes((yyvsp[(7) - (9)].list));
n->label = (yyvsp[(9) - (9)].str);
(yyval.node) = (Node *) n;
;}
break;
case 879:
#line 5938 "gram.y"
{
SecLabelStmt *n = makeNode(SecLabelStmt);
n->provider = (yyvsp[(3) - (9)].str);
n->objtype = OBJECT_FUNCTION;
n->objname = (yyvsp[(6) - (9)].list);
n->objargs = extractArgTypes((yyvsp[(7) - (9)].list));
n->label = (yyvsp[(9) - (9)].str);
(yyval.node) = (Node *) n;
;}
break;
case 880:
#line 5949 "gram.y"
{
SecLabelStmt *n = makeNode(SecLabelStmt);
n->provider = (yyvsp[(3) - (9)].str);
n->objtype = OBJECT_LARGEOBJECT;
n->objname = list_make1((yyvsp[(7) - (9)].value));
n->objargs = NIL;
n->label = (yyvsp[(9) - (9)].str);
(yyval.node) = (Node *) n;
;}
break;
case 881:
#line 5960 "gram.y"
{
SecLabelStmt *n = makeNode(SecLabelStmt);
n->provider = (yyvsp[(3) - (9)].str);
n->objtype = OBJECT_LANGUAGE;
n->objname = (yyvsp[(7) - (9)].list);
n->objargs = NIL;
n->label = (yyvsp[(9) - (9)].str);
(yyval.node) = (Node *) n;
;}
break;
case 882:
#line 5971 "gram.y"
{ (yyval.str) = (yyvsp[(2) - (2)].str); ;}
break;
case 883:
#line 5972 "gram.y"
{ (yyval.str) = NULL; ;}
break;
case 884:
#line 5976 "gram.y"
{ (yyval.objtype) = OBJECT_COLUMN; ;}
break;
case 885:
#line 5977 "gram.y"
{ (yyval.objtype) = OBJECT_DATABASE; ;}
break;
case 886:
#line 5978 "gram.y"
{ (yyval.objtype) = OBJECT_EVENT_TRIGGER; ;}
break;
case 887:
#line 5979 "gram.y"
{ (yyval.objtype) = OBJECT_FOREIGN_TABLE; ;}
break;
case 888:
#line 5980 "gram.y"
{ (yyval.objtype) = OBJECT_SCHEMA; ;}
break;
case 889:
#line 5981 "gram.y"
{ (yyval.objtype) = OBJECT_SEQUENCE; ;}
break;
case 890:
#line 5982 "gram.y"
{ (yyval.objtype) = OBJECT_TABLE; ;}
break;
case 891:
#line 5983 "gram.y"
{ (yyval.objtype) = OBJECT_ROLE; ;}
break;
case 892:
#line 5984 "gram.y"
{ (yyval.objtype) = OBJECT_TABLESPACE; ;}
break;
case 893:
#line 5985 "gram.y"
{ (yyval.objtype) = OBJECT_VIEW; ;}
break;
case 894:
#line 5986 "gram.y"
{ (yyval.objtype) = OBJECT_MATVIEW; ;}
break;
case 895:
#line 5989 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 896:
#line 5990 "gram.y"
{ (yyval.str) = NULL; ;}
break;
case 897:
#line 6001 "gram.y"
{
FetchStmt *n = (FetchStmt *) (yyvsp[(2) - (2)].node);
n->ismove = FALSE;
(yyval.node) = (Node *)n;
;}
break;
case 898:
#line 6007 "gram.y"
{
FetchStmt *n = (FetchStmt *) (yyvsp[(2) - (2)].node);
n->ismove = TRUE;
(yyval.node) = (Node *)n;
;}
break;
case 899:
#line 6015 "gram.y"
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = (yyvsp[(1) - (1)].str);
n->direction = FETCH_FORWARD;
n->howMany = 1;
(yyval.node) = (Node *)n;
;}
break;
case 900:
#line 6023 "gram.y"
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = (yyvsp[(2) - (2)].str);
n->direction = FETCH_FORWARD;
n->howMany = 1;
(yyval.node) = (Node *)n;
;}
break;
case 901:
#line 6031 "gram.y"
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = (yyvsp[(3) - (3)].str);
n->direction = FETCH_FORWARD;
n->howMany = 1;
(yyval.node) = (Node *)n;
;}
break;
case 902:
#line 6039 "gram.y"
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = (yyvsp[(3) - (3)].str);
n->direction = FETCH_BACKWARD;
n->howMany = 1;
(yyval.node) = (Node *)n;
;}
break;
case 903:
#line 6047 "gram.y"
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = (yyvsp[(3) - (3)].str);
n->direction = FETCH_ABSOLUTE;
n->howMany = 1;
(yyval.node) = (Node *)n;
;}
break;
case 904:
#line 6055 "gram.y"
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = (yyvsp[(3) - (3)].str);
n->direction = FETCH_ABSOLUTE;
n->howMany = -1;
(yyval.node) = (Node *)n;
;}
break;
case 905:
#line 6063 "gram.y"
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = (yyvsp[(4) - (4)].str);
n->direction = FETCH_ABSOLUTE;
n->howMany = (yyvsp[(2) - (4)].ival);
(yyval.node) = (Node *)n;
;}
break;
case 906:
#line 6071 "gram.y"
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = (yyvsp[(4) - (4)].str);
n->direction = FETCH_RELATIVE;
n->howMany = (yyvsp[(2) - (4)].ival);
(yyval.node) = (Node *)n;
;}
break;
case 907:
#line 6079 "gram.y"
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = (yyvsp[(3) - (3)].str);
n->direction = FETCH_FORWARD;
n->howMany = (yyvsp[(1) - (3)].ival);
(yyval.node) = (Node *)n;
;}
break;
case 908:
#line 6087 "gram.y"
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = (yyvsp[(3) - (3)].str);
n->direction = FETCH_FORWARD;
n->howMany = FETCH_ALL;
(yyval.node) = (Node *)n;
;}
break;
case 909:
#line 6095 "gram.y"
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = (yyvsp[(3) - (3)].str);
n->direction = FETCH_FORWARD;
n->howMany = 1;
(yyval.node) = (Node *)n;
;}
break;
case 910:
#line 6103 "gram.y"
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = (yyvsp[(4) - (4)].str);
n->direction = FETCH_FORWARD;
n->howMany = (yyvsp[(2) - (4)].ival);
(yyval.node) = (Node *)n;
;}
break;
case 911:
#line 6111 "gram.y"
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = (yyvsp[(4) - (4)].str);
n->direction = FETCH_FORWARD;
n->howMany = FETCH_ALL;
(yyval.node) = (Node *)n;
;}
break;
case 912:
#line 6119 "gram.y"
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = (yyvsp[(3) - (3)].str);
n->direction = FETCH_BACKWARD;
n->howMany = 1;
(yyval.node) = (Node *)n;
;}
break;
case 913:
#line 6127 "gram.y"
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = (yyvsp[(4) - (4)].str);
n->direction = FETCH_BACKWARD;
n->howMany = (yyvsp[(2) - (4)].ival);
(yyval.node) = (Node *)n;
;}
break;
case 914:
#line 6135 "gram.y"
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = (yyvsp[(4) - (4)].str);
n->direction = FETCH_BACKWARD;
n->howMany = FETCH_ALL;
(yyval.node) = (Node *)n;
;}
break;
case 915:
#line 6144 "gram.y"
{;}
break;
case 916:
#line 6145 "gram.y"
{;}
break;
case 917:
#line 6148 "gram.y"
{;}
break;
case 918:
#line 6149 "gram.y"
{;}
break;
case 919:
#line 6161 "gram.y"
{
GrantStmt *n = makeNode(GrantStmt);
n->is_grant = true;
n->privileges = (yyvsp[(2) - (7)].list);
n->targtype = ((yyvsp[(4) - (7)].privtarget))->targtype;
n->objtype = ((yyvsp[(4) - (7)].privtarget))->objtype;
n->objects = ((yyvsp[(4) - (7)].privtarget))->objs;
n->grantees = (yyvsp[(6) - (7)].list);
n->grant_option = (yyvsp[(7) - (7)].boolean);
(yyval.node) = (Node*)n;
;}
break;
case 920:
#line 6177 "gram.y"
{
GrantStmt *n = makeNode(GrantStmt);
n->is_grant = false;
n->grant_option = false;
n->privileges = (yyvsp[(2) - (7)].list);
n->targtype = ((yyvsp[(4) - (7)].privtarget))->targtype;
n->objtype = ((yyvsp[(4) - (7)].privtarget))->objtype;
n->objects = ((yyvsp[(4) - (7)].privtarget))->objs;
n->grantees = (yyvsp[(6) - (7)].list);
n->behavior = (yyvsp[(7) - (7)].dbehavior);
(yyval.node) = (Node *)n;
;}
break;
case 921:
#line 6191 "gram.y"
{
GrantStmt *n = makeNode(GrantStmt);
n->is_grant = false;
n->grant_option = true;
n->privileges = (yyvsp[(5) - (10)].list);
n->targtype = ((yyvsp[(7) - (10)].privtarget))->targtype;
n->objtype = ((yyvsp[(7) - (10)].privtarget))->objtype;
n->objects = ((yyvsp[(7) - (10)].privtarget))->objs;
n->grantees = (yyvsp[(9) - (10)].list);
n->behavior = (yyvsp[(10) - (10)].dbehavior);
(yyval.node) = (Node *)n;
;}
break;
case 922:
#line 6216 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 923:
#line 6218 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 924:
#line 6220 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 925:
#line 6222 "gram.y"
{
AccessPriv *n = makeNode(AccessPriv);
n->priv_name = NULL;
n->cols = (yyvsp[(3) - (4)].list);
(yyval.list) = list_make1(n);
;}
break;
case 926:
#line 6229 "gram.y"
{
AccessPriv *n = makeNode(AccessPriv);
n->priv_name = NULL;
n->cols = (yyvsp[(4) - (5)].list);
(yyval.list) = list_make1(n);
;}
break;
case 927:
#line 6237 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].accesspriv)); ;}
break;
case 928:
#line 6238 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].accesspriv)); ;}
break;
case 929:
#line 6242 "gram.y"
{
AccessPriv *n = makeNode(AccessPriv);
n->priv_name = pstrdup((yyvsp[(1) - (2)].keyword));
n->cols = (yyvsp[(2) - (2)].list);
(yyval.accesspriv) = n;
;}
break;
case 930:
#line 6249 "gram.y"
{
AccessPriv *n = makeNode(AccessPriv);
n->priv_name = pstrdup((yyvsp[(1) - (2)].keyword));
n->cols = (yyvsp[(2) - (2)].list);
(yyval.accesspriv) = n;
;}
break;
case 931:
#line 6256 "gram.y"
{
AccessPriv *n = makeNode(AccessPriv);
n->priv_name = pstrdup((yyvsp[(1) - (2)].keyword));
n->cols = (yyvsp[(2) - (2)].list);
(yyval.accesspriv) = n;
;}
break;
case 932:
#line 6263 "gram.y"
{
AccessPriv *n = makeNode(AccessPriv);
n->priv_name = (yyvsp[(1) - (2)].str);
n->cols = (yyvsp[(2) - (2)].list);
(yyval.accesspriv) = n;
;}
break;
case 933:
#line 6277 "gram.y"
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_OBJECT;
n->objtype = ACL_OBJECT_RELATION;
n->objs = (yyvsp[(1) - (1)].list);
(yyval.privtarget) = n;
;}
break;
case 934:
#line 6285 "gram.y"
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_OBJECT;
n->objtype = ACL_OBJECT_RELATION;
n->objs = (yyvsp[(2) - (2)].list);
(yyval.privtarget) = n;
;}
break;
case 935:
#line 6293 "gram.y"
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_OBJECT;
n->objtype = ACL_OBJECT_SEQUENCE;
n->objs = (yyvsp[(2) - (2)].list);
(yyval.privtarget) = n;
;}
break;
case 936:
#line 6301 "gram.y"
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_OBJECT;
n->objtype = ACL_OBJECT_FDW;
n->objs = (yyvsp[(4) - (4)].list);
(yyval.privtarget) = n;
;}
break;
case 937:
#line 6309 "gram.y"
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_OBJECT;
n->objtype = ACL_OBJECT_FOREIGN_SERVER;
n->objs = (yyvsp[(3) - (3)].list);
(yyval.privtarget) = n;
;}
break;
case 938:
#line 6317 "gram.y"
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_OBJECT;
n->objtype = ACL_OBJECT_FUNCTION;
n->objs = (yyvsp[(2) - (2)].list);
(yyval.privtarget) = n;
;}
break;
case 939:
#line 6325 "gram.y"
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_OBJECT;
n->objtype = ACL_OBJECT_DATABASE;
n->objs = (yyvsp[(2) - (2)].list);
(yyval.privtarget) = n;
;}
break;
case 940:
#line 6333 "gram.y"
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_OBJECT;
n->objtype = ACL_OBJECT_DOMAIN;
n->objs = (yyvsp[(2) - (2)].list);
(yyval.privtarget) = n;
;}
break;
case 941:
#line 6341 "gram.y"
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_OBJECT;
n->objtype = ACL_OBJECT_LANGUAGE;
n->objs = (yyvsp[(2) - (2)].list);
(yyval.privtarget) = n;
;}
break;
case 942:
#line 6349 "gram.y"
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_OBJECT;
n->objtype = ACL_OBJECT_LARGEOBJECT;
n->objs = (yyvsp[(3) - (3)].list);
(yyval.privtarget) = n;
;}
break;
case 943:
#line 6357 "gram.y"
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_OBJECT;
n->objtype = ACL_OBJECT_NAMESPACE;
n->objs = (yyvsp[(2) - (2)].list);
(yyval.privtarget) = n;
;}
break;
case 944:
#line 6365 "gram.y"
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_OBJECT;
n->objtype = ACL_OBJECT_TABLESPACE;
n->objs = (yyvsp[(2) - (2)].list);
(yyval.privtarget) = n;
;}
break;
case 945:
#line 6373 "gram.y"
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_OBJECT;
n->objtype = ACL_OBJECT_TYPE;
n->objs = (yyvsp[(2) - (2)].list);
(yyval.privtarget) = n;
;}
break;
case 946:
#line 6381 "gram.y"
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_ALL_IN_SCHEMA;
n->objtype = ACL_OBJECT_RELATION;
n->objs = (yyvsp[(5) - (5)].list);
(yyval.privtarget) = n;
;}
break;
case 947:
#line 6389 "gram.y"
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_ALL_IN_SCHEMA;
n->objtype = ACL_OBJECT_SEQUENCE;
n->objs = (yyvsp[(5) - (5)].list);
(yyval.privtarget) = n;
;}
break;
case 948:
#line 6397 "gram.y"
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_ALL_IN_SCHEMA;
n->objtype = ACL_OBJECT_FUNCTION;
n->objs = (yyvsp[(5) - (5)].list);
(yyval.privtarget) = n;
;}
break;
case 949:
#line 6408 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 950:
#line 6409 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;}
break;
case 951:
#line 6413 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 952:
#line 6414 "gram.y"
{ (yyval.node) = (yyvsp[(2) - (2)].node); ;}
break;
case 953:
#line 6419 "gram.y"
{ (yyval.boolean) = TRUE; ;}
break;
case 954:
#line 6420 "gram.y"
{ (yyval.boolean) = FALSE; ;}
break;
case 955:
#line 6424 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].funwithargs)); ;}
break;
case 956:
#line 6426 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].funwithargs)); ;}
break;
case 957:
#line 6431 "gram.y"
{
FuncWithArgs *n = makeNode(FuncWithArgs);
n->funcname = (yyvsp[(1) - (2)].list);
n->funcargs = extractArgTypes((yyvsp[(2) - (2)].list));
(yyval.funwithargs) = n;
;}
break;
case 958:
#line 6447 "gram.y"
{
GrantRoleStmt *n = makeNode(GrantRoleStmt);
n->is_grant = true;
n->granted_roles = (yyvsp[(2) - (6)].list);
n->grantee_roles = (yyvsp[(4) - (6)].list);
n->admin_opt = (yyvsp[(5) - (6)].boolean);
n->grantor = (yyvsp[(6) - (6)].node);
(yyval.node) = (Node*)n;
;}
break;
case 959:
#line 6460 "gram.y"
{
GrantRoleStmt *n = makeNode(GrantRoleStmt);
n->is_grant = false;
n->admin_opt = false;
n->granted_roles = (yyvsp[(2) - (6)].list);
n->grantee_roles = (yyvsp[(4) - (6)].list);
n->behavior = (yyvsp[(6) - (6)].dbehavior);
(yyval.node) = (Node*)n;
;}
break;
case 960:
#line 6470 "gram.y"
{
GrantRoleStmt *n = makeNode(GrantRoleStmt);
n->is_grant = false;
n->admin_opt = true;
n->granted_roles = (yyvsp[(5) - (9)].list);
n->grantee_roles = (yyvsp[(7) - (9)].list);
n->behavior = (yyvsp[(9) - (9)].dbehavior);
(yyval.node) = (Node*)n;
;}
break;
case 961:
#line 6481 "gram.y"
{ (yyval.boolean) = TRUE; ;}
break;
case 962:
#line 6482 "gram.y"
{ (yyval.boolean) = FALSE; ;}
break;
case 963:
#line 6485 "gram.y"
{ (yyval.node) = (yyvsp[(3) - (3)].node); ;}
break;
case 964:
#line 6486 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 965:
#line 6497 "gram.y"
{
AlterDefaultPrivilegesStmt *n = makeNode(AlterDefaultPrivilegesStmt);
n->options = (yyvsp[(4) - (5)].list);
n->action = (GrantStmt *) (yyvsp[(5) - (5)].node);
(yyval.node) = (Node*)n;
;}
break;
case 966:
#line 6506 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;}
break;
case 967:
#line 6507 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 968:
#line 6512 "gram.y"
{
(yyval.defelt) = makeDefElem("schemas", (Node *)(yyvsp[(3) - (3)].list));
;}
break;
case 969:
#line 6516 "gram.y"
{
(yyval.defelt) = makeDefElem("roles", (Node *)(yyvsp[(3) - (3)].list));
;}
break;
case 970:
#line 6520 "gram.y"
{
(yyval.defelt) = makeDefElem("roles", (Node *)(yyvsp[(3) - (3)].list));
;}
break;
case 971:
#line 6532 "gram.y"
{
GrantStmt *n = makeNode(GrantStmt);
n->is_grant = true;
n->privileges = (yyvsp[(2) - (7)].list);
n->targtype = ACL_TARGET_DEFAULTS;
n->objtype = (yyvsp[(4) - (7)].ival);
n->objects = NIL;
n->grantees = (yyvsp[(6) - (7)].list);
n->grant_option = (yyvsp[(7) - (7)].boolean);
(yyval.node) = (Node*)n;
;}
break;
case 972:
#line 6545 "gram.y"
{
GrantStmt *n = makeNode(GrantStmt);
n->is_grant = false;
n->grant_option = false;
n->privileges = (yyvsp[(2) - (7)].list);
n->targtype = ACL_TARGET_DEFAULTS;
n->objtype = (yyvsp[(4) - (7)].ival);
n->objects = NIL;
n->grantees = (yyvsp[(6) - (7)].list);
n->behavior = (yyvsp[(7) - (7)].dbehavior);
(yyval.node) = (Node *)n;
;}
break;
case 973:
#line 6559 "gram.y"
{
GrantStmt *n = makeNode(GrantStmt);
n->is_grant = false;
n->grant_option = true;
n->privileges = (yyvsp[(5) - (10)].list);
n->targtype = ACL_TARGET_DEFAULTS;
n->objtype = (yyvsp[(7) - (10)].ival);
n->objects = NIL;
n->grantees = (yyvsp[(9) - (10)].list);
n->behavior = (yyvsp[(10) - (10)].dbehavior);
(yyval.node) = (Node *)n;
;}
break;
case 974:
#line 6574 "gram.y"
{ (yyval.ival) = ACL_OBJECT_RELATION; ;}
break;
case 975:
#line 6575 "gram.y"
{ (yyval.ival) = ACL_OBJECT_FUNCTION; ;}
break;
case 976:
#line 6576 "gram.y"
{ (yyval.ival) = ACL_OBJECT_SEQUENCE; ;}
break;
case 977:
#line 6577 "gram.y"
{ (yyval.ival) = ACL_OBJECT_TYPE; ;}
break;
case 978:
#line 6592 "gram.y"
{
IndexStmt *n = makeNode(IndexStmt);
n->unique = (yyvsp[(2) - (14)].boolean);
n->concurrent = (yyvsp[(4) - (14)].boolean);
n->idxname = (yyvsp[(5) - (14)].str);
n->relation = (yyvsp[(7) - (14)].range);
n->accessMethod = (yyvsp[(8) - (14)].str);
n->indexParams = (yyvsp[(10) - (14)].list);
n->options = (yyvsp[(12) - (14)].list);
n->tableSpace = (yyvsp[(13) - (14)].str);
n->whereClause = (yyvsp[(14) - (14)].node);
n->excludeOpNames = NIL;
n->idxcomment = NULL;
n->indexOid = InvalidOid;
n->oldNode = InvalidOid;
n->primary = false;
n->isconstraint = false;
n->deferrable = false;
n->initdeferred = false;
n->transformed = false;
n->if_not_exists = false;
(yyval.node) = (Node *)n;
;}
break;
case 979:
#line 6618 "gram.y"
{
IndexStmt *n = makeNode(IndexStmt);
n->unique = (yyvsp[(2) - (17)].boolean);
n->concurrent = (yyvsp[(4) - (17)].boolean);
n->idxname = (yyvsp[(8) - (17)].str);
n->relation = (yyvsp[(10) - (17)].range);
n->accessMethod = (yyvsp[(11) - (17)].str);
n->indexParams = (yyvsp[(13) - (17)].list);
n->options = (yyvsp[(15) - (17)].list);
n->tableSpace = (yyvsp[(16) - (17)].str);
n->whereClause = (yyvsp[(17) - (17)].node);
n->excludeOpNames = NIL;
n->idxcomment = NULL;
n->indexOid = InvalidOid;
n->oldNode = InvalidOid;
n->primary = false;
n->isconstraint = false;
n->deferrable = false;
n->initdeferred = false;
n->transformed = false;
n->if_not_exists = true;
(yyval.node) = (Node *)n;
;}
break;
case 980:
#line 6644 "gram.y"
{ (yyval.boolean) = TRUE; ;}
break;
case 981:
#line 6645 "gram.y"
{ (yyval.boolean) = FALSE; ;}
break;
case 982:
#line 6649 "gram.y"
{ (yyval.boolean) = TRUE; ;}
break;
case 983:
#line 6650 "gram.y"
{ (yyval.boolean) = FALSE; ;}
break;
case 984:
#line 6654 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 985:
#line 6655 "gram.y"
{ (yyval.str) = NULL; ;}
break;
case 986:
#line 6659 "gram.y"
{ (yyval.str) = (yyvsp[(2) - (2)].str); ;}
break;
case 987:
#line 6660 "gram.y"
{ (yyval.str) = DEFAULT_INDEX_TYPE; ;}
break;
case 988:
#line 6663 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].ielem)); ;}
break;
case 989:
#line 6664 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].ielem)); ;}
break;
case 990:
#line 6673 "gram.y"
{
(yyval.ielem) = makeNode(IndexElem);
(yyval.ielem)->name = (yyvsp[(1) - (5)].str);
(yyval.ielem)->expr = NULL;
(yyval.ielem)->indexcolname = NULL;
(yyval.ielem)->collation = (yyvsp[(2) - (5)].list);
(yyval.ielem)->opclass = (yyvsp[(3) - (5)].list);
(yyval.ielem)->ordering = (yyvsp[(4) - (5)].ival);
(yyval.ielem)->nulls_ordering = (yyvsp[(5) - (5)].ival);
;}
break;
case 991:
#line 6684 "gram.y"
{
(yyval.ielem) = makeNode(IndexElem);
(yyval.ielem)->name = NULL;
(yyval.ielem)->expr = (yyvsp[(1) - (5)].node);
(yyval.ielem)->indexcolname = NULL;
(yyval.ielem)->collation = (yyvsp[(2) - (5)].list);
(yyval.ielem)->opclass = (yyvsp[(3) - (5)].list);
(yyval.ielem)->ordering = (yyvsp[(4) - (5)].ival);
(yyval.ielem)->nulls_ordering = (yyvsp[(5) - (5)].ival);
;}
break;
case 992:
#line 6695 "gram.y"
{
(yyval.ielem) = makeNode(IndexElem);
(yyval.ielem)->name = NULL;
(yyval.ielem)->expr = (yyvsp[(2) - (7)].node);
(yyval.ielem)->indexcolname = NULL;
(yyval.ielem)->collation = (yyvsp[(4) - (7)].list);
(yyval.ielem)->opclass = (yyvsp[(5) - (7)].list);
(yyval.ielem)->ordering = (yyvsp[(6) - (7)].ival);
(yyval.ielem)->nulls_ordering = (yyvsp[(7) - (7)].ival);
;}
break;
case 993:
#line 6707 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (2)].list); ;}
break;
case 994:
#line 6708 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 995:
#line 6711 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 996:
#line 6712 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (2)].list); ;}
break;
case 997:
#line 6713 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 998:
#line 6716 "gram.y"
{ (yyval.ival) = SORTBY_ASC; ;}
break;
case 999:
#line 6717 "gram.y"
{ (yyval.ival) = SORTBY_DESC; ;}
break;
case 1000:
#line 6718 "gram.y"
{ (yyval.ival) = SORTBY_DEFAULT; ;}
break;
case 1001:
#line 6721 "gram.y"
{ (yyval.ival) = SORTBY_NULLS_FIRST; ;}
break;
case 1002:
#line 6722 "gram.y"
{ (yyval.ival) = SORTBY_NULLS_LAST; ;}
break;
case 1003:
#line 6723 "gram.y"
{ (yyval.ival) = SORTBY_NULLS_DEFAULT; ;}
break;
case 1004:
#line 6741 "gram.y"
{
CreateFunctionStmt *n = makeNode(CreateFunctionStmt);
n->replace = (yyvsp[(2) - (9)].boolean);
n->funcname = (yyvsp[(4) - (9)].list);
n->parameters = (yyvsp[(5) - (9)].list);
n->returnType = (yyvsp[(7) - (9)].typnam);
n->options = (yyvsp[(8) - (9)].list);
n->withClause = (yyvsp[(9) - (9)].list);
(yyval.node) = (Node *)n;
;}
break;
case 1005:
#line 6753 "gram.y"
{
CreateFunctionStmt *n = makeNode(CreateFunctionStmt);
n->replace = (yyvsp[(2) - (12)].boolean);
n->funcname = (yyvsp[(4) - (12)].list);
n->parameters = mergeTableFuncParameters((yyvsp[(5) - (12)].list), (yyvsp[(9) - (12)].list));
n->returnType = TableFuncTypeName((yyvsp[(9) - (12)].list));
n->returnType->location = (yylsp[(7) - (12)]);
n->options = (yyvsp[(11) - (12)].list);
n->withClause = (yyvsp[(12) - (12)].list);
(yyval.node) = (Node *)n;
;}
break;
case 1006:
#line 6766 "gram.y"
{
CreateFunctionStmt *n = makeNode(CreateFunctionStmt);
n->replace = (yyvsp[(2) - (7)].boolean);
n->funcname = (yyvsp[(4) - (7)].list);
n->parameters = (yyvsp[(5) - (7)].list);
n->returnType = NULL;
n->options = (yyvsp[(6) - (7)].list);
n->withClause = (yyvsp[(7) - (7)].list);
(yyval.node) = (Node *)n;
;}
break;
case 1007:
#line 6779 "gram.y"
{ (yyval.boolean) = TRUE; ;}
break;
case 1008:
#line 6780 "gram.y"
{ (yyval.boolean) = FALSE; ;}
break;
case 1009:
#line 6783 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (3)].list); ;}
break;
case 1010:
#line 6784 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1011:
#line 6788 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].fun_param)); ;}
break;
case 1012:
#line 6789 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].fun_param)); ;}
break;
case 1013:
#line 6797 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (3)].list); ;}
break;
case 1014:
#line 6798 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1015:
#line 6802 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].fun_param)); ;}
break;
case 1016:
#line 6804 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].fun_param)); ;}
break;
case 1017:
#line 6819 "gram.y"
{
FunctionParameter *n = makeNode(FunctionParameter);
n->name = (yyvsp[(2) - (3)].str);
n->argType = (yyvsp[(3) - (3)].typnam);
n->mode = (yyvsp[(1) - (3)].fun_param_mode);
n->defexpr = NULL;
(yyval.fun_param) = n;
;}
break;
case 1018:
#line 6828 "gram.y"
{
FunctionParameter *n = makeNode(FunctionParameter);
n->name = (yyvsp[(1) - (3)].str);
n->argType = (yyvsp[(3) - (3)].typnam);
n->mode = (yyvsp[(2) - (3)].fun_param_mode);
n->defexpr = NULL;
(yyval.fun_param) = n;
;}
break;
case 1019:
#line 6837 "gram.y"
{
FunctionParameter *n = makeNode(FunctionParameter);
n->name = (yyvsp[(1) - (2)].str);
n->argType = (yyvsp[(2) - (2)].typnam);
n->mode = FUNC_PARAM_IN;
n->defexpr = NULL;
(yyval.fun_param) = n;
;}
break;
case 1020:
#line 6846 "gram.y"
{
FunctionParameter *n = makeNode(FunctionParameter);
n->name = NULL;
n->argType = (yyvsp[(2) - (2)].typnam);
n->mode = (yyvsp[(1) - (2)].fun_param_mode);
n->defexpr = NULL;
(yyval.fun_param) = n;
;}
break;
case 1021:
#line 6855 "gram.y"
{
FunctionParameter *n = makeNode(FunctionParameter);
n->name = NULL;
n->argType = (yyvsp[(1) - (1)].typnam);
n->mode = FUNC_PARAM_IN;
n->defexpr = NULL;
(yyval.fun_param) = n;
;}
break;
case 1022:
#line 6866 "gram.y"
{ (yyval.fun_param_mode) = FUNC_PARAM_IN; ;}
break;
case 1023:
#line 6867 "gram.y"
{ (yyval.fun_param_mode) = FUNC_PARAM_OUT; ;}
break;
case 1024:
#line 6868 "gram.y"
{ (yyval.fun_param_mode) = FUNC_PARAM_INOUT; ;}
break;
case 1025:
#line 6869 "gram.y"
{ (yyval.fun_param_mode) = FUNC_PARAM_INOUT; ;}
break;
case 1026:
#line 6870 "gram.y"
{ (yyval.fun_param_mode) = FUNC_PARAM_VARIADIC; ;}
break;
case 1028:
#line 6881 "gram.y"
{
/* We can catch over-specified results here if we want to,
* but for now better to silently swallow typmod, etc.
* - thomas 2000-03-22
*/
(yyval.typnam) = (yyvsp[(1) - (1)].typnam);
;}
break;
case 1029:
#line 6895 "gram.y"
{ (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;}
break;
case 1030:
#line 6897 "gram.y"
{
(yyval.typnam) = makeTypeNameFromNameList(lcons(makeString((yyvsp[(1) - (4)].str)), (yyvsp[(2) - (4)].list)));
(yyval.typnam)->pct_type = true;
(yyval.typnam)->location = (yylsp[(1) - (4)]);
;}
break;
case 1031:
#line 6903 "gram.y"
{
(yyval.typnam) = makeTypeNameFromNameList(lcons(makeString((yyvsp[(2) - (5)].str)), (yyvsp[(3) - (5)].list)));
(yyval.typnam)->pct_type = true;
(yyval.typnam)->setof = TRUE;
(yyval.typnam)->location = (yylsp[(2) - (5)]);
;}
break;
case 1032:
#line 6913 "gram.y"
{
(yyval.fun_param) = (yyvsp[(1) - (1)].fun_param);
;}
break;
case 1033:
#line 6917 "gram.y"
{
(yyval.fun_param) = (yyvsp[(1) - (3)].fun_param);
(yyval.fun_param)->defexpr = (yyvsp[(3) - (3)].node);
;}
break;
case 1034:
#line 6922 "gram.y"
{
(yyval.fun_param) = (yyvsp[(1) - (3)].fun_param);
(yyval.fun_param)->defexpr = (yyvsp[(3) - (3)].node);
;}
break;
case 1035:
#line 6930 "gram.y"
{
if (!((yyvsp[(1) - (1)].fun_param)->mode == FUNC_PARAM_IN ||
(yyvsp[(1) - (1)].fun_param)->mode == FUNC_PARAM_VARIADIC))
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
errmsg("aggregates cannot have output arguments"),
parser_errposition((yylsp[(1) - (1)]))));
(yyval.fun_param) = (yyvsp[(1) - (1)].fun_param);
;}
break;
case 1036:
#line 6971 "gram.y"
{
(yyval.list) = list_make2(NIL, makeInteger(-1));
;}
break;
case 1037:
#line 6975 "gram.y"
{
(yyval.list) = list_make2((yyvsp[(2) - (3)].list), makeInteger(-1));
;}
break;
case 1038:
#line 6979 "gram.y"
{
(yyval.list) = list_make2((yyvsp[(4) - (5)].list), makeInteger(0));
;}
break;
case 1039:
#line 6983 "gram.y"
{
/* this is the only case requiring consistency checking */
(yyval.list) = makeOrderedSetArgs((yyvsp[(2) - (6)].list), (yyvsp[(5) - (6)].list), yyscanner);
;}
break;
case 1040:
#line 6990 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].fun_param)); ;}
break;
case 1041:
#line 6991 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].fun_param)); ;}
break;
case 1042:
#line 6996 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;}
break;
case 1043:
#line 6997 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;}
break;
case 1044:
#line 7005 "gram.y"
{
(yyval.defelt) = makeDefElem("strict", (Node *)makeInteger(FALSE));
;}
break;
case 1045:
#line 7009 "gram.y"
{
(yyval.defelt) = makeDefElem("strict", (Node *)makeInteger(TRUE));
;}
break;
case 1046:
#line 7013 "gram.y"
{
(yyval.defelt) = makeDefElem("strict", (Node *)makeInteger(TRUE));
;}
break;
case 1047:
#line 7017 "gram.y"
{
(yyval.defelt) = makeDefElem("volatility", (Node *)makeString("immutable"));
;}
break;
case 1048:
#line 7021 "gram.y"
{
(yyval.defelt) = makeDefElem("volatility", (Node *)makeString("stable"));
;}
break;
case 1049:
#line 7025 "gram.y"
{
(yyval.defelt) = makeDefElem("volatility", (Node *)makeString("volatile"));
;}
break;
case 1050:
#line 7029 "gram.y"
{
(yyval.defelt) = makeDefElem("security", (Node *)makeInteger(TRUE));
;}
break;
case 1051:
#line 7033 "gram.y"
{
(yyval.defelt) = makeDefElem("security", (Node *)makeInteger(FALSE));
;}
break;
case 1052:
#line 7037 "gram.y"
{
(yyval.defelt) = makeDefElem("security", (Node *)makeInteger(TRUE));
;}
break;
case 1053:
#line 7041 "gram.y"
{
(yyval.defelt) = makeDefElem("security", (Node *)makeInteger(FALSE));
;}
break;
case 1054:
#line 7045 "gram.y"
{
(yyval.defelt) = makeDefElem("leakproof", (Node *)makeInteger(TRUE));
;}
break;
case 1055:
#line 7049 "gram.y"
{
(yyval.defelt) = makeDefElem("leakproof", (Node *)makeInteger(FALSE));
;}
break;
case 1056:
#line 7053 "gram.y"
{
(yyval.defelt) = makeDefElem("cost", (Node *)(yyvsp[(2) - (2)].value));
;}
break;
case 1057:
#line 7057 "gram.y"
{
(yyval.defelt) = makeDefElem("rows", (Node *)(yyvsp[(2) - (2)].value));
;}
break;
case 1058:
#line 7061 "gram.y"
{
/* we abuse the normal content of a DefElem here */
(yyval.defelt) = makeDefElem("set", (Node *)(yyvsp[(1) - (1)].vsetstmt));
;}
break;
case 1059:
#line 7069 "gram.y"
{
(yyval.defelt) = makeDefElem("as", (Node *)(yyvsp[(2) - (2)].list));
;}
break;
case 1060:
#line 7073 "gram.y"
{
(yyval.defelt) = makeDefElem("language", (Node *)makeString((yyvsp[(2) - (2)].str)));
;}
break;
case 1061:
#line 7077 "gram.y"
{
(yyval.defelt) = makeDefElem("transform", (Node *)(yyvsp[(2) - (2)].list));
;}
break;
case 1062:
#line 7081 "gram.y"
{
(yyval.defelt) = makeDefElem("window", (Node *)makeInteger(TRUE));
;}
break;
case 1063:
#line 7085 "gram.y"
{
(yyval.defelt) = (yyvsp[(1) - (1)].defelt);
;}
break;
case 1064:
#line 7090 "gram.y"
{ (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;}
break;
case 1065:
#line 7092 "gram.y"
{
(yyval.list) = list_make2(makeString((yyvsp[(1) - (3)].str)), makeString((yyvsp[(3) - (3)].str)));
;}
break;
case 1066:
#line 7098 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(3) - (3)].typnam)); ;}
break;
case 1067:
#line 7099 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (5)].list), (yyvsp[(5) - (5)].typnam)); ;}
break;
case 1068:
#line 7103 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (2)].list); ;}
break;
case 1069:
#line 7104 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1070:
#line 7108 "gram.y"
{
FunctionParameter *n = makeNode(FunctionParameter);
n->name = (yyvsp[(1) - (2)].str);
n->argType = (yyvsp[(2) - (2)].typnam);
n->mode = FUNC_PARAM_TABLE;
n->defexpr = NULL;
(yyval.fun_param) = n;
;}
break;
case 1071:
#line 7120 "gram.y"
{
(yyval.list) = list_make1((yyvsp[(1) - (1)].fun_param));
;}
break;
case 1072:
#line 7124 "gram.y"
{
(yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].fun_param));
;}
break;
case 1073:
#line 7139 "gram.y"
{
AlterFunctionStmt *n = makeNode(AlterFunctionStmt);
n->func = (yyvsp[(3) - (5)].funwithargs);
n->actions = (yyvsp[(4) - (5)].list);
(yyval.node) = (Node *) n;
;}
break;
case 1074:
#line 7149 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;}
break;
case 1075:
#line 7150 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;}
break;
case 1078:
#line 7172 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_FUNCTION;
n->objects = list_make1((yyvsp[(3) - (5)].list));
n->arguments = list_make1(extractArgTypes((yyvsp[(4) - (5)].list)));
n->behavior = (yyvsp[(5) - (5)].dbehavior);
n->missing_ok = false;
n->concurrent = false;
(yyval.node) = (Node *)n;
;}
break;
case 1079:
#line 7183 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_FUNCTION;
n->objects = list_make1((yyvsp[(5) - (7)].list));
n->arguments = list_make1(extractArgTypes((yyvsp[(6) - (7)].list)));
n->behavior = (yyvsp[(7) - (7)].dbehavior);
n->missing_ok = true;
n->concurrent = false;
(yyval.node) = (Node *)n;
;}
break;
case 1080:
#line 7197 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_AGGREGATE;
n->objects = list_make1((yyvsp[(3) - (5)].list));
n->arguments = list_make1(extractAggrArgTypes((yyvsp[(4) - (5)].list)));
n->behavior = (yyvsp[(5) - (5)].dbehavior);
n->missing_ok = false;
n->concurrent = false;
(yyval.node) = (Node *)n;
;}
break;
case 1081:
#line 7208 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_AGGREGATE;
n->objects = list_make1((yyvsp[(5) - (7)].list));
n->arguments = list_make1(extractAggrArgTypes((yyvsp[(6) - (7)].list)));
n->behavior = (yyvsp[(7) - (7)].dbehavior);
n->missing_ok = true;
n->concurrent = false;
(yyval.node) = (Node *)n;
;}
break;
case 1082:
#line 7222 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_OPERATOR;
n->objects = list_make1((yyvsp[(3) - (5)].list));
n->arguments = list_make1((yyvsp[(4) - (5)].list));
n->behavior = (yyvsp[(5) - (5)].dbehavior);
n->missing_ok = false;
n->concurrent = false;
(yyval.node) = (Node *)n;
;}
break;
case 1083:
#line 7233 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_OPERATOR;
n->objects = list_make1((yyvsp[(5) - (7)].list));
n->arguments = list_make1((yyvsp[(6) - (7)].list));
n->behavior = (yyvsp[(7) - (7)].dbehavior);
n->missing_ok = true;
n->concurrent = false;
(yyval.node) = (Node *)n;
;}
break;
case 1084:
#line 7247 "gram.y"
{
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("missing argument"),
errhint("Use NONE to denote the missing argument of a unary operator."),
parser_errposition((yylsp[(3) - (3)]))));
;}
break;
case 1085:
#line 7255 "gram.y"
{ (yyval.list) = list_make2((yyvsp[(2) - (5)].typnam), (yyvsp[(4) - (5)].typnam)); ;}
break;
case 1086:
#line 7257 "gram.y"
{ (yyval.list) = list_make2(NULL, (yyvsp[(4) - (5)].typnam)); ;}
break;
case 1087:
#line 7259 "gram.y"
{ (yyval.list) = list_make2((yyvsp[(2) - (5)].typnam), NULL); ;}
break;
case 1088:
#line 7264 "gram.y"
{ (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;}
break;
case 1089:
#line 7266 "gram.y"
{ (yyval.list) = lcons(makeString((yyvsp[(1) - (3)].str)), (yyvsp[(3) - (3)].list)); ;}
break;
case 1090:
#line 7279 "gram.y"
{
DoStmt *n = makeNode(DoStmt);
n->args = (yyvsp[(2) - (2)].list);
(yyval.node) = (Node *)n;
;}
break;
case 1091:
#line 7287 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;}
break;
case 1092:
#line 7288 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;}
break;
case 1093:
#line 7293 "gram.y"
{
(yyval.defelt) = makeDefElem("as", (Node *)makeString((yyvsp[(1) - (1)].str)));
;}
break;
case 1094:
#line 7297 "gram.y"
{
(yyval.defelt) = makeDefElem("language", (Node *)makeString((yyvsp[(2) - (2)].str)));
;}
break;
case 1095:
#line 7310 "gram.y"
{
CreateCastStmt *n = makeNode(CreateCastStmt);
n->sourcetype = (yyvsp[(4) - (11)].typnam);
n->targettype = (yyvsp[(6) - (11)].typnam);
n->func = (yyvsp[(10) - (11)].funwithargs);
n->context = (CoercionContext) (yyvsp[(11) - (11)].ival);
n->inout = false;
(yyval.node) = (Node *)n;
;}
break;
case 1096:
#line 7321 "gram.y"
{
CreateCastStmt *n = makeNode(CreateCastStmt);
n->sourcetype = (yyvsp[(4) - (10)].typnam);
n->targettype = (yyvsp[(6) - (10)].typnam);
n->func = NULL;
n->context = (CoercionContext) (yyvsp[(10) - (10)].ival);
n->inout = false;
(yyval.node) = (Node *)n;
;}
break;
case 1097:
#line 7332 "gram.y"
{
CreateCastStmt *n = makeNode(CreateCastStmt);
n->sourcetype = (yyvsp[(4) - (10)].typnam);
n->targettype = (yyvsp[(6) - (10)].typnam);
n->func = NULL;
n->context = (CoercionContext) (yyvsp[(10) - (10)].ival);
n->inout = true;
(yyval.node) = (Node *)n;
;}
break;
case 1098:
#line 7343 "gram.y"
{ (yyval.ival) = COERCION_IMPLICIT; ;}
break;
case 1099:
#line 7344 "gram.y"
{ (yyval.ival) = COERCION_ASSIGNMENT; ;}
break;
case 1100:
#line 7345 "gram.y"
{ (yyval.ival) = COERCION_EXPLICIT; ;}
break;
case 1101:
#line 7350 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_CAST;
n->objects = list_make1(list_make1((yyvsp[(5) - (9)].typnam)));
n->arguments = list_make1(list_make1((yyvsp[(7) - (9)].typnam)));
n->behavior = (yyvsp[(9) - (9)].dbehavior);
n->missing_ok = (yyvsp[(3) - (9)].boolean);
n->concurrent = false;
(yyval.node) = (Node *)n;
;}
break;
case 1102:
#line 7362 "gram.y"
{ (yyval.boolean) = TRUE; ;}
break;
case 1103:
#line 7363 "gram.y"
{ (yyval.boolean) = FALSE; ;}
break;
case 1104:
#line 7374 "gram.y"
{
CreateTransformStmt *n = makeNode(CreateTransformStmt);
n->replace = (yyvsp[(2) - (10)].boolean);
n->type_name = (yyvsp[(5) - (10)].typnam);
n->lang = (yyvsp[(7) - (10)].str);
n->fromsql = linitial((yyvsp[(9) - (10)].list));
n->tosql = lsecond((yyvsp[(9) - (10)].list));
(yyval.node) = (Node *)n;
;}
break;
case 1105:
#line 7386 "gram.y"
{
(yyval.list) = list_make2((yyvsp[(5) - (11)].funwithargs), (yyvsp[(11) - (11)].funwithargs));
;}
break;
case 1106:
#line 7390 "gram.y"
{
(yyval.list) = list_make2((yyvsp[(11) - (11)].funwithargs), (yyvsp[(5) - (11)].funwithargs));
;}
break;
case 1107:
#line 7394 "gram.y"
{
(yyval.list) = list_make2((yyvsp[(5) - (5)].funwithargs), NULL);
;}
break;
case 1108:
#line 7398 "gram.y"
{
(yyval.list) = list_make2(NULL, (yyvsp[(5) - (5)].funwithargs));
;}
break;
case 1109:
#line 7405 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_TRANSFORM;
n->objects = list_make1(list_make1((yyvsp[(5) - (8)].typnam)));
n->arguments = list_make1(list_make1(makeString((yyvsp[(7) - (8)].str))));
n->behavior = (yyvsp[(8) - (8)].dbehavior);
n->missing_ok = (yyvsp[(3) - (8)].boolean);
(yyval.node) = (Node *)n;
;}
break;
case 1110:
#line 7426 "gram.y"
{
ReindexStmt *n = makeNode(ReindexStmt);
n->kind = (yyvsp[(2) - (3)].ival);
n->relation = (yyvsp[(3) - (3)].range);
n->name = NULL;
n->options = 0;
(yyval.node) = (Node *)n;
;}
break;
case 1111:
#line 7435 "gram.y"
{
ReindexStmt *n = makeNode(ReindexStmt);
n->kind = (yyvsp[(2) - (3)].ival);
n->name = (yyvsp[(3) - (3)].str);
n->relation = NULL;
n->options = 0;
(yyval.node) = (Node *)n;
;}
break;
case 1112:
#line 7444 "gram.y"
{
ReindexStmt *n = makeNode(ReindexStmt);
n->kind = (yyvsp[(5) - (6)].ival);
n->relation = (yyvsp[(6) - (6)].range);
n->name = NULL;
n->options = (yyvsp[(3) - (6)].ival);
(yyval.node) = (Node *)n;
;}
break;
case 1113:
#line 7453 "gram.y"
{
ReindexStmt *n = makeNode(ReindexStmt);
n->kind = (yyvsp[(5) - (6)].ival);
n->name = (yyvsp[(6) - (6)].str);
n->relation = NULL;
n->options = (yyvsp[(3) - (6)].ival);
(yyval.node) = (Node *)n;
;}
break;
case 1114:
#line 7463 "gram.y"
{ (yyval.ival) = REINDEX_OBJECT_INDEX; ;}
break;
case 1115:
#line 7464 "gram.y"
{ (yyval.ival) = REINDEX_OBJECT_TABLE; ;}
break;
case 1116:
#line 7467 "gram.y"
{ (yyval.ival) = REINDEX_OBJECT_SCHEMA; ;}
break;
case 1117:
#line 7468 "gram.y"
{ (yyval.ival) = REINDEX_OBJECT_SYSTEM; ;}
break;
case 1118:
#line 7469 "gram.y"
{ (yyval.ival) = REINDEX_OBJECT_DATABASE; ;}
break;
case 1119:
#line 7472 "gram.y"
{ (yyval.ival) = (yyvsp[(1) - (1)].ival); ;}
break;
case 1120:
#line 7473 "gram.y"
{ (yyval.ival) = (yyvsp[(1) - (3)].ival) | (yyvsp[(3) - (3)].ival); ;}
break;
case 1121:
#line 7476 "gram.y"
{ (yyval.ival) = REINDEXOPT_VERBOSE; ;}
break;
case 1122:
#line 7487 "gram.y"
{
AlterTableSpaceOptionsStmt *n =
makeNode(AlterTableSpaceOptionsStmt);
n->tablespacename = (yyvsp[(3) - (5)].str);
n->options = (yyvsp[(5) - (5)].list);
n->isReset = FALSE;
(yyval.node) = (Node *)n;
;}
break;
case 1123:
#line 7496 "gram.y"
{
AlterTableSpaceOptionsStmt *n =
makeNode(AlterTableSpaceOptionsStmt);
n->tablespacename = (yyvsp[(3) - (5)].str);
n->options = (yyvsp[(5) - (5)].list);
n->isReset = TRUE;
(yyval.node) = (Node *)n;
;}
break;
case 1124:
#line 7513 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_AGGREGATE;
n->object = (yyvsp[(3) - (7)].list);
n->objarg = extractAggrArgTypes((yyvsp[(4) - (7)].list));
n->newname = (yyvsp[(7) - (7)].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
;}
break;
case 1125:
#line 7523 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_COLLATION;
n->object = (yyvsp[(3) - (6)].list);
n->newname = (yyvsp[(6) - (6)].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
;}
break;
case 1126:
#line 7532 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_CONVERSION;
n->object = (yyvsp[(3) - (6)].list);
n->newname = (yyvsp[(6) - (6)].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
;}
break;
case 1127:
#line 7541 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_DATABASE;
n->subname = (yyvsp[(3) - (6)].str);
n->newname = (yyvsp[(6) - (6)].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
;}
break;
case 1128:
#line 7550 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_DOMAIN;
n->object = (yyvsp[(3) - (6)].list);
n->newname = (yyvsp[(6) - (6)].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
;}
break;
case 1129:
#line 7559 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_DOMCONSTRAINT;
n->object = (yyvsp[(3) - (8)].list);
n->subname = (yyvsp[(6) - (8)].str);
n->newname = (yyvsp[(8) - (8)].str);
(yyval.node) = (Node *)n;
;}
break;
case 1130:
#line 7568 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_FDW;
n->object = list_make1(makeString((yyvsp[(5) - (8)].str)));
n->newname = (yyvsp[(8) - (8)].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
;}
break;
case 1131:
#line 7577 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_FUNCTION;
n->object = (yyvsp[(3) - (6)].funwithargs)->funcname;
n->objarg = (yyvsp[(3) - (6)].funwithargs)->funcargs;
n->newname = (yyvsp[(6) - (6)].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
;}
break;
case 1132:
#line 7587 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_ROLE;
n->subname = (yyvsp[(3) - (6)].str);
n->newname = (yyvsp[(6) - (6)].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
;}
break;
case 1133:
#line 7596 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_LANGUAGE;
n->object = list_make1(makeString((yyvsp[(4) - (7)].str)));
n->newname = (yyvsp[(7) - (7)].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
;}
break;
case 1134:
#line 7605 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_OPCLASS;
n->object = lcons(makeString((yyvsp[(6) - (9)].str)), (yyvsp[(4) - (9)].list));
n->newname = (yyvsp[(9) - (9)].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
;}
break;
case 1135:
#line 7614 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_OPFAMILY;
n->object = lcons(makeString((yyvsp[(6) - (9)].str)), (yyvsp[(4) - (9)].list));
n->newname = (yyvsp[(9) - (9)].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
;}
break;
case 1136:
#line 7623 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_POLICY;
n->relation = (yyvsp[(5) - (8)].range);
n->subname = (yyvsp[(3) - (8)].str);
n->newname = (yyvsp[(8) - (8)].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
;}
break;
case 1137:
#line 7633 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_POLICY;
n->relation = (yyvsp[(7) - (10)].range);
n->subname = (yyvsp[(5) - (10)].str);
n->newname = (yyvsp[(10) - (10)].str);
n->missing_ok = true;
(yyval.node) = (Node *)n;
;}
break;
case 1138:
#line 7643 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_SCHEMA;
n->subname = (yyvsp[(3) - (6)].str);
n->newname = (yyvsp[(6) - (6)].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
;}
break;
case 1139:
#line 7652 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_FOREIGN_SERVER;
n->object = list_make1(makeString((yyvsp[(3) - (6)].str)));
n->newname = (yyvsp[(6) - (6)].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
;}
break;
case 1140:
#line 7661 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_TABLE;
n->relation = (yyvsp[(3) - (6)].range);
n->subname = NULL;
n->newname = (yyvsp[(6) - (6)].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
;}
break;
case 1141:
#line 7671 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_TABLE;
n->relation = (yyvsp[(5) - (8)].range);
n->subname = NULL;
n->newname = (yyvsp[(8) - (8)].str);
n->missing_ok = true;
(yyval.node) = (Node *)n;
;}
break;
case 1142:
#line 7681 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_SEQUENCE;
n->relation = (yyvsp[(3) - (6)].range);
n->subname = NULL;
n->newname = (yyvsp[(6) - (6)].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
;}
break;
case 1143:
#line 7691 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_SEQUENCE;
n->relation = (yyvsp[(5) - (8)].range);
n->subname = NULL;
n->newname = (yyvsp[(8) - (8)].str);
n->missing_ok = true;
(yyval.node) = (Node *)n;
;}
break;
case 1144:
#line 7701 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_VIEW;
n->relation = (yyvsp[(3) - (6)].range);
n->subname = NULL;
n->newname = (yyvsp[(6) - (6)].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
;}
break;
case 1145:
#line 7711 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_VIEW;
n->relation = (yyvsp[(5) - (8)].range);
n->subname = NULL;
n->newname = (yyvsp[(8) - (8)].str);
n->missing_ok = true;
(yyval.node) = (Node *)n;
;}
break;
case 1146:
#line 7721 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_MATVIEW;
n->relation = (yyvsp[(4) - (7)].range);
n->subname = NULL;
n->newname = (yyvsp[(7) - (7)].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
;}
break;
case 1147:
#line 7731 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_MATVIEW;
n->relation = (yyvsp[(6) - (9)].range);
n->subname = NULL;
n->newname = (yyvsp[(9) - (9)].str);
n->missing_ok = true;
(yyval.node) = (Node *)n;
;}
break;
case 1148:
#line 7741 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_INDEX;
n->relation = (yyvsp[(3) - (6)].range);
n->subname = NULL;
n->newname = (yyvsp[(6) - (6)].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
;}
break;
case 1149:
#line 7751 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_INDEX;
n->relation = (yyvsp[(5) - (8)].range);
n->subname = NULL;
n->newname = (yyvsp[(8) - (8)].str);
n->missing_ok = true;
(yyval.node) = (Node *)n;
;}
break;
case 1150:
#line 7761 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_FOREIGN_TABLE;
n->relation = (yyvsp[(4) - (7)].range);
n->subname = NULL;
n->newname = (yyvsp[(7) - (7)].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
;}
break;
case 1151:
#line 7771 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_FOREIGN_TABLE;
n->relation = (yyvsp[(6) - (9)].range);
n->subname = NULL;
n->newname = (yyvsp[(9) - (9)].str);
n->missing_ok = true;
(yyval.node) = (Node *)n;
;}
break;
case 1152:
#line 7781 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_COLUMN;
n->relationType = OBJECT_TABLE;
n->relation = (yyvsp[(3) - (8)].range);
n->subname = (yyvsp[(6) - (8)].str);
n->newname = (yyvsp[(8) - (8)].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
;}
break;
case 1153:
#line 7792 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_COLUMN;
n->relationType = OBJECT_TABLE;
n->relation = (yyvsp[(5) - (10)].range);
n->subname = (yyvsp[(8) - (10)].str);
n->newname = (yyvsp[(10) - (10)].str);
n->missing_ok = true;
(yyval.node) = (Node *)n;
;}
break;
case 1154:
#line 7803 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_COLUMN;
n->relationType = OBJECT_MATVIEW;
n->relation = (yyvsp[(4) - (9)].range);
n->subname = (yyvsp[(7) - (9)].str);
n->newname = (yyvsp[(9) - (9)].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
;}
break;
case 1155:
#line 7814 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_COLUMN;
n->relationType = OBJECT_MATVIEW;
n->relation = (yyvsp[(6) - (11)].range);
n->subname = (yyvsp[(9) - (11)].str);
n->newname = (yyvsp[(11) - (11)].str);
n->missing_ok = true;
(yyval.node) = (Node *)n;
;}
break;
case 1156:
#line 7825 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_TABCONSTRAINT;
n->relation = (yyvsp[(3) - (8)].range);
n->subname = (yyvsp[(6) - (8)].str);
n->newname = (yyvsp[(8) - (8)].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
;}
break;
case 1157:
#line 7835 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_TABCONSTRAINT;
n->relation = (yyvsp[(5) - (10)].range);
n->subname = (yyvsp[(8) - (10)].str);
n->newname = (yyvsp[(10) - (10)].str);
n->missing_ok = true;
(yyval.node) = (Node *)n;
;}
break;
case 1158:
#line 7845 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_COLUMN;
n->relationType = OBJECT_FOREIGN_TABLE;
n->relation = (yyvsp[(4) - (9)].range);
n->subname = (yyvsp[(7) - (9)].str);
n->newname = (yyvsp[(9) - (9)].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
;}
break;
case 1159:
#line 7856 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_COLUMN;
n->relationType = OBJECT_FOREIGN_TABLE;
n->relation = (yyvsp[(6) - (11)].range);
n->subname = (yyvsp[(9) - (11)].str);
n->newname = (yyvsp[(11) - (11)].str);
n->missing_ok = true;
(yyval.node) = (Node *)n;
;}
break;
case 1160:
#line 7867 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_RULE;
n->relation = (yyvsp[(5) - (8)].range);
n->subname = (yyvsp[(3) - (8)].str);
n->newname = (yyvsp[(8) - (8)].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
;}
break;
case 1161:
#line 7877 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_TRIGGER;
n->relation = (yyvsp[(5) - (8)].range);
n->subname = (yyvsp[(3) - (8)].str);
n->newname = (yyvsp[(8) - (8)].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
;}
break;
case 1162:
#line 7887 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_EVENT_TRIGGER;
n->object = list_make1(makeString((yyvsp[(4) - (7)].str)));
n->newname = (yyvsp[(7) - (7)].str);
(yyval.node) = (Node *)n;
;}
break;
case 1163:
#line 7895 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_ROLE;
n->subname = (yyvsp[(3) - (6)].str);
n->newname = (yyvsp[(6) - (6)].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
;}
break;
case 1164:
#line 7904 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_ROLE;
n->subname = (yyvsp[(3) - (6)].str);
n->newname = (yyvsp[(6) - (6)].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
;}
break;
case 1165:
#line 7913 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_TABLESPACE;
n->subname = (yyvsp[(3) - (6)].str);
n->newname = (yyvsp[(6) - (6)].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
;}
break;
case 1166:
#line 7922 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_TSPARSER;
n->object = (yyvsp[(5) - (8)].list);
n->newname = (yyvsp[(8) - (8)].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
;}
break;
case 1167:
#line 7931 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_TSDICTIONARY;
n->object = (yyvsp[(5) - (8)].list);
n->newname = (yyvsp[(8) - (8)].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
;}
break;
case 1168:
#line 7940 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_TSTEMPLATE;
n->object = (yyvsp[(5) - (8)].list);
n->newname = (yyvsp[(8) - (8)].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
;}
break;
case 1169:
#line 7949 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_TSCONFIGURATION;
n->object = (yyvsp[(5) - (8)].list);
n->newname = (yyvsp[(8) - (8)].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
;}
break;
case 1170:
#line 7958 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_TYPE;
n->object = (yyvsp[(3) - (6)].list);
n->newname = (yyvsp[(6) - (6)].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
;}
break;
case 1171:
#line 7967 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_ATTRIBUTE;
n->relationType = OBJECT_TYPE;
n->relation = makeRangeVarFromAnyName((yyvsp[(3) - (9)].list), (yylsp[(3) - (9)]), yyscanner);
n->subname = (yyvsp[(6) - (9)].str);
n->newname = (yyvsp[(8) - (9)].str);
n->behavior = (yyvsp[(9) - (9)].dbehavior);
n->missing_ok = false;
(yyval.node) = (Node *)n;
;}
break;
case 1172:
#line 7980 "gram.y"
{ (yyval.ival) = COLUMN; ;}
break;
case 1173:
#line 7981 "gram.y"
{ (yyval.ival) = 0; ;}
break;
case 1174:
#line 7984 "gram.y"
{ (yyval.ival) = 1; ;}
break;
case 1175:
#line 7985 "gram.y"
{ (yyval.ival) = 0; ;}
break;
case 1176:
#line 7996 "gram.y"
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_AGGREGATE;
n->object = (yyvsp[(3) - (7)].list);
n->objarg = extractAggrArgTypes((yyvsp[(4) - (7)].list));
n->newschema = (yyvsp[(7) - (7)].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
;}
break;
case 1177:
#line 8006 "gram.y"
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_COLLATION;
n->object = (yyvsp[(3) - (6)].list);
n->newschema = (yyvsp[(6) - (6)].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
;}
break;
case 1178:
#line 8015 "gram.y"
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_CONVERSION;
n->object = (yyvsp[(3) - (6)].list);
n->newschema = (yyvsp[(6) - (6)].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
;}
break;
case 1179:
#line 8024 "gram.y"
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_DOMAIN;
n->object = (yyvsp[(3) - (6)].list);
n->newschema = (yyvsp[(6) - (6)].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
;}
break;
case 1180:
#line 8033 "gram.y"
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_EXTENSION;
n->object = (yyvsp[(3) - (6)].list);
n->newschema = (yyvsp[(6) - (6)].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
;}
break;
case 1181:
#line 8042 "gram.y"
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_FUNCTION;
n->object = (yyvsp[(3) - (6)].funwithargs)->funcname;
n->objarg = (yyvsp[(3) - (6)].funwithargs)->funcargs;
n->newschema = (yyvsp[(6) - (6)].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
;}
break;
case 1182:
#line 8052 "gram.y"
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_OPERATOR;
n->object = (yyvsp[(3) - (7)].list);
n->objarg = (yyvsp[(4) - (7)].list);
n->newschema = (yyvsp[(7) - (7)].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
;}
break;
case 1183:
#line 8062 "gram.y"
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_OPCLASS;
n->object = lcons(makeString((yyvsp[(6) - (9)].str)), (yyvsp[(4) - (9)].list));
n->newschema = (yyvsp[(9) - (9)].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
;}
break;
case 1184:
#line 8071 "gram.y"
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_OPFAMILY;
n->object = lcons(makeString((yyvsp[(6) - (9)].str)), (yyvsp[(4) - (9)].list));
n->newschema = (yyvsp[(9) - (9)].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
;}
break;
case 1185:
#line 8080 "gram.y"
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_TABLE;
n->relation = (yyvsp[(3) - (6)].range);
n->newschema = (yyvsp[(6) - (6)].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
;}
break;
case 1186:
#line 8089 "gram.y"
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_TABLE;
n->relation = (yyvsp[(5) - (8)].range);
n->newschema = (yyvsp[(8) - (8)].str);
n->missing_ok = true;
(yyval.node) = (Node *)n;
;}
break;
case 1187:
#line 8098 "gram.y"
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_TSPARSER;
n->object = (yyvsp[(5) - (8)].list);
n->newschema = (yyvsp[(8) - (8)].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
;}
break;
case 1188:
#line 8107 "gram.y"
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_TSDICTIONARY;
n->object = (yyvsp[(5) - (8)].list);
n->newschema = (yyvsp[(8) - (8)].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
;}
break;
case 1189:
#line 8116 "gram.y"
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_TSTEMPLATE;
n->object = (yyvsp[(5) - (8)].list);
n->newschema = (yyvsp[(8) - (8)].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
;}
break;
case 1190:
#line 8125 "gram.y"
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_TSCONFIGURATION;
n->object = (yyvsp[(5) - (8)].list);
n->newschema = (yyvsp[(8) - (8)].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
;}
break;
case 1191:
#line 8134 "gram.y"
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_SEQUENCE;
n->relation = (yyvsp[(3) - (6)].range);
n->newschema = (yyvsp[(6) - (6)].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
;}
break;
case 1192:
#line 8143 "gram.y"
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_SEQUENCE;
n->relation = (yyvsp[(5) - (8)].range);
n->newschema = (yyvsp[(8) - (8)].str);
n->missing_ok = true;
(yyval.node) = (Node *)n;
;}
break;
case 1193:
#line 8152 "gram.y"
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_VIEW;
n->relation = (yyvsp[(3) - (6)].range);
n->newschema = (yyvsp[(6) - (6)].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
;}
break;
case 1194:
#line 8161 "gram.y"
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_VIEW;
n->relation = (yyvsp[(5) - (8)].range);
n->newschema = (yyvsp[(8) - (8)].str);
n->missing_ok = true;
(yyval.node) = (Node *)n;
;}
break;
case 1195:
#line 8170 "gram.y"
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_MATVIEW;
n->relation = (yyvsp[(4) - (7)].range);
n->newschema = (yyvsp[(7) - (7)].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
;}
break;
case 1196:
#line 8179 "gram.y"
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_MATVIEW;
n->relation = (yyvsp[(6) - (9)].range);
n->newschema = (yyvsp[(9) - (9)].str);
n->missing_ok = true;
(yyval.node) = (Node *)n;
;}
break;
case 1197:
#line 8188 "gram.y"
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_FOREIGN_TABLE;
n->relation = (yyvsp[(4) - (7)].range);
n->newschema = (yyvsp[(7) - (7)].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
;}
break;
case 1198:
#line 8197 "gram.y"
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_FOREIGN_TABLE;
n->relation = (yyvsp[(6) - (9)].range);
n->newschema = (yyvsp[(9) - (9)].str);
n->missing_ok = true;
(yyval.node) = (Node *)n;
;}
break;
case 1199:
#line 8206 "gram.y"
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_TYPE;
n->object = (yyvsp[(3) - (6)].list);
n->newschema = (yyvsp[(6) - (6)].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
;}
break;
case 1200:
#line 8223 "gram.y"
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_AGGREGATE;
n->object = (yyvsp[(3) - (7)].list);
n->objarg = extractAggrArgTypes((yyvsp[(4) - (7)].list));
n->newowner = (yyvsp[(7) - (7)].node);
(yyval.node) = (Node *)n;
;}
break;
case 1201:
#line 8232 "gram.y"
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_COLLATION;
n->object = (yyvsp[(3) - (6)].list);
n->newowner = (yyvsp[(6) - (6)].node);
(yyval.node) = (Node *)n;
;}
break;
case 1202:
#line 8240 "gram.y"
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_CONVERSION;
n->object = (yyvsp[(3) - (6)].list);
n->newowner = (yyvsp[(6) - (6)].node);
(yyval.node) = (Node *)n;
;}
break;
case 1203:
#line 8248 "gram.y"
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_DATABASE;
n->object = list_make1(makeString((yyvsp[(3) - (6)].str)));
n->newowner = (yyvsp[(6) - (6)].node);
(yyval.node) = (Node *)n;
;}
break;
case 1204:
#line 8256 "gram.y"
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_DOMAIN;
n->object = (yyvsp[(3) - (6)].list);
n->newowner = (yyvsp[(6) - (6)].node);
(yyval.node) = (Node *)n;
;}
break;
case 1205:
#line 8264 "gram.y"
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_FUNCTION;
n->object = (yyvsp[(3) - (6)].funwithargs)->funcname;
n->objarg = (yyvsp[(3) - (6)].funwithargs)->funcargs;
n->newowner = (yyvsp[(6) - (6)].node);
(yyval.node) = (Node *)n;
;}
break;
case 1206:
#line 8273 "gram.y"
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_LANGUAGE;
n->object = list_make1(makeString((yyvsp[(4) - (7)].str)));
n->newowner = (yyvsp[(7) - (7)].node);
(yyval.node) = (Node *)n;
;}
break;
case 1207:
#line 8281 "gram.y"
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_LARGEOBJECT;
n->object = list_make1((yyvsp[(4) - (7)].value));
n->newowner = (yyvsp[(7) - (7)].node);
(yyval.node) = (Node *)n;
;}
break;
case 1208:
#line 8289 "gram.y"
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_OPERATOR;
n->object = (yyvsp[(3) - (7)].list);
n->objarg = (yyvsp[(4) - (7)].list);
n->newowner = (yyvsp[(7) - (7)].node);
(yyval.node) = (Node *)n;
;}
break;
case 1209:
#line 8298 "gram.y"
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_OPCLASS;
n->object = lcons(makeString((yyvsp[(6) - (9)].str)), (yyvsp[(4) - (9)].list));
n->newowner = (yyvsp[(9) - (9)].node);
(yyval.node) = (Node *)n;
;}
break;
case 1210:
#line 8306 "gram.y"
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_OPFAMILY;
n->object = lcons(makeString((yyvsp[(6) - (9)].str)), (yyvsp[(4) - (9)].list));
n->newowner = (yyvsp[(9) - (9)].node);
(yyval.node) = (Node *)n;
;}
break;
case 1211:
#line 8314 "gram.y"
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_SCHEMA;
n->object = list_make1(makeString((yyvsp[(3) - (6)].str)));
n->newowner = (yyvsp[(6) - (6)].node);
(yyval.node) = (Node *)n;
;}
break;
case 1212:
#line 8322 "gram.y"
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_TYPE;
n->object = (yyvsp[(3) - (6)].list);
n->newowner = (yyvsp[(6) - (6)].node);
(yyval.node) = (Node *)n;
;}
break;
case 1213:
#line 8330 "gram.y"
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_TABLESPACE;
n->object = list_make1(makeString((yyvsp[(3) - (6)].str)));
n->newowner = (yyvsp[(6) - (6)].node);
(yyval.node) = (Node *)n;
;}
break;
case 1214:
#line 8338 "gram.y"
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_TSDICTIONARY;
n->object = (yyvsp[(5) - (8)].list);
n->newowner = (yyvsp[(8) - (8)].node);
(yyval.node) = (Node *)n;
;}
break;
case 1215:
#line 8346 "gram.y"
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_TSCONFIGURATION;
n->object = (yyvsp[(5) - (8)].list);
n->newowner = (yyvsp[(8) - (8)].node);
(yyval.node) = (Node *)n;
;}
break;
case 1216:
#line 8354 "gram.y"
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_FDW;
n->object = list_make1(makeString((yyvsp[(5) - (8)].str)));
n->newowner = (yyvsp[(8) - (8)].node);
(yyval.node) = (Node *)n;
;}
break;
case 1217:
#line 8362 "gram.y"
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_FOREIGN_SERVER;
n->object = list_make1(makeString((yyvsp[(3) - (6)].str)));
n->newowner = (yyvsp[(6) - (6)].node);
(yyval.node) = (Node *)n;
;}
break;
case 1218:
#line 8370 "gram.y"
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_EVENT_TRIGGER;
n->object = list_make1(makeString((yyvsp[(4) - (7)].str)));
n->newowner = (yyvsp[(7) - (7)].node);
(yyval.node) = (Node *)n;
;}
break;
case 1219:
#line 8389 "gram.y"
{
RuleStmt *n = makeNode(RuleStmt);
n->replace = (yyvsp[(2) - (13)].boolean);
n->relation = (yyvsp[(9) - (13)].range);
n->rulename = (yyvsp[(4) - (13)].str);
n->whereClause = (yyvsp[(10) - (13)].node);
n->event = (yyvsp[(7) - (13)].ival);
n->instead = (yyvsp[(12) - (13)].boolean);
n->actions = (yyvsp[(13) - (13)].list);
(yyval.node) = (Node *)n;
;}
break;
case 1220:
#line 8403 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1221:
#line 8404 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 1222:
#line 8405 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (3)].list); ;}
break;
case 1223:
#line 8411 "gram.y"
{ if ((yyvsp[(3) - (3)].node) != NULL)
(yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node));
else
(yyval.list) = (yyvsp[(1) - (3)].list);
;}
break;
case 1224:
#line 8417 "gram.y"
{ if ((yyvsp[(1) - (1)].node) != NULL)
(yyval.list) = list_make1((yyvsp[(1) - (1)].node));
else
(yyval.list) = NIL;
;}
break;
case 1230:
#line 8433 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 1231:
#line 8434 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 1232:
#line 8437 "gram.y"
{ (yyval.ival) = CMD_SELECT; ;}
break;
case 1233:
#line 8438 "gram.y"
{ (yyval.ival) = CMD_UPDATE; ;}
break;
case 1234:
#line 8439 "gram.y"
{ (yyval.ival) = CMD_DELETE; ;}
break;
case 1235:
#line 8440 "gram.y"
{ (yyval.ival) = CMD_INSERT; ;}
break;
case 1236:
#line 8444 "gram.y"
{ (yyval.boolean) = TRUE; ;}
break;
case 1237:
#line 8445 "gram.y"
{ (yyval.boolean) = FALSE; ;}
break;
case 1238:
#line 8446 "gram.y"
{ (yyval.boolean) = FALSE; ;}
break;
case 1239:
#line 8452 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_RULE;
n->objects = list_make1(lappend((yyvsp[(5) - (6)].list), makeString((yyvsp[(3) - (6)].str))));
n->arguments = NIL;
n->behavior = (yyvsp[(6) - (6)].dbehavior);
n->missing_ok = false;
n->concurrent = false;
(yyval.node) = (Node *) n;
;}
break;
case 1240:
#line 8463 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_RULE;
n->objects = list_make1(lappend((yyvsp[(7) - (8)].list), makeString((yyvsp[(5) - (8)].str))));
n->arguments = NIL;
n->behavior = (yyvsp[(8) - (8)].dbehavior);
n->missing_ok = true;
n->concurrent = false;
(yyval.node) = (Node *) n;
;}
break;
case 1241:
#line 8485 "gram.y"
{
NotifyStmt *n = makeNode(NotifyStmt);
n->conditionname = (yyvsp[(2) - (3)].str);
n->payload = (yyvsp[(3) - (3)].str);
(yyval.node) = (Node *)n;
;}
break;
case 1242:
#line 8494 "gram.y"
{ (yyval.str) = (yyvsp[(2) - (2)].str); ;}
break;
case 1243:
#line 8495 "gram.y"
{ (yyval.str) = NULL; ;}
break;
case 1244:
#line 8499 "gram.y"
{
ListenStmt *n = makeNode(ListenStmt);
n->conditionname = (yyvsp[(2) - (2)].str);
(yyval.node) = (Node *)n;
;}
break;
case 1245:
#line 8508 "gram.y"
{
UnlistenStmt *n = makeNode(UnlistenStmt);
n->conditionname = (yyvsp[(2) - (2)].str);
(yyval.node) = (Node *)n;
;}
break;
case 1246:
#line 8514 "gram.y"
{
UnlistenStmt *n = makeNode(UnlistenStmt);
n->conditionname = NULL;
(yyval.node) = (Node *)n;
;}
break;
case 1247:
#line 8533 "gram.y"
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_ROLLBACK;
n->options = NIL;
(yyval.node) = (Node *)n;
;}
break;
case 1248:
#line 8540 "gram.y"
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_BEGIN;
n->options = (yyvsp[(3) - (3)].list);
(yyval.node) = (Node *)n;
;}
break;
case 1249:
#line 8547 "gram.y"
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_START;
n->options = (yyvsp[(3) - (3)].list);
(yyval.node) = (Node *)n;
;}
break;
case 1250:
#line 8554 "gram.y"
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_COMMIT;
n->options = NIL;
(yyval.node) = (Node *)n;
;}
break;
case 1251:
#line 8561 "gram.y"
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_COMMIT;
n->options = NIL;
(yyval.node) = (Node *)n;
;}
break;
case 1252:
#line 8568 "gram.y"
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_ROLLBACK;
n->options = NIL;
(yyval.node) = (Node *)n;
;}
break;
case 1253:
#line 8575 "gram.y"
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_SAVEPOINT;
n->options = list_make1(makeDefElem("savepoint_name",
(Node *)makeString((yyvsp[(2) - (2)].str))));
(yyval.node) = (Node *)n;
;}
break;
case 1254:
#line 8583 "gram.y"
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_RELEASE;
n->options = list_make1(makeDefElem("savepoint_name",
(Node *)makeString((yyvsp[(3) - (3)].str))));
(yyval.node) = (Node *)n;
;}
break;
case 1255:
#line 8591 "gram.y"
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_RELEASE;
n->options = list_make1(makeDefElem("savepoint_name",
(Node *)makeString((yyvsp[(2) - (2)].str))));
(yyval.node) = (Node *)n;
;}
break;
case 1256:
#line 8599 "gram.y"
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_ROLLBACK_TO;
n->options = list_make1(makeDefElem("savepoint_name",
(Node *)makeString((yyvsp[(5) - (5)].str))));
(yyval.node) = (Node *)n;
;}
break;
case 1257:
#line 8607 "gram.y"
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_ROLLBACK_TO;
n->options = list_make1(makeDefElem("savepoint_name",
(Node *)makeString((yyvsp[(4) - (4)].str))));
(yyval.node) = (Node *)n;
;}
break;
case 1258:
#line 8615 "gram.y"
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_PREPARE;
n->gid = (yyvsp[(3) - (3)].str);
(yyval.node) = (Node *)n;
;}
break;
case 1259:
#line 8622 "gram.y"
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_COMMIT_PREPARED;
n->gid = (yyvsp[(3) - (3)].str);
(yyval.node) = (Node *)n;
;}
break;
case 1260:
#line 8629 "gram.y"
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_ROLLBACK_PREPARED;
n->gid = (yyvsp[(3) - (3)].str);
(yyval.node) = (Node *)n;
;}
break;
case 1261:
#line 8637 "gram.y"
{;}
break;
case 1262:
#line 8638 "gram.y"
{;}
break;
case 1263:
#line 8639 "gram.y"
{;}
break;
case 1264:
#line 8644 "gram.y"
{ (yyval.defelt) = makeDefElem("transaction_isolation",
makeStringConst((yyvsp[(3) - (3)].str), (yylsp[(3) - (3)]))); ;}
break;
case 1265:
#line 8647 "gram.y"
{ (yyval.defelt) = makeDefElem("transaction_read_only",
makeIntConst(TRUE, (yylsp[(1) - (2)]))); ;}
break;
case 1266:
#line 8650 "gram.y"
{ (yyval.defelt) = makeDefElem("transaction_read_only",
makeIntConst(FALSE, (yylsp[(1) - (2)]))); ;}
break;
case 1267:
#line 8653 "gram.y"
{ (yyval.defelt) = makeDefElem("transaction_deferrable",
makeIntConst(TRUE, (yylsp[(1) - (1)]))); ;}
break;
case 1268:
#line 8656 "gram.y"
{ (yyval.defelt) = makeDefElem("transaction_deferrable",
makeIntConst(FALSE, (yylsp[(1) - (2)]))); ;}
break;
case 1269:
#line 8663 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;}
break;
case 1270:
#line 8665 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt)); ;}
break;
case 1271:
#line 8667 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;}
break;
case 1273:
#line 8673 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1274:
#line 8687 "gram.y"
{
ViewStmt *n = makeNode(ViewStmt);
n->view = (yyvsp[(4) - (9)].range);
n->view->relpersistence = (yyvsp[(2) - (9)].ival);
n->aliases = (yyvsp[(5) - (9)].list);
n->query = (yyvsp[(8) - (9)].node);
n->replace = false;
n->options = (yyvsp[(6) - (9)].list);
n->withCheckOption = (yyvsp[(9) - (9)].ival);
(yyval.node) = (Node *) n;
;}
break;
case 1275:
#line 8700 "gram.y"
{
ViewStmt *n = makeNode(ViewStmt);
n->view = (yyvsp[(6) - (11)].range);
n->view->relpersistence = (yyvsp[(4) - (11)].ival);
n->aliases = (yyvsp[(7) - (11)].list);
n->query = (yyvsp[(10) - (11)].node);
n->replace = true;
n->options = (yyvsp[(8) - (11)].list);
n->withCheckOption = (yyvsp[(11) - (11)].ival);
(yyval.node) = (Node *) n;
;}
break;
case 1276:
#line 8713 "gram.y"
{
ViewStmt *n = makeNode(ViewStmt);
n->view = (yyvsp[(5) - (12)].range);
n->view->relpersistence = (yyvsp[(2) - (12)].ival);
n->aliases = (yyvsp[(7) - (12)].list);
n->query = makeRecursiveViewSelect(n->view->relname, n->aliases, (yyvsp[(11) - (12)].node));
n->replace = false;
n->options = (yyvsp[(9) - (12)].list);
n->withCheckOption = (yyvsp[(12) - (12)].ival);
if (n->withCheckOption != NO_CHECK_OPTION)
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
errmsg("WITH CHECK OPTION not supported on recursive views"),
parser_errposition((yylsp[(12) - (12)]))));
(yyval.node) = (Node *) n;
;}
break;
case 1277:
#line 8731 "gram.y"
{
ViewStmt *n = makeNode(ViewStmt);
n->view = (yyvsp[(7) - (14)].range);
n->view->relpersistence = (yyvsp[(4) - (14)].ival);
n->aliases = (yyvsp[(9) - (14)].list);
n->query = makeRecursiveViewSelect(n->view->relname, n->aliases, (yyvsp[(13) - (14)].node));
n->replace = true;
n->options = (yyvsp[(11) - (14)].list);
n->withCheckOption = (yyvsp[(14) - (14)].ival);
if (n->withCheckOption != NO_CHECK_OPTION)
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
errmsg("WITH CHECK OPTION not supported on recursive views"),
parser_errposition((yylsp[(14) - (14)]))));
(yyval.node) = (Node *) n;
;}
break;
case 1278:
#line 8750 "gram.y"
{ (yyval.ival) = CASCADED_CHECK_OPTION; ;}
break;
case 1279:
#line 8751 "gram.y"
{ (yyval.ival) = CASCADED_CHECK_OPTION; ;}
break;
case 1280:
#line 8752 "gram.y"
{ (yyval.ival) = LOCAL_CHECK_OPTION; ;}
break;
case 1281:
#line 8753 "gram.y"
{ (yyval.ival) = NO_CHECK_OPTION; ;}
break;
case 1282:
#line 8764 "gram.y"
{
LoadStmt *n = makeNode(LoadStmt);
n->filename = (yyvsp[(2) - (2)].str);
(yyval.node) = (Node *)n;
;}
break;
case 1283:
#line 8780 "gram.y"
{
CreatedbStmt *n = makeNode(CreatedbStmt);
n->dbname = (yyvsp[(3) - (5)].str);
n->options = (yyvsp[(5) - (5)].list);
(yyval.node) = (Node *)n;
;}
break;
case 1284:
#line 8789 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 1285:
#line 8790 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1286:
#line 8794 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;}
break;
case 1287:
#line 8795 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;}
break;
case 1288:
#line 8800 "gram.y"
{
(yyval.defelt) = makeDefElem((yyvsp[(1) - (3)].str), (Node *)makeInteger((yyvsp[(3) - (3)].ival)));
;}
break;
case 1289:
#line 8804 "gram.y"
{
(yyval.defelt) = makeDefElem((yyvsp[(1) - (3)].str), (Node *)makeString((yyvsp[(3) - (3)].str)));
;}
break;
case 1290:
#line 8808 "gram.y"
{
(yyval.defelt) = makeDefElem((yyvsp[(1) - (3)].str), NULL);
;}
break;
case 1291:
#line 8825 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 1292:
#line 8826 "gram.y"
{ (yyval.str) = pstrdup("connection_limit"); ;}
break;
case 1293:
#line 8827 "gram.y"
{ (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
break;
case 1294:
#line 8828 "gram.y"
{ (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
break;
case 1295:
#line 8829 "gram.y"
{ (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
break;
case 1296:
#line 8830 "gram.y"
{ (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
break;
case 1297:
#line 8831 "gram.y"
{ (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
break;
case 1298:
#line 8838 "gram.y"
{;}
break;
case 1299:
#line 8839 "gram.y"
{;}
break;
case 1300:
#line 8851 "gram.y"
{
AlterDatabaseStmt *n = makeNode(AlterDatabaseStmt);
n->dbname = (yyvsp[(3) - (5)].str);
n->options = (yyvsp[(5) - (5)].list);
(yyval.node) = (Node *)n;
;}
break;
case 1301:
#line 8858 "gram.y"
{
AlterDatabaseStmt *n = makeNode(AlterDatabaseStmt);
n->dbname = (yyvsp[(3) - (4)].str);
n->options = (yyvsp[(4) - (4)].list);
(yyval.node) = (Node *)n;
;}
break;
case 1302:
#line 8865 "gram.y"
{
AlterDatabaseStmt *n = makeNode(AlterDatabaseStmt);
n->dbname = (yyvsp[(3) - (6)].str);
n->options = list_make1(makeDefElem("tablespace",
(Node *)makeString((yyvsp[(6) - (6)].str))));
(yyval.node) = (Node *)n;
;}
break;
case 1303:
#line 8876 "gram.y"
{
AlterDatabaseSetStmt *n = makeNode(AlterDatabaseSetStmt);
n->dbname = (yyvsp[(3) - (4)].str);
n->setstmt = (yyvsp[(4) - (4)].vsetstmt);
(yyval.node) = (Node *)n;
;}
break;
case 1304:
#line 8893 "gram.y"
{
DropdbStmt *n = makeNode(DropdbStmt);
n->dbname = (yyvsp[(3) - (3)].str);
n->missing_ok = FALSE;
(yyval.node) = (Node *)n;
;}
break;
case 1305:
#line 8900 "gram.y"
{
DropdbStmt *n = makeNode(DropdbStmt);
n->dbname = (yyvsp[(5) - (5)].str);
n->missing_ok = TRUE;
(yyval.node) = (Node *)n;
;}
break;
case 1306:
#line 8918 "gram.y"
{
AlterSystemStmt *n = makeNode(AlterSystemStmt);
n->setstmt = (yyvsp[(4) - (4)].vsetstmt);
(yyval.node) = (Node *)n;
;}
break;
case 1307:
#line 8924 "gram.y"
{
AlterSystemStmt *n = makeNode(AlterSystemStmt);
n->setstmt = (yyvsp[(4) - (4)].vsetstmt);
(yyval.node) = (Node *)n;
;}
break;
case 1308:
#line 8940 "gram.y"
{
CreateDomainStmt *n = makeNode(CreateDomainStmt);
n->domainname = (yyvsp[(3) - (6)].list);
n->typeName = (yyvsp[(5) - (6)].typnam);
SplitColQualList((yyvsp[(6) - (6)].list), &n->constraints, &n->collClause,
yyscanner);
(yyval.node) = (Node *)n;
;}
break;
case 1309:
#line 8953 "gram.y"
{
AlterDomainStmt *n = makeNode(AlterDomainStmt);
n->subtype = 'T';
n->typeName = (yyvsp[(3) - (4)].list);
n->def = (yyvsp[(4) - (4)].node);
(yyval.node) = (Node *)n;
;}
break;
case 1310:
#line 8962 "gram.y"
{
AlterDomainStmt *n = makeNode(AlterDomainStmt);
n->subtype = 'N';
n->typeName = (yyvsp[(3) - (6)].list);
(yyval.node) = (Node *)n;
;}
break;
case 1311:
#line 8970 "gram.y"
{
AlterDomainStmt *n = makeNode(AlterDomainStmt);
n->subtype = 'O';
n->typeName = (yyvsp[(3) - (6)].list);
(yyval.node) = (Node *)n;
;}
break;
case 1312:
#line 8978 "gram.y"
{
AlterDomainStmt *n = makeNode(AlterDomainStmt);
n->subtype = 'C';
n->typeName = (yyvsp[(3) - (5)].list);
n->def = (yyvsp[(5) - (5)].node);
(yyval.node) = (Node *)n;
;}
break;
case 1313:
#line 8987 "gram.y"
{
AlterDomainStmt *n = makeNode(AlterDomainStmt);
n->subtype = 'X';
n->typeName = (yyvsp[(3) - (7)].list);
n->name = (yyvsp[(6) - (7)].str);
n->behavior = (yyvsp[(7) - (7)].dbehavior);
n->missing_ok = false;
(yyval.node) = (Node *)n;
;}
break;
case 1314:
#line 8998 "gram.y"
{
AlterDomainStmt *n = makeNode(AlterDomainStmt);
n->subtype = 'X';
n->typeName = (yyvsp[(3) - (9)].list);
n->name = (yyvsp[(8) - (9)].str);
n->behavior = (yyvsp[(9) - (9)].dbehavior);
n->missing_ok = true;
(yyval.node) = (Node *)n;
;}
break;
case 1315:
#line 9009 "gram.y"
{
AlterDomainStmt *n = makeNode(AlterDomainStmt);
n->subtype = 'V';
n->typeName = (yyvsp[(3) - (6)].list);
n->name = (yyvsp[(6) - (6)].str);
(yyval.node) = (Node *)n;
;}
break;
case 1316:
#line 9018 "gram.y"
{;}
break;
case 1317:
#line 9019 "gram.y"
{;}
break;
case 1318:
#line 9031 "gram.y"
{
AlterTSDictionaryStmt *n = makeNode(AlterTSDictionaryStmt);
n->dictname = (yyvsp[(5) - (6)].list);
n->options = (yyvsp[(6) - (6)].list);
(yyval.node) = (Node *)n;
;}
break;
case 1319:
#line 9041 "gram.y"
{
AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
n->kind = ALTER_TSCONFIG_ADD_MAPPING;
n->cfgname = (yyvsp[(5) - (11)].list);
n->tokentype = (yyvsp[(9) - (11)].list);
n->dicts = (yyvsp[(11) - (11)].list);
n->override = false;
n->replace = false;
(yyval.node) = (Node*)n;
;}
break;
case 1320:
#line 9052 "gram.y"
{
AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
n->kind = ALTER_TSCONFIG_ALTER_MAPPING_FOR_TOKEN;
n->cfgname = (yyvsp[(5) - (11)].list);
n->tokentype = (yyvsp[(9) - (11)].list);
n->dicts = (yyvsp[(11) - (11)].list);
n->override = true;
n->replace = false;
(yyval.node) = (Node*)n;
;}
break;
case 1321:
#line 9063 "gram.y"
{
AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
n->kind = ALTER_TSCONFIG_REPLACE_DICT;
n->cfgname = (yyvsp[(5) - (11)].list);
n->tokentype = NIL;
n->dicts = list_make2((yyvsp[(9) - (11)].list),(yyvsp[(11) - (11)].list));
n->override = false;
n->replace = true;
(yyval.node) = (Node*)n;
;}
break;
case 1322:
#line 9074 "gram.y"
{
AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
n->kind = ALTER_TSCONFIG_REPLACE_DICT_FOR_TOKEN;
n->cfgname = (yyvsp[(5) - (13)].list);
n->tokentype = (yyvsp[(9) - (13)].list);
n->dicts = list_make2((yyvsp[(11) - (13)].list),(yyvsp[(13) - (13)].list));
n->override = false;
n->replace = true;
(yyval.node) = (Node*)n;
;}
break;
case 1323:
#line 9085 "gram.y"
{
AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
n->kind = ALTER_TSCONFIG_DROP_MAPPING;
n->cfgname = (yyvsp[(5) - (9)].list);
n->tokentype = (yyvsp[(9) - (9)].list);
n->missing_ok = false;
(yyval.node) = (Node*)n;
;}
break;
case 1324:
#line 9094 "gram.y"
{
AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
n->kind = ALTER_TSCONFIG_DROP_MAPPING;
n->cfgname = (yyvsp[(5) - (11)].list);
n->tokentype = (yyvsp[(11) - (11)].list);
n->missing_ok = true;
(yyval.node) = (Node*)n;
;}
break;
case 1325:
#line 9105 "gram.y"
{;}
break;
case 1326:
#line 9106 "gram.y"
{;}
break;
case 1327:
#line 9122 "gram.y"
{
CreateConversionStmt *n = makeNode(CreateConversionStmt);
n->conversion_name = (yyvsp[(4) - (10)].list);
n->for_encoding_name = (yyvsp[(6) - (10)].str);
n->to_encoding_name = (yyvsp[(8) - (10)].str);
n->func_name = (yyvsp[(10) - (10)].list);
n->def = (yyvsp[(2) - (10)].boolean);
(yyval.node) = (Node *)n;
;}
break;
case 1328:
#line 9144 "gram.y"
{
ClusterStmt *n = makeNode(ClusterStmt);
n->relation = (yyvsp[(3) - (4)].range);
n->indexname = (yyvsp[(4) - (4)].str);
n->verbose = (yyvsp[(2) - (4)].boolean);
(yyval.node) = (Node*)n;
;}
break;
case 1329:
#line 9152 "gram.y"
{
ClusterStmt *n = makeNode(ClusterStmt);
n->relation = NULL;
n->indexname = NULL;
n->verbose = (yyvsp[(2) - (2)].boolean);
(yyval.node) = (Node*)n;
;}
break;
case 1330:
#line 9161 "gram.y"
{
ClusterStmt *n = makeNode(ClusterStmt);
n->relation = (yyvsp[(5) - (5)].range);
n->indexname = (yyvsp[(3) - (5)].str);
n->verbose = (yyvsp[(2) - (5)].boolean);
(yyval.node) = (Node*)n;
;}
break;
case 1331:
#line 9171 "gram.y"
{ (yyval.str) = (yyvsp[(2) - (2)].str); ;}
break;
case 1332:
#line 9172 "gram.y"
{ (yyval.str) = NULL; ;}
break;
case 1333:
#line 9185 "gram.y"
{
VacuumStmt *n = makeNode(VacuumStmt);
n->options = VACOPT_VACUUM;
if ((yyvsp[(2) - (4)].boolean))
n->options |= VACOPT_FULL;
if ((yyvsp[(3) - (4)].boolean))
n->options |= VACOPT_FREEZE;
if ((yyvsp[(4) - (4)].boolean))
n->options |= VACOPT_VERBOSE;
n->relation = NULL;
n->va_cols = NIL;
(yyval.node) = (Node *)n;
;}
break;
case 1334:
#line 9199 "gram.y"
{
VacuumStmt *n = makeNode(VacuumStmt);
n->options = VACOPT_VACUUM;
if ((yyvsp[(2) - (5)].boolean))
n->options |= VACOPT_FULL;
if ((yyvsp[(3) - (5)].boolean))
n->options |= VACOPT_FREEZE;
if ((yyvsp[(4) - (5)].boolean))
n->options |= VACOPT_VERBOSE;
n->relation = (yyvsp[(5) - (5)].range);
n->va_cols = NIL;
(yyval.node) = (Node *)n;
;}
break;
case 1335:
#line 9213 "gram.y"
{
VacuumStmt *n = (VacuumStmt *) (yyvsp[(5) - (5)].node);
n->options |= VACOPT_VACUUM;
if ((yyvsp[(2) - (5)].boolean))
n->options |= VACOPT_FULL;
if ((yyvsp[(3) - (5)].boolean))
n->options |= VACOPT_FREEZE;
if ((yyvsp[(4) - (5)].boolean))
n->options |= VACOPT_VERBOSE;
(yyval.node) = (Node *)n;
;}
break;
case 1336:
#line 9225 "gram.y"
{
VacuumStmt *n = makeNode(VacuumStmt);
n->options = VACOPT_VACUUM | (yyvsp[(3) - (4)].ival);
n->relation = NULL;
n->va_cols = NIL;
(yyval.node) = (Node *) n;
;}
break;
case 1337:
#line 9233 "gram.y"
{
VacuumStmt *n = makeNode(VacuumStmt);
n->options = VACOPT_VACUUM | (yyvsp[(3) - (6)].ival);
n->relation = (yyvsp[(5) - (6)].range);
n->va_cols = (yyvsp[(6) - (6)].list);
if (n->va_cols != NIL) /* implies analyze */
n->options |= VACOPT_ANALYZE;
(yyval.node) = (Node *) n;
;}
break;
case 1338:
#line 9245 "gram.y"
{ (yyval.ival) = (yyvsp[(1) - (1)].ival); ;}
break;
case 1339:
#line 9246 "gram.y"
{ (yyval.ival) = (yyvsp[(1) - (3)].ival) | (yyvsp[(3) - (3)].ival); ;}
break;
case 1340:
#line 9250 "gram.y"
{ (yyval.ival) = VACOPT_ANALYZE; ;}
break;
case 1341:
#line 9251 "gram.y"
{ (yyval.ival) = VACOPT_VERBOSE; ;}
break;
case 1342:
#line 9252 "gram.y"
{ (yyval.ival) = VACOPT_FREEZE; ;}
break;
case 1343:
#line 9253 "gram.y"
{ (yyval.ival) = VACOPT_FULL; ;}
break;
case 1344:
#line 9258 "gram.y"
{
VacuumStmt *n = makeNode(VacuumStmt);
n->options = VACOPT_ANALYZE;
if ((yyvsp[(2) - (2)].boolean))
n->options |= VACOPT_VERBOSE;
n->relation = NULL;
n->va_cols = NIL;
(yyval.node) = (Node *)n;
;}
break;
case 1345:
#line 9268 "gram.y"
{
VacuumStmt *n = makeNode(VacuumStmt);
n->options = VACOPT_ANALYZE;
if ((yyvsp[(2) - (4)].boolean))
n->options |= VACOPT_VERBOSE;
n->relation = (yyvsp[(3) - (4)].range);
n->va_cols = (yyvsp[(4) - (4)].list);
(yyval.node) = (Node *)n;
;}
break;
case 1346:
#line 9280 "gram.y"
{;}
break;
case 1347:
#line 9281 "gram.y"
{;}
break;
case 1348:
#line 9285 "gram.y"
{ (yyval.boolean) = TRUE; ;}
break;
case 1349:
#line 9286 "gram.y"
{ (yyval.boolean) = FALSE; ;}
break;
case 1350:
#line 9289 "gram.y"
{ (yyval.boolean) = TRUE; ;}
break;
case 1351:
#line 9290 "gram.y"
{ (yyval.boolean) = FALSE; ;}
break;
case 1352:
#line 9293 "gram.y"
{ (yyval.boolean) = TRUE; ;}
break;
case 1353:
#line 9294 "gram.y"
{ (yyval.boolean) = FALSE; ;}
break;
case 1354:
#line 9298 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (3)].list); ;}
break;
case 1355:
#line 9299 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1356:
#line 9313 "gram.y"
{
ExplainStmt *n = makeNode(ExplainStmt);
n->query = (yyvsp[(2) - (2)].node);
n->options = NIL;
(yyval.node) = (Node *) n;
;}
break;
case 1357:
#line 9320 "gram.y"
{
ExplainStmt *n = makeNode(ExplainStmt);
n->query = (yyvsp[(4) - (4)].node);
n->options = list_make1(makeDefElem("analyze", NULL));
if ((yyvsp[(3) - (4)].boolean))
n->options = lappend(n->options,
makeDefElem("verbose", NULL));
(yyval.node) = (Node *) n;
;}
break;
case 1358:
#line 9330 "gram.y"
{
ExplainStmt *n = makeNode(ExplainStmt);
n->query = (yyvsp[(3) - (3)].node);
n->options = list_make1(makeDefElem("verbose", NULL));
(yyval.node) = (Node *) n;
;}
break;
case 1359:
#line 9337 "gram.y"
{
ExplainStmt *n = makeNode(ExplainStmt);
n->query = (yyvsp[(5) - (5)].node);
n->options = (yyvsp[(3) - (5)].list);
(yyval.node) = (Node *) n;
;}
break;
case 1369:
#line 9359 "gram.y"
{
(yyval.list) = list_make1((yyvsp[(1) - (1)].defelt));
;}
break;
case 1370:
#line 9363 "gram.y"
{
(yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt));
;}
break;
case 1371:
#line 9370 "gram.y"
{
(yyval.defelt) = makeDefElem((yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].node));
;}
break;
case 1372:
#line 9376 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 1373:
#line 9377 "gram.y"
{ (yyval.str) = "analyze"; ;}
break;
case 1374:
#line 9381 "gram.y"
{ (yyval.node) = (Node *) makeString((yyvsp[(1) - (1)].str)); ;}
break;
case 1375:
#line 9382 "gram.y"
{ (yyval.node) = (Node *) (yyvsp[(1) - (1)].value); ;}
break;
case 1376:
#line 9383 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 1377:
#line 9394 "gram.y"
{
PrepareStmt *n = makeNode(PrepareStmt);
n->name = (yyvsp[(2) - (5)].str);
n->argtypes = (yyvsp[(3) - (5)].list);
n->query = (yyvsp[(5) - (5)].node);
(yyval.node) = (Node *) n;
;}
break;
case 1378:
#line 9403 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (3)].list); ;}
break;
case 1379:
#line 9404 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1384:
#line 9422 "gram.y"
{
ExecuteStmt *n = makeNode(ExecuteStmt);
n->name = (yyvsp[(2) - (3)].str);
n->params = (yyvsp[(3) - (3)].list);
(yyval.node) = (Node *) n;
;}
break;
case 1385:
#line 9430 "gram.y"
{
CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
ExecuteStmt *n = makeNode(ExecuteStmt);
n->name = (yyvsp[(7) - (9)].str);
n->params = (yyvsp[(8) - (9)].list);
ctas->query = (Node *) n;
ctas->into = (yyvsp[(4) - (9)].into);
ctas->relkind = OBJECT_TABLE;
ctas->is_select_into = false;
/* cram additional flags into the IntoClause */
(yyvsp[(4) - (9)].into)->rel->relpersistence = (yyvsp[(2) - (9)].ival);
(yyvsp[(4) - (9)].into)->skipData = !((yyvsp[(9) - (9)].boolean));
(yyval.node) = (Node *) ctas;
;}
break;
case 1386:
#line 9446 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (3)].list); ;}
break;
case 1387:
#line 9447 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1388:
#line 9458 "gram.y"
{
DeallocateStmt *n = makeNode(DeallocateStmt);
n->name = (yyvsp[(2) - (2)].str);
(yyval.node) = (Node *) n;
;}
break;
case 1389:
#line 9464 "gram.y"
{
DeallocateStmt *n = makeNode(DeallocateStmt);
n->name = (yyvsp[(3) - (3)].str);
(yyval.node) = (Node *) n;
;}
break;
case 1390:
#line 9470 "gram.y"
{
DeallocateStmt *n = makeNode(DeallocateStmt);
n->name = NULL;
(yyval.node) = (Node *) n;
;}
break;
case 1391:
#line 9476 "gram.y"
{
DeallocateStmt *n = makeNode(DeallocateStmt);
n->name = NULL;
(yyval.node) = (Node *) n;
;}
break;
case 1392:
#line 9493 "gram.y"
{
(yyvsp[(5) - (7)].istmt)->relation = (yyvsp[(4) - (7)].range);
(yyvsp[(5) - (7)].istmt)->onConflictClause = (yyvsp[(6) - (7)].onconflict);
(yyvsp[(5) - (7)].istmt)->returningList = (yyvsp[(7) - (7)].list);
(yyvsp[(5) - (7)].istmt)->withClause = (yyvsp[(1) - (7)].with);
(yyval.node) = (Node *) (yyvsp[(5) - (7)].istmt);
;}
break;
case 1393:
#line 9510 "gram.y"
{
(yyval.range) = (yyvsp[(1) - (1)].range);
;}
break;
case 1394:
#line 9514 "gram.y"
{
(yyvsp[(1) - (3)].range)->alias = makeAlias((yyvsp[(3) - (3)].str), NIL);
(yyval.range) = (yyvsp[(1) - (3)].range);
;}
break;
case 1395:
#line 9522 "gram.y"
{
(yyval.istmt) = makeNode(InsertStmt);
(yyval.istmt)->cols = NIL;
(yyval.istmt)->selectStmt = (yyvsp[(1) - (1)].node);
;}
break;
case 1396:
#line 9528 "gram.y"
{
(yyval.istmt) = makeNode(InsertStmt);
(yyval.istmt)->cols = (yyvsp[(2) - (4)].list);
(yyval.istmt)->selectStmt = (yyvsp[(4) - (4)].node);
;}
break;
case 1397:
#line 9534 "gram.y"
{
(yyval.istmt) = makeNode(InsertStmt);
(yyval.istmt)->cols = NIL;
(yyval.istmt)->selectStmt = NULL;
;}
break;
case 1398:
#line 9543 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].target)); ;}
break;
case 1399:
#line 9545 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].target)); ;}
break;
case 1400:
#line 9550 "gram.y"
{
(yyval.target) = makeNode(ResTarget);
(yyval.target)->name = (yyvsp[(1) - (2)].str);
(yyval.target)->indirection = check_indirection((yyvsp[(2) - (2)].list), yyscanner);
(yyval.target)->val = NULL;
(yyval.target)->location = (yylsp[(1) - (2)]);
;}
break;
case 1401:
#line 9561 "gram.y"
{
(yyval.onconflict) = makeNode(OnConflictClause);
(yyval.onconflict)->action = ONCONFLICT_UPDATE;
(yyval.onconflict)->infer = (yyvsp[(3) - (8)].infer);
(yyval.onconflict)->targetList = (yyvsp[(7) - (8)].list);
(yyval.onconflict)->whereClause = (yyvsp[(8) - (8)].node);
(yyval.onconflict)->location = (yylsp[(1) - (8)]);
;}
break;
case 1402:
#line 9571 "gram.y"
{
(yyval.onconflict) = makeNode(OnConflictClause);
(yyval.onconflict)->action = ONCONFLICT_NOTHING;
(yyval.onconflict)->infer = (yyvsp[(3) - (5)].infer);
(yyval.onconflict)->targetList = NIL;
(yyval.onconflict)->whereClause = NULL;
(yyval.onconflict)->location = (yylsp[(1) - (5)]);
;}
break;
case 1403:
#line 9580 "gram.y"
{
(yyval.onconflict) = NULL;
;}
break;
case 1404:
#line 9587 "gram.y"
{
(yyval.infer) = makeNode(InferClause);
(yyval.infer)->indexElems = (yyvsp[(2) - (4)].list);
(yyval.infer)->whereClause = (yyvsp[(4) - (4)].node);
(yyval.infer)->conname = NULL;
(yyval.infer)->location = (yylsp[(1) - (4)]);
;}
break;
case 1405:
#line 9596 "gram.y"
{
(yyval.infer) = makeNode(InferClause);
(yyval.infer)->indexElems = NIL;
(yyval.infer)->whereClause = NULL;
(yyval.infer)->conname = (yyvsp[(3) - (3)].str);
(yyval.infer)->location = (yylsp[(1) - (3)]);
;}
break;
case 1406:
#line 9604 "gram.y"
{
(yyval.infer) = NULL;
;}
break;
case 1407:
#line 9610 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (2)].list); ;}
break;
case 1408:
#line 9611 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1409:
#line 9624 "gram.y"
{
DeleteStmt *n = makeNode(DeleteStmt);
n->relation = (yyvsp[(4) - (7)].range);
n->usingClause = (yyvsp[(5) - (7)].list);
n->whereClause = (yyvsp[(6) - (7)].node);
n->returningList = (yyvsp[(7) - (7)].list);
n->withClause = (yyvsp[(1) - (7)].with);
(yyval.node) = (Node *)n;
;}
break;
case 1410:
#line 9636 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (2)].list); ;}
break;
case 1411:
#line 9637 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1412:
#line 9649 "gram.y"
{
LockStmt *n = makeNode(LockStmt);
n->relations = (yyvsp[(3) - (5)].list);
n->mode = (yyvsp[(4) - (5)].ival);
n->nowait = (yyvsp[(5) - (5)].boolean);
(yyval.node) = (Node *)n;
;}
break;
case 1413:
#line 9659 "gram.y"
{ (yyval.ival) = (yyvsp[(2) - (3)].ival); ;}
break;
case 1414:
#line 9660 "gram.y"
{ (yyval.ival) = AccessExclusiveLock; ;}
break;
case 1415:
#line 9663 "gram.y"
{ (yyval.ival) = AccessShareLock; ;}
break;
case 1416:
#line 9664 "gram.y"
{ (yyval.ival) = RowShareLock; ;}
break;
case 1417:
#line 9665 "gram.y"
{ (yyval.ival) = RowExclusiveLock; ;}
break;
case 1418:
#line 9666 "gram.y"
{ (yyval.ival) = ShareUpdateExclusiveLock; ;}
break;
case 1419:
#line 9667 "gram.y"
{ (yyval.ival) = ShareLock; ;}
break;
case 1420:
#line 9668 "gram.y"
{ (yyval.ival) = ShareRowExclusiveLock; ;}
break;
case 1421:
#line 9669 "gram.y"
{ (yyval.ival) = ExclusiveLock; ;}
break;
case 1422:
#line 9670 "gram.y"
{ (yyval.ival) = AccessExclusiveLock; ;}
break;
case 1423:
#line 9673 "gram.y"
{ (yyval.boolean) = TRUE; ;}
break;
case 1424:
#line 9674 "gram.y"
{ (yyval.boolean) = FALSE; ;}
break;
case 1425:
#line 9678 "gram.y"
{ (yyval.ival) = LockWaitError; ;}
break;
case 1426:
#line 9679 "gram.y"
{ (yyval.ival) = LockWaitSkip; ;}
break;
case 1427:
#line 9680 "gram.y"
{ (yyval.ival) = LockWaitBlock; ;}
break;
case 1428:
#line 9696 "gram.y"
{
UpdateStmt *n = makeNode(UpdateStmt);
n->relation = (yyvsp[(3) - (8)].range);
n->targetList = (yyvsp[(5) - (8)].list);
n->fromClause = (yyvsp[(6) - (8)].list);
n->whereClause = (yyvsp[(7) - (8)].node);
n->returningList = (yyvsp[(8) - (8)].list);
n->withClause = (yyvsp[(1) - (8)].with);
(yyval.node) = (Node *)n;
;}
break;
case 1429:
#line 9709 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 1430:
#line 9710 "gram.y"
{ (yyval.list) = list_concat((yyvsp[(1) - (3)].list),(yyvsp[(3) - (3)].list)); ;}
break;
case 1431:
#line 9714 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].target)); ;}
break;
case 1432:
#line 9715 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 1433:
#line 9720 "gram.y"
{
(yyval.target) = (yyvsp[(1) - (3)].target);
(yyval.target)->val = (Node *) (yyvsp[(3) - (3)].node);
;}
break;
case 1434:
#line 9736 "gram.y"
{
ListCell *col_cell;
ListCell *val_cell;
/*
* Break the ctext_row apart, merge individual expressions
* into the destination ResTargets. This is semantically
* equivalent to, and much cheaper to process than, the
* general case.
*/
if (list_length((yyvsp[(2) - (5)].list)) != list_length((yyvsp[(5) - (5)].list)))
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("number of columns does not match number of values"),
parser_errposition((yylsp[(5) - (5)]))));
forboth(col_cell, (yyvsp[(2) - (5)].list), val_cell, (yyvsp[(5) - (5)].list))
{
ResTarget *res_col = (ResTarget *) lfirst(col_cell);
Node *res_val = (Node *) lfirst(val_cell);
res_col->val = res_val;
}
(yyval.list) = (yyvsp[(2) - (5)].list);
;}
break;
case 1435:
#line 9762 "gram.y"
{
SubLink *sl = makeNode(SubLink);
int ncolumns = list_length((yyvsp[(2) - (5)].list));
int i = 1;
ListCell *col_cell;
/* First, convert bare SelectStmt into a SubLink */
sl->subLinkType = MULTIEXPR_SUBLINK;
sl->subLinkId = 0; /* will be assigned later */
sl->testexpr = NULL;
sl->operName = NIL;
sl->subselect = (yyvsp[(5) - (5)].node);
sl->location = (yylsp[(5) - (5)]);
/* Create a MultiAssignRef source for each target */
foreach(col_cell, (yyvsp[(2) - (5)].list))
{
ResTarget *res_col = (ResTarget *) lfirst(col_cell);
MultiAssignRef *r = makeNode(MultiAssignRef);
r->source = (Node *) sl;
r->colno = i;
r->ncolumns = ncolumns;
res_col->val = (Node *) r;
i++;
}
(yyval.list) = (yyvsp[(2) - (5)].list);
;}
break;
case 1436:
#line 9795 "gram.y"
{
(yyval.target) = makeNode(ResTarget);
(yyval.target)->name = (yyvsp[(1) - (2)].str);
(yyval.target)->indirection = check_indirection((yyvsp[(2) - (2)].list), yyscanner);
(yyval.target)->val = NULL; /* upper production sets this */
(yyval.target)->location = (yylsp[(1) - (2)]);
;}
break;
case 1437:
#line 9805 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].target)); ;}
break;
case 1438:
#line 9806 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list),(yyvsp[(3) - (3)].target)); ;}
break;
case 1439:
#line 9817 "gram.y"
{
DeclareCursorStmt *n = makeNode(DeclareCursorStmt);
n->portalname = (yyvsp[(2) - (7)].str);
/* currently we always set FAST_PLAN option */
n->options = (yyvsp[(3) - (7)].ival) | (yyvsp[(5) - (7)].ival) | CURSOR_OPT_FAST_PLAN;
n->query = (yyvsp[(7) - (7)].node);
(yyval.node) = (Node *)n;
;}
break;
case 1440:
#line 9827 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 1441:
#line 9830 "gram.y"
{ (yyval.ival) = 0; ;}
break;
case 1442:
#line 9831 "gram.y"
{ (yyval.ival) = (yyvsp[(1) - (3)].ival) | CURSOR_OPT_NO_SCROLL; ;}
break;
case 1443:
#line 9832 "gram.y"
{ (yyval.ival) = (yyvsp[(1) - (2)].ival) | CURSOR_OPT_SCROLL; ;}
break;
case 1444:
#line 9833 "gram.y"
{ (yyval.ival) = (yyvsp[(1) - (2)].ival) | CURSOR_OPT_BINARY; ;}
break;
case 1445:
#line 9834 "gram.y"
{ (yyval.ival) = (yyvsp[(1) - (2)].ival) | CURSOR_OPT_INSENSITIVE; ;}
break;
case 1446:
#line 9837 "gram.y"
{ (yyval.ival) = 0; ;}
break;
case 1447:
#line 9838 "gram.y"
{ (yyval.ival) = CURSOR_OPT_HOLD; ;}
break;
case 1448:
#line 9839 "gram.y"
{ (yyval.ival) = 0; ;}
break;
case 1451:
#line 9892 "gram.y"
{ (yyval.node) = (yyvsp[(2) - (3)].node); ;}
break;
case 1452:
#line 9893 "gram.y"
{ (yyval.node) = (yyvsp[(2) - (3)].node); ;}
break;
case 1453:
#line 9908 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 1454:
#line 9910 "gram.y"
{
insertSelectOptions((SelectStmt *) (yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].list), NIL,
NULL, NULL, NULL,
yyscanner);
(yyval.node) = (yyvsp[(1) - (2)].node);
;}
break;
case 1455:
#line 9917 "gram.y"
{
insertSelectOptions((SelectStmt *) (yyvsp[(1) - (4)].node), (yyvsp[(2) - (4)].list), (yyvsp[(3) - (4)].list),
list_nth((yyvsp[(4) - (4)].list), 0), list_nth((yyvsp[(4) - (4)].list), 1),
NULL,
yyscanner);
(yyval.node) = (yyvsp[(1) - (4)].node);
;}
break;
case 1456:
#line 9925 "gram.y"
{
insertSelectOptions((SelectStmt *) (yyvsp[(1) - (4)].node), (yyvsp[(2) - (4)].list), (yyvsp[(4) - (4)].list),
list_nth((yyvsp[(3) - (4)].list), 0), list_nth((yyvsp[(3) - (4)].list), 1),
NULL,
yyscanner);
(yyval.node) = (yyvsp[(1) - (4)].node);
;}
break;
case 1457:
#line 9933 "gram.y"
{
insertSelectOptions((SelectStmt *) (yyvsp[(2) - (2)].node), NULL, NIL,
NULL, NULL,
(yyvsp[(1) - (2)].with),
yyscanner);
(yyval.node) = (yyvsp[(2) - (2)].node);
;}
break;
case 1458:
#line 9941 "gram.y"
{
insertSelectOptions((SelectStmt *) (yyvsp[(2) - (3)].node), (yyvsp[(3) - (3)].list), NIL,
NULL, NULL,
(yyvsp[(1) - (3)].with),
yyscanner);
(yyval.node) = (yyvsp[(2) - (3)].node);
;}
break;
case 1459:
#line 9949 "gram.y"
{
insertSelectOptions((SelectStmt *) (yyvsp[(2) - (5)].node), (yyvsp[(3) - (5)].list), (yyvsp[(4) - (5)].list),
list_nth((yyvsp[(5) - (5)].list), 0), list_nth((yyvsp[(5) - (5)].list), 1),
(yyvsp[(1) - (5)].with),
yyscanner);
(yyval.node) = (yyvsp[(2) - (5)].node);
;}
break;
case 1460:
#line 9957 "gram.y"
{
insertSelectOptions((SelectStmt *) (yyvsp[(2) - (5)].node), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].list),
list_nth((yyvsp[(4) - (5)].list), 0), list_nth((yyvsp[(4) - (5)].list), 1),
(yyvsp[(1) - (5)].with),
yyscanner);
(yyval.node) = (yyvsp[(2) - (5)].node);
;}
break;
case 1461:
#line 9967 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 1462:
#line 9968 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 1463:
#line 9998 "gram.y"
{
SelectStmt *n = makeNode(SelectStmt);
n->targetList = (yyvsp[(3) - (9)].list);
n->intoClause = (yyvsp[(4) - (9)].into);
n->fromClause = (yyvsp[(5) - (9)].list);
n->whereClause = (yyvsp[(6) - (9)].node);
n->groupClause = (yyvsp[(7) - (9)].list);
n->havingClause = (yyvsp[(8) - (9)].node);
n->windowClause = (yyvsp[(9) - (9)].list);
(yyval.node) = (Node *)n;
;}
break;
case 1464:
#line 10012 "gram.y"
{
SelectStmt *n = makeNode(SelectStmt);
n->distinctClause = (yyvsp[(2) - (9)].list);
n->targetList = (yyvsp[(3) - (9)].list);
n->intoClause = (yyvsp[(4) - (9)].into);
n->fromClause = (yyvsp[(5) - (9)].list);
n->whereClause = (yyvsp[(6) - (9)].node);
n->groupClause = (yyvsp[(7) - (9)].list);
n->havingClause = (yyvsp[(8) - (9)].node);
n->windowClause = (yyvsp[(9) - (9)].list);
(yyval.node) = (Node *)n;
;}
break;
case 1465:
#line 10024 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 1466:
#line 10026 "gram.y"
{
/* same as SELECT * FROM relation_expr */
ColumnRef *cr = makeNode(ColumnRef);
ResTarget *rt = makeNode(ResTarget);
SelectStmt *n = makeNode(SelectStmt);
cr->fields = list_make1(makeNode(A_Star));
cr->location = -1;
rt->name = NULL;
rt->indirection = NIL;
rt->val = (Node *)cr;
rt->location = -1;
n->targetList = list_make1(rt);
n->fromClause = list_make1((yyvsp[(2) - (2)].range));
(yyval.node) = (Node *)n;
;}
break;
case 1467:
#line 10045 "gram.y"
{
(yyval.node) = makeSetOp(SETOP_UNION, (yyvsp[(3) - (4)].boolean), (yyvsp[(1) - (4)].node), (yyvsp[(4) - (4)].node));
;}
break;
case 1468:
#line 10049 "gram.y"
{
(yyval.node) = makeSetOp(SETOP_INTERSECT, (yyvsp[(3) - (4)].boolean), (yyvsp[(1) - (4)].node), (yyvsp[(4) - (4)].node));
;}
break;
case 1469:
#line 10053 "gram.y"
{
(yyval.node) = makeSetOp(SETOP_EXCEPT, (yyvsp[(3) - (4)].boolean), (yyvsp[(1) - (4)].node), (yyvsp[(4) - (4)].node));
;}
break;
case 1470:
#line 10070 "gram.y"
{
(yyval.with) = makeNode(WithClause);
(yyval.with)->ctes = (yyvsp[(2) - (2)].list);
(yyval.with)->recursive = false;
(yyval.with)->location = (yylsp[(1) - (2)]);
;}
break;
case 1471:
#line 10077 "gram.y"
{
(yyval.with) = makeNode(WithClause);
(yyval.with)->ctes = (yyvsp[(2) - (2)].list);
(yyval.with)->recursive = false;
(yyval.with)->location = (yylsp[(1) - (2)]);
;}
break;
case 1472:
#line 10084 "gram.y"
{
(yyval.with) = makeNode(WithClause);
(yyval.with)->ctes = (yyvsp[(3) - (3)].list);
(yyval.with)->recursive = true;
(yyval.with)->location = (yylsp[(1) - (3)]);
;}
break;
case 1473:
#line 10093 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 1474:
#line 10094 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;}
break;
case 1475:
#line 10098 "gram.y"
{
CommonTableExpr *n = makeNode(CommonTableExpr);
n->ctename = (yyvsp[(1) - (6)].str);
n->aliascolnames = (yyvsp[(2) - (6)].list);
n->ctequery = (yyvsp[(5) - (6)].node);
n->location = (yylsp[(1) - (6)]);
(yyval.node) = (Node *) n;
;}
break;
case 1476:
#line 10109 "gram.y"
{ (yyval.with) = (yyvsp[(1) - (1)].with); ;}
break;
case 1477:
#line 10110 "gram.y"
{ (yyval.with) = NULL; ;}
break;
case 1478:
#line 10115 "gram.y"
{
(yyval.into) = makeNode(IntoClause);
(yyval.into)->rel = (yyvsp[(2) - (2)].range);
(yyval.into)->colNames = NIL;
(yyval.into)->options = NIL;
(yyval.into)->onCommit = ONCOMMIT_NOOP;
(yyval.into)->tableSpaceName = NULL;
(yyval.into)->viewQuery = NULL;
(yyval.into)->skipData = false;
;}
break;
case 1479:
#line 10126 "gram.y"
{ (yyval.into) = NULL; ;}
break;
case 1480:
#line 10135 "gram.y"
{
(yyval.range) = (yyvsp[(3) - (3)].range);
(yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
;}
break;
case 1481:
#line 10140 "gram.y"
{
(yyval.range) = (yyvsp[(3) - (3)].range);
(yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
;}
break;
case 1482:
#line 10145 "gram.y"
{
(yyval.range) = (yyvsp[(4) - (4)].range);
(yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
;}
break;
case 1483:
#line 10150 "gram.y"
{
(yyval.range) = (yyvsp[(4) - (4)].range);
(yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
;}
break;
case 1484:
#line 10155 "gram.y"
{
ereport(WARNING,
(errmsg("GLOBAL is deprecated in temporary table creation"),
parser_errposition((yylsp[(1) - (4)]))));
(yyval.range) = (yyvsp[(4) - (4)].range);
(yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
;}
break;
case 1485:
#line 10163 "gram.y"
{
ereport(WARNING,
(errmsg("GLOBAL is deprecated in temporary table creation"),
parser_errposition((yylsp[(1) - (4)]))));
(yyval.range) = (yyvsp[(4) - (4)].range);
(yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
;}
break;
case 1486:
#line 10171 "gram.y"
{
(yyval.range) = (yyvsp[(3) - (3)].range);
(yyval.range)->relpersistence = RELPERSISTENCE_UNLOGGED;
;}
break;
case 1487:
#line 10176 "gram.y"
{
(yyval.range) = (yyvsp[(2) - (2)].range);
(yyval.range)->relpersistence = RELPERSISTENCE_PERMANENT;
;}
break;
case 1488:
#line 10181 "gram.y"
{
(yyval.range) = (yyvsp[(1) - (1)].range);
(yyval.range)->relpersistence = RELPERSISTENCE_PERMANENT;
;}
break;
case 1489:
#line 10187 "gram.y"
{;}
break;
case 1490:
#line 10188 "gram.y"
{;}
break;
case 1491:
#line 10192 "gram.y"
{ (yyval.boolean) = TRUE; ;}
break;
case 1492:
#line 10193 "gram.y"
{ (yyval.boolean) = FALSE; ;}
break;
case 1493:
#line 10194 "gram.y"
{ (yyval.boolean) = FALSE; ;}
break;
case 1494:
#line 10201 "gram.y"
{ (yyval.list) = list_make1(NIL); ;}
break;
case 1495:
#line 10202 "gram.y"
{ (yyval.list) = (yyvsp[(4) - (5)].list); ;}
break;
case 1496:
#line 10206 "gram.y"
{ (yyval.list) = NIL;;}
break;
case 1497:
#line 10207 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1498:
#line 10211 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list);;}
break;
case 1499:
#line 10212 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1500:
#line 10216 "gram.y"
{ (yyval.list) = (yyvsp[(3) - (3)].list); ;}
break;
case 1501:
#line 10220 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].sortby)); ;}
break;
case 1502:
#line 10221 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].sortby)); ;}
break;
case 1503:
#line 10225 "gram.y"
{
(yyval.sortby) = makeNode(SortBy);
(yyval.sortby)->node = (yyvsp[(1) - (4)].node);
(yyval.sortby)->sortby_dir = SORTBY_USING;
(yyval.sortby)->sortby_nulls = (yyvsp[(4) - (4)].ival);
(yyval.sortby)->useOp = (yyvsp[(3) - (4)].list);
(yyval.sortby)->location = (yylsp[(3) - (4)]);
;}
break;
case 1504:
#line 10234 "gram.y"
{
(yyval.sortby) = makeNode(SortBy);
(yyval.sortby)->node = (yyvsp[(1) - (3)].node);
(yyval.sortby)->sortby_dir = (yyvsp[(2) - (3)].ival);
(yyval.sortby)->sortby_nulls = (yyvsp[(3) - (3)].ival);
(yyval.sortby)->useOp = NIL;
(yyval.sortby)->location = -1; /* no operator */
;}
break;
case 1505:
#line 10246 "gram.y"
{ (yyval.list) = list_make2((yyvsp[(2) - (2)].node), (yyvsp[(1) - (2)].node)); ;}
break;
case 1506:
#line 10247 "gram.y"
{ (yyval.list) = list_make2((yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].node)); ;}
break;
case 1507:
#line 10248 "gram.y"
{ (yyval.list) = list_make2(NULL, (yyvsp[(1) - (1)].node)); ;}
break;
case 1508:
#line 10249 "gram.y"
{ (yyval.list) = list_make2((yyvsp[(1) - (1)].node), NULL); ;}
break;
case 1509:
#line 10253 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 1510:
#line 10254 "gram.y"
{ (yyval.list) = list_make2(NULL,NULL); ;}
break;
case 1511:
#line 10259 "gram.y"
{ (yyval.node) = (yyvsp[(2) - (2)].node); ;}
break;
case 1512:
#line 10261 "gram.y"
{
/* Disabled because it was too confusing, bjm 2002-02-18 */
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("LIMIT #,# syntax is not supported"),
errhint("Use separate LIMIT and OFFSET clauses."),
parser_errposition((yylsp[(1) - (4)]))));
;}
break;
case 1513:
#line 10271 "gram.y"
{ (yyval.node) = (yyvsp[(3) - (5)].node); ;}
break;
case 1514:
#line 10276 "gram.y"
{ (yyval.node) = (yyvsp[(2) - (2)].node); ;}
break;
case 1515:
#line 10279 "gram.y"
{ (yyval.node) = (yyvsp[(2) - (3)].node); ;}
break;
case 1516:
#line 10283 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 1517:
#line 10285 "gram.y"
{
/* LIMIT ALL is represented as a NULL constant */
(yyval.node) = makeNullAConst((yylsp[(1) - (1)]));
;}
break;
case 1518:
#line 10292 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 1519:
#line 10302 "gram.y"
{ (yyval.node) = makeIntConst((yyvsp[(1) - (1)].ival), (yylsp[(1) - (1)])); ;}
break;
case 1520:
#line 10303 "gram.y"
{ (yyval.node) = (yyvsp[(2) - (3)].node); ;}
break;
case 1521:
#line 10304 "gram.y"
{ (yyval.node) = makeIntConst(1, -1); ;}
break;
case 1522:
#line 10312 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 1523:
#line 10316 "gram.y"
{ (yyval.ival) = 0; ;}
break;
case 1524:
#line 10317 "gram.y"
{ (yyval.ival) = 0; ;}
break;
case 1525:
#line 10320 "gram.y"
{ (yyval.ival) = 0; ;}
break;
case 1526:
#line 10321 "gram.y"
{ (yyval.ival) = 0; ;}
break;
case 1527:
#line 10346 "gram.y"
{ (yyval.list) = (yyvsp[(3) - (3)].list); ;}
break;
case 1528:
#line 10347 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1529:
#line 10351 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 1530:
#line 10352 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list),(yyvsp[(3) - (3)].node)); ;}
break;
case 1531:
#line 10356 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 1532:
#line 10357 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 1533:
#line 10358 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 1534:
#line 10359 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 1535:
#line 10360 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 1536:
#line 10365 "gram.y"
{
(yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_EMPTY, NIL, (yylsp[(1) - (2)]));
;}
break;
case 1537:
#line 10378 "gram.y"
{
(yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_ROLLUP, (yyvsp[(3) - (4)].list), (yylsp[(1) - (4)]));
;}
break;
case 1538:
#line 10385 "gram.y"
{
(yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_CUBE, (yyvsp[(3) - (4)].list), (yylsp[(1) - (4)]));
;}
break;
case 1539:
#line 10392 "gram.y"
{
(yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_SETS, (yyvsp[(4) - (5)].list), (yylsp[(1) - (5)]));
;}
break;
case 1540:
#line 10398 "gram.y"
{ (yyval.node) = (yyvsp[(2) - (2)].node); ;}
break;
case 1541:
#line 10399 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 1542:
#line 10403 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 1543:
#line 10404 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1544:
#line 10408 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 1545:
#line 10409 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1546:
#line 10413 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 1547:
#line 10414 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].node)); ;}
break;
case 1548:
#line 10419 "gram.y"
{
LockingClause *n = makeNode(LockingClause);
n->lockedRels = (yyvsp[(2) - (3)].list);
n->strength = (yyvsp[(1) - (3)].ival);
n->waitPolicy = (yyvsp[(3) - (3)].ival);
(yyval.node) = (Node *) n;
;}
break;
case 1549:
#line 10429 "gram.y"
{ (yyval.ival) = LCS_FORUPDATE; ;}
break;
case 1550:
#line 10430 "gram.y"
{ (yyval.ival) = LCS_FORNOKEYUPDATE; ;}
break;
case 1551:
#line 10431 "gram.y"
{ (yyval.ival) = LCS_FORSHARE; ;}
break;
case 1552:
#line 10432 "gram.y"
{ (yyval.ival) = LCS_FORKEYSHARE; ;}
break;
case 1553:
#line 10436 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (2)].list); ;}
break;
case 1554:
#line 10437 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1555:
#line 10443 "gram.y"
{
SelectStmt *n = makeNode(SelectStmt);
n->valuesLists = list_make1((yyvsp[(2) - (2)].list));
(yyval.node) = (Node *) n;
;}
break;
case 1556:
#line 10449 "gram.y"
{
SelectStmt *n = (SelectStmt *) (yyvsp[(1) - (3)].node);
n->valuesLists = lappend(n->valuesLists, (yyvsp[(3) - (3)].list));
(yyval.node) = (Node *) n;
;}
break;
case 1557:
#line 10466 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (2)].list); ;}
break;
case 1558:
#line 10467 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1559:
#line 10471 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 1560:
#line 10472 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;}
break;
case 1561:
#line 10479 "gram.y"
{
(yyvsp[(1) - (2)].range)->alias = (yyvsp[(2) - (2)].alias);
(yyval.node) = (Node *) (yyvsp[(1) - (2)].range);
;}
break;
case 1562:
#line 10484 "gram.y"
{
RangeTableSample *n = (RangeTableSample *) (yyvsp[(3) - (3)].node);
(yyvsp[(1) - (3)].range)->alias = (yyvsp[(2) - (3)].alias);
/* relation_expr goes inside the RangeTableSample node */
n->relation = (Node *) (yyvsp[(1) - (3)].range);
(yyval.node) = (Node *) n;
;}
break;
case 1563:
#line 10492 "gram.y"
{
RangeFunction *n = (RangeFunction *) (yyvsp[(1) - (2)].node);
n->alias = linitial((yyvsp[(2) - (2)].list));
n->coldeflist = lsecond((yyvsp[(2) - (2)].list));
(yyval.node) = (Node *) n;
;}
break;
case 1564:
#line 10499 "gram.y"
{
RangeFunction *n = (RangeFunction *) (yyvsp[(2) - (3)].node);
n->lateral = true;
n->alias = linitial((yyvsp[(3) - (3)].list));
n->coldeflist = lsecond((yyvsp[(3) - (3)].list));
(yyval.node) = (Node *) n;
;}
break;
case 1565:
#line 10507 "gram.y"
{
RangeSubselect *n = makeNode(RangeSubselect);
n->lateral = false;
n->subquery = (yyvsp[(1) - (2)].node);
n->alias = (yyvsp[(2) - (2)].alias);
/*
* The SQL spec does not permit a subselect
* (<derived_table>) without an alias clause,
* so we don't either. This avoids the problem
* of needing to invent a unique refname for it.
* That could be surmounted if there's sufficient
* popular demand, but for now let's just implement
* the spec and see if anyone complains.
* However, it does seem like a good idea to emit
* an error message that's better than "syntax error".
*/
if ((yyvsp[(2) - (2)].alias) == NULL)
{
if (IsA((yyvsp[(1) - (2)].node), SelectStmt) &&
((SelectStmt *) (yyvsp[(1) - (2)].node))->valuesLists)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("VALUES in FROM must have an alias"),
errhint("For example, FROM (VALUES ...) [AS] foo."),
parser_errposition((yylsp[(1) - (2)]))));
else
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("subquery in FROM must have an alias"),
errhint("For example, FROM (SELECT ...) [AS] foo."),
parser_errposition((yylsp[(1) - (2)]))));
}
(yyval.node) = (Node *) n;
;}
break;
case 1566:
#line 10542 "gram.y"
{
RangeSubselect *n = makeNode(RangeSubselect);
n->lateral = true;
n->subquery = (yyvsp[(2) - (3)].node);
n->alias = (yyvsp[(3) - (3)].alias);
/* same coment as above */
if ((yyvsp[(3) - (3)].alias) == NULL)
{
if (IsA((yyvsp[(2) - (3)].node), SelectStmt) &&
((SelectStmt *) (yyvsp[(2) - (3)].node))->valuesLists)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("VALUES in FROM must have an alias"),
errhint("For example, FROM (VALUES ...) [AS] foo."),
parser_errposition((yylsp[(2) - (3)]))));
else
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("subquery in FROM must have an alias"),
errhint("For example, FROM (SELECT ...) [AS] foo."),
parser_errposition((yylsp[(2) - (3)]))));
}
(yyval.node) = (Node *) n;
;}
break;
case 1567:
#line 10567 "gram.y"
{
(yyval.node) = (Node *) (yyvsp[(1) - (1)].jexpr);
;}
break;
case 1568:
#line 10571 "gram.y"
{
(yyvsp[(2) - (4)].jexpr)->alias = (yyvsp[(4) - (4)].alias);
(yyval.node) = (Node *) (yyvsp[(2) - (4)].jexpr);
;}
break;
case 1569:
#line 10597 "gram.y"
{
(yyval.jexpr) = (yyvsp[(2) - (3)].jexpr);
;}
break;
case 1570:
#line 10601 "gram.y"
{
/* CROSS JOIN is same as unqualified inner join */
JoinExpr *n = makeNode(JoinExpr);
n->jointype = JOIN_INNER;
n->isNatural = FALSE;
n->larg = (yyvsp[(1) - (4)].node);
n->rarg = (yyvsp[(4) - (4)].node);
n->usingClause = NIL;
n->quals = NULL;
(yyval.jexpr) = n;
;}
break;
case 1571:
#line 10613 "gram.y"
{
JoinExpr *n = makeNode(JoinExpr);
n->jointype = (yyvsp[(2) - (5)].jtype);
n->isNatural = FALSE;
n->larg = (yyvsp[(1) - (5)].node);
n->rarg = (yyvsp[(4) - (5)].node);
if ((yyvsp[(5) - (5)].node) != NULL && IsA((yyvsp[(5) - (5)].node), List))
n->usingClause = (List *) (yyvsp[(5) - (5)].node); /* USING clause */
else
n->quals = (yyvsp[(5) - (5)].node); /* ON clause */
(yyval.jexpr) = n;
;}
break;
case 1572:
#line 10626 "gram.y"
{
/* letting join_type reduce to empty doesn't work */
JoinExpr *n = makeNode(JoinExpr);
n->jointype = JOIN_INNER;
n->isNatural = FALSE;
n->larg = (yyvsp[(1) - (4)].node);
n->rarg = (yyvsp[(3) - (4)].node);
if ((yyvsp[(4) - (4)].node) != NULL && IsA((yyvsp[(4) - (4)].node), List))
n->usingClause = (List *) (yyvsp[(4) - (4)].node); /* USING clause */
else
n->quals = (yyvsp[(4) - (4)].node); /* ON clause */
(yyval.jexpr) = n;
;}
break;
case 1573:
#line 10640 "gram.y"
{
JoinExpr *n = makeNode(JoinExpr);
n->jointype = (yyvsp[(3) - (5)].jtype);
n->isNatural = TRUE;
n->larg = (yyvsp[(1) - (5)].node);
n->rarg = (yyvsp[(5) - (5)].node);
n->usingClause = NIL; /* figure out which columns later... */
n->quals = NULL; /* fill later */
(yyval.jexpr) = n;
;}
break;
case 1574:
#line 10651 "gram.y"
{
/* letting join_type reduce to empty doesn't work */
JoinExpr *n = makeNode(JoinExpr);
n->jointype = JOIN_INNER;
n->isNatural = TRUE;
n->larg = (yyvsp[(1) - (4)].node);
n->rarg = (yyvsp[(4) - (4)].node);
n->usingClause = NIL; /* figure out which columns later... */
n->quals = NULL; /* fill later */
(yyval.jexpr) = n;
;}
break;
case 1575:
#line 10666 "gram.y"
{
(yyval.alias) = makeNode(Alias);
(yyval.alias)->aliasname = (yyvsp[(2) - (5)].str);
(yyval.alias)->colnames = (yyvsp[(4) - (5)].list);
;}
break;
case 1576:
#line 10672 "gram.y"
{
(yyval.alias) = makeNode(Alias);
(yyval.alias)->aliasname = (yyvsp[(2) - (2)].str);
;}
break;
case 1577:
#line 10677 "gram.y"
{
(yyval.alias) = makeNode(Alias);
(yyval.alias)->aliasname = (yyvsp[(1) - (4)].str);
(yyval.alias)->colnames = (yyvsp[(3) - (4)].list);
;}
break;
case 1578:
#line 10683 "gram.y"
{
(yyval.alias) = makeNode(Alias);
(yyval.alias)->aliasname = (yyvsp[(1) - (1)].str);
;}
break;
case 1579:
#line 10689 "gram.y"
{ (yyval.alias) = (yyvsp[(1) - (1)].alias); ;}
break;
case 1580:
#line 10690 "gram.y"
{ (yyval.alias) = NULL; ;}
break;
case 1581:
#line 10699 "gram.y"
{
(yyval.list) = list_make2((yyvsp[(1) - (1)].alias), NIL);
;}
break;
case 1582:
#line 10703 "gram.y"
{
(yyval.list) = list_make2(NULL, (yyvsp[(3) - (4)].list));
;}
break;
case 1583:
#line 10707 "gram.y"
{
Alias *a = makeNode(Alias);
a->aliasname = (yyvsp[(2) - (5)].str);
(yyval.list) = list_make2(a, (yyvsp[(4) - (5)].list));
;}
break;
case 1584:
#line 10713 "gram.y"
{
Alias *a = makeNode(Alias);
a->aliasname = (yyvsp[(1) - (4)].str);
(yyval.list) = list_make2(a, (yyvsp[(3) - (4)].list));
;}
break;
case 1585:
#line 10719 "gram.y"
{
(yyval.list) = list_make2(NULL, NIL);
;}
break;
case 1586:
#line 10724 "gram.y"
{ (yyval.jtype) = JOIN_FULL; ;}
break;
case 1587:
#line 10725 "gram.y"
{ (yyval.jtype) = JOIN_LEFT; ;}
break;
case 1588:
#line 10726 "gram.y"
{ (yyval.jtype) = JOIN_RIGHT; ;}
break;
case 1589:
#line 10727 "gram.y"
{ (yyval.jtype) = JOIN_INNER; ;}
break;
case 1590:
#line 10731 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 1591:
#line 10732 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 1592:
#line 10744 "gram.y"
{ (yyval.node) = (Node *) (yyvsp[(3) - (4)].list); ;}
break;
case 1593:
#line 10745 "gram.y"
{ (yyval.node) = (yyvsp[(2) - (2)].node); ;}
break;
case 1594:
#line 10751 "gram.y"
{
/* default inheritance */
(yyval.range) = (yyvsp[(1) - (1)].range);
(yyval.range)->inhOpt = INH_DEFAULT;
(yyval.range)->alias = NULL;
;}
break;
case 1595:
#line 10758 "gram.y"
{
/* inheritance query */
(yyval.range) = (yyvsp[(1) - (2)].range);
(yyval.range)->inhOpt = INH_YES;
(yyval.range)->alias = NULL;
;}
break;
case 1596:
#line 10765 "gram.y"
{
/* no inheritance */
(yyval.range) = (yyvsp[(2) - (2)].range);
(yyval.range)->inhOpt = INH_NO;
(yyval.range)->alias = NULL;
;}
break;
case 1597:
#line 10772 "gram.y"
{
/* no inheritance, SQL99-style syntax */
(yyval.range) = (yyvsp[(3) - (4)].range);
(yyval.range)->inhOpt = INH_NO;
(yyval.range)->alias = NULL;
;}
break;
case 1598:
#line 10782 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].range)); ;}
break;
case 1599:
#line 10783 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].range)); ;}
break;
case 1600:
#line 10797 "gram.y"
{
(yyval.range) = (yyvsp[(1) - (1)].range);
;}
break;
case 1601:
#line 10801 "gram.y"
{
Alias *alias = makeNode(Alias);
alias->aliasname = (yyvsp[(2) - (2)].str);
(yyvsp[(1) - (2)].range)->alias = alias;
(yyval.range) = (yyvsp[(1) - (2)].range);
;}
break;
case 1602:
#line 10808 "gram.y"
{
Alias *alias = makeNode(Alias);
alias->aliasname = (yyvsp[(3) - (3)].str);
(yyvsp[(1) - (3)].range)->alias = alias;
(yyval.range) = (yyvsp[(1) - (3)].range);
;}
break;
case 1603:
#line 10821 "gram.y"
{
RangeTableSample *n = makeNode(RangeTableSample);
/* n->relation will be filled in later */
n->method = (yyvsp[(2) - (6)].list);
n->args = (yyvsp[(4) - (6)].list);
n->repeatable = (yyvsp[(6) - (6)].node);
n->location = (yylsp[(2) - (6)]);
(yyval.node) = (Node *) n;
;}
break;
case 1604:
#line 10833 "gram.y"
{ (yyval.node) = (Node *) (yyvsp[(3) - (4)].node); ;}
break;
case 1605:
#line 10834 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 1606:
#line 10850 "gram.y"
{
RangeFunction *n = makeNode(RangeFunction);
n->lateral = false;
n->ordinality = (yyvsp[(2) - (2)].boolean);
n->is_rowsfrom = false;
n->functions = list_make1(list_make2((yyvsp[(1) - (2)].node), NIL));
/* alias and coldeflist are set by table_ref production */
(yyval.node) = (Node *) n;
;}
break;
case 1607:
#line 10860 "gram.y"
{
RangeFunction *n = makeNode(RangeFunction);
n->lateral = false;
n->ordinality = (yyvsp[(6) - (6)].boolean);
n->is_rowsfrom = true;
n->functions = (yyvsp[(4) - (6)].list);
/* alias and coldeflist are set by table_ref production */
(yyval.node) = (Node *) n;
;}
break;
case 1608:
#line 10872 "gram.y"
{ (yyval.list) = list_make2((yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].list)); ;}
break;
case 1609:
#line 10876 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].list)); ;}
break;
case 1610:
#line 10877 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].list)); ;}
break;
case 1611:
#line 10880 "gram.y"
{ (yyval.list) = (yyvsp[(3) - (4)].list); ;}
break;
case 1612:
#line 10881 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1613:
#line 10884 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 1614:
#line 10885 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 1615:
#line 10890 "gram.y"
{ (yyval.node) = (yyvsp[(2) - (2)].node); ;}
break;
case 1616:
#line 10891 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 1617:
#line 10896 "gram.y"
{ (yyval.node) = (yyvsp[(2) - (2)].node); ;}
break;
case 1618:
#line 10898 "gram.y"
{
CurrentOfExpr *n = makeNode(CurrentOfExpr);
/* cvarno is filled in by parse analysis */
n->cursor_name = (yyvsp[(4) - (4)].str);
n->cursor_param = 0;
(yyval.node) = (Node *) n;
;}
break;
case 1619:
#line 10905 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 1620:
#line 10910 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 1621:
#line 10911 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1622:
#line 10916 "gram.y"
{
(yyval.list) = list_make1((yyvsp[(1) - (1)].node));
;}
break;
case 1623:
#line 10920 "gram.y"
{
(yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node));
;}
break;
case 1624:
#line 10926 "gram.y"
{
ColumnDef *n = makeNode(ColumnDef);
n->colname = (yyvsp[(1) - (3)].str);
n->typeName = (yyvsp[(2) - (3)].typnam);
n->inhcount = 0;
n->is_local = true;
n->is_not_null = false;
n->is_from_type = false;
n->storage = 0;
n->raw_default = NULL;
n->cooked_default = NULL;
n->collClause = (CollateClause *) (yyvsp[(3) - (3)].node);
n->collOid = InvalidOid;
n->constraints = NIL;
n->location = (yylsp[(1) - (3)]);
(yyval.node) = (Node *)n;
;}
break;
case 1625:
#line 10956 "gram.y"
{
(yyval.typnam) = (yyvsp[(1) - (2)].typnam);
(yyval.typnam)->arrayBounds = (yyvsp[(2) - (2)].list);
;}
break;
case 1626:
#line 10961 "gram.y"
{
(yyval.typnam) = (yyvsp[(2) - (3)].typnam);
(yyval.typnam)->arrayBounds = (yyvsp[(3) - (3)].list);
(yyval.typnam)->setof = TRUE;
;}
break;
case 1627:
#line 10968 "gram.y"
{
(yyval.typnam) = (yyvsp[(1) - (5)].typnam);
(yyval.typnam)->arrayBounds = list_make1(makeInteger((yyvsp[(4) - (5)].ival)));
;}
break;
case 1628:
#line 10973 "gram.y"
{
(yyval.typnam) = (yyvsp[(2) - (6)].typnam);
(yyval.typnam)->arrayBounds = list_make1(makeInteger((yyvsp[(5) - (6)].ival)));
(yyval.typnam)->setof = TRUE;
;}
break;
case 1629:
#line 10979 "gram.y"
{
(yyval.typnam) = (yyvsp[(1) - (2)].typnam);
(yyval.typnam)->arrayBounds = list_make1(makeInteger(-1));
;}
break;
case 1630:
#line 10984 "gram.y"
{
(yyval.typnam) = (yyvsp[(2) - (3)].typnam);
(yyval.typnam)->arrayBounds = list_make1(makeInteger(-1));
(yyval.typnam)->setof = TRUE;
;}
break;
case 1631:
#line 10993 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), makeInteger(-1)); ;}
break;
case 1632:
#line 10995 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (4)].list), makeInteger((yyvsp[(3) - (4)].ival))); ;}
break;
case 1633:
#line 10997 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1634:
#line 11001 "gram.y"
{ (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;}
break;
case 1635:
#line 11002 "gram.y"
{ (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;}
break;
case 1636:
#line 11003 "gram.y"
{ (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;}
break;
case 1637:
#line 11004 "gram.y"
{ (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;}
break;
case 1638:
#line 11005 "gram.y"
{ (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;}
break;
case 1639:
#line 11007 "gram.y"
{
(yyval.typnam) = (yyvsp[(1) - (2)].typnam);
(yyval.typnam)->typmods = (yyvsp[(2) - (2)].list);
;}
break;
case 1640:
#line 11012 "gram.y"
{
(yyval.typnam) = (yyvsp[(1) - (4)].typnam);
(yyval.typnam)->typmods = list_make2(makeIntConst(INTERVAL_FULL_RANGE, -1),
makeIntConst((yyvsp[(3) - (4)].ival), (yylsp[(3) - (4)])));
;}
break;
case 1641:
#line 11031 "gram.y"
{ (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;}
break;
case 1642:
#line 11032 "gram.y"
{ (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;}
break;
case 1643:
#line 11033 "gram.y"
{ (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;}
break;
case 1644:
#line 11034 "gram.y"
{ (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;}
break;
case 1645:
#line 11046 "gram.y"
{
(yyval.typnam) = makeTypeName((yyvsp[(1) - (2)].str));
(yyval.typnam)->typmods = (yyvsp[(2) - (2)].list);
(yyval.typnam)->location = (yylsp[(1) - (2)]);
;}
break;
case 1646:
#line 11052 "gram.y"
{
(yyval.typnam) = makeTypeNameFromNameList(lcons(makeString((yyvsp[(1) - (3)].str)), (yyvsp[(2) - (3)].list)));
(yyval.typnam)->typmods = (yyvsp[(3) - (3)].list);
(yyval.typnam)->location = (yylsp[(1) - (3)]);
;}
break;
case 1647:
#line 11059 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (3)].list); ;}
break;
case 1648:
#line 11060 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1649:
#line 11067 "gram.y"
{
(yyval.typnam) = SystemTypeName("int4");
(yyval.typnam)->location = (yylsp[(1) - (1)]);
;}
break;
case 1650:
#line 11072 "gram.y"
{
(yyval.typnam) = SystemTypeName("int4");
(yyval.typnam)->location = (yylsp[(1) - (1)]);
;}
break;
case 1651:
#line 11077 "gram.y"
{
(yyval.typnam) = SystemTypeName("int2");
(yyval.typnam)->location = (yylsp[(1) - (1)]);
;}
break;
case 1652:
#line 11082 "gram.y"
{
(yyval.typnam) = SystemTypeName("int8");
(yyval.typnam)->location = (yylsp[(1) - (1)]);
;}
break;
case 1653:
#line 11087 "gram.y"
{
(yyval.typnam) = SystemTypeName("float4");
(yyval.typnam)->location = (yylsp[(1) - (1)]);
;}
break;
case 1654:
#line 11092 "gram.y"
{
(yyval.typnam) = (yyvsp[(2) - (2)].typnam);
(yyval.typnam)->location = (yylsp[(1) - (2)]);
;}
break;
case 1655:
#line 11097 "gram.y"
{
(yyval.typnam) = SystemTypeName("float8");
(yyval.typnam)->location = (yylsp[(1) - (2)]);
;}
break;
case 1656:
#line 11102 "gram.y"
{
(yyval.typnam) = SystemTypeName("numeric");
(yyval.typnam)->typmods = (yyvsp[(2) - (2)].list);
(yyval.typnam)->location = (yylsp[(1) - (2)]);
;}
break;
case 1657:
#line 11108 "gram.y"
{
(yyval.typnam) = SystemTypeName("numeric");
(yyval.typnam)->typmods = (yyvsp[(2) - (2)].list);
(yyval.typnam)->location = (yylsp[(1) - (2)]);
;}
break;
case 1658:
#line 11114 "gram.y"
{
(yyval.typnam) = SystemTypeName("numeric");
(yyval.typnam)->typmods = (yyvsp[(2) - (2)].list);
(yyval.typnam)->location = (yylsp[(1) - (2)]);
;}
break;
case 1659:
#line 11120 "gram.y"
{
(yyval.typnam) = SystemTypeName("bool");
(yyval.typnam)->location = (yylsp[(1) - (1)]);
;}
break;
case 1660:
#line 11127 "gram.y"
{
/*
* Check FLOAT() precision limits assuming IEEE floating
* types - thomas 1997-09-18
*/
if ((yyvsp[(2) - (3)].ival) < 1)
ereport(ERROR,
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
errmsg("precision for type float must be at least 1 bit"),
parser_errposition((yylsp[(2) - (3)]))));
else if ((yyvsp[(2) - (3)].ival) <= 24)
(yyval.typnam) = SystemTypeName("float4");
else if ((yyvsp[(2) - (3)].ival) <= 53)
(yyval.typnam) = SystemTypeName("float8");
else
ereport(ERROR,
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
errmsg("precision for type float must be less than 54 bits"),
parser_errposition((yylsp[(2) - (3)]))));
;}
break;
case 1661:
#line 11148 "gram.y"
{
(yyval.typnam) = SystemTypeName("float8");
;}
break;
case 1662:
#line 11158 "gram.y"
{
(yyval.typnam) = (yyvsp[(1) - (1)].typnam);
;}
break;
case 1663:
#line 11162 "gram.y"
{
(yyval.typnam) = (yyvsp[(1) - (1)].typnam);
;}
break;
case 1664:
#line 11170 "gram.y"
{
(yyval.typnam) = (yyvsp[(1) - (1)].typnam);
;}
break;
case 1665:
#line 11174 "gram.y"
{
(yyval.typnam) = (yyvsp[(1) - (1)].typnam);
(yyval.typnam)->typmods = NIL;
;}
break;
case 1666:
#line 11182 "gram.y"
{
char *typname;
typname = (yyvsp[(2) - (5)].boolean) ? "varbit" : "bit";
(yyval.typnam) = SystemTypeName(typname);
(yyval.typnam)->typmods = (yyvsp[(4) - (5)].list);
(yyval.typnam)->location = (yylsp[(1) - (5)]);
;}
break;
case 1667:
#line 11194 "gram.y"
{
/* bit defaults to bit(1), varbit to no limit */
if ((yyvsp[(2) - (2)].boolean))
{
(yyval.typnam) = SystemTypeName("varbit");
}
else
{
(yyval.typnam) = SystemTypeName("bit");
(yyval.typnam)->typmods = list_make1(makeIntConst(1, -1));
}
(yyval.typnam)->location = (yylsp[(1) - (2)]);
;}
break;
case 1668:
#line 11215 "gram.y"
{
(yyval.typnam) = (yyvsp[(1) - (1)].typnam);
;}
break;
case 1669:
#line 11219 "gram.y"
{
(yyval.typnam) = (yyvsp[(1) - (1)].typnam);
;}
break;
case 1670:
#line 11225 "gram.y"
{
(yyval.typnam) = (yyvsp[(1) - (1)].typnam);
;}
break;
case 1671:
#line 11229 "gram.y"
{
/* Length was not specified so allow to be unrestricted.
* This handles problems with fixed-length (bpchar) strings
* which in column definitions must default to a length
* of one, but should not be constrained if the length
* was not specified.
*/
(yyval.typnam) = (yyvsp[(1) - (1)].typnam);
(yyval.typnam)->typmods = NIL;
;}
break;
case 1672:
#line 11242 "gram.y"
{
if (((yyvsp[(5) - (5)].str) != NULL) && (strcmp((yyvsp[(5) - (5)].str), "sql_text") != 0))
(yyvsp[(1) - (5)].str) = psprintf("%s_%s", (yyvsp[(1) - (5)].str), (yyvsp[(5) - (5)].str));
(yyval.typnam) = SystemTypeName((yyvsp[(1) - (5)].str));
(yyval.typnam)->typmods = list_make1((yyvsp[(3) - (5)].node));
(yyval.typnam)->location = (yylsp[(1) - (5)]);
;}
break;
case 1673:
#line 11253 "gram.y"
{
if (((yyvsp[(2) - (2)].str) != NULL) && (strcmp((yyvsp[(2) - (2)].str), "sql_text") != 0))
(yyvsp[(1) - (2)].str) = psprintf("%s_%s", (yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].str));
(yyval.typnam) = SystemTypeName((yyvsp[(1) - (2)].str));
/* char defaults to char(1), varchar to no limit */
if (strcmp((yyvsp[(1) - (2)].str), "bpchar") == 0)
(yyval.typnam)->typmods = list_make1(makeIntConst(1, -1));
(yyval.typnam)->location = (yylsp[(1) - (2)]);
;}
break;
case 1674:
#line 11268 "gram.y"
{ (yyval.str) = (yyvsp[(2) - (2)].boolean) ? "varchar": "bpchar"; ;}
break;
case 1675:
#line 11270 "gram.y"
{ (yyval.str) = (yyvsp[(2) - (2)].boolean) ? "varchar": "bpchar"; ;}
break;
case 1676:
#line 11272 "gram.y"
{ (yyval.str) = "varchar"; ;}
break;
case 1677:
#line 11274 "gram.y"
{ (yyval.str) = (yyvsp[(3) - (3)].boolean) ? "varchar": "bpchar"; ;}
break;
case 1678:
#line 11276 "gram.y"
{ (yyval.str) = (yyvsp[(3) - (3)].boolean) ? "varchar": "bpchar"; ;}
break;
case 1679:
#line 11278 "gram.y"
{ (yyval.str) = (yyvsp[(2) - (2)].boolean) ? "varchar": "bpchar"; ;}
break;
case 1680:
#line 11282 "gram.y"
{ (yyval.boolean) = TRUE; ;}
break;
case 1681:
#line 11283 "gram.y"
{ (yyval.boolean) = FALSE; ;}
break;
case 1682:
#line 11287 "gram.y"
{ (yyval.str) = (yyvsp[(3) - (3)].str); ;}
break;
case 1683:
#line 11288 "gram.y"
{ (yyval.str) = NULL; ;}
break;
case 1684:
#line 11296 "gram.y"
{
if ((yyvsp[(5) - (5)].boolean))
(yyval.typnam) = SystemTypeName("timestamptz");
else
(yyval.typnam) = SystemTypeName("timestamp");
(yyval.typnam)->typmods = list_make1(makeIntConst((yyvsp[(3) - (5)].ival), (yylsp[(3) - (5)])));
(yyval.typnam)->location = (yylsp[(1) - (5)]);
;}
break;
case 1685:
#line 11305 "gram.y"
{
if ((yyvsp[(2) - (2)].boolean))
(yyval.typnam) = SystemTypeName("timestamptz");
else
(yyval.typnam) = SystemTypeName("timestamp");
(yyval.typnam)->location = (yylsp[(1) - (2)]);
;}
break;
case 1686:
#line 11313 "gram.y"
{
if ((yyvsp[(5) - (5)].boolean))
(yyval.typnam) = SystemTypeName("timetz");
else
(yyval.typnam) = SystemTypeName("time");
(yyval.typnam)->typmods = list_make1(makeIntConst((yyvsp[(3) - (5)].ival), (yylsp[(3) - (5)])));
(yyval.typnam)->location = (yylsp[(1) - (5)]);
;}
break;
case 1687:
#line 11322 "gram.y"
{
if ((yyvsp[(2) - (2)].boolean))
(yyval.typnam) = SystemTypeName("timetz");
else
(yyval.typnam) = SystemTypeName("time");
(yyval.typnam)->location = (yylsp[(1) - (2)]);
;}
break;
case 1688:
#line 11333 "gram.y"
{
(yyval.typnam) = SystemTypeName("interval");
(yyval.typnam)->location = (yylsp[(1) - (1)]);
;}
break;
case 1689:
#line 11340 "gram.y"
{ (yyval.boolean) = TRUE; ;}
break;
case 1690:
#line 11341 "gram.y"
{ (yyval.boolean) = FALSE; ;}
break;
case 1691:
#line 11342 "gram.y"
{ (yyval.boolean) = FALSE; ;}
break;
case 1692:
#line 11347 "gram.y"
{ (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(YEAR), (yylsp[(1) - (1)]))); ;}
break;
case 1693:
#line 11349 "gram.y"
{ (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(MONTH), (yylsp[(1) - (1)]))); ;}
break;
case 1694:
#line 11351 "gram.y"
{ (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY), (yylsp[(1) - (1)]))); ;}
break;
case 1695:
#line 11353 "gram.y"
{ (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(HOUR), (yylsp[(1) - (1)]))); ;}
break;
case 1696:
#line 11355 "gram.y"
{ (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(MINUTE), (yylsp[(1) - (1)]))); ;}
break;
case 1697:
#line 11357 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 1698:
#line 11359 "gram.y"
{
(yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(YEAR) |
INTERVAL_MASK(MONTH), (yylsp[(1) - (3)])));
;}
break;
case 1699:
#line 11364 "gram.y"
{
(yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY) |
INTERVAL_MASK(HOUR), (yylsp[(1) - (3)])));
;}
break;
case 1700:
#line 11369 "gram.y"
{
(yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY) |
INTERVAL_MASK(HOUR) |
INTERVAL_MASK(MINUTE), (yylsp[(1) - (3)])));
;}
break;
case 1701:
#line 11375 "gram.y"
{
(yyval.list) = (yyvsp[(3) - (3)].list);
linitial((yyval.list)) = makeIntConst(INTERVAL_MASK(DAY) |
INTERVAL_MASK(HOUR) |
INTERVAL_MASK(MINUTE) |
INTERVAL_MASK(SECOND), (yylsp[(1) - (3)]));
;}
break;
case 1702:
#line 11383 "gram.y"
{
(yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(HOUR) |
INTERVAL_MASK(MINUTE), (yylsp[(1) - (3)])));
;}
break;
case 1703:
#line 11388 "gram.y"
{
(yyval.list) = (yyvsp[(3) - (3)].list);
linitial((yyval.list)) = makeIntConst(INTERVAL_MASK(HOUR) |
INTERVAL_MASK(MINUTE) |
INTERVAL_MASK(SECOND), (yylsp[(1) - (3)]));
;}
break;
case 1704:
#line 11395 "gram.y"
{
(yyval.list) = (yyvsp[(3) - (3)].list);
linitial((yyval.list)) = makeIntConst(INTERVAL_MASK(MINUTE) |
INTERVAL_MASK(SECOND), (yylsp[(1) - (3)]));
;}
break;
case 1705:
#line 11401 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1706:
#line 11406 "gram.y"
{
(yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(SECOND), (yylsp[(1) - (1)])));
;}
break;
case 1707:
#line 11410 "gram.y"
{
(yyval.list) = list_make2(makeIntConst(INTERVAL_MASK(SECOND), (yylsp[(1) - (4)])),
makeIntConst((yyvsp[(3) - (4)].ival), (yylsp[(3) - (4)])));
;}
break;
case 1708:
#line 11445 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 1709:
#line 11447 "gram.y"
{ (yyval.node) = makeTypeCast((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].typnam), (yylsp[(2) - (3)])); ;}
break;
case 1710:
#line 11449 "gram.y"
{
CollateClause *n = makeNode(CollateClause);
n->arg = (yyvsp[(1) - (3)].node);
n->collname = (yyvsp[(3) - (3)].list);
n->location = (yylsp[(2) - (3)]);
(yyval.node) = (Node *) n;
;}
break;
case 1711:
#line 11457 "gram.y"
{
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("timezone"),
list_make2((yyvsp[(5) - (5)].node), (yyvsp[(1) - (5)].node)),
(yylsp[(2) - (5)]));
;}
break;
case 1712:
#line 11472 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;}
break;
case 1713:
#line 11474 "gram.y"
{ (yyval.node) = doNegate((yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;}
break;
case 1714:
#line 11476 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 1715:
#line 11478 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "-", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 1716:
#line 11480 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "*", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 1717:
#line 11482 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "/", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 1718:
#line 11484 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "%", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 1719:
#line 11486 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "^", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 1720:
#line 11488 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 1721:
#line 11490 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 1722:
#line 11492 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "=", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 1723:
#line 11494 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<=", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 1724:
#line 11496 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">=", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 1725:
#line 11498 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<>", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 1726:
#line 11501 "gram.y"
{ (yyval.node) = makeInterval_or_AExprOp((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 1727:
#line 11505 "gram.y"
{ (yyval.node) = makeInterval_or_AExprOp((yyvsp[(1) - (2)].node), NULL, (yylsp[(2) - (2)])); ;}
break;
case 1728:
#line 11508 "gram.y"
{ (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[(2) - (3)].list), (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 1729:
#line 11510 "gram.y"
{ (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[(1) - (2)].list), NULL, (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;}
break;
case 1730:
#line 11512 "gram.y"
{ (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[(2) - (2)].list), (yyvsp[(1) - (2)].node), NULL, (yylsp[(2) - (2)])); ;}
break;
case 1731:
#line 11515 "gram.y"
{ (yyval.node) = makeAndExpr((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 1732:
#line 11517 "gram.y"
{ (yyval.node) = makeOrExpr((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 1733:
#line 11519 "gram.y"
{ (yyval.node) = makeNotExpr((yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;}
break;
case 1734:
#line 11521 "gram.y"
{ (yyval.node) = makeNotExpr((yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;}
break;
case 1735:
#line 11524 "gram.y"
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "~~",
(yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)]));
;}
break;
case 1736:
#line 11529 "gram.y"
{
FuncCall *n = makeFuncCall(SystemFuncName("like_escape"),
list_make2((yyvsp[(3) - (5)].node), (yyvsp[(5) - (5)].node)),
(yylsp[(2) - (5)]));
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "~~",
(yyvsp[(1) - (5)].node), (Node *) n, (yylsp[(2) - (5)]));
;}
break;
case 1737:
#line 11537 "gram.y"
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "!~~",
(yyvsp[(1) - (4)].node), (yyvsp[(4) - (4)].node), (yylsp[(2) - (4)]));
;}
break;
case 1738:
#line 11542 "gram.y"
{
FuncCall *n = makeFuncCall(SystemFuncName("like_escape"),
list_make2((yyvsp[(4) - (6)].node), (yyvsp[(6) - (6)].node)),
(yylsp[(2) - (6)]));
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "!~~",
(yyvsp[(1) - (6)].node), (Node *) n, (yylsp[(2) - (6)]));
;}
break;
case 1739:
#line 11550 "gram.y"
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "~~*",
(yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)]));
;}
break;
case 1740:
#line 11555 "gram.y"
{
FuncCall *n = makeFuncCall(SystemFuncName("like_escape"),
list_make2((yyvsp[(3) - (5)].node), (yyvsp[(5) - (5)].node)),
(yylsp[(2) - (5)]));
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "~~*",
(yyvsp[(1) - (5)].node), (Node *) n, (yylsp[(2) - (5)]));
;}
break;
case 1741:
#line 11563 "gram.y"
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "!~~*",
(yyvsp[(1) - (4)].node), (yyvsp[(4) - (4)].node), (yylsp[(2) - (4)]));
;}
break;
case 1742:
#line 11568 "gram.y"
{
FuncCall *n = makeFuncCall(SystemFuncName("like_escape"),
list_make2((yyvsp[(4) - (6)].node), (yyvsp[(6) - (6)].node)),
(yylsp[(2) - (6)]));
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "!~~*",
(yyvsp[(1) - (6)].node), (Node *) n, (yylsp[(2) - (6)]));
;}
break;
case 1743:
#line 11577 "gram.y"
{
FuncCall *n = makeFuncCall(SystemFuncName("similar_escape"),
list_make2((yyvsp[(4) - (4)].node), makeNullAConst(-1)),
(yylsp[(2) - (4)]));
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "~",
(yyvsp[(1) - (4)].node), (Node *) n, (yylsp[(2) - (4)]));
;}
break;
case 1744:
#line 11585 "gram.y"
{
FuncCall *n = makeFuncCall(SystemFuncName("similar_escape"),
list_make2((yyvsp[(4) - (6)].node), (yyvsp[(6) - (6)].node)),
(yylsp[(2) - (6)]));
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "~",
(yyvsp[(1) - (6)].node), (Node *) n, (yylsp[(2) - (6)]));
;}
break;
case 1745:
#line 11593 "gram.y"
{
FuncCall *n = makeFuncCall(SystemFuncName("similar_escape"),
list_make2((yyvsp[(5) - (5)].node), makeNullAConst(-1)),
(yylsp[(2) - (5)]));
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "!~",
(yyvsp[(1) - (5)].node), (Node *) n, (yylsp[(2) - (5)]));
;}
break;
case 1746:
#line 11601 "gram.y"
{
FuncCall *n = makeFuncCall(SystemFuncName("similar_escape"),
list_make2((yyvsp[(5) - (7)].node), (yyvsp[(7) - (7)].node)),
(yylsp[(2) - (7)]));
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "!~",
(yyvsp[(1) - (7)].node), (Node *) n, (yylsp[(2) - (7)]));
;}
break;
case 1747:
#line 11619 "gram.y"
{
NullTest *n = makeNode(NullTest);
n->arg = (Expr *) (yyvsp[(1) - (3)].node);
n->nulltesttype = IS_NULL;
n->location = (yylsp[(2) - (3)]);
(yyval.node) = (Node *)n;
;}
break;
case 1748:
#line 11627 "gram.y"
{
NullTest *n = makeNode(NullTest);
n->arg = (Expr *) (yyvsp[(1) - (2)].node);
n->nulltesttype = IS_NULL;
n->location = (yylsp[(2) - (2)]);
(yyval.node) = (Node *)n;
;}
break;
case 1749:
#line 11635 "gram.y"
{
NullTest *n = makeNode(NullTest);
n->arg = (Expr *) (yyvsp[(1) - (4)].node);
n->nulltesttype = IS_NOT_NULL;
n->location = (yylsp[(2) - (4)]);
(yyval.node) = (Node *)n;
;}
break;
case 1750:
#line 11643 "gram.y"
{
NullTest *n = makeNode(NullTest);
n->arg = (Expr *) (yyvsp[(1) - (2)].node);
n->nulltesttype = IS_NOT_NULL;
n->location = (yylsp[(2) - (2)]);
(yyval.node) = (Node *)n;
;}
break;
case 1751:
#line 11651 "gram.y"
{
if (list_length((yyvsp[(1) - (3)].list)) != 2)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("wrong number of parameters on left side of OVERLAPS expression"),
parser_errposition((yylsp[(1) - (3)]))));
if (list_length((yyvsp[(3) - (3)].list)) != 2)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("wrong number of parameters on right side of OVERLAPS expression"),
parser_errposition((yylsp[(3) - (3)]))));
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("overlaps"),
list_concat((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].list)),
(yylsp[(2) - (3)]));
;}
break;
case 1752:
#line 11667 "gram.y"
{
BooleanTest *b = makeNode(BooleanTest);
b->arg = (Expr *) (yyvsp[(1) - (3)].node);
b->booltesttype = IS_TRUE;
b->location = (yylsp[(2) - (3)]);
(yyval.node) = (Node *)b;
;}
break;
case 1753:
#line 11675 "gram.y"
{
BooleanTest *b = makeNode(BooleanTest);
b->arg = (Expr *) (yyvsp[(1) - (4)].node);
b->booltesttype = IS_NOT_TRUE;
b->location = (yylsp[(2) - (4)]);
(yyval.node) = (Node *)b;
;}
break;
case 1754:
#line 11683 "gram.y"
{
BooleanTest *b = makeNode(BooleanTest);
b->arg = (Expr *) (yyvsp[(1) - (3)].node);
b->booltesttype = IS_FALSE;
b->location = (yylsp[(2) - (3)]);
(yyval.node) = (Node *)b;
;}
break;
case 1755:
#line 11691 "gram.y"
{
BooleanTest *b = makeNode(BooleanTest);
b->arg = (Expr *) (yyvsp[(1) - (4)].node);
b->booltesttype = IS_NOT_FALSE;
b->location = (yylsp[(2) - (4)]);
(yyval.node) = (Node *)b;
;}
break;
case 1756:
#line 11699 "gram.y"
{
BooleanTest *b = makeNode(BooleanTest);
b->arg = (Expr *) (yyvsp[(1) - (3)].node);
b->booltesttype = IS_UNKNOWN;
b->location = (yylsp[(2) - (3)]);
(yyval.node) = (Node *)b;
;}
break;
case 1757:
#line 11707 "gram.y"
{
BooleanTest *b = makeNode(BooleanTest);
b->arg = (Expr *) (yyvsp[(1) - (4)].node);
b->booltesttype = IS_NOT_UNKNOWN;
b->location = (yylsp[(2) - (4)]);
(yyval.node) = (Node *)b;
;}
break;
case 1758:
#line 11715 "gram.y"
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_DISTINCT, "=", (yyvsp[(1) - (5)].node), (yyvsp[(5) - (5)].node), (yylsp[(2) - (5)]));
;}
break;
case 1759:
#line 11719 "gram.y"
{
(yyval.node) = makeNotExpr((Node *) makeSimpleA_Expr(AEXPR_DISTINCT,
"=", (yyvsp[(1) - (6)].node), (yyvsp[(6) - (6)].node), (yylsp[(2) - (6)])),
(yylsp[(2) - (6)]));
;}
break;
case 1760:
#line 11725 "gram.y"
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OF, "=", (yyvsp[(1) - (6)].node), (Node *) (yyvsp[(5) - (6)].list), (yylsp[(2) - (6)]));
;}
break;
case 1761:
#line 11729 "gram.y"
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OF, "<>", (yyvsp[(1) - (7)].node), (Node *) (yyvsp[(6) - (7)].list), (yylsp[(2) - (7)]));
;}
break;
case 1762:
#line 11733 "gram.y"
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_BETWEEN,
"BETWEEN",
(yyvsp[(1) - (6)].node),
(Node *) list_make2((yyvsp[(4) - (6)].node), (yyvsp[(6) - (6)].node)),
(yylsp[(2) - (6)]));
;}
break;
case 1763:
#line 11741 "gram.y"
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_BETWEEN,
"NOT BETWEEN",
(yyvsp[(1) - (7)].node),
(Node *) list_make2((yyvsp[(5) - (7)].node), (yyvsp[(7) - (7)].node)),
(yylsp[(2) - (7)]));
;}
break;
case 1764:
#line 11749 "gram.y"
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_BETWEEN_SYM,
"BETWEEN SYMMETRIC",
(yyvsp[(1) - (6)].node),
(Node *) list_make2((yyvsp[(4) - (6)].node), (yyvsp[(6) - (6)].node)),
(yylsp[(2) - (6)]));
;}
break;
case 1765:
#line 11757 "gram.y"
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_BETWEEN_SYM,
"NOT BETWEEN SYMMETRIC",
(yyvsp[(1) - (7)].node),
(Node *) list_make2((yyvsp[(5) - (7)].node), (yyvsp[(7) - (7)].node)),
(yylsp[(2) - (7)]));
;}
break;
case 1766:
#line 11765 "gram.y"
{
/* in_expr returns a SubLink or a list of a_exprs */
if (IsA((yyvsp[(3) - (3)].node), SubLink))
{
/* generate foo = ANY (subquery) */
SubLink *n = (SubLink *) (yyvsp[(3) - (3)].node);
n->subLinkType = ANY_SUBLINK;
n->subLinkId = 0;
n->testexpr = (yyvsp[(1) - (3)].node);
n->operName = NIL; /* show it's IN not = ANY */
n->location = (yylsp[(2) - (3)]);
(yyval.node) = (Node *)n;
}
else
{
/* generate scalar IN expression */
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_IN, "=", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)]));
}
;}
break;
case 1767:
#line 11785 "gram.y"
{
/* in_expr returns a SubLink or a list of a_exprs */
if (IsA((yyvsp[(4) - (4)].node), SubLink))
{
/* generate NOT (foo = ANY (subquery)) */
/* Make an = ANY node */
SubLink *n = (SubLink *) (yyvsp[(4) - (4)].node);
n->subLinkType = ANY_SUBLINK;
n->subLinkId = 0;
n->testexpr = (yyvsp[(1) - (4)].node);
n->operName = NIL; /* show it's IN not = ANY */
n->location = (yylsp[(2) - (4)]);
/* Stick a NOT on top; must have same parse location */
(yyval.node) = makeNotExpr((Node *) n, (yylsp[(2) - (4)]));
}
else
{
/* generate scalar NOT IN expression */
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_IN, "<>", (yyvsp[(1) - (4)].node), (yyvsp[(4) - (4)].node), (yylsp[(2) - (4)]));
}
;}
break;
case 1768:
#line 11807 "gram.y"
{
SubLink *n = makeNode(SubLink);
n->subLinkType = (yyvsp[(3) - (4)].ival);
n->subLinkId = 0;
n->testexpr = (yyvsp[(1) - (4)].node);
n->operName = (yyvsp[(2) - (4)].list);
n->subselect = (yyvsp[(4) - (4)].node);
n->location = (yylsp[(2) - (4)]);
(yyval.node) = (Node *)n;
;}
break;
case 1769:
#line 11818 "gram.y"
{
if ((yyvsp[(3) - (6)].ival) == ANY_SUBLINK)
(yyval.node) = (Node *) makeA_Expr(AEXPR_OP_ANY, (yyvsp[(2) - (6)].list), (yyvsp[(1) - (6)].node), (yyvsp[(5) - (6)].node), (yylsp[(2) - (6)]));
else
(yyval.node) = (Node *) makeA_Expr(AEXPR_OP_ALL, (yyvsp[(2) - (6)].list), (yyvsp[(1) - (6)].node), (yyvsp[(5) - (6)].node), (yylsp[(2) - (6)]));
;}
break;
case 1770:
#line 11825 "gram.y"
{
/* Not sure how to get rid of the parentheses
* but there are lots of shift/reduce errors without them.
*
* Should be able to implement this by plopping the entire
* select into a node, then transforming the target expressions
* from whatever they are into count(*), and testing the
* entire result equal to one.
* But, will probably implement a separate node in the executor.
*/
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
errmsg("UNIQUE predicate is not yet implemented"),
parser_errposition((yylsp[(1) - (2)]))));
;}
break;
case 1771:
#line 11841 "gram.y"
{
(yyval.node) = makeXmlExpr(IS_DOCUMENT, NULL, NIL,
list_make1((yyvsp[(1) - (3)].node)), (yylsp[(2) - (3)]));
;}
break;
case 1772:
#line 11846 "gram.y"
{
(yyval.node) = makeNotExpr(makeXmlExpr(IS_DOCUMENT, NULL, NIL,
list_make1((yyvsp[(1) - (4)].node)), (yylsp[(2) - (4)])),
(yylsp[(2) - (4)]));
;}
break;
case 1773:
#line 11863 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 1774:
#line 11865 "gram.y"
{ (yyval.node) = makeTypeCast((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].typnam), (yylsp[(2) - (3)])); ;}
break;
case 1775:
#line 11867 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;}
break;
case 1776:
#line 11869 "gram.y"
{ (yyval.node) = doNegate((yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;}
break;
case 1777:
#line 11871 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 1778:
#line 11873 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "-", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 1779:
#line 11875 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "*", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 1780:
#line 11877 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "/", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 1781:
#line 11879 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "%", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 1782:
#line 11881 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "^", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 1783:
#line 11883 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 1784:
#line 11885 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 1785:
#line 11887 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "=", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 1786:
#line 11889 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<=", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 1787:
#line 11891 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">=", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 1788:
#line 11893 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<>", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 1789:
#line 11895 "gram.y"
{ (yyval.node) = makeInterval_or_AExprOp((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 1790:
#line 11899 "gram.y"
{ (yyval.node) = makeInterval_or_AExprOp((yyvsp[(1) - (2)].node), NULL, (yylsp[(2) - (2)])); ;}
break;
case 1791:
#line 11901 "gram.y"
{ (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[(2) - (3)].list), (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 1792:
#line 11903 "gram.y"
{ (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[(1) - (2)].list), NULL, (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;}
break;
case 1793:
#line 11905 "gram.y"
{ (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[(2) - (2)].list), (yyvsp[(1) - (2)].node), NULL, (yylsp[(2) - (2)])); ;}
break;
case 1794:
#line 11907 "gram.y"
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_DISTINCT, "=", (yyvsp[(1) - (5)].node), (yyvsp[(5) - (5)].node), (yylsp[(2) - (5)]));
;}
break;
case 1795:
#line 11911 "gram.y"
{
(yyval.node) = makeNotExpr((Node *) makeSimpleA_Expr(AEXPR_DISTINCT,
"=", (yyvsp[(1) - (6)].node), (yyvsp[(6) - (6)].node), (yylsp[(2) - (6)])),
(yylsp[(2) - (6)]));
;}
break;
case 1796:
#line 11917 "gram.y"
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OF, "=", (yyvsp[(1) - (6)].node), (Node *) (yyvsp[(5) - (6)].list), (yylsp[(2) - (6)]));
;}
break;
case 1797:
#line 11921 "gram.y"
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OF, "<>", (yyvsp[(1) - (7)].node), (Node *) (yyvsp[(6) - (7)].list), (yylsp[(2) - (7)]));
;}
break;
case 1798:
#line 11925 "gram.y"
{
(yyval.node) = makeXmlExpr(IS_DOCUMENT, NULL, NIL,
list_make1((yyvsp[(1) - (3)].node)), (yylsp[(2) - (3)]));
;}
break;
case 1799:
#line 11930 "gram.y"
{
(yyval.node) = makeNotExpr(makeXmlExpr(IS_DOCUMENT, NULL, NIL,
list_make1((yyvsp[(1) - (4)].node)), (yylsp[(2) - (4)])),
(yylsp[(2) - (4)]));
;}
break;
case 1800:
#line 11945 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 1801:
#line 11946 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 1802:
#line 11948 "gram.y"
{
if ((yyvsp[(2) - (2)].list))
{
A_Indirection *n = makeNode(A_Indirection);
n->arg = makeParamRef(0, (yylsp[(1) - (2)]));
n->indirection = check_indirection((yyvsp[(2) - (2)].list), yyscanner);
(yyval.node) = (Node *) n;
}
else
(yyval.node) = makeParamRef(0, (yylsp[(1) - (2)]));
;}
break;
case 1803:
#line 11960 "gram.y"
{
ParamRef *p = makeNode(ParamRef);
p->number = (yyvsp[(1) - (2)].ival);
p->location = (yylsp[(1) - (2)]);
if ((yyvsp[(2) - (2)].list))
{
A_Indirection *n = makeNode(A_Indirection);
n->arg = (Node *) p;
n->indirection = check_indirection((yyvsp[(2) - (2)].list), yyscanner);
(yyval.node) = (Node *) n;
}
else
(yyval.node) = (Node *) p;
;}
break;
case 1804:
#line 11975 "gram.y"
{
if ((yyvsp[(4) - (4)].list))
{
A_Indirection *n = makeNode(A_Indirection);
n->arg = (yyvsp[(2) - (4)].node);
n->indirection = check_indirection((yyvsp[(4) - (4)].list), yyscanner);
(yyval.node) = (Node *)n;
}
else if (operator_precedence_warning)
{
/*
* If precedence warnings are enabled, insert
* AEXPR_PAREN nodes wrapping all explicitly
* parenthesized subexpressions; this prevents bogus
* warnings from being issued when the ordering has
* been forced by parentheses.
*
* In principle we should not be relying on a GUC to
* decide whether to insert AEXPR_PAREN nodes.
* However, since they have no effect except to
* suppress warnings, it's probably safe enough; and
* we'd just as soon not waste cycles on dummy parse
* nodes if we don't have to.
*/
(yyval.node) = (Node *) makeA_Expr(AEXPR_PAREN, NIL, (yyvsp[(2) - (4)].node), NULL, (yylsp[(1) - (4)]));
}
else
(yyval.node) = (yyvsp[(2) - (4)].node);
;}
break;
case 1805:
#line 12005 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 1806:
#line 12007 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 1807:
#line 12009 "gram.y"
{
SubLink *n = makeNode(SubLink);
n->subLinkType = EXPR_SUBLINK;
n->subLinkId = 0;
n->testexpr = NULL;
n->operName = NIL;
n->subselect = (yyvsp[(1) - (1)].node);
n->location = (yylsp[(1) - (1)]);
(yyval.node) = (Node *)n;
;}
break;
case 1808:
#line 12020 "gram.y"
{
/*
* Because the select_with_parens nonterminal is designed
* to "eat" as many levels of parens as possible, the
* '(' a_expr ')' opt_indirection production above will
* fail to match a sub-SELECT with indirection decoration;
* the sub-SELECT won't be regarded as an a_expr as long
* as there are parens around it. To support applying
* subscripting or field selection to a sub-SELECT result,
* we need this redundant-looking production.
*/
SubLink *n = makeNode(SubLink);
A_Indirection *a = makeNode(A_Indirection);
n->subLinkType = EXPR_SUBLINK;
n->subLinkId = 0;
n->testexpr = NULL;
n->operName = NIL;
n->subselect = (yyvsp[(1) - (2)].node);
n->location = (yylsp[(1) - (2)]);
a->arg = (Node *)n;
a->indirection = check_indirection((yyvsp[(2) - (2)].list), yyscanner);
(yyval.node) = (Node *)a;
;}
break;
case 1809:
#line 12044 "gram.y"
{
SubLink *n = makeNode(SubLink);
n->subLinkType = EXISTS_SUBLINK;
n->subLinkId = 0;
n->testexpr = NULL;
n->operName = NIL;
n->subselect = (yyvsp[(2) - (2)].node);
n->location = (yylsp[(1) - (2)]);
(yyval.node) = (Node *)n;
;}
break;
case 1810:
#line 12055 "gram.y"
{
SubLink *n = makeNode(SubLink);
n->subLinkType = ARRAY_SUBLINK;
n->subLinkId = 0;
n->testexpr = NULL;
n->operName = NIL;
n->subselect = (yyvsp[(2) - (2)].node);
n->location = (yylsp[(1) - (2)]);
(yyval.node) = (Node *)n;
;}
break;
case 1811:
#line 12066 "gram.y"
{
A_ArrayExpr *n = (A_ArrayExpr *) (yyvsp[(2) - (2)].node);
Assert(IsA(n, A_ArrayExpr));
/* point outermost A_ArrayExpr to the ARRAY keyword */
n->location = (yylsp[(1) - (2)]);
(yyval.node) = (Node *)n;
;}
break;
case 1812:
#line 12074 "gram.y"
{
RowExpr *r = makeNode(RowExpr);
r->args = (yyvsp[(1) - (1)].list);
r->row_typeid = InvalidOid; /* not analyzed yet */
r->colnames = NIL; /* to be filled in during analysis */
r->row_format = COERCE_EXPLICIT_CALL; /* abuse */
r->location = (yylsp[(1) - (1)]);
(yyval.node) = (Node *)r;
;}
break;
case 1813:
#line 12084 "gram.y"
{
RowExpr *r = makeNode(RowExpr);
r->args = (yyvsp[(1) - (1)].list);
r->row_typeid = InvalidOid; /* not analyzed yet */
r->colnames = NIL; /* to be filled in during analysis */
r->row_format = COERCE_IMPLICIT_CAST; /* abuse */
r->location = (yylsp[(1) - (1)]);
(yyval.node) = (Node *)r;
;}
break;
case 1814:
#line 12094 "gram.y"
{
GroupingFunc *g = makeNode(GroupingFunc);
g->args = (yyvsp[(3) - (4)].list);
g->location = (yylsp[(1) - (4)]);
(yyval.node) = (Node *)g;
;}
break;
case 1815:
#line 12103 "gram.y"
{
(yyval.node) = (Node *) makeFuncCall((yyvsp[(1) - (3)].list), NIL, (yylsp[(1) - (3)]));
;}
break;
case 1816:
#line 12107 "gram.y"
{
FuncCall *n = makeFuncCall((yyvsp[(1) - (5)].list), (yyvsp[(3) - (5)].list), (yylsp[(1) - (5)]));
n->agg_order = (yyvsp[(4) - (5)].list);
(yyval.node) = (Node *)n;
;}
break;
case 1817:
#line 12113 "gram.y"
{
FuncCall *n = makeFuncCall((yyvsp[(1) - (6)].list), list_make1((yyvsp[(4) - (6)].node)), (yylsp[(1) - (6)]));
n->func_variadic = TRUE;
n->agg_order = (yyvsp[(5) - (6)].list);
(yyval.node) = (Node *)n;
;}
break;
case 1818:
#line 12120 "gram.y"
{
FuncCall *n = makeFuncCall((yyvsp[(1) - (8)].list), lappend((yyvsp[(3) - (8)].list), (yyvsp[(6) - (8)].node)), (yylsp[(1) - (8)]));
n->func_variadic = TRUE;
n->agg_order = (yyvsp[(7) - (8)].list);
(yyval.node) = (Node *)n;
;}
break;
case 1819:
#line 12127 "gram.y"
{
FuncCall *n = makeFuncCall((yyvsp[(1) - (6)].list), (yyvsp[(4) - (6)].list), (yylsp[(1) - (6)]));
n->agg_order = (yyvsp[(5) - (6)].list);
/* Ideally we'd mark the FuncCall node to indicate
* "must be an aggregate", but there's no provision
* for that in FuncCall at the moment.
*/
(yyval.node) = (Node *)n;
;}
break;
case 1820:
#line 12137 "gram.y"
{
FuncCall *n = makeFuncCall((yyvsp[(1) - (6)].list), (yyvsp[(4) - (6)].list), (yylsp[(1) - (6)]));
n->agg_order = (yyvsp[(5) - (6)].list);
n->agg_distinct = TRUE;
(yyval.node) = (Node *)n;
;}
break;
case 1821:
#line 12144 "gram.y"
{
/*
* We consider AGGREGATE(*) to invoke a parameterless
* aggregate. This does the right thing for COUNT(*),
* and there are no other aggregates in SQL that accept
* '*' as parameter.
*
* The FuncCall node is also marked agg_star = true,
* so that later processing can detect what the argument
* really was.
*/
FuncCall *n = makeFuncCall((yyvsp[(1) - (4)].list), NIL, (yylsp[(1) - (4)]));
n->agg_star = TRUE;
(yyval.node) = (Node *)n;
;}
break;
case 1822:
#line 12172 "gram.y"
{
FuncCall *n = (FuncCall *) (yyvsp[(1) - (4)].node);
/*
* The order clause for WITHIN GROUP and the one for
* plain-aggregate ORDER BY share a field, so we have to
* check here that at most one is present. We also check
* for DISTINCT and VARIADIC here to give a better error
* location. Other consistency checks are deferred to
* parse analysis.
*/
if ((yyvsp[(2) - (4)].list) != NIL)
{
if (n->agg_order != NIL)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("cannot use multiple ORDER BY clauses with WITHIN GROUP"),
parser_errposition((yylsp[(2) - (4)]))));
if (n->agg_distinct)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("cannot use DISTINCT with WITHIN GROUP"),
parser_errposition((yylsp[(2) - (4)]))));
if (n->func_variadic)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("cannot use VARIADIC with WITHIN GROUP"),
parser_errposition((yylsp[(2) - (4)]))));
n->agg_order = (yyvsp[(2) - (4)].list);
n->agg_within_group = TRUE;
}
n->agg_filter = (yyvsp[(3) - (4)].node);
n->over = (yyvsp[(4) - (4)].windef);
(yyval.node) = (Node *) n;
;}
break;
case 1823:
#line 12207 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 1824:
#line 12217 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 1825:
#line 12218 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 1826:
#line 12226 "gram.y"
{
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("pg_collation_for"),
list_make1((yyvsp[(4) - (5)].node)),
(yylsp[(1) - (5)]));
;}
break;
case 1827:
#line 12232 "gram.y"
{
/*
* Translate as "'now'::text::date".
*
* We cannot use "'now'::date" because coerce_type() will
* immediately reduce that to a constant representing
* today's date. We need to delay the conversion until
* runtime, else the wrong things will happen when
* CURRENT_DATE is used in a column default value or rule.
*
* This could be simplified if we had a way to generate
* an expression tree representing runtime application
* of type-input conversion functions. (As of PG 7.3
* that is actually possible, but not clear that we want
* to rely on it.)
*
* The token location is attached to the run-time
* typecast, not to the Const, for the convenience of
* pg_stat_statements (which doesn't want these constructs
* to appear to be replaceable constants).
*/
Node *n;
n = makeStringConstCast("now", -1, SystemTypeName("text"));
(yyval.node) = makeTypeCast(n, SystemTypeName("date"), (yylsp[(1) - (1)]));
;}
break;
case 1828:
#line 12258 "gram.y"
{
/*
* Translate as "'now'::text::timetz".
* See comments for CURRENT_DATE.
*/
Node *n;
n = makeStringConstCast("now", -1, SystemTypeName("text"));
(yyval.node) = makeTypeCast(n, SystemTypeName("timetz"), (yylsp[(1) - (1)]));
;}
break;
case 1829:
#line 12268 "gram.y"
{
/*
* Translate as "'now'::text::timetz(n)".
* See comments for CURRENT_DATE.
*/
Node *n;
TypeName *d;
n = makeStringConstCast("now", -1, SystemTypeName("text"));
d = SystemTypeName("timetz");
d->typmods = list_make1(makeIntConst((yyvsp[(3) - (4)].ival), (yylsp[(3) - (4)])));
(yyval.node) = makeTypeCast(n, d, (yylsp[(1) - (4)]));
;}
break;
case 1830:
#line 12281 "gram.y"
{
/*
* Translate as "now()", since we have a function that
* does exactly what is needed.
*/
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("now"), NIL, (yylsp[(1) - (1)]));
;}
break;
case 1831:
#line 12289 "gram.y"
{
/*
* Translate as "'now'::text::timestamptz(n)".
* See comments for CURRENT_DATE.
*/
Node *n;
TypeName *d;
n = makeStringConstCast("now", -1, SystemTypeName("text"));
d = SystemTypeName("timestamptz");
d->typmods = list_make1(makeIntConst((yyvsp[(3) - (4)].ival), (yylsp[(3) - (4)])));
(yyval.node) = makeTypeCast(n, d, (yylsp[(1) - (4)]));
;}
break;
case 1832:
#line 12302 "gram.y"
{
/*
* Translate as "'now'::text::time".
* See comments for CURRENT_DATE.
*/
Node *n;
n = makeStringConstCast("now", -1, SystemTypeName("text"));
(yyval.node) = makeTypeCast((Node *)n, SystemTypeName("time"), (yylsp[(1) - (1)]));
;}
break;
case 1833:
#line 12312 "gram.y"
{
/*
* Translate as "'now'::text::time(n)".
* See comments for CURRENT_DATE.
*/
Node *n;
TypeName *d;
n = makeStringConstCast("now", -1, SystemTypeName("text"));
d = SystemTypeName("time");
d->typmods = list_make1(makeIntConst((yyvsp[(3) - (4)].ival), (yylsp[(3) - (4)])));
(yyval.node) = makeTypeCast((Node *)n, d, (yylsp[(1) - (4)]));
;}
break;
case 1834:
#line 12325 "gram.y"
{
/*
* Translate as "'now'::text::timestamp".
* See comments for CURRENT_DATE.
*/
Node *n;
n = makeStringConstCast("now", -1, SystemTypeName("text"));
(yyval.node) = makeTypeCast(n, SystemTypeName("timestamp"), (yylsp[(1) - (1)]));
;}
break;
case 1835:
#line 12335 "gram.y"
{
/*
* Translate as "'now'::text::timestamp(n)".
* See comments for CURRENT_DATE.
*/
Node *n;
TypeName *d;
n = makeStringConstCast("now", -1, SystemTypeName("text"));
d = SystemTypeName("timestamp");
d->typmods = list_make1(makeIntConst((yyvsp[(3) - (4)].ival), (yylsp[(3) - (4)])));
(yyval.node) = makeTypeCast(n, d, (yylsp[(1) - (4)]));
;}
break;
case 1836:
#line 12348 "gram.y"
{
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("current_user"), NIL, (yylsp[(1) - (1)]));
;}
break;
case 1837:
#line 12352 "gram.y"
{
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("current_user"), NIL, (yylsp[(1) - (1)]));
;}
break;
case 1838:
#line 12356 "gram.y"
{
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("session_user"), NIL, (yylsp[(1) - (1)]));
;}
break;
case 1839:
#line 12360 "gram.y"
{
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("current_user"), NIL, (yylsp[(1) - (1)]));
;}
break;
case 1840:
#line 12364 "gram.y"
{
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("current_database"), NIL, (yylsp[(1) - (1)]));
;}
break;
case 1841:
#line 12368 "gram.y"
{
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("current_schema"), NIL, (yylsp[(1) - (1)]));
;}
break;
case 1842:
#line 12372 "gram.y"
{ (yyval.node) = makeTypeCast((yyvsp[(3) - (6)].node), (yyvsp[(5) - (6)].typnam), (yylsp[(1) - (6)])); ;}
break;
case 1843:
#line 12374 "gram.y"
{
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("date_part"), (yyvsp[(3) - (4)].list), (yylsp[(1) - (4)]));
;}
break;
case 1844:
#line 12378 "gram.y"
{
/* overlay(A PLACING B FROM C FOR D) is converted to
* overlay(A, B, C, D)
* overlay(A PLACING B FROM C) is converted to
* overlay(A, B, C)
*/
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("overlay"), (yyvsp[(3) - (4)].list), (yylsp[(1) - (4)]));
;}
break;
case 1845:
#line 12387 "gram.y"
{
/* position(A in B) is converted to position(B, A) */
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("position"), (yyvsp[(3) - (4)].list), (yylsp[(1) - (4)]));
;}
break;
case 1846:
#line 12392 "gram.y"
{
/* substring(A from B for C) is converted to
* substring(A, B, C) - thomas 2000-11-28
*/
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("substring"), (yyvsp[(3) - (4)].list), (yylsp[(1) - (4)]));
;}
break;
case 1847:
#line 12399 "gram.y"
{
/* TREAT(expr AS target) converts expr of a particular type to target,
* which is defined to be a subtype of the original expression.
* In SQL99, this is intended for use with structured UDTs,
* but let's make this a generally useful form allowing stronger
* coercions than are handled by implicit casting.
*
* Convert SystemTypeName() to SystemFuncName() even though
* at the moment they result in the same thing.
*/
(yyval.node) = (Node *) makeFuncCall(SystemFuncName(((Value *)llast((yyvsp[(5) - (6)].typnam)->names))->val.str),
list_make1((yyvsp[(3) - (6)].node)),
(yylsp[(1) - (6)]));
;}
break;
case 1848:
#line 12414 "gram.y"
{
/* various trim expressions are defined in SQL
* - thomas 1997-07-19
*/
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("btrim"), (yyvsp[(4) - (5)].list), (yylsp[(1) - (5)]));
;}
break;
case 1849:
#line 12421 "gram.y"
{
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("ltrim"), (yyvsp[(4) - (5)].list), (yylsp[(1) - (5)]));
;}
break;
case 1850:
#line 12425 "gram.y"
{
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("rtrim"), (yyvsp[(4) - (5)].list), (yylsp[(1) - (5)]));
;}
break;
case 1851:
#line 12429 "gram.y"
{
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("btrim"), (yyvsp[(3) - (4)].list), (yylsp[(1) - (4)]));
;}
break;
case 1852:
#line 12433 "gram.y"
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NULLIF, "=", (yyvsp[(3) - (6)].node), (yyvsp[(5) - (6)].node), (yylsp[(1) - (6)]));
;}
break;
case 1853:
#line 12437 "gram.y"
{
CoalesceExpr *c = makeNode(CoalesceExpr);
c->args = (yyvsp[(3) - (4)].list);
c->location = (yylsp[(1) - (4)]);
(yyval.node) = (Node *)c;
;}
break;
case 1854:
#line 12444 "gram.y"
{
MinMaxExpr *v = makeNode(MinMaxExpr);
v->args = (yyvsp[(3) - (4)].list);
v->op = IS_GREATEST;
v->location = (yylsp[(1) - (4)]);
(yyval.node) = (Node *)v;
;}
break;
case 1855:
#line 12452 "gram.y"
{
MinMaxExpr *v = makeNode(MinMaxExpr);
v->args = (yyvsp[(3) - (4)].list);
v->op = IS_LEAST;
v->location = (yylsp[(1) - (4)]);
(yyval.node) = (Node *)v;
;}
break;
case 1856:
#line 12460 "gram.y"
{
(yyval.node) = makeXmlExpr(IS_XMLCONCAT, NULL, NIL, (yyvsp[(3) - (4)].list), (yylsp[(1) - (4)]));
;}
break;
case 1857:
#line 12464 "gram.y"
{
(yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[(4) - (5)].str), NIL, NIL, (yylsp[(1) - (5)]));
;}
break;
case 1858:
#line 12468 "gram.y"
{
(yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[(4) - (7)].str), (yyvsp[(6) - (7)].list), NIL, (yylsp[(1) - (7)]));
;}
break;
case 1859:
#line 12472 "gram.y"
{
(yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[(4) - (7)].str), NIL, (yyvsp[(6) - (7)].list), (yylsp[(1) - (7)]));
;}
break;
case 1860:
#line 12476 "gram.y"
{
(yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[(4) - (9)].str), (yyvsp[(6) - (9)].list), (yyvsp[(8) - (9)].list), (yylsp[(1) - (9)]));
;}
break;
case 1861:
#line 12480 "gram.y"
{
/* xmlexists(A PASSING [BY REF] B [BY REF]) is
* converted to xmlexists(A, B)*/
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("xmlexists"), list_make2((yyvsp[(3) - (5)].node), (yyvsp[(4) - (5)].node)), (yylsp[(1) - (5)]));
;}
break;
case 1862:
#line 12486 "gram.y"
{
(yyval.node) = makeXmlExpr(IS_XMLFOREST, NULL, (yyvsp[(3) - (4)].list), NIL, (yylsp[(1) - (4)]));
;}
break;
case 1863:
#line 12490 "gram.y"
{
XmlExpr *x = (XmlExpr *)
makeXmlExpr(IS_XMLPARSE, NULL, NIL,
list_make2((yyvsp[(4) - (6)].node), makeBoolAConst((yyvsp[(5) - (6)].boolean), -1)),
(yylsp[(1) - (6)]));
x->xmloption = (yyvsp[(3) - (6)].ival);
(yyval.node) = (Node *)x;
;}
break;
case 1864:
#line 12499 "gram.y"
{
(yyval.node) = makeXmlExpr(IS_XMLPI, (yyvsp[(4) - (5)].str), NULL, NIL, (yylsp[(1) - (5)]));
;}
break;
case 1865:
#line 12503 "gram.y"
{
(yyval.node) = makeXmlExpr(IS_XMLPI, (yyvsp[(4) - (7)].str), NULL, list_make1((yyvsp[(6) - (7)].node)), (yylsp[(1) - (7)]));
;}
break;
case 1866:
#line 12507 "gram.y"
{
(yyval.node) = makeXmlExpr(IS_XMLROOT, NULL, NIL,
list_make3((yyvsp[(3) - (7)].node), (yyvsp[(5) - (7)].node), (yyvsp[(6) - (7)].node)), (yylsp[(1) - (7)]));
;}
break;
case 1867:
#line 12512 "gram.y"
{
XmlSerialize *n = makeNode(XmlSerialize);
n->xmloption = (yyvsp[(3) - (7)].ival);
n->expr = (yyvsp[(4) - (7)].node);
n->typeName = (yyvsp[(6) - (7)].typnam);
n->location = (yylsp[(1) - (7)]);
(yyval.node) = (Node *)n;
;}
break;
case 1868:
#line 12526 "gram.y"
{ (yyval.node) = (yyvsp[(2) - (2)].node); ;}
break;
case 1869:
#line 12528 "gram.y"
{ (yyval.node) = makeNullAConst(-1); ;}
break;
case 1870:
#line 12532 "gram.y"
{ (yyval.node) = makeIntConst(XML_STANDALONE_YES, -1); ;}
break;
case 1871:
#line 12534 "gram.y"
{ (yyval.node) = makeIntConst(XML_STANDALONE_NO, -1); ;}
break;
case 1872:
#line 12536 "gram.y"
{ (yyval.node) = makeIntConst(XML_STANDALONE_NO_VALUE, -1); ;}
break;
case 1873:
#line 12538 "gram.y"
{ (yyval.node) = makeIntConst(XML_STANDALONE_OMITTED, -1); ;}
break;
case 1874:
#line 12541 "gram.y"
{ (yyval.list) = (yyvsp[(3) - (4)].list); ;}
break;
case 1875:
#line 12544 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].target)); ;}
break;
case 1876:
#line 12545 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].target)); ;}
break;
case 1877:
#line 12549 "gram.y"
{
(yyval.target) = makeNode(ResTarget);
(yyval.target)->name = (yyvsp[(3) - (3)].str);
(yyval.target)->indirection = NIL;
(yyval.target)->val = (Node *) (yyvsp[(1) - (3)].node);
(yyval.target)->location = (yylsp[(1) - (3)]);
;}
break;
case 1878:
#line 12557 "gram.y"
{
(yyval.target) = makeNode(ResTarget);
(yyval.target)->name = NULL;
(yyval.target)->indirection = NIL;
(yyval.target)->val = (Node *) (yyvsp[(1) - (1)].node);
(yyval.target)->location = (yylsp[(1) - (1)]);
;}
break;
case 1879:
#line 12566 "gram.y"
{ (yyval.ival) = XMLOPTION_DOCUMENT; ;}
break;
case 1880:
#line 12567 "gram.y"
{ (yyval.ival) = XMLOPTION_CONTENT; ;}
break;
case 1881:
#line 12570 "gram.y"
{ (yyval.boolean) = TRUE; ;}
break;
case 1882:
#line 12571 "gram.y"
{ (yyval.boolean) = FALSE; ;}
break;
case 1883:
#line 12572 "gram.y"
{ (yyval.boolean) = FALSE; ;}
break;
case 1884:
#line 12578 "gram.y"
{
(yyval.node) = (yyvsp[(2) - (2)].node);
;}
break;
case 1885:
#line 12582 "gram.y"
{
(yyval.node) = (yyvsp[(2) - (4)].node);
;}
break;
case 1886:
#line 12586 "gram.y"
{
(yyval.node) = (yyvsp[(4) - (4)].node);
;}
break;
case 1887:
#line 12590 "gram.y"
{
(yyval.node) = (yyvsp[(4) - (6)].node);
;}
break;
case 1888:
#line 12600 "gram.y"
{ (yyval.list) = (yyvsp[(4) - (5)].list); ;}
break;
case 1889:
#line 12601 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1890:
#line 12605 "gram.y"
{ (yyval.node) = (yyvsp[(4) - (5)].node); ;}
break;
case 1891:
#line 12606 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 1892:
#line 12614 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (2)].list); ;}
break;
case 1893:
#line 12615 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1894:
#line 12619 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].windef)); ;}
break;
case 1895:
#line 12621 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].windef)); ;}
break;
case 1896:
#line 12626 "gram.y"
{
WindowDef *n = (yyvsp[(3) - (3)].windef);
n->name = (yyvsp[(1) - (3)].str);
(yyval.windef) = n;
;}
break;
case 1897:
#line 12634 "gram.y"
{ (yyval.windef) = (yyvsp[(2) - (2)].windef); ;}
break;
case 1898:
#line 12636 "gram.y"
{
WindowDef *n = makeNode(WindowDef);
n->name = (yyvsp[(2) - (2)].str);
n->refname = NULL;
n->partitionClause = NIL;
n->orderClause = NIL;
n->frameOptions = FRAMEOPTION_DEFAULTS;
n->startOffset = NULL;
n->endOffset = NULL;
n->location = (yylsp[(2) - (2)]);
(yyval.windef) = n;
;}
break;
case 1899:
#line 12649 "gram.y"
{ (yyval.windef) = NULL; ;}
break;
case 1900:
#line 12654 "gram.y"
{
WindowDef *n = makeNode(WindowDef);
n->name = NULL;
n->refname = (yyvsp[(2) - (6)].str);
n->partitionClause = (yyvsp[(3) - (6)].list);
n->orderClause = (yyvsp[(4) - (6)].list);
/* copy relevant fields of opt_frame_clause */
n->frameOptions = (yyvsp[(5) - (6)].windef)->frameOptions;
n->startOffset = (yyvsp[(5) - (6)].windef)->startOffset;
n->endOffset = (yyvsp[(5) - (6)].windef)->endOffset;
n->location = (yylsp[(1) - (6)]);
(yyval.windef) = n;
;}
break;
case 1901:
#line 12679 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 1902:
#line 12680 "gram.y"
{ (yyval.str) = NULL; ;}
break;
case 1903:
#line 12683 "gram.y"
{ (yyval.list) = (yyvsp[(3) - (3)].list); ;}
break;
case 1904:
#line 12684 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1905:
#line 12696 "gram.y"
{
WindowDef *n = (yyvsp[(2) - (2)].windef);
n->frameOptions |= FRAMEOPTION_NONDEFAULT | FRAMEOPTION_RANGE;
if (n->frameOptions & (FRAMEOPTION_START_VALUE_PRECEDING |
FRAMEOPTION_END_VALUE_PRECEDING))
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
errmsg("RANGE PRECEDING is only supported with UNBOUNDED"),
parser_errposition((yylsp[(1) - (2)]))));
if (n->frameOptions & (FRAMEOPTION_START_VALUE_FOLLOWING |
FRAMEOPTION_END_VALUE_FOLLOWING))
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
errmsg("RANGE FOLLOWING is only supported with UNBOUNDED"),
parser_errposition((yylsp[(1) - (2)]))));
(yyval.windef) = n;
;}
break;
case 1906:
#line 12714 "gram.y"
{
WindowDef *n = (yyvsp[(2) - (2)].windef);
n->frameOptions |= FRAMEOPTION_NONDEFAULT | FRAMEOPTION_ROWS;
(yyval.windef) = n;
;}
break;
case 1907:
#line 12720 "gram.y"
{
WindowDef *n = makeNode(WindowDef);
n->frameOptions = FRAMEOPTION_DEFAULTS;
n->startOffset = NULL;
n->endOffset = NULL;
(yyval.windef) = n;
;}
break;
case 1908:
#line 12730 "gram.y"
{
WindowDef *n = (yyvsp[(1) - (1)].windef);
/* reject invalid cases */
if (n->frameOptions & FRAMEOPTION_START_UNBOUNDED_FOLLOWING)
ereport(ERROR,
(errcode(ERRCODE_WINDOWING_ERROR),
errmsg("frame start cannot be UNBOUNDED FOLLOWING"),
parser_errposition((yylsp[(1) - (1)]))));
if (n->frameOptions & FRAMEOPTION_START_VALUE_FOLLOWING)
ereport(ERROR,
(errcode(ERRCODE_WINDOWING_ERROR),
errmsg("frame starting from following row cannot end with current row"),
parser_errposition((yylsp[(1) - (1)]))));
n->frameOptions |= FRAMEOPTION_END_CURRENT_ROW;
(yyval.windef) = n;
;}
break;
case 1909:
#line 12747 "gram.y"
{
WindowDef *n1 = (yyvsp[(2) - (4)].windef);
WindowDef *n2 = (yyvsp[(4) - (4)].windef);
/* form merged options */
int frameOptions = n1->frameOptions;
/* shift converts START_ options to END_ options */
frameOptions |= n2->frameOptions << 1;
frameOptions |= FRAMEOPTION_BETWEEN;
/* reject invalid cases */
if (frameOptions & FRAMEOPTION_START_UNBOUNDED_FOLLOWING)
ereport(ERROR,
(errcode(ERRCODE_WINDOWING_ERROR),
errmsg("frame start cannot be UNBOUNDED FOLLOWING"),
parser_errposition((yylsp[(2) - (4)]))));
if (frameOptions & FRAMEOPTION_END_UNBOUNDED_PRECEDING)
ereport(ERROR,
(errcode(ERRCODE_WINDOWING_ERROR),
errmsg("frame end cannot be UNBOUNDED PRECEDING"),
parser_errposition((yylsp[(4) - (4)]))));
if ((frameOptions & FRAMEOPTION_START_CURRENT_ROW) &&
(frameOptions & FRAMEOPTION_END_VALUE_PRECEDING))
ereport(ERROR,
(errcode(ERRCODE_WINDOWING_ERROR),
errmsg("frame starting from current row cannot have preceding rows"),
parser_errposition((yylsp[(4) - (4)]))));
if ((frameOptions & FRAMEOPTION_START_VALUE_FOLLOWING) &&
(frameOptions & (FRAMEOPTION_END_VALUE_PRECEDING |
FRAMEOPTION_END_CURRENT_ROW)))
ereport(ERROR,
(errcode(ERRCODE_WINDOWING_ERROR),
errmsg("frame starting from following row cannot have preceding rows"),
parser_errposition((yylsp[(4) - (4)]))));
n1->frameOptions = frameOptions;
n1->endOffset = n2->startOffset;
(yyval.windef) = n1;
;}
break;
case 1910:
#line 12792 "gram.y"
{
WindowDef *n = makeNode(WindowDef);
n->frameOptions = FRAMEOPTION_START_UNBOUNDED_PRECEDING;
n->startOffset = NULL;
n->endOffset = NULL;
(yyval.windef) = n;
;}
break;
case 1911:
#line 12800 "gram.y"
{
WindowDef *n = makeNode(WindowDef);
n->frameOptions = FRAMEOPTION_START_UNBOUNDED_FOLLOWING;
n->startOffset = NULL;
n->endOffset = NULL;
(yyval.windef) = n;
;}
break;
case 1912:
#line 12808 "gram.y"
{
WindowDef *n = makeNode(WindowDef);
n->frameOptions = FRAMEOPTION_START_CURRENT_ROW;
n->startOffset = NULL;
n->endOffset = NULL;
(yyval.windef) = n;
;}
break;
case 1913:
#line 12816 "gram.y"
{
WindowDef *n = makeNode(WindowDef);
n->frameOptions = FRAMEOPTION_START_VALUE_PRECEDING;
n->startOffset = (yyvsp[(1) - (2)].node);
n->endOffset = NULL;
(yyval.windef) = n;
;}
break;
case 1914:
#line 12824 "gram.y"
{
WindowDef *n = makeNode(WindowDef);
n->frameOptions = FRAMEOPTION_START_VALUE_FOLLOWING;
n->startOffset = (yyvsp[(1) - (2)].node);
n->endOffset = NULL;
(yyval.windef) = n;
;}
break;
case 1915:
#line 12844 "gram.y"
{ (yyval.list) = (yyvsp[(3) - (4)].list); ;}
break;
case 1916:
#line 12845 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1917:
#line 12846 "gram.y"
{ (yyval.list) = lappend((yyvsp[(2) - (5)].list), (yyvsp[(4) - (5)].node)); ;}
break;
case 1918:
#line 12849 "gram.y"
{ (yyval.list) = (yyvsp[(3) - (4)].list); ;}
break;
case 1919:
#line 12850 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1920:
#line 12853 "gram.y"
{ (yyval.list) = lappend((yyvsp[(2) - (5)].list), (yyvsp[(4) - (5)].node)); ;}
break;
case 1921:
#line 12856 "gram.y"
{ (yyval.ival) = ANY_SUBLINK; ;}
break;
case 1922:
#line 12857 "gram.y"
{ (yyval.ival) = ANY_SUBLINK; ;}
break;
case 1923:
#line 12858 "gram.y"
{ (yyval.ival) = ALL_SUBLINK; ;}
break;
case 1924:
#line 12861 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 1925:
#line 12862 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 1926:
#line 12865 "gram.y"
{ (yyval.str) = "+"; ;}
break;
case 1927:
#line 12866 "gram.y"
{ (yyval.str) = "-"; ;}
break;
case 1928:
#line 12867 "gram.y"
{ (yyval.str) = "*"; ;}
break;
case 1929:
#line 12868 "gram.y"
{ (yyval.str) = "/"; ;}
break;
case 1930:
#line 12869 "gram.y"
{ (yyval.str) = "%"; ;}
break;
case 1931:
#line 12870 "gram.y"
{ (yyval.str) = "^"; ;}
break;
case 1932:
#line 12871 "gram.y"
{ (yyval.str) = "<"; ;}
break;
case 1933:
#line 12872 "gram.y"
{ (yyval.str) = ">"; ;}
break;
case 1934:
#line 12873 "gram.y"
{ (yyval.str) = "="; ;}
break;
case 1935:
#line 12874 "gram.y"
{ (yyval.str) = "<="; ;}
break;
case 1936:
#line 12875 "gram.y"
{ (yyval.str) = ">="; ;}
break;
case 1937:
#line 12876 "gram.y"
{ (yyval.str) = "<>"; ;}
break;
case 1938:
#line 12877 "gram.y"
{ (yyval.str) = "?"; ;}
break;
case 1939:
#line 12881 "gram.y"
{ (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;}
break;
case 1940:
#line 12883 "gram.y"
{ (yyval.list) = (yyvsp[(3) - (4)].list); ;}
break;
case 1941:
#line 12888 "gram.y"
{ (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;}
break;
case 1942:
#line 12890 "gram.y"
{ (yyval.list) = (yyvsp[(3) - (4)].list); ;}
break;
case 1943:
#line 12895 "gram.y"
{ (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;}
break;
case 1944:
#line 12897 "gram.y"
{ (yyval.list) = (yyvsp[(3) - (4)].list); ;}
break;
case 1945:
#line 12899 "gram.y"
{ (yyval.list) = list_make1(makeString("~~")); ;}
break;
case 1946:
#line 12901 "gram.y"
{ (yyval.list) = list_make1(makeString("!~~")); ;}
break;
case 1947:
#line 12903 "gram.y"
{ (yyval.list) = list_make1(makeString("~~*")); ;}
break;
case 1948:
#line 12905 "gram.y"
{ (yyval.list) = list_make1(makeString("!~~*")); ;}
break;
case 1949:
#line 12917 "gram.y"
{
(yyval.list) = list_make1((yyvsp[(1) - (1)].node));
;}
break;
case 1950:
#line 12921 "gram.y"
{
(yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node));
;}
break;
case 1951:
#line 12928 "gram.y"
{
(yyval.list) = list_make1((yyvsp[(1) - (1)].node));
;}
break;
case 1952:
#line 12932 "gram.y"
{
(yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node));
;}
break;
case 1953:
#line 12938 "gram.y"
{
(yyval.node) = (yyvsp[(1) - (1)].node);
;}
break;
case 1954:
#line 12942 "gram.y"
{
NamedArgExpr *na = makeNode(NamedArgExpr);
na->name = (yyvsp[(1) - (3)].str);
na->arg = (Expr *) (yyvsp[(3) - (3)].node);
na->argnumber = -1; /* until determined */
na->location = (yylsp[(1) - (3)]);
(yyval.node) = (Node *) na;
;}
break;
case 1955:
#line 12951 "gram.y"
{
NamedArgExpr *na = makeNode(NamedArgExpr);
na->name = (yyvsp[(1) - (3)].str);
na->arg = (Expr *) (yyvsp[(3) - (3)].node);
na->argnumber = -1; /* until determined */
na->location = (yylsp[(1) - (3)]);
(yyval.node) = (Node *) na;
;}
break;
case 1956:
#line 12961 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].typnam)); ;}
break;
case 1957:
#line 12962 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typnam)); ;}
break;
case 1958:
#line 12966 "gram.y"
{
(yyval.node) = makeAArrayExpr((yyvsp[(2) - (3)].list), (yylsp[(1) - (3)]));
;}
break;
case 1959:
#line 12970 "gram.y"
{
(yyval.node) = makeAArrayExpr((yyvsp[(2) - (3)].list), (yylsp[(1) - (3)]));
;}
break;
case 1960:
#line 12974 "gram.y"
{
(yyval.node) = makeAArrayExpr(NIL, (yylsp[(1) - (2)]));
;}
break;
case 1961:
#line 12979 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 1962:
#line 12980 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;}
break;
case 1963:
#line 12986 "gram.y"
{
(yyval.list) = list_make2(makeStringConst((yyvsp[(1) - (3)].str), (yylsp[(1) - (3)])), (yyvsp[(3) - (3)].node));
;}
break;
case 1964:
#line 12990 "gram.y"
{
(yyval.list) = list_make2(makeParamRef(0, (yylsp[(1) - (3)])), (yyvsp[(3) - (3)].node));
;}
break;
case 1965:
#line 12993 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1966:
#line 13000 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 1967:
#line 13001 "gram.y"
{ (yyval.str) = "year"; ;}
break;
case 1968:
#line 13002 "gram.y"
{ (yyval.str) = "month"; ;}
break;
case 1969:
#line 13003 "gram.y"
{ (yyval.str) = "day"; ;}
break;
case 1970:
#line 13004 "gram.y"
{ (yyval.str) = "hour"; ;}
break;
case 1971:
#line 13005 "gram.y"
{ (yyval.str) = "minute"; ;}
break;
case 1972:
#line 13006 "gram.y"
{ (yyval.str) = "second"; ;}
break;
case 1973:
#line 13007 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 1974:
#line 13018 "gram.y"
{
(yyval.list) = list_make4((yyvsp[(1) - (4)].node), (yyvsp[(2) - (4)].node), (yyvsp[(3) - (4)].node), (yyvsp[(4) - (4)].node));
;}
break;
case 1975:
#line 13022 "gram.y"
{
(yyval.list) = list_make3((yyvsp[(1) - (3)].node), (yyvsp[(2) - (3)].node), (yyvsp[(3) - (3)].node));
;}
break;
case 1976:
#line 13029 "gram.y"
{ (yyval.node) = (yyvsp[(2) - (2)].node); ;}
break;
case 1977:
#line 13035 "gram.y"
{ (yyval.list) = list_make2((yyvsp[(3) - (3)].node), (yyvsp[(1) - (3)].node)); ;}
break;
case 1978:
#line 13036 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1979:
#line 13053 "gram.y"
{
(yyval.list) = list_make3((yyvsp[(1) - (3)].node), (yyvsp[(2) - (3)].node), (yyvsp[(3) - (3)].node));
;}
break;
case 1980:
#line 13057 "gram.y"
{
/* not legal per SQL99, but might as well allow it */
(yyval.list) = list_make3((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yyvsp[(2) - (3)].node));
;}
break;
case 1981:
#line 13062 "gram.y"
{
(yyval.list) = list_make2((yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].node));
;}
break;
case 1982:
#line 13066 "gram.y"
{
/*
* Since there are no cases where this syntax allows
* a textual FOR value, we forcibly cast the argument
* to int4. The possible matches in pg_proc are
* substring(text,int4) and substring(text,text),
* and we don't want the parser to choose the latter,
* which it is likely to do if the second argument
* is unknown or doesn't have an implicit cast to int4.
*/
(yyval.list) = list_make3((yyvsp[(1) - (2)].node), makeIntConst(1, -1),
makeTypeCast((yyvsp[(2) - (2)].node),
SystemTypeName("int4"), -1));
;}
break;
case 1983:
#line 13081 "gram.y"
{
(yyval.list) = (yyvsp[(1) - (1)].list);
;}
break;
case 1984:
#line 13085 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1985:
#line 13089 "gram.y"
{ (yyval.node) = (yyvsp[(2) - (2)].node); ;}
break;
case 1986:
#line 13092 "gram.y"
{ (yyval.node) = (yyvsp[(2) - (2)].node); ;}
break;
case 1987:
#line 13095 "gram.y"
{ (yyval.list) = lappend((yyvsp[(3) - (3)].list), (yyvsp[(1) - (3)].node)); ;}
break;
case 1988:
#line 13096 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (2)].list); ;}
break;
case 1989:
#line 13097 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 1990:
#line 13101 "gram.y"
{
SubLink *n = makeNode(SubLink);
n->subselect = (yyvsp[(1) - (1)].node);
/* other fields will be filled later */
(yyval.node) = (Node *)n;
;}
break;
case 1991:
#line 13107 "gram.y"
{ (yyval.node) = (Node *)(yyvsp[(2) - (3)].list); ;}
break;
case 1992:
#line 13118 "gram.y"
{
CaseExpr *c = makeNode(CaseExpr);
c->casetype = InvalidOid; /* not analyzed yet */
c->arg = (Expr *) (yyvsp[(2) - (5)].node);
c->args = (yyvsp[(3) - (5)].list);
c->defresult = (Expr *) (yyvsp[(4) - (5)].node);
c->location = (yylsp[(1) - (5)]);
(yyval.node) = (Node *)c;
;}
break;
case 1993:
#line 13131 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 1994:
#line 13132 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].node)); ;}
break;
case 1995:
#line 13137 "gram.y"
{
CaseWhen *w = makeNode(CaseWhen);
w->expr = (Expr *) (yyvsp[(2) - (4)].node);
w->result = (Expr *) (yyvsp[(4) - (4)].node);
w->location = (yylsp[(1) - (4)]);
(yyval.node) = (Node *)w;
;}
break;
case 1996:
#line 13147 "gram.y"
{ (yyval.node) = (yyvsp[(2) - (2)].node); ;}
break;
case 1997:
#line 13148 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 1998:
#line 13151 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 1999:
#line 13152 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 2000:
#line 13156 "gram.y"
{
(yyval.node) = makeColumnRef((yyvsp[(1) - (1)].str), NIL, (yylsp[(1) - (1)]), yyscanner);
;}
break;
case 2001:
#line 13160 "gram.y"
{
(yyval.node) = makeColumnRef((yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].list), (yylsp[(1) - (2)]), yyscanner);
;}
break;
case 2002:
#line 13167 "gram.y"
{
(yyval.node) = (Node *) makeString((yyvsp[(2) - (2)].str));
;}
break;
case 2003:
#line 13171 "gram.y"
{
(yyval.node) = (Node *) makeNode(A_Star);
;}
break;
case 2004:
#line 13175 "gram.y"
{
A_Indices *ai = makeNode(A_Indices);
ai->lidx = NULL;
ai->uidx = (yyvsp[(2) - (3)].node);
(yyval.node) = (Node *) ai;
;}
break;
case 2005:
#line 13182 "gram.y"
{
A_Indices *ai = makeNode(A_Indices);
ai->lidx = (yyvsp[(2) - (5)].node);
ai->uidx = (yyvsp[(4) - (5)].node);
(yyval.node) = (Node *) ai;
;}
break;
case 2006:
#line 13191 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 2007:
#line 13192 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].node)); ;}
break;
case 2008:
#line 13196 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 2009:
#line 13197 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].node)); ;}
break;
case 2012:
#line 13212 "gram.y"
{ (yyval.node) = (Node *) (yyvsp[(1) - (1)].node); ;}
break;
case 2013:
#line 13214 "gram.y"
{
SetToDefault *n = makeNode(SetToDefault);
n->location = (yylsp[(1) - (1)]);
(yyval.node) = (Node *) n;
;}
break;
case 2014:
#line 13222 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 2015:
#line 13223 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;}
break;
case 2016:
#line 13231 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (3)].list); ;}
break;
case 2017:
#line 13241 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 2018:
#line 13242 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 2019:
#line 13246 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].target)); ;}
break;
case 2020:
#line 13247 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].target)); ;}
break;
case 2021:
#line 13251 "gram.y"
{
(yyval.target) = makeNode(ResTarget);
(yyval.target)->name = (yyvsp[(3) - (3)].str);
(yyval.target)->indirection = NIL;
(yyval.target)->val = (Node *)(yyvsp[(1) - (3)].node);
(yyval.target)->location = (yylsp[(1) - (3)]);
;}
break;
case 2022:
#line 13267 "gram.y"
{
(yyval.target) = makeNode(ResTarget);
(yyval.target)->name = (yyvsp[(2) - (2)].str);
(yyval.target)->indirection = NIL;
(yyval.target)->val = (Node *)(yyvsp[(1) - (2)].node);
(yyval.target)->location = (yylsp[(1) - (2)]);
;}
break;
case 2023:
#line 13275 "gram.y"
{
(yyval.target) = makeNode(ResTarget);
(yyval.target)->name = NULL;
(yyval.target)->indirection = NIL;
(yyval.target)->val = (Node *)(yyvsp[(1) - (1)].node);
(yyval.target)->location = (yylsp[(1) - (1)]);
;}
break;
case 2024:
#line 13283 "gram.y"
{
ColumnRef *n = makeNode(ColumnRef);
n->fields = list_make1(makeNode(A_Star));
n->location = (yylsp[(1) - (1)]);
(yyval.target) = makeNode(ResTarget);
(yyval.target)->name = NULL;
(yyval.target)->indirection = NIL;
(yyval.target)->val = (Node *)n;
(yyval.target)->location = (yylsp[(1) - (1)]);
;}
break;
case 2025:
#line 13304 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].range)); ;}
break;
case 2026:
#line 13305 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].range)); ;}
break;
case 2027:
#line 13317 "gram.y"
{
(yyval.range) = makeRangeVar(NULL, (yyvsp[(1) - (1)].str), (yylsp[(1) - (1)]));
;}
break;
case 2028:
#line 13321 "gram.y"
{
check_qualified_name((yyvsp[(2) - (2)].list), yyscanner);
(yyval.range) = makeRangeVar(NULL, NULL, (yylsp[(1) - (2)]));
switch (list_length((yyvsp[(2) - (2)].list)))
{
case 1:
(yyval.range)->catalogname = NULL;
(yyval.range)->schemaname = (yyvsp[(1) - (2)].str);
(yyval.range)->relname = strVal(linitial((yyvsp[(2) - (2)].list)));
break;
case 2:
(yyval.range)->catalogname = (yyvsp[(1) - (2)].str);
(yyval.range)->schemaname = strVal(linitial((yyvsp[(2) - (2)].list)));
(yyval.range)->relname = strVal(lsecond((yyvsp[(2) - (2)].list)));
break;
default:
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("improper qualified name (too many dotted names): %s",
NameListToString(lcons(makeString((yyvsp[(1) - (2)].str)), (yyvsp[(2) - (2)].list)))),
parser_errposition((yylsp[(1) - (2)]))));
break;
}
;}
break;
case 2029:
#line 13348 "gram.y"
{ (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;}
break;
case 2030:
#line 13350 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), makeString((yyvsp[(3) - (3)].str))); ;}
break;
case 2031:
#line 13354 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 2032:
#line 13357 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 2033:
#line 13360 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 2034:
#line 13362 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 2035:
#line 13364 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 2036:
#line 13366 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 2037:
#line 13377 "gram.y"
{ (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;}
break;
case 2038:
#line 13379 "gram.y"
{
(yyval.list) = check_func_name(lcons(makeString((yyvsp[(1) - (2)].str)), (yyvsp[(2) - (2)].list)),
yyscanner);
;}
break;
case 2039:
#line 13390 "gram.y"
{
(yyval.node) = makeIntConst((yyvsp[(1) - (1)].ival), (yylsp[(1) - (1)]));
;}
break;
case 2040:
#line 13394 "gram.y"
{
(yyval.node) = makeFloatConst((yyvsp[(1) - (1)].str), (yylsp[(1) - (1)]));
;}
break;
case 2041:
#line 13398 "gram.y"
{
(yyval.node) = makeStringConst((yyvsp[(1) - (1)].str), (yylsp[(1) - (1)]));
;}
break;
case 2042:
#line 13402 "gram.y"
{
(yyval.node) = makeBitStringConst((yyvsp[(1) - (1)].str), (yylsp[(1) - (1)]));
;}
break;
case 2043:
#line 13406 "gram.y"
{
/* This is a bit constant per SQL99:
* Without Feature F511, "BIT data type",
* a <general literal> shall not be a
* <bit string literal> or a <hex string literal>.
*/
(yyval.node) = makeBitStringConst((yyvsp[(1) - (1)].str), (yylsp[(1) - (1)]));
;}
break;
case 2044:
#line 13415 "gram.y"
{
/* generic type 'literal' syntax */
TypeName *t = makeTypeNameFromNameList((yyvsp[(1) - (2)].list));
t->location = (yylsp[(1) - (2)]);
(yyval.node) = makeStringConstCast((yyvsp[(2) - (2)].str), (yylsp[(2) - (2)]), t);
;}
break;
case 2045:
#line 13422 "gram.y"
{
/* generic syntax with a type modifier */
TypeName *t = makeTypeNameFromNameList((yyvsp[(1) - (6)].list));
ListCell *lc;
/*
* We must use func_arg_list and opt_sort_clause in the
* production to avoid reduce/reduce conflicts, but we
* don't actually wish to allow NamedArgExpr in this
* context, nor ORDER BY.
*/
foreach(lc, (yyvsp[(3) - (6)].list))
{
NamedArgExpr *arg = (NamedArgExpr *) lfirst(lc);
if (IsA(arg, NamedArgExpr))
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("type modifier cannot have parameter name"),
parser_errposition(arg->location)));
}
if ((yyvsp[(4) - (6)].list) != NIL)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("type modifier cannot have ORDER BY"),
parser_errposition((yylsp[(4) - (6)]))));
t->typmods = (yyvsp[(3) - (6)].list);
t->location = (yylsp[(1) - (6)]);
(yyval.node) = makeStringConstCast((yyvsp[(6) - (6)].str), (yylsp[(6) - (6)]), t);
;}
break;
case 2046:
#line 13454 "gram.y"
{
(yyval.node) = makeStringConstCast((yyvsp[(2) - (2)].str), (yylsp[(2) - (2)]), (yyvsp[(1) - (2)].typnam));
;}
break;
case 2047:
#line 13458 "gram.y"
{
TypeName *t = (yyvsp[(1) - (3)].typnam);
t->typmods = (yyvsp[(3) - (3)].list);
(yyval.node) = makeStringConstCast((yyvsp[(2) - (3)].str), (yylsp[(2) - (3)]), t);
;}
break;
case 2048:
#line 13464 "gram.y"
{
TypeName *t = (yyvsp[(1) - (5)].typnam);
t->typmods = list_make2(makeIntConst(INTERVAL_FULL_RANGE, -1),
makeIntConst((yyvsp[(3) - (5)].ival), (yylsp[(3) - (5)])));
(yyval.node) = makeStringConstCast((yyvsp[(5) - (5)].str), (yylsp[(5) - (5)]), t);
;}
break;
case 2049:
#line 13472 "gram.y"
{
TypeName *t = (yyvsp[(1) - (6)].typnam);
if ((yyvsp[(6) - (6)].list) != NIL)
{
t->typmods = lappend((yyvsp[(6) - (6)].list), makeParamRef(0, (yylsp[(3) - (6)])));
}
else
t->typmods = list_make2(makeIntConst(INTERVAL_FULL_RANGE, -1),
makeParamRef(0, (yylsp[(3) - (6)])));
(yyval.node) = makeParamRefCast(0, (yylsp[(5) - (6)]), t);
;}
break;
case 2050:
#line 13484 "gram.y"
{
(yyval.node) = makeBoolAConst(TRUE, (yylsp[(1) - (1)]));
;}
break;
case 2051:
#line 13488 "gram.y"
{
(yyval.node) = makeBoolAConst(FALSE, (yylsp[(1) - (1)]));
;}
break;
case 2052:
#line 13492 "gram.y"
{
(yyval.node) = makeNullAConst((yylsp[(1) - (1)]));
;}
break;
case 2053:
#line 13497 "gram.y"
{ (yyval.ival) = (yyvsp[(1) - (1)].ival); ;}
break;
case 2054:
#line 13498 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 2055:
#line 13500 "gram.y"
{ (yyval.ival) = (yyvsp[(1) - (1)].ival); ;}
break;
case 2056:
#line 13501 "gram.y"
{ (yyval.ival) = + (yyvsp[(2) - (2)].ival); ;}
break;
case 2057:
#line 13502 "gram.y"
{ (yyval.ival) = - (yyvsp[(2) - (2)].ival); ;}
break;
case 2058:
#line 13507 "gram.y"
{
RoleSpec *spc = (RoleSpec *) (yyvsp[(1) - (1)].node);
switch (spc->roletype)
{
case ROLESPEC_CSTRING:
(yyval.str) = spc->rolename;
break;
case ROLESPEC_PUBLIC:
ereport(ERROR,
(errcode(ERRCODE_RESERVED_NAME),
errmsg("role name \"%s\" is reserved",
"public"),
parser_errposition((yylsp[(1) - (1)]))));
case ROLESPEC_SESSION_USER:
ereport(ERROR,
(errcode(ERRCODE_RESERVED_NAME),
errmsg("%s cannot be used as a role name here",
"SESSION_USER"),
parser_errposition((yylsp[(1) - (1)]))));
case ROLESPEC_CURRENT_USER:
ereport(ERROR,
(errcode(ERRCODE_RESERVED_NAME),
errmsg("%s cannot be used as a role name here",
"CURRENT_USER"),
parser_errposition((yylsp[(1) - (1)]))));
}
;}
break;
case 2059:
#line 13537 "gram.y"
{
/*
* "public" and "none" are not keywords, but they must
* be treated specially here.
*/
RoleSpec *n;
if (strcmp((yyvsp[(1) - (1)].str), "public") == 0)
{
n = (RoleSpec *) makeRoleSpec(ROLESPEC_PUBLIC, (yylsp[(1) - (1)]));
n->roletype = ROLESPEC_PUBLIC;
}
else if (strcmp((yyvsp[(1) - (1)].str), "none") == 0)
{
ereport(ERROR,
(errcode(ERRCODE_RESERVED_NAME),
errmsg("role name \"%s\" is reserved",
"none"),
parser_errposition((yylsp[(1) - (1)]))));
}
else
{
n = (RoleSpec *) makeRoleSpec(ROLESPEC_CSTRING, (yylsp[(1) - (1)]));
n->rolename = pstrdup((yyvsp[(1) - (1)].str));
}
(yyval.node) = (Node *) n;
;}
break;
case 2060:
#line 13564 "gram.y"
{
(yyval.node) = makeRoleSpec(ROLESPEC_CURRENT_USER, (yylsp[(1) - (1)]));
;}
break;
case 2061:
#line 13568 "gram.y"
{
(yyval.node) = makeRoleSpec(ROLESPEC_SESSION_USER, (yylsp[(1) - (1)]));
;}
break;
case 2062:
#line 13574 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 2063:
#line 13576 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;}
break;
case 2064:
#line 13582 "gram.y"
{ (yyval.node) = makeIntConst((yyvsp[(1) - (1)].ival), (yylsp[(1) - (1)])); ;}
break;
case 2065:
#line 13583 "gram.y"
{ (yyval.node) = makeParamRef( 0, (yylsp[(1) - (1)])); ;}
break;
case 2066:
#line 13586 "gram.y"
{ (yyval.node) = makeStringConst((yyvsp[(1) - (1)].str), (yylsp[(1) - (1)])); ;}
break;
case 2067:
#line 13587 "gram.y"
{ (yyval.node) = makeParamRef( 0, (yylsp[(1) - (1)])); ;}
break;
case 2068:
#line 13590 "gram.y"
{ (yyval.node) = (Node *) makeString((yyvsp[(1) - (1)].str)); ;}
break;
case 2069:
#line 13591 "gram.y"
{ (yyval.node) = makeParamRef( 0, (yylsp[(1) - (1)])); ;}
break;
case 2070:
#line 13594 "gram.y"
{ (yyval.node) = makeStringConst((yyvsp[(1) - (1)].str), (yylsp[(1) - (1)])); ;}
break;
case 2071:
#line 13595 "gram.y"
{ (yyval.node) = makeParamRef( 0, (yylsp[(1) - (1)])); ;}
break;
case 2072:
#line 13611 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 2073:
#line 13612 "gram.y"
{ (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
break;
case 2074:
#line 13613 "gram.y"
{ (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
break;
case 2075:
#line 13618 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 2076:
#line 13619 "gram.y"
{ (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
break;
case 2077:
#line 13620 "gram.y"
{ (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
break;
case 2078:
#line 13625 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 2079:
#line 13626 "gram.y"
{ (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
break;
case 2080:
#line 13627 "gram.y"
{ (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
break;
case 2081:
#line 13628 "gram.y"
{ (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
break;
case 2082:
#line 13634 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 2083:
#line 13635 "gram.y"
{ (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
break;
case 2084:
#line 13636 "gram.y"
{ (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
break;
case 2085:
#line 13637 "gram.y"
{ (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
break;
case 2086:
#line 13638 "gram.y"
{ (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
break;
/* Line 1267 of yacc.c. */
#line 40777 "gram.c"
default: break;
}
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
YYPOPSTACK (yylen);
yylen = 0;
YY_STACK_PRINT (yyss, yyssp);
*++yyvsp = yyval;
*++yylsp = yyloc;
/* Now `shift' the result of the reduction. Determine what state
that goes to, based on the state we popped back to and the rule
number reduced by. */
yyn = yyr1[yyn];
yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
yystate = yytable[yystate];
else
yystate = yydefgoto[yyn - YYNTOKENS];
goto yynewstate;
/*------------------------------------.
| yyerrlab -- here on detecting error |
`------------------------------------*/
yyerrlab:
/* If not already recovering from an error, report this error. */
if (!yyerrstatus)
{
++yynerrs;
#if ! YYERROR_VERBOSE
yyerror (&yylloc, yyscanner, YY_("syntax error"));
#else
{
YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
{
YYSIZE_T yyalloc = 2 * yysize;
if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
yyalloc = YYSTACK_ALLOC_MAXIMUM;
if (yymsg != yymsgbuf)
YYSTACK_FREE (yymsg);
yymsg = (char *) YYSTACK_ALLOC (yyalloc);
if (yymsg)
yymsg_alloc = yyalloc;
else
{
yymsg = yymsgbuf;
yymsg_alloc = sizeof yymsgbuf;
}
}
if (0 < yysize && yysize <= yymsg_alloc)
{
(void) yysyntax_error (yymsg, yystate, yychar);
yyerror (&yylloc, yyscanner, yymsg);
}
else
{
yyerror (&yylloc, yyscanner, YY_("syntax error"));
if (yysize != 0)
goto yyexhaustedlab;
}
}
#endif
}
yyerror_range[0] = yylloc;
if (yyerrstatus == 3)
{
/* If just tried and failed to reuse look-ahead token after an
error, discard it. */
if (yychar <= YYEOF)
{
/* Return failure if at end of input. */
if (yychar == YYEOF)
YYABORT;
}
else
{
yydestruct ("Error: discarding",
yytoken, &yylval, &yylloc, yyscanner);
yychar = YYEMPTY;
}
}
/* Else will try to reuse look-ahead token after shifting the error
token. */
goto yyerrlab1;
/*---------------------------------------------------.
| yyerrorlab -- error raised explicitly by YYERROR. |
`---------------------------------------------------*/
yyerrorlab:
/* Pacify compilers like GCC when the user code never invokes
YYERROR and the label yyerrorlab therefore never appears in user
code. */
if (/*CONSTCOND*/ 0)
goto yyerrorlab;
yyerror_range[0] = yylsp[1-yylen];
/* Do not reclaim the symbols of the rule which action triggered
this YYERROR. */
YYPOPSTACK (yylen);
yylen = 0;
YY_STACK_PRINT (yyss, yyssp);
yystate = *yyssp;
goto yyerrlab1;
/*-------------------------------------------------------------.
| yyerrlab1 -- common code for both syntax error and YYERROR. |
`-------------------------------------------------------------*/
yyerrlab1:
yyerrstatus = 3; /* Each real token shifted decrements this. */
for (;;)
{
yyn = yypact[yystate];
if (yyn != YYPACT_NINF)
{
yyn += YYTERROR;
if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
{
yyn = yytable[yyn];
if (0 < yyn)
break;
}
}
/* Pop the current state because it cannot handle the error token. */
if (yyssp == yyss)
YYABORT;
yyerror_range[0] = *yylsp;
yydestruct ("Error: popping",
yystos[yystate], yyvsp, yylsp, yyscanner);
YYPOPSTACK (1);
yystate = *yyssp;
YY_STACK_PRINT (yyss, yyssp);
}
if (yyn == YYFINAL)
YYACCEPT;
*++yyvsp = yylval;
yyerror_range[1] = yylloc;
/* Using YYLLOC is tempting, but would change the location of
the look-ahead. YYLOC is available though. */
YYLLOC_DEFAULT (yyloc, (yyerror_range - 1), 2);
*++yylsp = yyloc;
/* Shift the error token. */
YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
yystate = yyn;
goto yynewstate;
/*-------------------------------------.
| yyacceptlab -- YYACCEPT comes here. |
`-------------------------------------*/
yyacceptlab:
yyresult = 0;
goto yyreturn;
/*-----------------------------------.
| yyabortlab -- YYABORT comes here. |
`-----------------------------------*/
yyabortlab:
yyresult = 1;
goto yyreturn;
#ifndef yyoverflow
/*-------------------------------------------------.
| yyexhaustedlab -- memory exhaustion comes here. |
`-------------------------------------------------*/
yyexhaustedlab:
yyerror (&yylloc, yyscanner, YY_("memory exhausted"));
yyresult = 2;
/* Fall through. */
#endif
yyreturn:
if (yychar != YYEOF && yychar != YYEMPTY)
yydestruct ("Cleanup: discarding lookahead",
yytoken, &yylval, &yylloc, yyscanner);
/* Do not reclaim the symbols of the rule which action triggered
this YYABORT or YYACCEPT. */
YYPOPSTACK (yylen);
YY_STACK_PRINT (yyss, yyssp);
while (yyssp != yyss)
{
yydestruct ("Cleanup: popping",
yystos[*yyssp], yyvsp, yylsp, yyscanner);
YYPOPSTACK (1);
}
#ifndef yyoverflow
if (yyss != yyssa)
YYSTACK_FREE (yyss);
#endif
#if YYERROR_VERBOSE
if (yymsg != yymsgbuf)
YYSTACK_FREE (yymsg);
#endif
/* Make sure YYID is used. */
return YYID (yyresult);
}
#line 14111 "gram.y"
/*
* The signature of this function is required by bison. However, we
* ignore the passed yylloc and instead use the last token position
* available from the scanner.
*/
static void
base_yyerror(YYLTYPE *yylloc, core_yyscan_t yyscanner, const char *msg)
{
parser_yyerror(msg);
}
static Node *
makeColumnRef(char *colname, List *indirection,
int location, core_yyscan_t yyscanner)
{
/*
* Generate a ColumnRef node, with an A_Indirection node added if there
* is any subscripting in the specified indirection list. However,
* any field selection at the start of the indirection list must be
* transposed into the "fields" part of the ColumnRef node.
*/
ColumnRef *c = makeNode(ColumnRef);
int nfields = 0;
ListCell *l;
c->location = location;
foreach(l, indirection)
{
if (IsA(lfirst(l), A_Indices))
{
A_Indirection *i = makeNode(A_Indirection);
if (nfields == 0)
{
/* easy case - all indirection goes to A_Indirection */
c->fields = list_make1(makeString(colname));
i->indirection = check_indirection(indirection, yyscanner);
}
else
{
/* got to split the list in two */
i->indirection = check_indirection(list_copy_tail(indirection,
nfields),
yyscanner);
indirection = list_truncate(indirection, nfields);
c->fields = lcons(makeString(colname), indirection);
}
i->arg = (Node *) c;
return (Node *) i;
}
else if (IsA(lfirst(l), A_Star))
{
/* We only allow '*' at the end of a ColumnRef */
if (lnext(l) != NULL)
parser_yyerror("improper use of \"*\"");
}
nfields++;
}
/* No subscripting, so all indirection gets added to field list */
c->fields = lcons(makeString(colname), indirection);
return (Node *) c;
}
static Node *
makeTypeCast(Node *arg, TypeName *typename, int location)
{
TypeCast *n = makeNode(TypeCast);
n->arg = arg;
n->typeName = typename;
n->location = location;
return (Node *) n;
}
static Node *
makeStringConst(char *str, int location)
{
A_Const *n = makeNode(A_Const);
n->val.type = T_String;
n->val.val.str = str;
n->location = location;
return (Node *)n;
}
static Node *
makeStringConstCast(char *str, int location, TypeName *typename)
{
Node *s = makeStringConst(str, location);
return makeTypeCast(s, typename, -1);
}
static Node *
makeIntConst(int val, int location)
{
A_Const *n = makeNode(A_Const);
n->val.type = T_Integer;
n->val.val.ival = val;
n->location = location;
return (Node *)n;
}
static Node *
makeFloatConst(char *str, int location)
{
A_Const *n = makeNode(A_Const);
n->val.type = T_Float;
n->val.val.str = str;
n->location = location;
return (Node *)n;
}
static Node *
makeBitStringConst(char *str, int location)
{
A_Const *n = makeNode(A_Const);
n->val.type = T_BitString;
n->val.val.str = str;
n->location = location;
return (Node *)n;
}
static Node *
makeNullAConst(int location)
{
A_Const *n = makeNode(A_Const);
n->val.type = T_Null;
n->location = location;
return (Node *)n;
}
static Node *
makeAConst(Value *v, int location)
{
Node *n;
switch (v->type)
{
case T_Float:
n = makeFloatConst(v->val.str, location);
break;
case T_Integer:
n = makeIntConst(v->val.ival, location);
break;
case T_String:
default:
n = makeStringConst(v->val.str, location);
break;
}
return n;
}
/* makeBoolAConst()
* Create an A_Const string node and put it inside a boolean cast.
*/
static Node *
makeBoolAConst(bool state, int location)
{
A_Const *n = makeNode(A_Const);
n->val.type = T_String;
n->val.val.str = (state ? "t" : "f");
n->location = location;
return makeTypeCast((Node *)n, SystemTypeName("bool"), -1);
}
/* makeParamRef
* Creates a new ParamRef node
*/
static Node* makeParamRef(int number, int location)
{
ParamRef *p = makeNode(ParamRef);
p->number = number;
p->location = location;
return (Node *) p;
}
static Node *
makeParamRefCast(int number, int location, TypeName *typename)
{
Node *p = makeParamRef(number, location);
return makeTypeCast(p, typename, -1);
}
/*
* Makes INTERVAL-like nodes for "INTERVAL ? typemod", otherwise treat as A_EXPR
*/
static Node *
makeInterval_or_AExprOp(Node *lexpr, Node *rexpr, int location)
{
if (lexpr && IsA(lexpr, ColumnRef)) {
ColumnRef *c = (ColumnRef *) lexpr;
if (strcmp(strVal(linitial(c->fields)), "interval") == 0 ) {
TypeName *t = SystemTypeName("interval");
t->location = c->location;
/* Its too difficult to tell the parser to give us the right typemod,
* just use a dummy one if present
*/
if (rexpr)
t->typmods = list_make1(makeIntConst(0, -1));
return makeParamRefCast(0, location, t);
}
}
return (Node *) makeA_Expr(AEXPR_OP, list_make1(makeString("?")), lexpr, rexpr, location);
}
/* makeRoleSpec
* Create a RoleSpec with the given type
*/
static Node *
makeRoleSpec(RoleSpecType type, int location)
{
RoleSpec *spec = makeNode(RoleSpec);
spec->roletype = type;
spec->location = location;
return (Node *) spec;
}
/* check_qualified_name --- check the result of qualified_name production
*
* It's easiest to let the grammar production for qualified_name allow
* subscripts and '*', which we then must reject here.
*/
static void
check_qualified_name(List *names, core_yyscan_t yyscanner)
{
ListCell *i;
foreach(i, names)
{
if (!IsA(lfirst(i), String))
parser_yyerror("syntax error");
}
}
/* check_func_name --- check the result of func_name production
*
* It's easiest to let the grammar production for func_name allow subscripts
* and '*', which we then must reject here.
*/
static List *
check_func_name(List *names, core_yyscan_t yyscanner)
{
ListCell *i;
foreach(i, names)
{
if (!IsA(lfirst(i), String))
parser_yyerror("syntax error");
}
return names;
}
/* check_indirection --- check the result of indirection production
*
* We only allow '*' at the end of the list, but it's hard to enforce that
* in the grammar, so do it here.
*/
static List *
check_indirection(List *indirection, core_yyscan_t yyscanner)
{
ListCell *l;
foreach(l, indirection)
{
if (IsA(lfirst(l), A_Star))
{
if (lnext(l) != NULL)
parser_yyerror("improper use of \"*\"");
}
}
return indirection;
}
/* extractArgTypes()
* Given a list of FunctionParameter nodes, extract a list of just the
* argument types (TypeNames) for input parameters only. This is what
* is needed to look up an existing function, which is what is wanted by
* the productions that use this call.
*/
static List *
extractArgTypes(List *parameters)
{
List *result = NIL;
ListCell *i;
foreach(i, parameters)
{
FunctionParameter *p = (FunctionParameter *) lfirst(i);
if (p->mode != FUNC_PARAM_OUT && p->mode != FUNC_PARAM_TABLE)
result = lappend(result, p->argType);
}
return result;
}
/* extractAggrArgTypes()
* As above, but work from the output of the aggr_args production.
*/
static List *
extractAggrArgTypes(List *aggrargs)
{
Assert(list_length(aggrargs) == 2);
return extractArgTypes((List *) linitial(aggrargs));
}
/* makeOrderedSetArgs()
* Build the result of the aggr_args production (which see the comments for).
* This handles only the case where both given lists are nonempty, so that
* we have to deal with multiple VARIADIC arguments.
*/
static List *
makeOrderedSetArgs(List *directargs, List *orderedargs,
core_yyscan_t yyscanner)
{
FunctionParameter *lastd = (FunctionParameter *) llast(directargs);
int ndirectargs;
/* No restriction unless last direct arg is VARIADIC */
if (lastd->mode == FUNC_PARAM_VARIADIC)
{
FunctionParameter *firsto = (FunctionParameter *) linitial(orderedargs);
/*
* We ignore the names, though the aggr_arg production allows them;
* it doesn't allow default values, so those need not be checked.
*/
if (list_length(orderedargs) != 1 ||
firsto->mode != FUNC_PARAM_VARIADIC ||
!equal(lastd->argType, firsto->argType))
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
errmsg("an ordered-set aggregate with a VARIADIC direct argument must have one VARIADIC aggregated argument of the same data type"),
parser_errposition(exprLocation((Node *) firsto))));
/* OK, drop the duplicate VARIADIC argument from the internal form */
orderedargs = NIL;
}
/* don't merge into the next line, as list_concat changes directargs */
ndirectargs = list_length(directargs);
return list_make2(list_concat(directargs, orderedargs),
makeInteger(ndirectargs));
}
/* insertSelectOptions()
* Insert ORDER BY, etc into an already-constructed SelectStmt.
*
* This routine is just to avoid duplicating code in SelectStmt productions.
*/
static void
insertSelectOptions(SelectStmt *stmt,
List *sortClause, List *lockingClause,
Node *limitOffset, Node *limitCount,
WithClause *withClause,
core_yyscan_t yyscanner)
{
Assert(IsA(stmt, SelectStmt));
/*
* Tests here are to reject constructs like
* (SELECT foo ORDER BY bar) ORDER BY baz
*/
if (sortClause)
{
if (stmt->sortClause)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("multiple ORDER BY clauses not allowed"),
parser_errposition(exprLocation((Node *) sortClause))));
stmt->sortClause = sortClause;
}
/* We can handle multiple locking clauses, though */
stmt->lockingClause = list_concat(stmt->lockingClause, lockingClause);
if (limitOffset)
{
if (stmt->limitOffset)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("multiple OFFSET clauses not allowed"),
parser_errposition(exprLocation(limitOffset))));
stmt->limitOffset = limitOffset;
}
if (limitCount)
{
if (stmt->limitCount)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("multiple LIMIT clauses not allowed"),
parser_errposition(exprLocation(limitCount))));
stmt->limitCount = limitCount;
}
if (withClause)
{
if (stmt->withClause)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("multiple WITH clauses not allowed"),
parser_errposition(exprLocation((Node *) withClause))));
stmt->withClause = withClause;
}
}
static Node *
makeSetOp(SetOperation op, bool all, Node *larg, Node *rarg)
{
SelectStmt *n = makeNode(SelectStmt);
n->op = op;
n->all = all;
n->larg = (SelectStmt *) larg;
n->rarg = (SelectStmt *) rarg;
return (Node *) n;
}
/* SystemFuncName()
* Build a properly-qualified reference to a built-in function.
*/
List *
SystemFuncName(char *name)
{
return list_make2(makeString("pg_catalog"), makeString(name));
}
/* SystemTypeName()
* Build a properly-qualified reference to a built-in type.
*
* typmod is defaulted, but may be changed afterwards by caller.
* Likewise for the location.
*/
TypeName *
SystemTypeName(char *name)
{
return makeTypeNameFromNameList(list_make2(makeString("pg_catalog"),
makeString(name)));
}
/* doNegate()
* Handle negation of a numeric constant.
*
* Formerly, we did this here because the optimizer couldn't cope with
* indexquals that looked like "var = -4" --- it wants "var = const"
* and a unary minus operator applied to a constant didn't qualify.
* As of Postgres 7.0, that problem doesn't exist anymore because there
* is a constant-subexpression simplifier in the optimizer. However,
* there's still a good reason for doing this here, which is that we can
* postpone committing to a particular internal representation for simple
* negative constants. It's better to leave "-123.456" in string form
* until we know what the desired type is.
*/
static Node *
doNegate(Node *n, int location)
{
if (IsA(n, A_Const))
{
A_Const *con = (A_Const *)n;
/* report the constant's location as that of the '-' sign */
con->location = location;
if (con->val.type == T_Integer)
{
con->val.val.ival = -con->val.val.ival;
return n;
}
if (con->val.type == T_Float)
{
doNegateFloat(&con->val);
return n;
}
}
return (Node *) makeSimpleA_Expr(AEXPR_OP, "-", NULL, n, location);
}
static void
doNegateFloat(Value *v)
{
char *oldval = v->val.str;
Assert(IsA(v, Float));
if (*oldval == '+')
oldval++;
if (*oldval == '-')
v->val.str = oldval+1; /* just strip the '-' */
else
v->val.str = psprintf("-%s", oldval);
}
static Node *
makeAndExpr(Node *lexpr, Node *rexpr, int location)
{
/* Flatten "a AND b AND c ..." to a single BoolExpr on sight */
if (IsA(lexpr, BoolExpr))
{
BoolExpr *blexpr = (BoolExpr *) lexpr;
if (blexpr->boolop == AND_EXPR)
{
blexpr->args = lappend(blexpr->args, rexpr);
return (Node *) blexpr;
}
}
return (Node *) makeBoolExpr(AND_EXPR, list_make2(lexpr, rexpr), location);
}
static Node *
makeOrExpr(Node *lexpr, Node *rexpr, int location)
{
/* Flatten "a OR b OR c ..." to a single BoolExpr on sight */
if (IsA(lexpr, BoolExpr))
{
BoolExpr *blexpr = (BoolExpr *) lexpr;
if (blexpr->boolop == OR_EXPR)
{
blexpr->args = lappend(blexpr->args, rexpr);
return (Node *) blexpr;
}
}
return (Node *) makeBoolExpr(OR_EXPR, list_make2(lexpr, rexpr), location);
}
static Node *
makeNotExpr(Node *expr, int location)
{
return (Node *) makeBoolExpr(NOT_EXPR, list_make1(expr), location);
}
static Node *
makeAArrayExpr(List *elements, int location)
{
A_ArrayExpr *n = makeNode(A_ArrayExpr);
n->elements = elements;
n->location = location;
return (Node *) n;
}
static Node *
makeXmlExpr(XmlExprOp op, char *name, List *named_args, List *args,
int location)
{
XmlExpr *x = makeNode(XmlExpr);
x->op = op;
x->name = name;
/*
* named_args is a list of ResTarget; it'll be split apart into separate
* expression and name lists in transformXmlExpr().
*/
x->named_args = named_args;
x->arg_names = NIL;
x->args = args;
/* xmloption, if relevant, must be filled in by caller */
/* type and typmod will be filled in during parse analysis */
x->type = InvalidOid; /* marks the node as not analyzed */
x->location = location;
return (Node *) x;
}
/*
* Merge the input and output parameters of a table function.
*/
static List *
mergeTableFuncParameters(List *func_args, List *columns)
{
ListCell *lc;
/* Explicit OUT and INOUT parameters shouldn't be used in this syntax */
foreach(lc, func_args)
{
FunctionParameter *p = (FunctionParameter *) lfirst(lc);
if (p->mode != FUNC_PARAM_IN && p->mode != FUNC_PARAM_VARIADIC)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("OUT and INOUT arguments aren't allowed in TABLE functions")));
}
return list_concat(func_args, columns);
}
/*
* Determine return type of a TABLE function. A single result column
* returns setof that column's type; otherwise return setof record.
*/
static TypeName *
TableFuncTypeName(List *columns)
{
TypeName *result;
if (list_length(columns) == 1)
{
FunctionParameter *p = (FunctionParameter *) linitial(columns);
result = (TypeName *) copyObject(p->argType);
}
else
result = SystemTypeName("record");
result->setof = true;
return result;
}
/*
* Convert a list of (dotted) names to a RangeVar (like
* makeRangeVarFromNameList, but with position support). The
* "AnyName" refers to the any_name production in the grammar.
*/
static RangeVar *
makeRangeVarFromAnyName(List *names, int position, core_yyscan_t yyscanner)
{
RangeVar *r = makeNode(RangeVar);
switch (list_length(names))
{
case 1:
r->catalogname = NULL;
r->schemaname = NULL;
r->relname = strVal(linitial(names));
break;
case 2:
r->catalogname = NULL;
r->schemaname = strVal(linitial(names));
r->relname = strVal(lsecond(names));
break;
case 3:
r->catalogname = strVal(linitial(names));
r->schemaname = strVal(lsecond(names));
r->relname = strVal(lthird(names));
break;
default:
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("improper qualified name (too many dotted names): %s",
NameListToString(names)),
parser_errposition(position)));
break;
}
r->relpersistence = RELPERSISTENCE_PERMANENT;
r->location = position;
return r;
}
/* Separate Constraint nodes from COLLATE clauses in a ColQualList */
static void
SplitColQualList(List *qualList,
List **constraintList, CollateClause **collClause,
core_yyscan_t yyscanner)
{
ListCell *cell;
ListCell *prev;
ListCell *next;
*collClause = NULL;
prev = NULL;
for (cell = list_head(qualList); cell; cell = next)
{
Node *n = (Node *) lfirst(cell);
next = lnext(cell);
if (IsA(n, Constraint))
{
/* keep it in list */
prev = cell;
continue;
}
if (IsA(n, CollateClause))
{
CollateClause *c = (CollateClause *) n;
if (*collClause)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("multiple COLLATE clauses not allowed"),
parser_errposition(c->location)));
*collClause = c;
}
else
elog(ERROR, "unexpected node type %d", (int) n->type);
/* remove non-Constraint nodes from qualList */
qualList = list_delete_cell(qualList, cell, prev);
}
*constraintList = qualList;
}
/*
* Process result of ConstraintAttributeSpec, and set appropriate bool flags
* in the output command node. Pass NULL for any flags the particular
* command doesn't support.
*/
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)
{
/* defaults */
if (deferrable)
*deferrable = false;
if (initdeferred)
*initdeferred = false;
if (not_valid)
*not_valid = false;
if (cas_bits & (CAS_DEFERRABLE | CAS_INITIALLY_DEFERRED))
{
if (deferrable)
*deferrable = true;
else
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
/* translator: %s is CHECK, UNIQUE, or similar */
errmsg("%s constraints cannot be marked DEFERRABLE",
constrType),
parser_errposition(location)));
}
if (cas_bits & CAS_INITIALLY_DEFERRED)
{
if (initdeferred)
*initdeferred = true;
else
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
/* translator: %s is CHECK, UNIQUE, or similar */
errmsg("%s constraints cannot be marked DEFERRABLE",
constrType),
parser_errposition(location)));
}
if (cas_bits & CAS_NOT_VALID)
{
if (not_valid)
*not_valid = true;
else
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
/* translator: %s is CHECK, UNIQUE, or similar */
errmsg("%s constraints cannot be marked NOT VALID",
constrType),
parser_errposition(location)));
}
if (cas_bits & CAS_NO_INHERIT)
{
if (no_inherit)
*no_inherit = true;
else
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
/* translator: %s is CHECK, UNIQUE, or similar */
errmsg("%s constraints cannot be marked NO INHERIT",
constrType),
parser_errposition(location)));
}
}
/*----------
* Recursive view transformation
*
* Convert
*
* CREATE RECURSIVE VIEW relname (aliases) AS query
*
* to
*
* CREATE VIEW relname (aliases) AS
* WITH RECURSIVE relname (aliases) AS (query)
* SELECT aliases FROM relname
*
* Actually, just the WITH ... part, which is then inserted into the original
* view definition as the query.
* ----------
*/
static Node *
makeRecursiveViewSelect(char *relname, List *aliases, Node *query)
{
SelectStmt *s = makeNode(SelectStmt);
WithClause *w = makeNode(WithClause);
CommonTableExpr *cte = makeNode(CommonTableExpr);
List *tl = NIL;
ListCell *lc;
/* create common table expression */
cte->ctename = relname;
cte->aliascolnames = aliases;
cte->ctequery = query;
cte->location = -1;
/* create WITH clause and attach CTE */
w->recursive = true;
w->ctes = list_make1(cte);
w->location = -1;
/* create target list for the new SELECT from the alias list of the
* recursive view specification */
foreach (lc, aliases)
{
ResTarget *rt = makeNode(ResTarget);
rt->name = NULL;
rt->indirection = NIL;
rt->val = makeColumnRef(strVal(lfirst(lc)), NIL, -1, 0);
rt->location = -1;
tl = lappend(tl, rt);
}
/* create new SELECT combining WITH clause, target list, and fake FROM
* clause */
s->withClause = w;
s->targetList = tl;
s->fromClause = list_make1(makeRangeVar(NULL, relname, -1));
return (Node *) s;
}
/* parser_init()
* Initialize to parse one query string
*/
void
parser_init(base_yy_extra_type *yyext)
{
yyext->parsetree = NIL; /* in case grammar forgets to set it */
}
/*
* Must undefine this stuff before including scan.c, since it has different
* definitions for these macros.
*/
#undef yyerror
#undef yylval
#undef yylloc
#include "scan.c"